CCPP Scientific Documentation
v5.0.0
Morrison-Gettelman MP utils Module

This module contains process rates and utility functions used by the MG microphysics. More...

Detailed Description

Original MG authors: Andrew Gettelman, Hugh Morrison Contributions from: Peter Caldwell, Xiaohong Liu and Steve Ghan

Separated from MG 1.5 by B. Eaton.

Separated module switched to MG 2.0 and further changes by S. Santos.

Anning Cheng changed for FV3GFS 9/29/2017 added ac_time as an input

S. Moorthi - Feb 2018 : code optimization

This version: https://svn-ccsm-models.cgd.ucar.edu/cam1/branch_tags/mg3_tags/mg3_33_cam5_4_153/

for questions contact Hugh Morrison, Andrew Gettelman e-mail: morri.nosp@m.son@.nosp@m.ucar..nosp@m.edu, andre.nosp@m.w@uc.nosp@m.ar.ed.nosp@m.u

Collaboration diagram for Morrison-Gettelman MP utils Module:

Data Types

interface  micro_mg_utils::rising_factorial
 
interface  micro_mg_utils::var_coef
 

Functions/Subroutines

subroutine, public micro_mg_utils::micro_mg_utils_init (kind, rair, rh2o, cpair, tmelt_in, latvap, latice, dcs)
 Initialize module variables. More...
 
type(mghydrometeorprops) function micro_mg_utils::newmghydrometeorprops (rho, eff_dim, lambda_bounds, min_mean_mass)
 Constructor for a constituent property object. More...
 
elemental subroutine micro_mg_utils::size_dist_param_liq_line (props, qcic, ncic, rho, pgam, lamc)
 get cloud droplet size distribution parameters More...
 
subroutine micro_mg_utils::size_dist_param_liq_vect (props, qcic, ncic, rho, pgam, lamc, mgncol)
 This subroutine gets cloud droplet size distribution parameters. More...
 
elemental subroutine micro_mg_utils::size_dist_param_basic_line (props, qic, nic, lam, n0)
 Basic routine for getting size distribution parameters. More...
 
subroutine micro_mg_utils::size_dist_param_basic_vect (props, qic, nic, lam, mgncol, n0)
 This subroutine calculates. More...
 
elemental subroutine micro_mg_utils::size_dist_param_ice_line (props, qic, nic, lam, n0)
 ice routine for getting size distribution parameters. More...
 
subroutine micro_mg_utils::size_dist_param_ice_vect (props, qic, nic, lam, mgncol, n0)
 This subroutine. More...
 
real(r8) elemental function, public micro_mg_utils::avg_diameter (q, n, rho_air, rho_sub)
 Finds the average diameter of particles given their density, and mass/number concentrations in the air. Assumes that diameter follows an exponential distribution. More...
 
subroutine, public micro_mg_utils::ice_deposition_sublimation (t, qv, qi, ni, icldm, rho, dv, qvl, qvi, berg, vap_dep, ice_sublim, mgncol)
 Initial ice deposition and sublimation loop. Run before the main loop This subroutine written by Peter Caldwell. More...
 
subroutine, public micro_mg_utils::kk2000_liq_autoconversion (microp_uniform, qcic, ncic, rho, relvar, prc, nprc, nprc1, mgncol)
 autoconversion of cloud liquid water to rain formula from Khrouditnov and Kogan (2000), modified for sub-grid distribution of qc minimum qc of 1 x 10^-8 prevents floating point error More...
 
subroutine, public micro_mg_utils::sb2001v2_liq_autoconversion (pgam, qc, nc, qr, rho, relvar, au, nprc, nprc1, mgncol)
 This subroutine. More...
 
subroutine, public micro_mg_utils::liu_liq_autoconversion (pgam, qc, nc, qr, rho, relvar, au, nprc, nprc1, mgncol)
 Anning Cheng 10/5/2017 add Liu et al. autoconversion. More...
 
subroutine, public micro_mg_utils::sb2001v2_accre_cld_water_rain (qc, nc, qr, rho, relvar, pra, npra, mgncol)
 
subroutine, public micro_mg_utils::ice_autoconversion (t, qiic, lami, n0i, dcs, ac_time, prci, nprci, mgncol)
 Autoconversion of cloud ice to snow similar to Ferrier (1994) More...
 
subroutine, public micro_mg_utils::gmao_ice_autoconversion (t, qiic, niic, lami, n0i, dcs, ac_time, prci, nprci, mgncol)
 GMAO ice autoconversion. More...
 
subroutine, public micro_mg_utils::immersion_freezing (microp_uniform, t, pgam, lamc, qcic, ncic, relvar, mnuccc, nnuccc, mgncol)
 immersion freezing (Bigg, 1953) More...
 
