← Back to Documentation Home
CCPP SciDoc v8.0.0  v8.0.0
Common Community Physics Package Developed at DTC
 
Loading...
Searching...
No Matches
GFS RRTMG-LW Main Module

This module includes NCEP's modifications of the RRTMG-LW radiation code from AER.The RRTMG-LW package includes three files: More...

Modules

module  module_radlw_avplank
 This module contains plank flux data.
 
module  module_radlw_ref
 This module contains reference temperature and pressure.
 
module  module_radlw_cldprlw
 This module contains cloud property coefficients.
 
module  module_radlw_kgb01
 This module sets up absorption coefficients for band 01: 10-350 cm-1 (low - h2o; high - h2o)
 
module  module_radlw_kgb02
 This module sets up absorption coefficients for band 02: 350-500 cm-1 (low - h2o; high - h2o)
 
module  module_radlw_kgb03
 This module sets up absorption coefficients for band 03: 500-630 cm-1 (low - h2o, co2; high - h2o, co2)
 
module  module_radlw_kgb04
 This module sets up absorption coefficients for band 04: 630-700 cm-1 (low - h2o, co2; high - co2, o3)
 
module  module_radlw_kgb05
 This module sets up absorption coefficients for band 05: 700-820 cm-1 (low - h2o, co2; high - co2, o3)
 
module  module_radlw_kgb06
 This module sets up absorption coefficients for band 06: 820-980 cm-1 (low - h2o; high - /)
 
module  module_radlw_kgb07
 This module sets up absorption coefficients for band 07: 980-1080 cm-1 (low - h2o, o3; high - o3)
 
module  module_radlw_kgb08
 This module sets up absorption coefficients for band 08: 1080-1180 cm-1 (low - h2o; high - o3)
 
module  module_radlw_kgb09
 This module sets up absorption coefficients for band 09: 1180-1390 cm-1 (low - h2o, ch4; high - ch4)
 
module  module_radlw_kgb10
 This module sets up absorption coefficients for band 10: 1390-1480 cm-1 (low - h2o; high - h2o)
 
module  module_radlw_kgb11
 This module sets up absorption coefficients for band 11: 1480-1800 cm-1 (low - h2o; high - h2o)
 
module  module_radlw_kgb12
 This module sets up absorption coefficients for band 12: 1800-2080 cm-1 (low - h2o, co2; high - /)
 
module  module_radlw_kgb13
 This module sets up absorption coefficients for band 13: 2080-2250 cm-1 (low - h2o, n2o; high - /)
 
module  module_radlw_kgb14
 This module sets up absorption coefficients for band 14: 2250-2380 cm-1 (low - co2; high - co2)
 
module  module_radlw_kgb15
 This module sets up absorption coefficients for band 15: 2380-2600 cm-1 (low - n2o, co2; high - /)
 
module  module_radlw_kgb16
 This module sets up absorption coefficients for band 16: 2600-3000 cm-1 (low - h2o, ch4; high - /)
 
module  module_radlw_parameters
 This module contains LW band parameters set up.
 

Functions/Subroutines

subroutine, public rrtmg_lw::rrtmg_lw_run (plyr, plvl, tlyr, tlvl, qlyr, olyr, gasvmr_co2, gasvmr_n2o, gasvmr_ch4, gasvmr_o2, gasvmr_co, gasvmr_cfc11, gasvmr_cfc12, gasvmr_cfc22, gasvmr_ccl4, icseed, aeraod, aerssa, sfemis, sfgtmp, dzlyr, delpin, de_lgth, alpha, npts, nlay, nlp1, lprnt, cld_cf, lslwr, top_at_1, iovr, iovr_rand, iovr_maxrand, iovr_max, iovr_dcorr, iovr_exp, iovr_exprand, inc_minor_gas, ilwcliq, ilwcice, isubclw, hlwc, topflx, sfcflx, cldtau, hlw0, hlwb, flxprf, cld_lwp, cld_ref_liq, cld_iwp, cld_ref_ice, cld_rwp, cld_ref_rain, cld_swp, cld_ref_snow, cld_od, errmsg, errflg)
 
