Radiative transfer: Simple gray and multi-band radiation schemes.
Documentation for two_stream_gray_rad_mod
.
Summary
This module includes different simple configurations for solving the two stream radiative transfer equations. There are three semi-gray configurations available (gray in shortwave and longwave), and one intermediate multi-band configuration (gray in shortwave, multi-band in longwave). These configurations are selected by setting the rad_scheme
namelist option.
|
Short description |
Reference |
|
|
Semi-gray scheme with prescribed longwave and shortwave
optical depths.
|
||
|
Semi-gray scheme with longwave optical depth dependent on
water vapour content and \(\text{CO}_{2}\) concentration. Shortwave
optical depth is prescribed.
|
||
|
Multi-band scheme with two longwave bands and one shortwave
band. One longwave band corresponds to an infrared window
region (\(8-14\,\mu\,\text{m}\)) and the second corresponds to all other
infrared wavelengths (\(>4\,\mu\,\text{m}\)). Longwave and shortwave optical
depths depend on water vapour content and \(\text{CO}_{2}\) concentration.
Note: the Geen scheme is currently only stable when run in a fixed SST
configuration. A version stable with a slab ocean is expected by 30/11/2020.
|
||
|
Semi-gray scheme for use in giant planet simulations. Longwave
and shortwave optical depths are prescribed. Does not require a
surface temperature as input, and allows specification of an
interior heat flux.
|
For each of these schemes diurnally-and-seasonally averaged, and time-dependent options for the incoming solar radiation are available.
In the next few sections we will describe the main options available to the user for solving the radiative transfer equations, and prescribing the insolation. Namelist options and their defaults, and available output diagnostics are summarised at the end of the documentation.
Frierson/Byrne schemes
Each of these schemes solve the same equations to compute the longwave and shortwave fluxes. The difference between them lies in the definition of the longwave optical depths.
\(I_{+}\) and \(I_{-}\) are the upward and downward longwave fluxes, and \(\tau\) is the longwave optical depth. At the surface, \(I_{+}(p=p_{s}) = \sigma T_{s}^{4}\), and at the top of atmosphere \(I_{-}(p=0) = 0\).
where \(\tau^{\ast}\) is the shortwave optical depth, and \(S\) is the incoming solar radiation. The implementation of the shortwave band in the Frierson and Byrne schemes assumes that there is no scattering within the atmosphere, and shortwave radiation is only absorbed from the downward stream. All reflection occurs at the surface. The upward flux of shortwave \(I_{+}^{\ast}\) is not absorbed and escapes through the top of atmosphere, i.e. \(I_{+}^{\ast}=\alpha I_{-}^{\ast}(p=p_s)\), where \(\alpha\) is the surface albedo. Note that the surface albedo is set by mixed_layer_mod
.
rad_scheme
set to 'FRIERSON'
, the longwave optical depth is specified as a function of pressurewhere \(p_0=10^{5}\,\text{Pa}\) is a reference pressure, \(f_{l}\) sets how large the linear term is relative to the \(p^{k}\) term. \(k\) is a constant exponent (default 4) which determines the pressure dependence of optical depth. The linear term is included to reduce relaxation times in the stratosphere. The surface longwave optical depth \(\tau_{0}\) is given by
\(\tau_{0e}\) is the value of the surface optical depth at the equation, and \(\tau_{0p}\) is the value at the pole. \(\kappa\) is a parameter that can be used to scale the optical depth (default 1).
When rad_scheme
is set to 'BYRNE'
, the longwave optical depth is calculated as a function of specific humidity \(q\), \(\text{CO}_{2}\) mixing ratio, and pressure
In the equation above, \(a\) and \(b\) are constant absorption coefficients, and \(\mu\) is a scaling parameter intended to represent absorption by well-mixed gases (default value 1).
where \(k^{\ast}\) is a constant exponent that sets the pressure dependence of \(\tau^{\ast}\). \(\tau_{0}^{\ast}\) is the shortwave optical depth at the surface, given by
where \(\tau_{0e}^{\ast}\) is the surface optical depth at the equator, and \(\Delta\tau^{\ast}\) determines the variation of shortwave optical depth with latitude.
Schneider giant planet scheme
This scheme is suitable to use for giant planet experiments where there is no solid surface at the bottom of the model atmosphere. It is selected by setting rad_scheme
to 'SCHNEIDER'
.
surface_flux_mod
.where
and
is the Bond albedo. Here, \(\tilde{\omega}=0.8\) is the single-scattering albedo, and \(\gamma=1-2f_{b}\) is the asymmetry factor, where \(f_{b}=0.398\) is the fraction of radiation back scattered.
The only reflection of shortwave radiation occurs at the top of atmosphere where a fraction \((1-\alpha_{\text{b}})\) is removed from the incoming solar radiation.
There is no modelled upward flux of shortwave radiation in the atmosphere \(I_{+}^{\ast}=0\). Instead any shortwave radiation that reaches the bottom of the atmosphere is re-added to the upward longwave beam as a flux through the lower boundary.
where \(\tau_{0,\text{gp}}=80.0\) is the longwave optical depth at pressure \(p_{0}\) and \(k_{\text{gp}}=2.0\) is a constant exponent that sets the pressure dependence of \(\tau\).
where \(\tau^{\ast}_{0,\text{gp}}=3.0\) is the shortwave optical depth at pressure \(p_{0}\) and \(k^{\ast}_{\text{gp}}=1.0\) is a constant exponent that sets the pressure dependence of \(\tau^{\ast}\).
Geen scheme
The Geen scheme provides an intermediate option between gray radiation and more complete descriptions of radiative transfer (e.g., the correlated-\(k\) schemes SOCRATES and RRTM). It has two infrared bands and one solar band. The shortwave band (\(<4\,\mu\,\text{m}\)) treats all solar radiation. Two long-wave bands treat absorption: one in the infrared region of the spectral (\(8-14\,\mu\,\text{m}\)), and the other in all other longwave wavelengths (\(<4\,\mu\,\text{m}\), non-window).
Note: the Geen scheme is currently only stable when run in a fixed SST configuration. A version stable with a slab ocean is expected by 30/11/2020.
and in the window region:
The superscripts \(^{\text{nw}}\) and \(^{\text{win}}\) refer to the non-window and window regions, respectively. \(R^{\text{win}}\) and \(R^{\text{nw}}=1-R^{\text{win}}\) are the fraction irradiances in the non-window and window regions.
As with the Frierson and Byrne schemes, the implementation of the shortwave band assumes that there is no scattering within the atmosphere, and shortwave radiation is only absorbed from the downward stream. All reflection occurs at the surface. The upward flux of shortwave \(I_{+}^{\ast}\) is not absorbed and escapes through the top of atmosphere.
and in the non-window region
where the \(a\), \(b\), and \(c\)’s are constant absorption coefficients that may be specified in the namelist. The default values for these coefficients were fitted to output from Santa Barbara DISORT Atmospheric Radiative Tranfer 60 (SBDART) [Ricchiazzi1998].
where
\(a_{\text{sw}}=0.0596\) and \(c_{\text{sw}}=0.0029\). As it stands, \(a_{\text{sw}}\), \(b_{\text{sw}}\), and \(c_{\text{sw}}\) are hardcoded and not modifiable via the namelist. As with the longwave absorption coefficients, the default values for the absorption coefficients were fitted to SBDART output.
Incoming solar radiation
For each of the radiative transfer schemes, diurnally-and-seasonally averaged, and time-dependent options for the incoming solar radiation are avaialable. The user selects whether diurnally-and-seasonally averaged or time-dependent solar forcing is used by setting the namelist option do_seasonal
.
do_seasonal = False
.For the Frierson, Byrne, and Geen schemes, setting do_seasonal = False
imposes a \(P_{2}\) (second legendre polynomial) insolation profile, which is designed to approximate the Earth’s seasonally averaged insolation distribution. When this option is selected, there is no diurnal cycle (i.e. the forcing is fully time-independent). The incoming solar radiation then takes the following form:
where \(S_{0}\) is the solar constant. \(\Delta_{S}\) is used to set the amplitude of the \(P_{2}\) insolation profile between the equator and pole, and \(\Delta_{\text{sw}}\) (default 0) can be used to further modify this with a \(\sin\theta\) profile. When \(\Delta_{\text{sw}}=0\), the insolation difference between the equator and pole is \(\Delta S= 3\Delta_{S}/4\times S_{0}/4\).
For the Schneider giant planet scheme, setting do_seasonal = False
imposes an insolation profile that varies with \(\cos\theta\),
which corresponds to the latitudinal distribution of radiation received by a planet with no obliquity (perpetual equinox). As with the simple \(P_{2}\) insolation for the Frierson, Byrne, and Geen schemes, there is no diurnal cycle.
do_seasonal = True
. In this case, astronomy_mod
is used to calculate the zenith angle and planet-star distance at each location and time. This information is then used by the two_stream_gray_rad
module to calculate the top of atmosphere insolation as a function of time.astronomy_mod
calculates the zenith angle and planet-star distance as a function of the following orbital and planetary parameters: obliquity, eccentricity, semi-major axis, longitude of perihelion (w.r.t NH autumn equinox), orbital period, and rotation rate. These options must be specified to astronomy_mod_nml
. An input parameter in two_stream_gray_rad
, equinox_day
determines the time of year when NH autumn equinox occurs.
two_stream_gray_rad
then calculates the insolation as
where \(\zeta\) is the zenith angle, \(a\) is the semi-major axis of the orbital ellipse, and \(r\) is the time-varying planet-star distance. NB: \((a/r)^{2}\) is called rrsun
in the code.
If the user wishes, they may average incoming solar radiation over a period \(\Delta t_{\text{avg}}\) (units \(\text{s}\)). This allows the user to have seasonally varying forcing without a diurnal cycle, for example. To achieve diurnally averaged insolation for a planet with the Earth’s length of day one would set \(\Delta t_{\text{avg}}=86400.0\,\text{s}\).
There is also an option to run perpetually on one day by setting the namelist variable solday
. For example if Northern Hemisphere autumn equinox was set to occur on day \(270\) of a \(360\) day year, then one could run a perpetual solstice simulation by setting solday=180
. This can be used in conjunction with an appropriate choice for \(\text{d}t_{\text{avg}}\) to remove the diurnal cycle in such an experiment.
Namelist options
The namelist options for two_stream_gray_rad_nml are listed below.
Namelist option to choose scheme
- rad_scheme:
String choosing the radiation scheme. Options are
'FRIERSON'
,'BYRNE'
,'GEEN'
,'SCHNEIDER'
. Default option is'FRIERSON'
.
Namelist options for Frierson scheme longwave optical depth
- ir_tau_eq:
Surface longwave optical depth at equator. Default \(6.0\).
- ir_tau_pole:
Surface longwave optical depth at pole. Default \(1.5\).
- odp:
Frierson optical depth scaling parameter \(\kappa\). Default \(1.0\).
- linear_tau:
\(f_l\). Determines partitioning between linear term and \(p^{k}\) term in Frierson longwave optical depth. Default \(0.1\).
- wv_exponent:
Pressure exponent, \(k\) in definition of optical depth. Default \(4.0\).
Namelist options for Byrne scheme longwave optical depth
- bog_a:
Absorption coefficient \(a\) in Byrne longwave optical depth. Default \(0.8678\).
- bog_b:
Absorption coefficient \(b\) in Byrne longwave optical depth. Default 1997.9.
- bog_mu:
Scaling parameter \(\mu\) in Byrne longwave optical depth. Default 1.0.
Namelist options for Frierson/Byrne scheme shortwave optical depth
- atm_abs:
Shortwave optical depth at the equator \(\tau_{0e}^{\ast}\). Default \(0.0\).
- sw_diff:
Amplitude of latitudinal optical depth variation \(\Delta\tau^{\ast}\). Default \(0.0\).
- solar_exponent:
Pressure exponent \(k^{\ast}\). Default value is \(4.0\).
- window:
Window fraction \(R^{\text{win}}\) for longwave radiative transfer. Default value \(0.3732\).
- ir_tau_co2_win:
Absorption coefficient \(a_{\text{win}}\) in longwave optical depth. Default value \(0.2150\).
- ir_tau_wv_win1:
Absorption coefficient \(b_{\text{win}}\) in longwave optical depth. Default value \(147.11\).
- ir_tau_wv_win2:
Absorption coefficient \(c_{\text{win}}\) in longwave optical depth. Default value \(1.0814\times10^{4}\).
- ir_tau_co2:
Absorption coefficient \(a_{\text{nw}}\) in longwave optical depth. Default value \(0.1\).
- ir_tau_wv1:
Absorption coefficient \(b_{\text{nw}}\) in longwave optical depth. Default value \(23.8\).
- ir_tau_wv2:
Absorption coefficient \(c_{\text{nw}}\) in longwave optical depth. Default value \(254.0\).
- diabatic_acce:
Multiplicative scaling factor for temperature tendency due to radiation in Schneider scheme. This can be used to speed up model spin-up. It will speed up the model spin-up if greater than 1. Default value is 1.
Namelist options for incoming solar radiation
- do_seasonal:
Sets whether insolation is diurnally-and-seasonally averaged (
FALSE
), or time dependent (TRUE
). DefaultFALSE
.- solar_constant:
The solar constant \(S_{0}\). Default value: \(1360.0\,\text{W}\,\text{m}^{-2}\).
The following namelist options are used when rad_scheme
is set to 'FRIERSON'
, 'BYRNE'
or 'GEEN'
and do_seasonal=FALSE
:
- del_sol:
Parameter \(\Delta_{S}\) determining \(P_{2}\) insolation amplitude. Default value: \(1.4\).
- del_sw:
Parameter \(\Delta_{\text{sw}}\) defining magnitude of \(\sin\theta\) modification to \(P_{2}\) insolation profile. Default value: \(0.0\).
The following namelist options are used when do_seasonal=TRUE
:
- use_time_average_coszen:
TRUE
orFALSE
. IfTRUE
, average \(\cos\zeta\) (\(\zeta\) is zenith angle) over the perioddt_rad_avg
. For example, for the Earth’s diurnal period,use_time_average_coszen=TRUE
anddt_rad_avg=86400.
would achieve diurnally averaged insolation.- dt_rad_avg:
Averaging period (units: seconds) for time-dependent insolation \(\Delta t_{\text{avg}}\). Default=-1 sets averaging period to model timestep.
- solday:
Day of year to run time-dependent insolation perpetually. If negative, the option to run perpetually on a specific day is not used. Default -10.
- equinox_day:
Fraction of year [0,1] where Northern Hemisphere autumn equinox occurs. Default = 0.75 (e.g. end of September for 360 day year).
Namelist options for setting carbon dioxide concentration
- do_read_co2:
TRUE
orFALSE
. IfTRUE
, reads time-varying \(\text{CO}_{2}\) concentration from an input file [needs to be 4D (3 spatial dimensions and time), but no spatial variation should be defined (the code only reads in maximum value at a given time)]. DefaultFALSE
.- carbon_conc:
Prescribed \(\text{CO}_{2}\) (units: ppmv). Used if
do_read_co2=FALSE
. Default value \(360.0\,\text{ppmv}\).- co2_file:
Name of \(\text{CO}_{2}\) file to read (note, should be specified without .nc appendix). Default
'co2'
.- co2_variable_name:
Name of \(\text{CO}_{2}\) variable in \(\text{CO}_{2}\) file. Default
'co2'
.
Important parameters not set in two_stream_gray_rad_nml
- pstd_mks:
This is used as the reference pressure \(P_{0}\) in the Frierson/Byrne/Schneider shortwave optical depth, and the Frierson/Schneider longwave optical depth. It is set in
constants_mod_nml
. Default value is \(10^{5}\,\text{Pa}\). Note: this should be changed to \(3\times10^{5}\,\text{Pa}\) for the giant planet configuration.- albedo_value:
The surface albedo \(\alpha\) used by the Frierson/Byrne/Geen schemes at the lower boundary is set in
mixed_layer_nml
. Default value is \(0.06\) for a simple homogeneous slab ocean surface. The albedo can vary spatially if land or ice is introduced. For more details, see the documentation formixed_layer_mod
.- flux_heat_gp:
A prescribed heat flux through the lower boundary can be added for the giant planet case. This is set in
surface_flux_nml
. Default value is \(5.7\,\text{W}\,\text{m}^{-2}\).
The following astronomical parameters are set in astronomy_mod_nml
. They are used if do_seasonal=True
.
- ecc:
Orbital eccentricity. Default \(0.0\).
- obliq:
Obliquity. Default \(23.439\) degrees.
- per:
Longitude of perihelion (point in orbit when planet is closest to star) with respect to autumnal equinox in Northern Hemisphere. Default \(102.932\) degrees.
The following astronomical parameters are set in constant_nml
. They will be used to calculate the diurnal period if do_seasonal=True
.
- orbital_period:
Orbital period in seconds. Default is \(365.25\times86400.0\,\text{s}\). Only used if
calendar
is set to'no_calendar'
inmain_nml
.- omega:
Planetary rotation rate in \(s^{-1}\). Default value is \(7.29\times10^{-5}\,\text{s}^{-1}\)
Diagnostics
These are the diagnostics associated with the two_stream_gray_rad
module.
Name |
Description |
Units |
---|---|---|
olr |
Outgoing longwave radiation. |
\(\text{W}\,\text{m}^{-2}\) |
swdn_sfc |
Absorbed shortwave at surface. |
\(\text{W}\,\text{m}^{-2}\) |
swdn_toa |
Shortwave flux down at top of atmosphere. |
\(\text{W}\,\text{m}^{-2}\) |
net_lw_surf |
Net upward longwave flux at surface. |
\(\text{W}\,\text{m}^{-2}\) |
lwdn_sfc |
Longwave flux down at surface. |
\(\text{W}\,\text{m}^{-2}\) |
lwup_sfc |
Longwave flux up at surface. |
\(\text{W}\,\text{m}^{-2}\) |
tdt_rad |
Temperature tendency due to radiation. |
\(\text{K}\,\text{s}^{-1}\) |
tdt_solar |
Temperature tendency due to solar radiation. |
\(\text{K}\,\text{s}^{-1}\) |
flux_rad |
Total radiative flux (positive up). |
\(\text{W}\,\text{m}^{-2}\) |
flux_lw |
Net longwave radiative flux (positive up). |
\(\text{W}\,\text{m}^{-2}\) |
flux_sw |
Net shortwave radiative flux (positive up). |
\(\text{W}\,\text{m}^{-2}\) |
coszen |
Cosine of zenith angle. |
none |
fracsun |
Daylight fraction of time interval. |
none |
co2 |
Carbon dioxide concentration. |
\(\text{ppmv}\) |
lw_dtrans |
Longwave (non-window) transmission. |
none |
lw_dtrans_win |
Longwave window transmission.
Note: only for
'GEEN' scheme. |
none |
sw_dtrans |
Shortwave transmission.
Note: only for
'GEEN' scheme. |
none |
Relevant modules and subroutines
Modules relevant to this one include:
- astronomy_mod:
Module that performs astronomical calcuations used for insolation.
- mixed_layer_mod:
Surface albedo is set here. This is also where the surface temperature is updated.
- surface_flux_mod:
An internal heat flux for giant planets can be set here.
- constants_mod:
Planetary rotation rate and orbital period are set here. These are used in the calculations made by
astronomy_mod
.
Other radiative transfer schemes are included in the following modules:
- rrtm_radiation:
Correlated-\(k\) scheme tuned for Earth-like applications.
- socrates_interface_mod:
Interface for flexible Met-Office correlated-\(k\) scheme used for Earth-like and exoplanetary atmospheres.