subroutine, public micro_mg_utils::contact_freezing (microp_uniform, t, p, rndst, nacon, pgam, lamc, qcic, ncic, relvar, mnucct, nnucct, mgncol, mdust)
 contact freezing (-40<T<-3 C) (Young, 1974) with hooks into simulated dust dust size and number in multiple bins are read in from companion routine More...
 
subroutine, public micro_mg_utils::snow_self_aggregation (t, rho, asn, rhosn, qsic, nsic, nsagg, mgncol)
 snow self-aggregation from passarelli, 1978, used by reisner, 1998 More...
 
subroutine, public micro_mg_utils::accrete_cloud_water_snow (t, rho, asn, uns, mu, qcic, ncic, qsic, pgam, lamc, lams, n0s, psacws, npsacws, mgncol)
 accretion of cloud droplets onto snow/graupel More...
 
subroutine, public micro_mg_utils::secondary_ice_production (t, psacws, msacwi, nsacwi, mgncol)
 add secondary ice production due to accretion of droplets by snow More...
 
subroutine, public micro_mg_utils::accrete_rain_snow (t, rho, umr, ums, unr, uns, qric, qsic, lamr, n0r, lams, n0s, pracs, npracs, mgncol)
 accretion of rain water by snow More...
 
subroutine, public micro_mg_utils::heterogeneous_rain_freezing (t, qric, nric, lamr, mnuccr, nnuccr, mgncol)
 heterogeneous freezing of rain drops More...
 
subroutine, public micro_mg_utils::accrete_cloud_water_rain (microp_uniform, qric, qcic, ncic, relvar, accre_enhan, pra, npra, mgncol)
 accretion of cloud liquid water by rain formula from Khrouditnov and Kogan (2000) More...
 
subroutine, public micro_mg_utils::self_collection_rain (rho, qric, nric, nragg, mgncol)
 Self-collection of rain drops from Beheng(1994) More...
 
subroutine, public micro_mg_utils::accrete_cloud_ice_snow (t, rho, asn, qiic, niic, qsic, lams, n0s, prai, nprai, mgncol)
 Accretion of cloud ice by snow. More...
 
subroutine, public micro_mg_utils::evaporate_sublimate_precip (t, rho, dv, mu, sc, q, qvl, qvi, lcldm, precip_frac, arn, asn, qcic, qiic, qric, qsic, lamr, n0r, lams, n0s, pre, prds, am_evp_st, mgncol)
 calculate evaporation/sublimation of rain and snow More...
 
subroutine micro_mg_utils::evaporate_sublimate_precip_graupel (t, rho, dv, mu, sc, q, qvl, qvi, lcldm, precip_frac, arn, asn, agn, bg, qcic, qiic, qric, qsic, qgic, lamr, n0r, lams, n0s, lamg, n0g, pre, prds, prdg, am_evp_st, mgncol)
 evaporation/sublimation of rain, snow and graupel More...
 
subroutine, public micro_mg_utils::bergeron_process_snow (t, rho, dv, mu, sc, qvl, qvi, asn, qcic, qsic, lams, n0s, bergs, mgncol)
 bergeron process - evaporation of droplets and deposition onto snow More...
 
subroutine micro_mg_utils::graupel_collecting_snow (qsic, qric, umr, ums, rho, lamr, n0r, lams, n0s, psacr, mgncol)
 Collection of snow by rain to form graupel. More...
 
subroutine micro_mg_utils::graupel_collecting_cld_water (qgic, qcic, ncic, rho, n0g, lamg, bg, agn, psacwg, npsacwg, mgncol)
 Collection of cloud water by graupel. More...
 
subroutine micro_mg_utils::graupel_riming_liquid_snow (psacws, qsic, qcic, nsic, rho, rhosn, rhog, asn, lams, n0s, dtime, pgsacw, nscng, mgncol)
 Conversion of rimed cloud water onto snow to graupel/hail. More...
 
subroutine micro_mg_utils::graupel_collecting_rain (qric, qgic, umg, umr, ung, unr, rho, n0r, lamr, n0g, lamg, pracg, npracg, mgncol)
 CHANGE IN Q,N COLLECTION RAIN BY GRAUPEL. More...
 
subroutine micro_mg_utils::graupel_rain_riming_snow (pracs, npracs, psacr, qsic, qric, nric, nsic, n0s, lams, n0r, lamr, dtime, pgracs, ngracs, mgncol)
 Rain riming snow to graupel. More...
 
subroutine micro_mg_utils::graupel_rime_splintering (t, qcic, qric, qgic, psacwg, pracg, qmultg, nmultg, qmultrg, nmultrg, mgncol)
 Rime splintering. More...
 
pure real(r8) function micro_mg_utils::no_limiter ()
 
pure logical function micro_mg_utils::limiter_is_on (lim)
 
real(r8) function micro_mg_utils::gamma_incomp (muice, x)