CCPP Scientific Documentation
v4.0
Morrison-Gettelman MP version 3.0

This module contains MG microphysics version 3.0 - Update of MG microphysics with prognostic hail OR graupel. More...

Detailed Description

Authors
Andrew Gettelman, Hugh Morrison
Version
3 history: Sep 2016: development begun for hail, graupel This version:https://svn-ccsm-models.cgd.ucar.edu/cam1/branch_tags/mg3_tags/mg3_33_cam5_4_153/
2 history: Sep 2011: Development begun.
Feb 2013: Added of prognostic precipitation.
Aug 2015: Published and released version

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.

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.

Collaboration diagram for Morrison-Gettelman MP version 3.0:

Modules

module  micro_mg3_0
 

Functions/Subroutines

subroutine, public micro_mg3_0::micro_mg_init ( kind, gravit, rair, rh2o, cpair, tmelt_in, latvap, latice, rhmini_in, micro_mg_dcs, ts_auto, mg_qcvar, micro_mg_do_hail_in, micro_mg_do_graupel_in, microp_uniform_in, do_cldice_in, use_hetfrz_classnuc_in, micro_mg_precip_frac_method_in, micro_mg_berg_eff_factor_in, allow_sed_supersat_in, do_sb_physics_in, do_ice_gmao_in, do_liq_liu_in, nccons_in, nicons_in, ncnst_in, ninst_in, ngcons_in, ngnst_in)
 This subroutine initializes microphysics routine, should 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 radius 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
 
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, qgr, ngr, relvar, accre_enhan_i, p, pdel, cldn, liqcldf, icecldf, qsatfac, qcsinksum_rate1ord, naai, npccnin, rndst, nacon, tlat, qvlat, qctend, qitend, nctend, nitend, qrtend, qstend, nrtend, nstend, qgtend, ngtend, effc, effc_fn, effi, sadice, sadsnow, prect, preci, nevapr, evapsnow, am_evp_st, prain, prodsnow, cmeout, deffi, pgamrad, lamcrad, qsout, dsout, qgout, ngout, dgout, lflx, iflx, gflx, rflx, sflx, qrout, reff_rain, reff_snow, reff_grau, qcsevap, qisevap, qvres, cmeitot, vtrmc, vtrmi, umr, ums, umg, qgsedten, qcsedten, qisedten, qrsedten, qssedten, pratot, prctot, mnuccctot, mnuccttot, msacwitot, psacwstot, bergstot, bergtot, melttot, homotot, qcrestot, prcitot, praitot, qirestot, mnuccrtot, mnuccritot, pracstot, meltsdttot, frzrdttot, mnuccdtot, pracgtot, psacwgtot, pgsacwtot, pgracstot, prdgtot, qmultgtot, qmultrgtot, psacrtot, npracgtot, nscngtot, ngracstot, nmultgtot, nmultrgtot, npsacwgtot, nrout, nsout, refl, arefl, areflz, frefl, csrfl, acsrfl, fcsrfl, rercld, ncai, ncal, qrout2, qsout2, nrout2, nsout2, drout2, dsout2, qgout2, ngout2, dgout2, freqg, freqs, freqr, nfice, qcrat, prer_evap, xlat, xlon, lprnt, iccn, aero_in, nlball)
 This subroutine calculates calculate MG3 microphysical processes and other utilities. More...