CCPP SciDoc v7.0.0  v7.0.0
Common Community Physics Package Developed at DTC
 
Loading...
Searching...
No Matches
Aerosol-Aware Thompson MP Module

Modules

module  module_mp_radar
 This module is more library code whereas the individual microphysics schemes contains specific details needed for the final computation, so refer to location within each schemes calling the routine named rayleigh_soak_wetgraupel.
 
module  module_mp_thompson
 This module computes the moisture tendencies of water vapor, cloud droplets, rain, cloud ice (pristine), snow, and graupel. Prior to WRFv2.2 this code was based on Reisner et al (1998), but few of those pieces remain. A complete description is now found in Thompson, G., P. R. Field, R. M. Rasmussen, and W. D. Hall, 2008: Explicit Forecasts of winter precipitation using an improved bulk microphysics scheme. Part II: Implementation of a new snow parameterization. Mon. Wea. Rev., 136, 5095-5115.
 
module  module_mp_thompson_make_number_concentrations
 This module ocntains lookup tables of radiative effective radius of cloud ice, rain and water.
 
module  mp_thompson_pre
 This module contains the pre-processing of Thompson cloud microphysics.
 

Functions/Subroutines

subroutine module_mp_thompson::thompson_finalize ()
 
subroutine module_mp_thompson::qr_acr_qg
 Rain collecting graupel (and inverse). Explicit CE integration.
 
subroutine module_mp_thompson::qr_acr_qs
 Rain collecting snow (and inverse). Explicit CE integration.
 
subroutine module_mp_thompson::freezeh2o (threads)
 This is a literal adaptation of Bigg (1954) probability of drops of a particular volume freezing. Given this probability, simply freeze the proportion of drops summing their masses.
 
