This module computes cloud related quantities for radiation computations.Knowledge of cloud properties and their vertical structure is important for meteorological studies due to their impact on both the Earth's radiation budget and adiabatic heating within the atmosphere. Cloud properties in the US National Oceanic and Atmospheric Administration National Centers for Environmental Prediction Global Forecast System (GFS) include (i) cloud liquid/ice water path; (ii) the fraction of clouds; (iii) effective radius of water/ice droplet: More...
Modules | |
module | module_radiation_clouds |
This module computes cloud related quantities for radiation computations. | |
Functions/Subroutines | |
subroutine, public | module_radiation_clouds::cld_init (si, nlay, imp_physics, me, con_g, con_rd, errflg, errmsg) |
This subroutine is an initialization program for cloud-radiation calculations and sets up boundary layer cloud top. | |
subroutine, public | module_radiation_clouds::radiation_clouds_prop (plyr, plvl, tlyr, tvly, qlyr, qstl, rhly, ccnd, ncndl, cnvw, cnvc, tracer1, xlat, xlon, slmsk, dz, delp, ix, lm, nlay, nlp1, deltaq, sup, dcorr_con, me, icloud, kdt, ntrac, ntcw, ntiw, ntrw, ntsw, ntgl, ntclamt, imp_physics, imp_physics_nssl, imp_physics_fer_hires, imp_physics_gfdl, imp_physics_thompson, imp_physics_wsm6, imp_physics_zhao_carr, imp_physics_zhao_carr_pdf, imp_physics_mg, iovr, iovr_rand, iovr_maxrand, iovr_max, iovr_dcorr, iovr_exp, iovr_exprand, idcor, idcor_con, idcor_hogan, idcor_oreopoulos, lcrick, lcnorm, imfdeepcnv, imfdeepcnv_gf, imfdeepcnv_c3, do_mynnedmf, lgfdlmprad, xr_cnvcld, uni_cld, lmfshal, lmfdeep2, cldcov, clouds1, effrl, effri, effrr, effrs, effr_in, effrl_inout, effri_inout, effrs_inout, lwp_ex, iwp_ex, lwp_fc, iwp_fc, dzlay, latdeg, julian, yearlen, gridkm, top_at_1, si, con_ttp, con_pi, con_g, con_rd, con_thgni, cld_frac, cld_lwp, cld_reliq, cld_iwp, cld_reice, cld_rwp, cld_rerain, cld_swp, cld_resnow, clds, mtop, mbot, de_lgth, alpha) |
Subroutine radiation_clouds_prop computes cloud related quantities for different cloud microphysics schemes. | |
subroutine, public | module_radiation_clouds::progcld_zhao_carr (plyr, plvl, tlyr, tvly, qlyr, qstl, rhly, clw, xlat, xlon, slmsk, dz, delp, ix, nlay, nlp1, uni_cld, lmfshal, lmfdeep2, cldcov, effrl, effri, effrr, effrs, effr_in, dzlay, cldtot, cldcnv, lcrick, lcnorm, con_ttp, cld_frac, cld_lwp, cld_reliq, cld_iwp, cld_reice, cld_rwp, cld_rerain, cld_swp, cld_resnow) |
This subroutine computes cloud related quantities using zhao/moorthi's prognostic cloud microphysics scheme. | |
subroutine, public | module_radiation_clouds::progcld_zhao_carr_pdf (plyr, plvl, tlyr, tvly, qlyr, qstl, rhly, clw, cnvw, cnvc, xlat, xlon, slmsk, dz, delp, ix, nlay, nlp1, deltaq, sup, kdt, me, dzlay, cldtot, cldcnv, lcrick, lcnorm, con_thgni, con_ttp, cld_frac, cld_lwp, cld_reliq, cld_iwp, cld_reice, cld_rwp, cld_rerain, cld_swp, cld_resnow) |
This subroutine computes cloud related quantities using zhao/moorthi's prognostic cloud microphysics scheme + pdfcld. | |
subroutine, public | module_radiation_clouds::progcld_gfdl_lin (plyr, plvl, tlyr, tvly, qlyr, qstl, rhly, clw, cnvw, cnvc, xlat, xlon, slmsk, cldtot, dz, delp, ix, nlay, nlp1, dzlay, cldtot1, cldcnv, lcrick, lcnorm, con_ttp, cld_frac, cld_lwp, cld_reliq, cld_iwp, cld_reice, cld_rwp, cld_rerain, cld_swp, cld_resnow) |
This subroutine computes cloud related quantities using GFDL Lin MP prognostic cloud microphysics scheme. | |
subroutine, public | module_radiation_clouds::progcld_fer_hires (plyr, plvl, tlyr, tvly, qlyr, qstl, rhly, clw, xlat, xlon, slmsk, dz, delp, ntrac, ntcw, ntiw, ntrw, ix, nlay, nlp1, icloud, uni_cld, lmfshal, lmfdeep2, cldcov, re_cloud, re_ice, re_snow, dzlay, cldtot, cldcnv, lcnorm, cld_frac, cld_lwp, cld_reliq, cld_iwp, cld_reice, cld_rwp, cld_rerain, cld_swp, cld_resnow) |
This subroutine computes cloud related quantities using Ferrier-Aligo cloud microphysics scheme. | |
subroutine, public | module_radiation_clouds::progcld_thompson_wsm6 (plyr, plvl, tlyr, qlyr, qstl, rhly, clw, xlat, xlon, slmsk, dz, delp, ntrac, ntcw, ntiw, ntrw, ntsw, ntgl, con_ttp, xr_cnvcld, ix, nlay, nlp1, uni_cld, lmfshal, lmfdeep2, cldcov, cnvw, re_cloud, re_ice, re_snow, lwp_ex, iwp_ex, lwp_fc, iwp_fc, dzlay, cldtot, cldcnv, lcnorm, cld_frac, cld_lwp, cld_reliq, cld_iwp, cld_reice, cld_rwp, cld_rerain, cld_swp, cld_resnow) |
This subroutine is used by Thompson/WSM6/NSSL cloud microphysics (EMC) | |
subroutine, public | module_radiation_clouds::progcld_thompson (plyr, plvl, tlyr, qlyr, qstl, rhly, clw, xlat, xlon, slmsk, dz, delp, ntrac, ntcw, ntiw, ntrw, ntsw, ntgl, ix, nlay, nlp1, uni_cld, lmfshal, lmfdeep2, cldcov, re_cloud, re_ice, re_snow, lwp_ex, iwp_ex, lwp_fc, iwp_fc, dzlay, gridkm, top_at_1, cldtot, cldcnv, cld_frac, cld_lwp, cld_reliq, cld_iwp, cld_reice, cld_rwp, cld_rerain, cld_swp, cld_resnow) |
This subroutine added by G. Thompson specifically to account for explicit (microphysics-produced) cloud liquid water, cloud ice, and snow with 100% cloud fraction. Also, a parameterization for cloud fraction less than 1.0 but greater than 0.0 follows Mocko and Cotton (1996) from Sundqvist et al. (1989) with cloud fraction increasing as RH increases above a critical value. In locations with non-zero (but less than 1.0) cloud fraction, there MUST be a value assigned to cloud liquid water and ice or else there is zero impact in the RRTMG radiation scheme. | |
subroutine, public | module_radiation_clouds::progclduni (plyr, plvl, tlyr, tvly, ccnd, ncnd, xlat, xlon, slmsk, dz, delp, ix, nlay, nlp1, cldtot, effrl, effri, effrr, effrs, effr_in, dzlay, cldtot1, cldcnv, lcrick, lcnorm, con_ttp, cld_frac, cld_lwp, cld_reliq, cld_iwp, cld_reice, cld_rwp, cld_rerain, cld_swp, cld_resnow) |
This subroutine computes cloud related quantities using for unified cloud microphysics scheme. | |
subroutine, public | module_radiation_clouds::gethml (plyr, ptop1, cldtot, cldcnv, dz, de_lgth, alpha, ix, nlay, iovr, iovr_rand, iovr_maxrand, iovr_max, iovr_dcorr, iovr_exp, iovr_exprand, top_at_1, si, clds, mtop, mbot) |
This subroutine computes high, mid, low, total, and boundary cloud fractions and cloud top/bottom layer indices for model diagnostic output. The three cloud domain boundaries are defined by ptopc. The cloud overlapping method is defined by control flag 'iovr', which is also used by LW and SW radiation programs. | |
subroutine, public | module_radiation_clouds::cal_cldfra3 (cldfra, qv, qc, qi, qs, dz, p, t, xland, gridkm, modify_qvapor, max_relh, kts, kte, debug_flag) |
Cloud fraction scheme by G. Thompson (NCAR-RAL), not intended for combining with any cumulus or shallow cumulus parameterization scheme cloud fractions. This is intended as a stand-alone for cloud fraction and is relatively good at getting widespread stratus and stratoCu without caring whether any deep/shallow Cu param schemes is making sub-grid-spacing clouds/precip. Under the hood, this scheme follows Mocko and Cotton (1995) in application of the Sundqvist et al (1989) scheme but using a grid-scale dependent RH threshold, one each for land v. ocean points based on experiences with HWRF testing. | |
subroutine, public | module_radiation_clouds::find_cloudlayers (qvs1d, cfr1d, t1d, p1d, dz1d, entrmnt, debugfl, qc1d, qi1d, qs1d, kts, kte) |
From cloud fraction array, find clouds of multi-level depth and compute a reasonable value of LWP or IWP that might be contained in that depth, unless existing LWC/IWC is already there. | |
subroutine, public | module_radiation_clouds::adjust_cloudice (cfr, qi, qs, qvs, t, dz, entr, k1, k2, kts, kte) |
subroutine, public | module_radiation_clouds::adjust_cloudh2o (cfr, qc, qvs, t, dz, entr, k1, k2, kts, kte) |
subroutine, public | module_radiation_clouds::adjust_cloudfinal (cfr, qc, qi, rho, dz, kts, kte) |
Do not alter any grid-explicitly resolved hydrometeors, rather only the supposed amounts due to the cloud fraction scheme. | |
subroutine | module_radiation_clouds::cloud_fraction_xurandall (ix, nlay, plyr, clwf, rhly, qstl, cldtot) |
This subroutine computes the Xu-Randall cloud fraction scheme. | |
subroutine | module_radiation_clouds::cloud_fraction_mass_flx_1 (ix, nlay, lmfdeep2, xrc3, plyr, clwf, rhly, qstl, cldtot) |
subroutine | module_radiation_clouds::cloud_fraction_mass_flx_2 (ix, nlay, lmfdeep2, xrc3, plyr, clwf, rhly, qstl, cldtot) |
subroutine | module_microphysics::rsipath2 (plyr, plvl, tlyr, qlyr, qcwat, qcice, qrain, rrime, im, levs, iflip, flgmin, cwatp, cicep, rainp, snowp, recwat, rerain, resnow, snden) |
This program is a modified version of Ferrier's original "rshipath" subprogram. It computes layer's cloud liquid, ice, rain, and snow water condensate path and the partical effective radius for liquid droplet, rain drop, and snow flake. | |
Variables | |
real(kind=kind_phys) | module_radiation_clouds::gfac |
real(kind=kind_phys) | module_radiation_clouds::gord |
integer, parameter, public | module_radiation_clouds::nf_clds = 9 |
number of fields in cloud array | |
integer, parameter, public | module_radiation_clouds::nk_clds = 3 |
number of cloud vertical domains | |
real(kind=kind_phys), dimension(nk_clds+1, 2), save | module_radiation_clouds::ptopc |
pressure limits of cloud domain interfaces (low, mid, high) in mb (0.1kPa) | |
real(kind=kind_phys), parameter | module_radiation_clouds::climit = 0.001 |
real(kind=kind_phys), parameter | module_radiation_clouds::climit2 =0.05 |
real(kind=kind_phys), parameter | module_radiation_clouds::ovcst = 1.0 - 1.0e-8 |
real(kind=kind_phys), parameter | module_radiation_clouds::reliq_def = 10.0 |
default liq radius to 10 micron | |
real(kind=kind_phys), parameter | module_radiation_clouds::reice_def = 50.0 |
default ice radius to 50 micron | |
real(kind=kind_phys), parameter | module_radiation_clouds::rrain_def = 1000.0 |
default rain radius to 1000 micron | |
real(kind=kind_phys), parameter | module_radiation_clouds::rsnow_def = 250.0 |
default snow radius to 250 micron | |
real(kind=kind_phys), parameter | module_radiation_clouds::cldssa_def = 0.99 |
default cld single scat albedo | |
real(kind=kind_phys), parameter | module_radiation_clouds::cldasy_def = 0.84 |
default cld asymmetry factor | |
integer | module_radiation_clouds::llyr = 2 |
upper limit of boundary layer clouds | |
real(kind=kind_phys), dimension(95), parameter | module_radiation_clouds::retab =(/ 5.92779, 6.26422, 6.61973, 6.99539, 7.39234, 7.81177, 8.25496, 8.72323, 9.21800, 9.74075, 10.2930, 10.8765, 11.4929, 12.1440, 12.8317, 13.5581, 14.2319, 15.0351, 15.8799, 16.7674, 17.6986, 18.6744, 19.6955, 20.7623, 21.8757, 23.0364, 24.2452, 25.5034, 26.8125, 27.7895, 28.6450, 29.4167, 30.1088, 30.7306, 31.2943, 31.8151, 32.3077, 32.7870, 33.2657, 33.7540, 34.2601, 34.7892, 35.3442, 35.9255, 36.5316, 37.1602, 37.8078, 38.4720, 39.1508, 39.8442, 40.5552, 41.2912, 42.0635, 42.8876, 43.7863, 44.7853, 45.9170, 47.2165, 48.7221, 50.4710, 52.4980, 54.8315, 57.4898, 60.4785, 63.7898, 65.5604, 71.2885, 75.4113, 79.7368, 84.2351, 88.8833, 93.6658, 98.5739, 103.603, 108.752, 114.025, 119.424, 124.954, 130.630, 136.457, 142.446, 148.608, 154.956, 161.503, 168.262, 175.248, 182.473, 189.952, 197.699, 205.728, 214.055, 222.694, 231.661, 240.971, 250.639/) |
Cloud overlapping method (namelist control parameter - IOVR)
IOVR=0: randomly overlapping vertical cloud layers
IOVR=1: maximum-random overlapping vertical cloud layers
IOVR=2: maximum overlapping vertical cloud layers
IOVR=3: decorrelation length overlapping vertical cloud layers
IOVR=4: exponential overlapping vertical cloud layers
IOVR=5: exponential-random overlapping vertical cloud layers
Sub-grid cloud approximation (namelist control parameter - ISUBC_LW=2, ISUBC_SW=2)
ISUBC=0: grid averaged quantities, without sub-grid cloud approximation
ISUBC=1: with McICA sub-grid approximation (use prescribed permutation seeds)
ISUBC=2: with McICA sub-grid approximation (use random permutation seeds)