subroutine, public rrtmg_lw::rlwinit (me, rad_hr_units, inc_minor_gas, ilwcliq, isubclw, iovr, iovr_rand, iovr_maxrand, iovr_max, iovr_dcorr, iovr_exp, iovr_exprand, errflg, errmsg)
 This subroutine performs calculations necessary for the initialization of the longwave model, which includes non-varying model variables, conversion factors, and look-up tables

 

Detailed Description

This module includes NCEP's modifications of the RRTMG-LW radiation code from AER.

The RRTMG-LW package includes three files:

Version
NCEP LW v5.1 Nov 2012 -RRTMG-LW v4.82

Argument Table

RRTMG Longwave Radiation Scheme General Algorithm

Function/Subroutine Documentation

◆ rlwinit()

subroutine, public rrtmg_lw::rlwinit ( integer, intent(in)  me,
integer, intent(in)  rad_hr_units,
logical, intent(in)  inc_minor_gas,
integer, intent(in)  ilwcliq,
integer, intent(in)  isubclw,
integer, intent(in)  iovr,
integer, intent(in)  iovr_rand,
integer, intent(in)  iovr_maxrand,
integer, intent(in)  iovr_max,
integer, intent(in)  iovr_dcorr,
integer, intent(in)  iovr_exp,
integer, intent(in)  iovr_exprand,
integer, intent(out)  errflg,
character(len=*), intent(out)  errmsg 
)

This subroutine performs calculations necessary for the initialization of the longwave model, which includes non-varying model variables, conversion factors, and look-up tables

Lookup tables are computed for use in the lw radiative transfer, and input absorption coefficient data for each spectral band are reduced from 256 g-point intervals to 140.

Parameters
meprint control for parallel process

rlwinit General Algorithm

  • Setup default surface emissivity for each band.
  • Setup constant factors for flux and heating rate the 1.0e-2 is to convert pressure from mb to \(N/m^2\).
  • Compute lookup tables for transmittance, tau transition function, and clear sky tau (for the cloudy sky radiative transfer). tau is computed as a function of the tau transition function, transmittance is calculated as a function of tau, and the tau transition function is calculated using the linear in tau formulation at values of tau above 0.01. tf is approximated as tau/6 for tau < 0.01. all tables are computed at intervals of 0.001. the inverse of the constant used in the pade approximation to the tau transition function is set to b.

Definition at line 1323 of file radlw_main.F90.

◆ rrtmg_lw_run()

