Purpose: MG microphysics version 3.0 - Update of MG microphysics with prognostic hail OR graupel. More...
Contributions from: Sean Santos, Peter Caldwell, Xiaohong Liu and Steve Ghan
invoked in CAM by specifying -microphys=mg3
References:
Gettelman, A. and H. Morrison, Advanced Two-Moment Microphysics for Global Models. Part I: Off line tests and comparisons with other schemes. J. Climate, 28, 1268-1287. doi: 10.1175/JCLI-D-14-00102.1, 2015. Gettelman, A., H. Morrison, S. Santos, P. Bogenschutz and P. H. Caldwell Advanced Two-Moment Microphysics for Global Models. Part II: Global model solutions and Aerosol-Cloud Interactions. J. Climate, 28, 1288-1307. doi:10.1175/JCLI-D-14-00103.1 , 2015.
for questions contact Hugh Morrison, Andrew Gettelman
NOTE: Modified to allow other microphysics packages (e.g. CARMA) to do ice microphysics in cooperation with the MG liquid microphysics. This is controlled by the do_cldice variable.
If do_cldice is false, then MG microphysics should not update CLDICE or NUMICE; it is assumed that the other microphysics scheme will have updated CLDICE and NUMICE. The other microphysics should handle the following processes that would have been done by MG:
This option has not been updated since the introduction of prognostic precipitation, and probably should be adjusted to cover snow as well.
Modules | |
module | micro_mg3_0 |
Functions/Subroutines | |
subroutine, public | micro_mg3_0::micro_mg_init ( kind, gravit, rair, rh2o, cpair, eps, tmelt_in, latvap, latice, rhmini_in, micro_mg_dcs, ts_auto, mg_qcvar, |
This subroutine initializes the microphysics and needs to be called once at start of simulation. More... | |
subroutine | micro_mg3_0::calc_rercld (lamr, n0r, lamc, pgam, qric, qcic, ncic, rercld, mgncol, nlev) |
This subroutine calculates effective radii for rain and cloud. More... | |
Variables | |
logical | micro_mg3_0::nicons |
nicons = .true. to specify constant cloud ice number More... | |
logical | micro_mg3_0::ngcons |
ngcons = .true. to specify constant graupel number More... | |
real(r8) | micro_mg3_0::ncnst |
droplet num concentration when nccons=.true. (m-3) More... | |
real(r8) | micro_mg3_0::ninst |
ice num concentration when nicons=.true. (m-3) More... | |
real(r8) | micro_mg3_0::ngnst |
graupel num concentration when ngcons=.true. (m-3) More... | |
real(r8), parameter | micro_mg3_0::csmin = -30._r8 |
Range of cloudsat reflectivities (dBz) for analytic simulator. More... | |
real(r8), parameter | micro_mg3_0::csmax = 26._r8 |
real(r8), parameter | micro_mg3_0::mindbz = -99._r8 |
real(r8), parameter | micro_mg3_0::minrefl = 1.26e-10_r8 |
real(r8) | micro_mg3_0::dcs |
real(r8) | micro_mg3_0::ts_au |
real(r8) | micro_mg3_0::ts_au_min |
real(r8), public | micro_mg3_0::qcvar |
real(r8), parameter | micro_mg3_0::mi0l_min = 4._r8/3._r8*pi*rhow*(4.e-6_r8)**3 |
real(r8), parameter | micro_mg3_0::sublim_factor = 0.0_r8 |
real(r8), parameter | micro_mg3_0::zero =0.0_r8 |
real(r8), parameter | micro_mg3_0::one =1.0_r8 |
real(r8), parameter | micro_mg3_0::two =2.0_r8 |
real(r8), parameter | micro_mg3_0::three =3.0_r8 |
real(r8), parameter | micro_mg3_0::four =4.0_r8 |
real(r8), parameter | micro_mg3_0::five =5.0_r8 |
real(r8), parameter | micro_mg3_0::six =6._r8 |
real(r8), parameter | micro_mg3_0::half =0.5_r8 |
real(r8), parameter | micro_mg3_0::ten =10.0_r8 |
real(r8), parameter | micro_mg3_0::forty =40.0_r8 |
real(r8), parameter | micro_mg3_0::oneo6 =one/six |
real(r8) | micro_mg3_0::g |
gravity More... | |
real(r8) | micro_mg3_0::r |
dry air gas constant More... | |
real(r8) | micro_mg3_0::rv |
water vapor gas constant More... | |
real(r8) | micro_mg3_0::cpp |
specific heat of dry air More... | |
real(r8) | micro_mg3_0::tmelt |
freezing point of water (K) More... | |
real(r8) | micro_mg3_0::xxlv |
vaporization More... | |
real(r8) | micro_mg3_0::xlf |
freezing More... | |
real(r8) | micro_mg3_0::xxls |
sublimation More... | |
real(r8) | micro_mg3_0::rhmini |
Minimum rh for ice cloud fraction > 0. More... | |
logical | micro_mg3_0::microp_uniform |
logical | micro_mg3_0::do_cldice |
logical | micro_mg3_0::use_hetfrz_classnuc |
real(r8) | micro_mg3_0::rhosu |
typical 850mn air density More... | |
real(r8) | micro_mg3_0::icenuct |
ice nucleation temperature: currently -5 degrees C More... | |
real(r8) | micro_mg3_0::snowmelt |
what temp to melt all snow: currently 2 degrees C More... | |
real(r8) | micro_mg3_0::rainfrze |
what temp to freeze all rain: currently -5 degrees C More... | |
real(r8) | micro_mg3_0::rhogtmp |
hail or graupel density (kg m-3) More... | |
real(r8) | micro_mg3_0::agtmp |
tmp ag/ah parameter More... | |
real(r8) | micro_mg3_0::bgtmp |
tmp fall speed parameter More... | |
real(r8) | micro_mg3_0::gamma_br_plus1 |
real(r8) | micro_mg3_0::gamma_bs_plus1 |
real(r8) | micro_mg3_0::gamma_bi_plus1 |
real(r8) | micro_mg3_0::gamma_bj_plus1 |
real(r8) | micro_mg3_0::gamma_bg_plus1 |
real(r8) | micro_mg3_0::gamma_br_plus4 |
real(r8) | micro_mg3_0::gamma_bs_plus4 |
real(r8) | micro_mg3_0::gamma_bi_plus4 |
real(r8) | micro_mg3_0::gamma_bj_plus4 |
real(r8) | micro_mg3_0::gamma_bg_plus4 |
real(r8) | micro_mg3_0::xxlv_squared |
real(r8) | micro_mg3_0::xxls_squared |
real(r8) | micro_mg3_0::omeps |
real(r8) | micro_mg3_0::epsqs |
character(len=16) | micro_mg3_0::micro_mg_precip_frac_method |
type of precipitation fraction method More... | |
real(r8) | micro_mg3_0::micro_mg_berg_eff_factor |
berg efficiency factor More... | |
logical | micro_mg3_0::allow_sed_supersat |
Allow supersaturated conditions after sedimentation loop. More... | |
logical | micro_mg3_0::do_sb_physics |
do SB 2001 autoconversion or accretion physics More... | |
logical | micro_mg3_0::do_ice_gmao |
logical | micro_mg3_0::do_liq_liu |
subroutine, public | micro_mg3_0::micro_mg_tend ( mgncol, nlev, deltatin, t, q, qcn, qin, ncn, nin, qrn, qsn, nrn, nsn, |
This subroutine calculates the MG3 microphysical processes. More... | |