CCPP Scientific Documentation
v5.0.0
radsw_main.f File Reference

This file contains NCEP's modifications of the rrtmg-sw radiation code from AER. More...

Modules

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

Functions/Subroutines

subroutine, public rrtmg_sw::rrtmg_sw_init ()
 
subroutine, public rrtmg_sw::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, dzlyr, delpin, de_lgth, cosz, solcon, NDAY, idxday, npts, nlay, nlp1, lprnt, cld_cf, lsswr, hswc, topflx, sfcflx, cldtau, 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, cld_ssa, cld_asy, errmsg, errflg
 
subroutine, public rrtmg_sw::rrtmg_sw_finalize ()
 
subroutine taumol17
 The subroutine computes the optical depth in band 17: 3250-4000 cm-1 (low - h2o,co2; high - h2o,co2) More...
 
subroutine taumol18
 The subroutine computes the optical depth in band 18: 4000-4650 cm-1 (low - h2o,ch4; high - ch4) More...
 
subroutine taumol19
 The subroutine computes the optical depth in band 19: 4650-5150 cm-1 (low - h2o,co2; high - co2) More...
 
subroutine taumol20
 The subroutine computes the optical depth in band 20: 5150-6150 cm-1 (low - h2o; high - h2o) More...
 
subroutine taumol21
 The subroutine computes the optical depth in band 21: 6150-7700 cm-1 (low - h2o,co2; high - h2o,co2) More...
 
subroutine taumol22
 The subroutine computes the optical depth in band 22: 7700-8050 cm-1 (low - h2o,o2; high - o2) More...
 
subroutine taumol23
 The subroutine computes the optical depth in band 23: 8050-12850 cm-1 (low - h2o; high - nothing) More...
 
subroutine taumol24
 The subroutine computes the optical depth in band 24: 12850-16000 cm-1 (low - h2o,o2; high - o2) More...
 
subroutine taumol25
 The subroutine computes the optical depth in band 25: 16000-22650 cm-1 (low - h2o; high - nothing) More...
 
subroutine taumol26
 The subroutine computes the optical depth in band 26: 22650-29000 cm-1 (low - nothing; high - nothing) More...
 
subroutine taumol27
 The subroutine computes the optical depth in band 27: 29000-38000 cm-1 (low - o3; high - o3) More...
 
subroutine taumol28
 The subroutine computes the optical depth in band 28: 38000-50000 cm-1 (low - o3,o2; high - o3,o2) More...
 
subroutine taumol29
 The subroutine computes the optical depth in band 29: 820-2600 cm-1 (low - h2o; high - co2) More...
 
subroutine, public rrtmg_sw::rswinit (me)
 This subroutine initializes non-varying module variables, conversion factors, and look-up tables. More...
 
subroutine rrtmg_sw::cldprop (cfrac, cliqp, reliq, cicep, reice, cdat1, cdat2, cdat3, cdat4, cf1, nlay, ipseed, dz, delgth, taucw, ssacw, asycw, cldfrc, cldfmc )
 This subroutine computes the cloud optical properties for each cloudy layer and g-point interval. More...
 
subroutine rrtmg_sw::mcica_subcol (cldf, nlay, ipseed, dz, de_lgth, lcloudy )
 This subroutine computes the sub-colum cloud profile flag array. More...
 
subroutine rrtmg_sw::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 rrtmg_sw::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 rrtmg_sw::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 rrtmg_sw::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 rrtmg_sw::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...
 
subroutine taumol16
 The subroutine computes the optical depth in band 16: 2600-3250 cm-1 (low - h2o,ch4; high - ch4) More...
 

Variables

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