Common Community Physics Package (CCPP) Scientific Documentation  Version 2.0
rrtmg_sw Module Reference

This module contains the CCPP-compliant NCEP's modifications of the rrtm-sw radiation code from aer inc.

Functions/Subroutines

subroutine, public rrtmg_sw_init ()
 
subroutine, public rrtmg_sw_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, aerasy, sfcalb_nir_dir, sfcalb_nir_dif, sfcalb_uvis_dir, sfcalb_uvis_dif, cosz, solcon, NDAY, idxday, npts, nlay, nlp1, lprnt, cld_cf, lsswr, hswc, topflx, sfcflx, HSW0, HSWB, FLXPRF, FDNCMP, cld_lwp, cld_ref_liq, cld_iwp, cld_ref_ice, cld_rwp, cld_ref_rain, cld_swp, cld_ref_snow, cld_od_total, cld_od_layer, cld_od, cld_ssa, cld_asy, errmsg, errflg
 
subroutine, public rrtmg_sw_finalize ()
 
subroutine, public rswinit (me)
 This subroutine initializes non-varying module variables, conversion factors, and look-up tables. More...
 
subroutine cldprop (cfrac, cliqp, reliq, cicep, reice, cdat1, cdat2, cdat3, cdat4, cf1, nlay, ipseed, taucw, ssacw, asycw, cldfrc, cldfmc )
 This subroutine computes the cloud optical properties for each cloudy layer and g-point interval. More...
 
subroutine mcica_subcol (cldf, nlay, ipseed, lcloudy )
 This subroutine computes the sub-colum cloud profile flag array. More...
 
subroutine setcoef (pavel, tavel, h2ovmr, nlay, nlp1, laytrop, jp, jt, jt1, fac00, fac01, fac10, fac11, selffac, selffrac, indself, forfac, forfrac, indfor )
 This subroutine computes various coefficients needed in radiative transfer calculation. More...
 
subroutine spcvrtc (ssolar, cosz, sntz, albbm, albdf, sfluxzen, cldfrc, cf1, cf0, taug, taur, tauae, ssaae, asyae, taucw, ssacw, asycw, nlay, nlp1, fxupc, fxdnc, fxup0, fxdn0, ftoauc, ftoau0, ftoadc, fsfcuc, fsfcu0, fsfcdc, fsfcd0, sfbmc, sfdfc, sfbm0, sfdf0, suvbfc, suvbf0 )
 This subroutine computes the shortwave radiative fluxes using two-stream method. More...
 
subroutine spcvrtm (ssolar, cosz, sntz, albbm, albdf, sfluxzen, cldfmc, cf1, cf0, taug, taur, tauae, ssaae, asyae, taucw, ssacw, asycw, nlay, nlp1, fxupc, fxdnc, fxup0, fxdn0, ftoauc, ftoau0, ftoadc, fsfcuc, fsfcu0, fsfcdc, fsfcd0, sfbmc, sfdfc, sfbm0, sfdf0, suvbfc, suvbf0 )
 This subroutine computes the shortwave radiative fluxes using two-stream method of h. barder and mcica,the monte-carlo independent column approximation, for the representation of sub-grid cloud variability (i.e. cloud overlap). More...
 
subroutine vrtqdr (zrefb, zrefd, ztrab, ztrad, zldbt, ztdbt, NLAY, NLP1, zfu, zfd )
 This subroutine is called by spcvrtc() and spcvrtm(), and computes the upward and downward radiation fluxes. More...
 
subroutine taumol (colamt, colmol, fac00, fac01, fac10, fac11, jp, jt, jt1, laytrop, forfac, forfrac, indfor, selffac, selffrac, indself, nlay, sfluxzen, taug, taur )
 This subroutine calculates optical depths for gaseous absorption and rayleigh scattering
subroutine called taumol## (## = 16-29) More...
 

Variables

character(40), parameter vtagsw ='NCEP SW v5.1 Nov 2012 -RRTMG-SW v3.8 '
 
real(kind=kind_phys), parameter eps = 1.0e-6
 
real(kind=kind_phys), parameter oneminus = 1.0 - eps
 
real(kind=kind_phys), parameter bpade = 1.0/0.278
 
real(kind=kind_phys), parameter stpfac = 296.0/1013.0
 
real(kind=kind_phys), parameter ftiny = 1.0e-12
 
real(kind=kind_phys), parameter flimit = 1.0e-20
 
real(kind=kind_phys), parameter s0 = 1368.22
 
real(kind=kind_phys), parameter f_zero = 0.0
 
real(kind=kind_phys), parameter f_one = 1.0
 
real(kind=kind_phys), parameter amdw = con_amd/con_amw
 
real(kind=kind_phys), parameter amdo3 = con_amd/con_amo3
 
integer, dimension(nblow:nbhgh) nspa
 
integer, dimension(nblow:nbhgh) nspb
 
integer, dimension(nblow:nbhgh) idxsfc
 
integer, dimension(nblow:nbhgh) idxebc
 
integer, parameter nuvb = 27
 
logical lhswb = .false.
 
logical lhsw0 = .false.
 
logical lflxprf = .false.
 
logical lfdncmp = .false.
 
real(kind=kind_phys), dimension(0:ntbmx) exp_tbl
 
real(kind=kind_phys) heatfac
 
integer, parameter ipsdsw0 = 1