This module contains the CCPP-compliant NCEP's modifications of the rrtmg-lw radiation code from aer inc.
|
subroutine, public | 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 | 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
|
|
subroutine | cldprop (cfrac, cliqp, reliq, cicep, reice, cdat1, cdat2, cdat3, cdat4, nlay, nlp1, ipseed, dz, de_lgth, iovr, alpha, ilwcliq, ilwcice, isubclw, cldfmc, taucld) |
| This subroutine computes the cloud optical depth(s) for each cloudy layer and g-point interval.
|
|
subroutine | mcica_subcol (cldf, nlay, ipseed, dz, de_lgth, alpha, iovr, lcloudy) |
| This suroutine computes sub-colum cloud profile flag array.
|
|
subroutine | setcoef (pavel, tavel, tz, stemp, h2ovmr, colamt, coldry, colbrd, nlay, nlp1, laytrop, pklay, pklev, jp, jt, jt1, rfrate, fac00, fac01, fac10, fac11, selffac, selffrac, indself, forfac, forfrac, indfor, minorfrac, scaleminor, scaleminorn2, indminor) |
| This subroutine computes various coefficients needed in radiative transfer calculations.
|
|
subroutine | rtrn (semiss, delp, cldfrc, taucld, tautot, pklay, pklev, fracs, secdif, nlay, nlp1, totuflux, totdflux, htr, totuclfl, totdclfl, htrcl, htrb) |
| This subroutine computes the upward/downward radiative fluxes, and heating rates for both clear or cloudy atmosphere. Clouds assumed as randomly overlaping in a vertical column.
|
|
subroutine | rtrnmr (semiss, delp, cldfrc, taucld, tautot, pklay, pklev, fracs, secdif, nlay, nlp1, totuflux, totdflux, htr, totuclfl, totdclfl, htrcl, htrb) |
| This subroutine computes the upward/downward radiative fluxes, and heating rates for both clear or cloudy atmosphere. Clouds are assumed as in maximum-randomly overlaping in a vertical column.
|
|
subroutine | rtrnmc (semiss, delp, cldfmc, taucld, tautot, pklay, pklev, fracs, secdif, nlay, nlp1, totuflux, totdflux, htr, totuclfl, totdclfl, htrcl, htrb) |
| This subroutine computes the upward/downward radiative fluxes, and heating rates for both clear or cloudy atmosphere.Clouds are treated with the mcica stochastic approach.
|
|
subroutine | taumol (laytrop, pavel, coldry, colamt, colbrd, wx, tauaer, rfrate, fac00, fac01, fac10, fac11, jp, jt, jt1, selffac, selffrac, indself, forfac, forfrac, indfor, minorfrac, scaleminor, scaleminorn2, indminor, nlay, fracs, tautot) |
| This subroutine contains optical depths developed for the rapid radiative transfer model.
|
|
subroutine | cldprmc (nlayers, inflag, iceflag, liqflag, cldfmc, ciwpmc, clwpmc, cswpmc, reicmc, relqmc, resnmc, ncbands, taucmc, errmsg, errflg) |
|
|
character(40), parameter | vtaglw ='NCEP LW v5.1 Nov 2012 -RRTMG-LW v4.82 ' |
|
real(kind=kind_phys), parameter | eps = 1.0e-6 |
|
real(kind=kind_phys), parameter | oneminus = 1.0-eps |
|
real(kind=kind_phys), parameter | cldmin = tiny(cldmin) |
|
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 | wtdiff = 0.5 |
|
real(kind=kind_phys), parameter | tblint = ntbl |
|
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(nbands) | nspa |
|
integer, dimension(nbands) | nspb |
|
real(kind=kind_phys), dimension(nbands) | a0 |
|
real(kind=kind_phys), dimension(nbands) | a1 |
|
real(kind=kind_phys), dimension(nbands) | a2 |
|
logical | lhlwb = .false. |
|
logical | lhlw0 = .false. |
|
logical | lflxprf = .false. |
|
real(kind=kind_phys) | fluxfac |
|
real(kind=kind_phys) | heatfac |
|
real(kind=kind_phys), dimension(nbands) | semiss0 |
|
real(kind=kind_phys), dimension(0:ntbl) | tau_tbl |
| clr-sky opt dep (for cldy transfer)
|
|
real(kind=kind_phys), dimension(0:ntbl) | exp_tbl |
| transmittance lookup table
|
|
real(kind=kind_phys), dimension(0:ntbl) | tfn_tbl |
| tau transition function; i.e. the transition of planck func from mean lyr temp to lyr boundary temp as a func of opt dep. "linear in tau" method is used.
|
|
integer, parameter | ipsdlw0 = ngptlw |
|