Main menu


To modify the spectrum, do I need to change frcsol in radconstants.F90?

5 posts / 0 new
Last post
To modify the spectrum, do I need to change frcsol in radconstants.F90?


I am using WACCM (compset: F_1850_WACCM, CESM version: 1.2.2) to simulate the atmospheric chemistry on exoplanets around M dwarf stars. To modify the spectrum, there are several files in the namelist of the atmospheric component (solar_data_file, solar_parms_file, etc) to be rewritten. But not long a ago I found another file in the CESM source code, namely, $CESM_ROOT/models/atm/cam/src/physics/cam/radconstants.F90, which contains a variable named frcsol:


  ! minimum wavelength of band in micrometers

  real(r8), parameter :: wavmin(nswbands) = &

       (/  0.200_r8, 0.245_r8,   0.265_r8,   0.275_r8,   0.285_r8, &

           0.295_r8, 0.305_r8,   0.350_r8,   0.640_r8,   0.700_r8,   0.700_r8, &

           0.700_r8, 0.700_r8,   0.700_r8,   0.700_r8,   0.700_r8, &

           2.630_r8, 4.160_r8,   4.160_r8/)


   ! maximum wavelength of band in micrometers

  real(r8), parameter :: wavmax(nswbands) = &

       (/  0.245_r8, 0.265_r8,   0.275_r8,   0.285_r8,   0.295_r8, &

           0.305_r8, 0.350_r8,   0.640_r8,   0.700_r8,   5.000_r8,   5.000_r8, &

           5.000_r8, 5.000_r8,   5.000_r8,   5.000_r8,   5.000_r8, &

           2.860_r8, 4.550_r8,   4.550_r8/)


   ! Fraction of solar flux in each stated spectral interval

  real(r8), public, parameter :: frcsol(nswbands) = &                             (<------------------this one)

    (/ .001488_r8, .001389_r8, .001290_r8, .001686_r8, .002877_r8, &

       .003869_r8, .026336_r8, .360739_r8, .065392_r8, .526861_r8, &

       .526861_r8, .526861_r8, .526861_r8, .526861_r8, .526861_r8, &

       .526861_r8, .006239_r8, .001834_r8, .001834_r8/)


It seems the variable "frcsol" specifies the proportions of solar flux in all spectral bands, thus the spectrum. Could you please tell me whether I need to change this variable, in addition to changing the variable "ssi" in solar_data_file? What does this variable actually control? I have tried changing it and the result is dramatically different, especially in the temperature field.


Thank you very much.




I think this is more of a CAM question than a WACCM question. My guess is that frcsol is used when only TSI is specified and some assumption is necessary on how that solar irradiance is apportioned across the spectrum. In WACCM we provide the spectral flux (SSI) and do not use the TSI. In WACCM4 the SSI is used in CAMRT to scale heating rates below 65 km. It does that by ratioing the speficied flux within a CAMRT spectral band to a reference spectrum and applying that to the heating rate in that band. 


Thank you for your reply.

I did some tests about this and reviewed the source code. In WACCM frcsol acts like a "baseline" for the irradiance from the Sun. Modifying the tsi and ssi in solar_data_file is definitely enough to change the spectrum.

However, in other compsets this may not be true, because there isn't always a "solar_data_file" specifying the energy flux in every band. Modifying "frcsol" may still be the only way to change the spectrum.



There is a namelist variable that is set in WACCM compsets to use spectral heating rates:

 solar_htng_spctrl_scl          = .true.

When this flag is set, TSI is never used.

It's use is not limited to WACCM, however. CAM-CHEM uses it and it can be used in standard CAM.

Log in or register to post comments

Who's new

  • alessandro.delo...
  • zweina@...
  • yuan.liang@...
  • lian.xue@...
  • 353482168@...