\(\newcommand{\p}[1]{\frac{\partial }{\partial #1}}\) \(\newcommand{\pp}[2]{\frac{\partial #1}{\partial #2}}\) \(\newcommand{\dd}[2]{\frac{d #1}{d #2}}\) \(\newcommand{\h}{\frac{1}{2}}\) \(\newcommand{\op}[1]{\operatorname{#1}}\)
8.7.4. RADTRANS package¶
8.7.4.1. Introduction¶
The radtrans package models spectral light throughout the water column. Incoming irradiances below the sea surface, split into several wavebands and between direct (beam) and diffuse components, are read in or provided by another package. The irradiances are optionally reduced based on ice cover. The radtrans package then solves for these two downwelling components and a diffuse upwelling component to obtain a solution to the radiative transfer equations, based on intrinsic optical properties provided by another package (for instance the DARWIN package). Spectral radiances at the vertical layer boundaries are returned to the calling package.
8.7.4.2. Compiling and Running¶
8.7.4.2.1. Compiling¶
Include the word radtrans
in packages.conf
in your code directory.
This will automatically include the exf package. Unless you are using the
RT_useMeanCosSolz runtime option, you will also neet to include
the SUN package.
Set compile-time options for radtrans in file RADTRANS_OPTIONS.h (see table below).
Adjust the number of wavebands in RADTRANS_SIZE.h.
In EXF_OPTIONS.h you may want to undef ALLOW_CLIMSST_RELAXATION and ALLOW_CLIMSSS_RELAXATION.
CPP option |
description |
---|---|
make diagnostics for the parameters of the light field solution available |
8.7.4.2.2. Running¶
You will need to set useRADTRANS = .TRUE. in data.pkg
.
Runtime Parameters¶
Runtime parameters are set in data.radtrans
in these namelists:
Namelist |
Description |
---|---|
parameters related to forcing and initialization |
|
parameters for interpolation of forcing fields (only used if USE_EXF_INTERPOLATION is defined) |
|
general parameters |
Forcing fields are read in using the exf package. How is controled by the namelist RADTRANS_FORCING_PARAMS. The forcing fields are:
Name |
Units |
Description |
---|---|---|
Ed(l) |
W m–2 |
Downward direct (beam) irradiance below the sea surface for waveband l (waveband total) |
Es(l) |
W m–2 |
Downward diffuce irradiance below the sea surface for waveband l (waveband total) |
ice |
m2/m2 |
fraction of sea surface covered by ice; used to reduce the irradiance entering the ocean |
Each forcing field has a set of parameters. These work as in the exf package, see Table 8.12, except timing parameters for Ed and Es are set together:
Name |
Default |
Description |
---|---|---|
RT_Edfile(l) |
‘ ‘ |
filename for direct irradiance; if left empty no file will be read; RT_Ed_const will be used instead |
RT_Esfile(l) |
‘ ‘ |
filename for direct irradiance; if left empty no file will be read; RT_Es_const will be used instead |
RT_Ed_const(l) |
0.0 |
constant that will be used if no file is read |
RT_Es_const(l) |
0.0 |
constant that will be used if no file is read |
0.0 |
interval in seconds between two records |
|
repeat cycle in seconds; only available if useOasimYearlyFields is .FALSE. |
||
UNSET_RL |
time in seconds of first record from the beginning of the model integration or, if useRTYearlyFields, from the beginning of year |
|
0 |
date/time of first record when using the cal package; format: YYYYMMDD; start year (YYYY), month (MM), day (YY) |
|
0 |
format: HHMMSS; start hour (HH), minute (MM), second(SS) |
|
‘c’ |
grid point for masking: ‘ ‘ = no masking; ‘c’ = centered mask; ‘w’ = western mask; ‘s’ = southern |
|
0.0 |
can be used to remove global mean |
|
0.0 |
can be used to remove global mean |
|
0.0 |
can be used to remove global trend |
|
0.0 |
can be used to remove global trend |
|
RT_inscal_Ed(l) |
1.0 |
optional rescaling of input fields to adjust units |
RT_inscal_Es(l) |
1.0 |
optional rescaling of input fields to adjust units |
Interpolation parameters are set in namelist RADTRANS_INTERP_PARAMS. See the exf package on how to set them.
General parameters are set in namelist RADTRANS_PARAMS:
Name |
Default |
Units |
Description |
---|---|---|---|
1.341 |
refractive index of water |
||
1.5 |
cutoff for inverse cosine of solar zenith angle |
||
nm |
waveband edges |
||
nm |
reference wavelengths for wavebands |
||
Nr |
maximum depth index for radtrans computations |
||
.FALSE. |
flag for using mean daytime cosine of solar zenith angle; if false use noon zenith angle |
||
1E-4 |
W m–2 |
minimum irradiance for radiative transfer computations |
8.7.4.3. Diagnostics¶
Name |
Code |
Units |
Description |
---|---|---|---|
rmud |
|
1 |
inverse cosine of solar zenith angle |
Rirr### |
|
1 |
irradiance reflectance for waveband ### |
Ed### |
|
W/m2 |
direct irradiance for waveband ### |
Es### |
|
W/m2 |
diffuse downwelling irradiance for waveband ### |
Eu### |
|
W/m2 |
diffuse upwelling irradiance for waveband ### |
E### |
|
W/m2 |
vector irradiance waveband ### |
E0F### |
|
W/m2 |
scalar irradiance at W point waveband ### |
Estop### |
|
W/m2 |
diffuse downwelling irradiance for waveband ### |
Eubot### |
|
W/m2 |
diffuse upwelling irradiance for waveband ### |
amp1_### |
|
W/m2 |
amplitude of d-w increasing mode for waveband ### |
amp2_### |
|
W/m2 |
amplitude of d-w decreasing mode for waveband ### |
x_### |
|
W/m2 |
amplitude of direct in diffuse for waveband ### |
y_### |
|
W/m2 |
amplitude of direct in upward for waveband ### |
r1_### |
|
1 |
R coefficient of d-w increasing mode for waveband ### |
r2_### |
|
1 |
R coefficient of d-w decreasing mode for waveband ### |
att1_### |
|
1/m |
attenuation of d-w increasing mode for waveband ### |
att2_### |
|
1/m |
attenuation of d-w decreasing mode for waveband ### |
RTice |
|
m2/m2 |
ice area fraction in radtrans package |
8.7.4.4. Call tree¶
the_model_main
initialise_fixed
packages_readparms
radtrans_readparms
packages_init_fixed
radtrans_init_fixed
radtrans_diagnostics_init
the_main_loop
initialise_varia
packages_init_variables
radtrans_init_varia
gchem_init_vari
darwin_init_varia
darwin_init_chl
darwin_light_radtrans
radtrans_calc...
main_do_loop
forward_step
load_fields_driver
radtrans_fields_load
radtrans_monitor
gchem_forcing_sep
darwin_forcing
darwin_light_radtrans
radtrans_calc
radtrans_declination_spencer
radtrans_solz_daytime
radtrans_rmud_below
radtrans_solve
radtrans_solve_tridiag