This code provides the core functionality of FMS longwave radiation. It is based on exchange method with prescribed coefficients embedded in the code.
fms_mod
time_manager_mod
constants_mod
rad_utilities_mod
longwave_params_mod
longwave_clouds_mod
longwave_fluxes_mod
longwave_tables_mod
optical_path_mod
gas_tf_mod
lw_gases_stdtf_mod
call sealw99_init (latb, lonb, pref, Lw_tables)
latb | array of model latitudes at cell boundaries [radians] [real] |
lonb | array of model longitudes at cell boundaries [radians] [real] |
pref | array containing two reference pressure profiles [pascals] [real] |
Lw_tables | lw_tables_type variable containing various longwave
table specifiers needed by radiation_diag_mod. [lw_table_type] |
call sealw99 (is, ie, js, je, Atmos_input, Rad_gases, & Aerosol, Aerosol_props, Cldrad_props, Cld_spec, & Lw_output, Lw_diagnostics)
is | starting subdomain i indice of data in the physics_window being
integrated [integer] |
ie | ending subdomain i indice of data in the physics_window being
integrated [integer] |
js | starting subdomain j indice of data in the physics_window being
integrated [integer] |
je | ending subdomain j indice of data in the physics_window being
integrated [integer] |
Atmos_input | atmos_input_type variable containing the atmospheric
input fields needed by the radiation package [atmos_input_type] |
Rad_gases | radiative_gases_type variable containing the radi-
ative gas input fields needed by the radiation
package [radiative_gases_type] |
Aerosol | Aerosol climatological input data to longwave radiation [aerosol_type] |
Cldrad_props | cldrad_properties_type variable containing the
cloud radiative property input fields needed by the
radiation package [cldrad_properties_type] |
Cld_spec | Cloud specification type contains cloud microphysical, geometrical,
and distribution properties in a model column. [cld_specification_TYPE] |
Aerosol_props | Aerosol radiative properties [aerosol_properties_type] |
Lw_output | lw_output_type variable containing longwave
radiation output data [lw_output_type] |
Lw_diagnostics | lw_diagnostics_type variable containing diagnostic
longwave output used by the radiation diagnostics
module [lw_diagnostics_type] |
call sealw99_end
call check_tf_interval (gas, gas_tf_calc_intrvl, & calc_gas_tfs_on_first_step, & use_current_gas_for_tf) call sealw99_alloc (ix, jx, kx, Lw_diagnostics)
gas | name associated with the gas |
gas_tf_calc_intrvl | time interval between recalculating transmission fumctions [ hours ] |
calc_gas_tfs_on_first_step | flag indicating if tfs are to be calculated only on first step of job |
use_current_gas_for_tf | flag indicating if gas mixing ratio at current time is to be used for calculation of gas tfs |
call obtain_gas_tfs (gas, Rad_time, Gas_time, gas_tf_calc_intrvl,& gas_tf_offset, calc_gas_tfs_on_first_step, & gas_for_next_tf_calc, gas_for_last_tf_calc, & do_gas_tf_calc, do_gas_tf_calc_init)
gas | name associated with the gas |
Rad_time | current model time [ time_type ] |
Gas_time | time since time variation of gas began [ time_type ] |
gas_tf_calc_intrvl | time interval between recalculating transmission fumctions [ hours ] |
gas_tf_offset | time difference between current time and the time for which the tfs are calculated |
calc_gas_tfs_on_first_step | flag indicating if tfs are to be calculated only on first step of job |
gas_for_next_tf_calc | value of gas mixing ratio to be used when tfs are next calculated [ no. / no. ] |
gas_for_last_tf_calc | value of gas mixing ratio to be used when tfs were last calculated [ no. / no. ] |
do_gas_tf_calc | if true, calculate gas tfs when alarm again goes off |
do_gas_tf_calc_init | this variable is true initially to force calculation of the tfs on the first call of the job; it is then set to false |
call sealw99_alloc (ix, jx, kx, Lw_diagnostics)
ix | Dimension 1 length of radiation arrays to be allocated [integer] |
jx | Dimension 2 length of radiation arrays to be allocated [integer] |
kx | Dimension 3 length of radiation arrays to be allocated [integer] |
Lw_diagnostics | lw_diagnostics_type variable containing longwave
radiation output data [lw_output_type] |
call cool_to_space_approx ( pflux_in, source, & trans, cld_trans, cld_ind, & Lw_diagnostics, & trans2 )
pflux_in | pressure values at flux levels [real] |
source | band integrated longwave source function of each model layer [real] |
trans | clear sky longwave transmission [real] |
cld_trans | cloud transmission [real] |
cld_ind | cloud type index [real] |
trans2 | optional input alternative transmission profile [real] |
Lw_diagnostics | longwave diagnostics output [lw_dignostics_type] |
call cool_space_exact
cldtf | cloud transmission function between levels k level KS. [real] |
Atmos_input | Atmospheric input to the cool to space approximation method [atmos_input_type] |
sorc | band-integrated Planck function, for each combined
band in the 160-1200 cm-1 region. [real] |
to3cnt | transmission functions between levels k and
level KS for the 990-1070 cm-1 range. [real] |
Optical | Optical depth of atmospheric layers and clouds [optical_path_type] |
Gas_tf | Gas transmission function [gas_tf_type] |
Lw_diagnostics | Longwave diagnostics [lw_diagnostics_type] |
cts_sum | Cool to space heating rates [real] |
cts_sumcf | Cool to space heating rates due to cloud forcing [real] |
gxctscf | gxcts is the "exact" surface flux accumulated over
the frequency bands in the 160-1200 cm-1 range. [real] |
call e1e290 (Atmos_input, e1ctw1, e1ctw2, & trans_band1, trans_band2, Optical, tch4n2oe, & t4, Lw_diagnostics, cldtf, cld_indx, flx1e1cf, & tcfc8)
Atmos_input | Atmospheric input data to the thermal exchange method [atmos_input_type] |
tch4n2oe | CH4 and N2O transmission functions [real] |
t4 | source function of the top most layer [real] |
Lw_diagnostics | longwave diagnostics variable [lw_diagnostics_type] |
cld_tf | Cloud transmission function [real] |
cld_indx | Cloud type index [real] |
Optical | thermal layer optical path [optical_path_type] |
tcfc8 | CFC transmission function (chloroflurocarbons) [real] |
e1ctw1 | Cool to space thermal exchange terms in 0-560 band [real] |
e1ctw2 | Cool to space thermal exchange terms in 1200-2200 band [real] |
trans_band1 | transmission functions in band 1 [real] |
trans_band2 | transmission function in band 2 [real] |
flx1e1cf | TOA flux due to cloud forcing [real] |
call e290 (Atmos_input, k, trans_band2, trans_band1, Optical, tch4n2oe, & tcfc8)
Atmos_input | Atmospheric input data [atmos_input_type] |
k | Starting vertical level k to compute exchange terms [integer] |
tch4n2oe | CH4 and N2O transmission function [real] |
trans_band2 | Transmission funciton in band 1200-2200 [real] |
trans_band | Transmission function in band 0-560 [real] |
Optical | Optical depth of the thermal layers [optical_path_type] |
tcfc8 | CFC transmission function [real] |
call esfc (Atmos_input, emspec, Optical, & emspecf, tch4n2oe, tcfc8 )
Atmos_input | Atmospheric input data such as temperature and flux level temp [atmos_input_type] |
tch4n2oe | CH4 and N2O transmission function [real] |
Optical | Optical depth of thermal layers [optical_path_type] |
tcfc8 | CFC transmission function [real] |
emspec | Emissivity of thermal layers [real] |
emspecf | Emissivity of thermal layers including effects of minor gas species [real] |
call enear (Atmos_input, emisdg, Optical, & emisdgf, tch4n2oe, tcfc8 )
Atmos_input | Atmospheric input data such as temperature and flux level temp [atmos_input_type] |
tch4n2oe | CH4 and N2O transmission function [real] |
Optical | Optical depth of thermal layers [optical_path_type] |
tcfc8 | CFC transmission function [real] |
emisdg | Emissivity of thermal layers [real] |
emisdgf | Emissivity of thermal layers including effects of minor gas species [real] |
call co2_source_calc (Atmos_input, Rad_gases, sorc, Gas_tf, & source_band, dsrcdp_band)
Atmos_input | Atmospheric input data [atmos_input_type] |
Rad_gases | Radiative gases properties [radiative_gases_type] |
Gas_tf | Gas transmission functions [gas_tf_type] |
sorc | CO2 source function results [real] |
source_band | CO2 source function bands [real] |
dsrcdp_band | Difference of source function between nearby thermal layers [real] |
call nlte (pflux, press, rrvco2, sorc, Gas_tf)
pflux | pressure values at flux levels. [real] |
press | pressure cordinates [real] |
rrvco2 | CO2 volumn mixing ratio [real] |
Gas_tf | Gas transmission function [gas_tf_type] |
sorc | CO2 source function to be calculated [real] |
call co2curt (pflux, cmtrx, Gas_tf)
pflux | pressure values at flux levels [real] |
Gas_tf | gas transmission function [gas_tf_type] |
cmtrx | Curtis matrix elements [real] |
call co2_time_vary ( rrvco2 )
rrvco2 | CO2 volume mixing ratio [real] |
call ch4_time_vary
rrvch4 | ch4 volume mixing ratio [real] |
rrvn2o | n2o volume mixing ratio [real] |
call n2o_time_vary (rrvch4, rrvn2o)
rrvch4 | ch4 volume mixing ratio [real] |
rrvn2o | n2o volume mixing ratio [real] |