subroutine, public rrtmg_lw::rrtmg_lw_run ( real (kind=kind_phys), dimension(:,:), intent(in)  plyr,
real (kind=kind_phys), dimension(:,:), intent(in)  plvl,
real (kind=kind_phys), dimension(:,:), intent(in)  tlyr,
real (kind=kind_phys), dimension(:,:), intent(in)  tlvl,
real (kind=kind_phys), dimension(:,:), intent(in)  qlyr,
real (kind=kind_phys), dimension(:,:), intent(in)  olyr,
real (kind=kind_phys), dimension(:,:), intent(in)  gasvmr_co2,
real (kind=kind_phys), dimension(:,:), intent(in)  gasvmr_n2o,
real (kind=kind_phys), dimension(:,:), intent(in)  gasvmr_ch4,
real (kind=kind_phys), dimension(:,:), intent(in)  gasvmr_o2,
real (kind=kind_phys), dimension(:,:), intent(in)  gasvmr_co,
real (kind=kind_phys), dimension(:,:), intent(in)  gasvmr_cfc11,
real (kind=kind_phys), dimension(:,:), intent(in)  gasvmr_cfc12,
real (kind=kind_phys), dimension(:,:), intent(in)  gasvmr_cfc22,
real (kind=kind_phys), dimension(:,:), intent(in)  gasvmr_ccl4,
integer, dimension(npts), intent(in)  icseed,
real (kind=kind_phys), dimension(:,:,:), intent(in)  aeraod,
real (kind=kind_phys), dimension(:,:,:), intent(in)  aerssa,
real (kind=kind_phys), dimension(:), intent(in)  sfemis,
real (kind=kind_phys), dimension(:), intent(in)  sfgtmp,
real (kind=kind_phys), dimension(:,:), intent(in)  dzlyr,
real (kind=kind_phys), dimension(:,:), intent(in)  delpin,
real (kind=kind_phys), dimension(:), intent(in)  de_lgth,
real (kind=kind_phys), dimension(npts,nlay), intent(in)  alpha,
integer, intent(in)  npts,
integer, intent(in)  nlay,
integer, intent(in)  nlp1,
logical, intent(in)  lprnt,
real (kind=kind_phys), dimension(:,:), intent(in)  cld_cf,
logical, intent(in)  lslwr,
logical, intent(in)  top_at_1,
integer, intent(in)  iovr,
integer, intent(in)  iovr_rand,
integer, intent(in)  iovr_maxrand,
integer, intent(in)  iovr_max,
integer, intent(in)  iovr_dcorr,
integer, intent(in)  iovr_exp,
integer, intent(in)  iovr_exprand,
logical, intent(in)  inc_minor_gas,
integer, intent(in)  ilwcliq,
integer, intent(in)  ilwcice,
integer, intent(in)  isubclw,
real (kind=kind_phys), dimension(:,:), intent(inout)  hlwc,
type (topflw_type), dimension(:), intent(inout)  topflx,
type (sfcflw_type), dimension(:), intent(inout)  sfcflx,
real (kind=kind_phys), dimension(:,:), intent(inout)  cldtau,
real (kind=kind_phys), dimension(:,:), intent(inout), optional  hlw0,
real (kind=kind_phys), dimension(:,:,:), intent(inout), optional  hlwb,
type (proflw_type), dimension(:,:), intent(inout), optional  flxprf,
real (kind=kind_phys), dimension(:,:), intent(in), optional  cld_lwp,
real (kind=kind_phys), dimension(:,:), intent(in), optional  cld_ref_liq,
real (kind=kind_phys), dimension(:,:), intent(in), optional  cld_iwp,
real (kind=kind_phys), dimension(:,:), intent(in), optional  cld_ref_ice,
real (kind=kind_phys), dimension(:,:), intent(in), optional  cld_rwp,
real (kind=kind_phys), dimension(:,:), intent(in), optional  cld_ref_rain,
real (kind=kind_phys), dimension(:,:), intent(in), optional  cld_swp,
real (kind=kind_phys), dimension(:,:), intent(in), optional  cld_ref_snow,
real (kind=kind_phys), dimension(:,:), intent(in), optional  cld_od,
character(len=*), intent(out)  errmsg,
integer, intent(out)  errflg 
)
  • Change random number seed value for each radiation invocation (isubclw =1 or 2).
  • Read surface emissivity.
  • Prepare atmospheric profile for use in rrtm.
  • Set absorber amount for h2o, co2, and o3.
  • Set up column amount for rare gases n2o,ch4,o2,co,ccl4,cf11,cf12, cf22, convert from volume mixing ratio to molec/cm2 based on coldry (scaled to 1.0e-20).
  • Set aerosol optical properties.
  • Read cloud optical properties.
  • Compute precipitable water vapor for diffusivity angle adjustments.
  • Compute column amount for broadening gases.
  • Compute diffusivity angle adjustments.
  • For cloudy atmosphere, call cldprop() to set cloud optical properties.
  • Calling setcoef() to compute various coefficients needed in radiative transfer calculations.
  • Call taumol() to calculte the gaseous optical depths and Plank fractions for each longwave spectral band.
  • Call the radiative transfer routine based on cloud scheme selection. Compute the upward/downward radiative fluxes, and heating rates for both clear or cloudy atmosphere.
    - call rtrn(): clouds are assumed as randomly overlaping in a vertical column
    - call rtrnmr(): clouds are assumed as in maximum-randomly overlaping in a vertical column;
    - call rtrnmc(): clouds are treated with the mcica stochastic approach.
  • Save outputs.

Definition at line 419 of file radlw_main.F90.