Module that computes longwave gas transmission functions
fms_mod
fms_io_mod
rad_utilities_mod
gas_tf_mod
call lw_gases_stdtf_init ( pref)
pref | reference level pressure array [real] |
call lw_gases_stdtf_time_vary
call ch4_lblinterp (ch4_vmr)
ch4_vmr | ch4 volume mixing ratio [real] |
call co2_lblinterp (co2_vmr)
co2_vmr | co2 volume mixing ratio [real] |
call n2o_lblinterp (n2o_vmr)
n2o_vmr | n2o volume mixing ratio [real] |
call lw_gases_stdtf_dealloc
call cfc_exact (index, Optical, cfc_tf)
index | the spectral index where exact CTS transmision function is computed [integer] |
Optical | The CFC gas optical depth [optical_depth_type] |
cfc_tf | exact CTS transmission function output [real] |
call cfc_exact_part (index, Optical, cfc_tf, klevel)
index | The spectral index where exact CTS transmision function is computed [integer] |
Optical | The CFC gas optical depth [optical_depth_type] |
klevel | The level below which exact CTS transmision function is computed [integer] |
cfc_tf | exact CTS transmission function output [real] |
call cfc_indx8 (index, Optical, tcfc8)
index | The spectral index where exact CTS transmision function is computed [integer] |
Optical | The CFC gas optical depth [optical_depth_type] |
tcfc8 | exact CTS transmission function output for the band 8 [real] |
call cfc_indx8_part (index, Optical, tcfc8, klevel)
index | The spectral index where exact CTS transmision function is computed [integer] |
Optical | The CFC gas optical depth [optical_depth_type] |
klevel | The level below which exact CTS transmision function is computed [integer] |
tcfc8 | exact CTS transmission function output for the band 8 [real] |
call cfc_overod (Optical, cfc_tf)
Optical | CFC optical depth values [optical_path_type] |
cfc_tf | CFC transmission function [real] |
call cfc_overod_part (Optical, cfc_tf, klevel)
Optical | CFC optical depth values [optical_path_type] |
klevel | The level below which exact CTS transmision function is computed [integer] |
cfc_tf | CFC transmission function [real] |
call lw_gases_stdtf_end
call std_lblpressures
call approx_fn (press_hi_app, press_lo_app, do_triangle, & nklo, nkhi, nkplo, nkphi, & ca_app, sexp_app, xa_app, uexp_app, approx)
press_hi_app | high standard pressure array [real] |
press_lo_app | low standard pressure array [real] |
do_triangle | state variable of interpolation scheme [logical] |
nklo, nkhi | vertical level pairs: the upper and lower level index [integer] |
nkplo, nkphi | pressure level pairs: the upper and lower level index [integer] |
ca_app, sexp_app, xa_app, uexp_app | The interpolation coefficients [real] |
approx | co2 approximation function [real] |
call approx_fn_std (press_hi_app, press_lo_app, do_triangle, & ca_app, sexp_app, xa_app, uexp_app, approx)
press_hi_app | high standard pressure array [real] |
press_lo_app | low standard pressure array [real] |
do_triangle | state variable of interpolation scheme [logical] |
ca_app, sexp_app, xa_app, uexp_app | The interpolation coefficients [real] |
approx | co2 approximation function [real] |
call gasins (gas_type, do_lvlcalc, do_lvlctscalc, do_lyrcalc, & nf, ntbnd, ndimkp, ndimk, & dgasdt10_lvl, dgasdt10_lvlcts, dgasdt10_lyr, & gasp10_lvl, gasp10_lvlcts, gasp10_lyr, & d2gast10_lvl, d2gast10_lvlcts, d2gast10_lyr, & dgasdt8_lvl, dgasdt8_lvlcts, dgasdt8_lyr , & gasp8_lvl, gasp8_lvlcts, gasp8_lyr , & d2gast8_lvl, d2gast8_lvlcts, d2gast8_lyr )
gas_type | Gas type information [character] |
do_lvlcalc, do_lvlctscalc, do_lyrcalc | State variables that determines calculation paths
do_lvlcalc : compute level co2 transmissivities if true.
do_lyrcalc : compute layer co2 transmissivities if true.
do_lvlctscalc : compute cts level co2 transmissivities if true [logical] |
nf | frequency band number [integer] |
ntbnd | temperature index of the frequency band [integer] |
ndimkp, ndimk | extents of dimensions for output interpolation transmissivity arrays. [integer] |
dgasdt10_lvl gasp10_lvl d2gast10_lvl dgasdt8_lvl gasp8_lvl d2gast8_lvl | variables used in do_lvlcalc calculation path [real] |
dgasdt10_lvlcts gasp10_lvlcts d2gast10_lvlcts dgasdt8_lvlcts gasp8_lvlcts d2gast8_lvlcts | variables used in do_lvlctscalc calculation path [real] |
dgasdt10_lyr gasp10_lyr d2gast10_lyr dgasdt8_lyr gasp8_lyr d2gast8_lyr | variables used in do_lyrcalc calculation path [real] |
call gasint (gas_type, co2_vmr, co2_std_lo, co2_std_hi, & callrctrns, do_lvlcalc, do_lvlctscalc, do_lyrcalc, & nf, nt)
gas_type | Gas type information [character] |
do_lvlcalc, do_lvlctscalc, do_lyrcalc | State variables that determine calculation paths
do_lvlcalc : compute level co2 transmissivities if true.
do_lyrcalc : compute layer co2 transmissivities if true.
do_lvlctscalc : compute cts level co2 transmissivities if true [logical] |
nf | frequency band number [integer] |
nt | temperature index of the frequency band [integer] |
co2_vmr | co2 volume mixing ratio [real] |
co2_std_lo, co2_std_hi | standard co2 high and low volume mixing ratio (ppmv) pair [real] |
callrctrns | state variable that determines calculation path [logical] |
call coeint (gas_type, nf, trns_val, ca, sexp, xa, uexp)
gas_type | Gas type information [character] |
nf | number of frequency band [integer] |
trns_val | transmission function array [real] |
ca, xa, sexp, uexp | coefficients in the transmission function between two pressure
levels [real] |
call intcoef_1d (press_hi, press_lo, cav, sexpv, xav, uexpv)
press_hi, press_lo | high and low pressure pair [real] |
cav, xav, sexpv, uexpv | coefficients in the transmission function between two pressure
levels [real] |
call intcoef_2d (press_hiv, press_lov, do_triangle, & nklo, nkhi, nkplo, nkphi, & indx_hiv, indx_lov, & caintv, sexpintv, xaintv, uexpintv)
press_hiv, press_lov | high and low pressure pair [real] |
do_triangle | State variable of triangle interpolation scheme [logical] |
nklo, nkhi, nkplo, nkphi | the high and low level and pressure pairs [integer] |
indx_hiv, indx_lov | the high and low index pair [integer] |
caintv, xaintv, sexpintv, uexpintv | coefficients in the transmission function between two pressure
levels [real] |
call intcoef_2d_std
press_hiv, press_lov | high and low pressure pair [real] |
nf | number of frequency bands [integer] |
nt | number of temperature values [integer] |
do_triangle | State variable of triangle interpolation scheme [logical] |
nklo, nkhi, nkplo, nkphi | the high and low level and pressure pairs [integer] |
indx_hiv, indx_lov | the high and low index pair [integer] |
caintv, xaintv, sexpintv, uexpintv | coefficients in the transmission function between two pressure
levels [real] |
call interp_error (error, pressint_hiv, pressint_lov, & indx_press_hiv, indx_press_lov, & do_triangle, nklo, nkhi, nkplo, nkphi, & errorint)
error | interpolation error at standard pa grid. evaluated on
a (NSTDCO2LVLS,NSTDCO2LVLS) grid when kp ge k). [real] |
pressint_hiv, pressint_lov | pressint_hiv = pressure of high(kp) interpolated pressure
pressint_lov = pressure of low (kp) interpolated pressure [real] |
indx_press_hiv, indx_press_lov | indx_press_hiv = pressure on std pa grid of high (kp) pressure
indx_press_lov = pressure on std pa grid of low (kp) pressure [real] |
do_triangle | state variable that determines the interpolation scheme [logical] |
nkl, nkhi, nkplo, nkphi | The index of level and pressure high/low pair [integer] |
errorint | error at interpolated grid [real] |
call interp_error_r (error, pressint_hiv, pressint_lov, & indx_press_hiv, indx_press_lov, & do_triangle, errorint)
error | interpolation error at standard pa grid. evaluated on
a (NSTDCO2LVLS,NSTDCO2LVLS) grid when kp ge k). [real] |
pressint_hiv, pressint_lov | pressint_hiv = pressure of high(kp) interpolated pressure
pressint_lov = pressure of low (kp) interpolated pressure [real] |
indx_press_hiv, indx_press_lov | indx_press_hiv = pressure on std pa grid of high (kp) pressure
indx_press_lov = pressure on std pa grid of low (kp) pressure [real] |
do_triangle | state variable that determines the interpolation scheme [logical] |
errorint | error at interpolated grid [real] |
call pathv1 (press_hi, press_lo, ndimlo, ndimhi, upath)
press_hi, press_lo | The reference pressure levels [real] |
ndimlo, ndimhi | the index of pressure level bound [integer] |
upath | The path function for the co2 interpolation pgm. [real] |
call rctrns (gas_type, co2_std_lo, co2_std_hi, co2_vmr, & nf, nt, trns_vmr)
call read_lbltfs (gas_type, callrctrns, nstd_lo, nstd_hi, nf, & ntbnd, trns_std_hi_nf, trns_std_lo_nf )
call allocate_interp_arrays