|
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) |
|