This module contains the CCPP-compliant NCEP's modifications of the rrtmg-sw radiation code from aer inc.
Functions/Subroutines | |
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, dzlyr, delpin, de_lgth, alpha, cosz, solcon, nday, idxday, npts, nlay, nlp1, lprnt, inc_minor_gas, iswcliq, iswcice, isubcsw, iovr, top_at_1, iswmode, cld_cf, lsswr, iovr_rand, iovr_maxrand, iovr_max, iovr_dcorr, iovr_exp, iovr_exprand, 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 | rswinit (me, rad_hr_units, inc_minor_gas, iswcliq, isubcsw, iovr, iovr_rand, iovr_maxrand, iovr_max, iovr_dcorr, iovr_exp, iovr_exprand, iswmode, errflg, errmsg) |
This subroutine initializes non-varying module variables, conversion factors, and look-up tables. | |
subroutine | cldprop (cfrac, cliqp, reliq, cicep, reice, cdat1, cdat2, cdat3, cdat4, cf1, nlay, ipseed, dz, delgth, alpha, iswcliq, iswcice, isubcsw, iovr, taucw, ssacw, asycw, cldfrc, cldfmc) |
This subroutine computes the cloud optical properties for each cloudy layer and g-point interval. | |
subroutine | mcica_subcol (cldf, nlay, ipseed, dz, de_lgth, alpha, iovr, lcloudy) |
This subroutine computes the sub-colum cloud profile flag array. | |
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. | |
subroutine | spcvrtc (ssolar, cosz, sntz, albbm, albdf, sfluxzen, cldfrc, cf1, cf0, taug, taur, tauae, ssaae, asyae, taucw, ssacw, asycw, nlay, nlp1, iswmode, 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. | |
subroutine | spcvrtm (ssolar, cosz, sntz, albbm, albdf, sfluxzen, cldfmc, cf1, cf0, taug, taur, tauae, ssaae, asyae, taucw, ssacw, asycw, nlay, nlp1, iswmode, 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). | |
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. | |
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) | |
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 |