subroutine module_mp_thompson::qi_aut_qs
 Cloud ice converting to snow since portion greater than min snow size. Given cloud ice content (kg/m**3), number concentration (#/m**3) and gamma shape parameter, mu_i, break the distrib into bins and figure out the mass/number of ice with sizes larger than D0s. Also, compute incomplete gamma function for the integration of ice depositional growth from diameter=0 to D0s. Amount of ice depositional growth is this portion of distrib while larger diameters contribute to snow growth (as in Harrington et al. 1995).
 
subroutine module_mp_thompson::table_efrw
 Variable collision efficiency for rain collecting cloud water using method of Beard and Grover, 1974 if a/A less than 0.25; otherwise uses polynomials to get close match of Pruppacher & Klett Fig 14-9.
 
subroutine module_mp_thompson::table_efsw
 Variable collision efficiency for snow collecting cloud water using method of Wang and Ji, 2000 except equate melted snow diameter to their "effective collision cross-section.".
 
real function module_mp_thompson::eff_aero (d, da, visc, rhoa, temp, species)
 Function to compute collision efficiency of collector species (rain, snow, graupel) of aerosols. Follows Wang et al, 2010, ACP, which follows Slinn (1983).
 
subroutine module_mp_thompson::table_dropevap
 Integrate rain size distribution from zero to D-star to compute the number of drops smaller than D-star that evaporate in a single timestep. Drops larger than D-star dont evaporate entirely so do not affect number concentration.
 
subroutine module_mp_thompson::table_ccnact (errmess, errflag)
 Fill the table of CCN activation data created from parcel model run by Trude Eidhammer with inputs of aerosol number concentration, vertical velocity, temperature, lognormal mean aerosol radius, and hygroscopicity, kappa. The data are read from external file and contain activated fraction of CCN for given conditions.
 
real function module_mp_thompson::activ_ncloud (tt, ww, nccn, lsm_in)
 Retrieve fraction of CCN that gets activated given the model temp, vertical velocity, and available CCN concentration. The lookup table (read from external file) has CCN concentration varying the quickest, then updraft, then temperature, then mean aerosol radius, and finally hygroscopicity, kappa.
 
subroutine module_mp_thompson::gcf (gammcf, a, x, gln)
 Returns the incomplete gamma function q(a,x) evaluated by its continued fraction representation as gammcf.
 
subroutine module_mp_thompson::gser (gamser, a, x, gln)
 Returns the incomplete gamma function p(a,x) evaluated by its series representation as gamser.
 
real function module_mp_thompson::gammln (xx)
 Returns the value ln(gamma(xx)) for xx > 0.
 
real function module_mp_thompson::gammp (a, x)
 
real function module_mp_thompson::wgamma (y)
 
real function module_mp_thompson::rslf (p, t)
 THIS FUNCTION CALCULATES THE LIQUID SATURATION VAPOR MIXING RATIO AS A FUNCTION OF TEMPERATURE AND PRESSURE.
 
real function module_mp_thompson::rsif (p, t)
 THIS FUNCTION CALCULATES THE ICE SATURATION VAPOR MIXING RATIO AS A FUNCTION OF TEMPERATURE AND PRESSURE.
 
real function module_mp_thompson::icedemott (tempc, qv, qvs, qvsi, rho, nifa)
 
real function module_mp_thompson::icekoop (temp, qv, qvs, naero, dt)
 Newer research since Koop et al (2001) suggests that the freezing rate should be lower than original paper, so J_rate is reduced by two orders of magnitude.
 
real function module_mp_thompson::delta_p (yy, y1, y2, aa, bb)
 Helper routine for Phillips et al (2008) ice nucleation.
 
subroutine module_mp_thompson::calc_effectrad (t1d, p1d, qv1d, qc1d, nc1d, qi1d, ni1d, qs1d, re_qc1d, re_qi1d, re_qs1d, lsml, kts, kte)
 Compute radiation effective radii of cloud water, ice, and snow. These are entirely consistent with microphysics assumptions, not constant or otherwise ad hoc as is internal to most radiation schemes. Since only the smallest snowflakes should impact radiation, compute from first portion of complicated Field number distribution, not the second part, which is the larger sizes.
 
subroutine module_mp_thompson::calc_refl10cm (qv1d, qc1d, qr1d, nr1d, qs1d, qg1d, t1d, p1d, dbz, rand1, kts, kte, ii, jj, melti, vt_dbz, first_time_step)
 Compute radar reflectivity assuming 10 cm wavelength radar and using Rayleigh approximation. Only complication is melted snow/graupel which we treat as water-coated ice spheres and use Uli Blahak's library of routines. The meltwater fraction is simply the amount of frozen species remaining from what initially existed at the melting level interface.
 
subroutine module_mp_thompson::graupel_psd_parameters (kts, kte, rand1, rg, ilamg, n0_g)
 Calculates graupel size distribution parameters.
 
real function module_mp_thompson::hail_mass_99th_percentile (kts, kte, qg, temperature, pressure, qv)
 Calculates graupel/hail maximum diameter.
 
elemental real function, public module_mp_thompson_make_number_concentrations::make_icenumber (q_ice, temp)
 Table of lookup values of radiative effective radius of ice crystals as a function of Temperature from -94C to 0C. Taken from WRF RRTMG radiation code where it is attributed to Jon Egill Kristjansson and coauthors.
 
elemental real function, public module_mp_thompson_make_number_concentrations::make_dropletnumber (q_cloud, qnwfa)
 
elemental real function, public module_mp_thompson_make_number_concentrations::make_rainnumber (q_rain, temp)
 
subroutine module_mp_thompson::thompson_init (is_aerosol_aware_in, merra2_aerosol_aware_in, mpicomm, mpirank, mpiroot, threads, errmsg, errflg)
 This subroutine calculates simplified cloud species equations and create lookup tables in Thomspson scheme.
 
subroutine module_mp_thompson::mp_gt_driver (wrf_chem)
 This is a wrapper routine designed to transfer values from 3D to 1D.
 
subroutine module_mp_thompson::mp_thompson (wrf_chem)
 This subroutine computes the moisture tendencies of water vapor, cloud droplets, rain, cloud ice (pristine), snow, and graupel. Previously this code was based on Reisner et al (1998), but few of those pieces remain. A complete description is now found in Thompson et al. (2004, 2008)[191] [192].
 
subroutine, public mp_thompson::mp_thompson_run (ncol, nlev, con_g, con_rd, con_eps, convert_dry_rho, spechum, qc, qr, qi, qs, qg, ni, nr, is_aerosol_aware, merra2_aerosol_aware, nc, nwfa, nifa, nwfa2d, nifa2d, aero_ind_fdb, tgrs, prsl, phii, omega, sedi_semi, decfl, islmsk, dtp, dt_inner, first_time_step, istep, nsteps, prcp, rain, graupel, ice, snow, sr, refl_10cm, fullradar_diag, max_hail_diam_sfc, do_radar_ref, aerfld, mpicomm, mpirank, mpiroot, blkno, ext_diag, diag3d, reset_diag3d, spp_wts_mp, spp_mp, n_var_spp, spp_prt_list, spp_var_list, spp_stddev_cutoff, cplchm, pfi_lsan, pfl_lsan, errmsg, errflg)
 

Detailed Description