CCPP SciDoc v7.0.x  v7.0.0
Common Community Physics Package Developed at DTC
 
Loading...
Searching...
No Matches

◆ 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.

References cldprop(), rtrn(), rtrnmc(), rtrnmr(), setcoef(), and taumol().

Here is the call graph for this function: