\(\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.

Table 8.75 CPP options for the radtrans package

CPP option

description

RADTRANS_DIAG_SOLUTION

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

RADTRANS_FORCING_PARAMS

parameters related to forcing and initialization

RADTRANS_INTERP_PARAMS

parameters for interpolation of forcing fields (only used if USE_EXF_INTERPOLATION is defined)

RADTRANS_PARAMS

general parameters

Forcing fields are read in using the exf package. How is controled by the namelist RADTRANS_FORCING_PARAMS. The forcing fields are:

Table 8.76 Darwin forcing fields

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:

Table 8.77 Namelist RADTRANS_FORCING_PARAMS

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

RT_E_period

0.0

interval in seconds between two records

RT_E_RepCycle

repeatCycle

repeat cycle in seconds; only available if useOasimYearlyFields is .FALSE.

RT_E_StartTime

UNSET_RL

time in seconds of first record from the beginning of the model integration or, if useRTYearlyFields, from the beginning of year

RT_E_startdate1

0

date/time of first record when using the cal package; format: YYYYMMDD; start year (YYYY), month (MM), day (YY)

RT_E_startdate2

0

format: HHMMSS; start hour (HH), minute (MM), second(SS)

RT_E_mask

‘c’

grid point for masking: ‘ ‘ = no masking; ‘c’ = centered mask; ‘w’ = western mask; ‘s’ = southern

RT_Ed_exfremo_intercept(l)

0.0

can be used to remove global mean

RT_Es_exfremo_intercept(l)

0.0

can be used to remove global mean

RT_Ed_exfremo_slope(l)

0.0

can be used to remove global trend

RT_Es_exfremo_slope(l)

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:

Table 8.78 Namelist RADTRANS_PARAMS

Name

Default

Units

Description

RT_refract_water

1.341

refractive index of water

RT_rmud_max

1.5

cutoff for inverse cosine of solar zenith angle

RT_wbEdges

nm

waveband edges

RT_wbRefWLs

nm

reference wavelengths for wavebands

RT_kmax

Nr

maximum depth index for radtrans computations

RT_useMeanCosSolz

.FALSE.

flag for using mean daytime cosine of solar zenith angle; if false use noon zenith angle

RT_sfcIrrThresh

1E-4

W m–2

minimum irradiance for radiative transfer computations

8.7.4.3. Diagnostics

Name

Code

Units

Description

rmud

SM_P____L1

1

inverse cosine of solar zenith angle

Rirr###

SM_P____L1

1

irradiance reflectance for waveband ###

Ed###

SMRP____LR

W/m2

direct irradiance for waveband ###

Es###

SMRP____LR

W/m2

diffuse downwelling irradiance for waveband ###

Eu###

SMRP____LR

W/m2

diffuse upwelling irradiance for waveband ###

E###

SMRP____MR

W/m2

vector irradiance waveband ###

E0F###

SMRP____LR

W/m2

scalar irradiance at W point waveband ###

Estop###

SMRP____LR

W/m2

diffuse downwelling irradiance for waveband ###

Eubot###

SMRP____LR

W/m2

diffuse upwelling irradiance for waveband ###

amp1_###

SMR_____MR

W/m2

amplitude of d-w increasing mode for waveband ###

amp2_###

SMR_____MR

W/m2

amplitude of d-w decreasing mode for waveband ###

x_###

SMR_____MR

W/m2

amplitude of direct in diffuse for waveband ###

y_###

SMR_____MR

W/m2

amplitude of direct in upward for waveband ###

r1_###

SMRP____MR

1

R coefficient of d-w increasing mode for waveband ###

r2_###

SMRP____MR

1

R coefficient of d-w decreasing mode for waveband ###

att1_###

SMRP____MR

1/m

attenuation of d-w increasing mode for waveband ###

att2_###

SMRP____MR

1/m

attenuation of d-w decreasing mode for waveband ###

RTice

SM_P____MR

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