This module contains process rates and utility functions used by the MG microphysics. More...
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, son@ ucar. eduandre w@uc ar.ed u
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) |