CCPP SciDoc v7.0.x  v7.0.0
Common Community Physics Package Developed at DTC
 
Loading...
Searching...
No Matches
gfdl_cloud_microphys_mod Module Reference

This module contains the column GFDL Cloud microphysics scheme.

Functions/Subroutines

subroutine, public gfdl_cloud_microphys_mod_driver (iis, iie, jjs, jje, kks, kke, ktop, kbot, qv, ql, qr, qi, qs, qg, qa, qn, qv_dt, ql_dt, qr_dt, qi_dt, qs_dt, qg_dt, qa_dt, pt_dt, pt, w, uin, vin, udt, vdt, dz, delp, area, dt_in, land, rain, snow, ice, graupel, hydrostatic, phys_hydrostatic, p, lradar, refl_10cm, reset, pfils, pflls)
 This subroutine is the driver of the GFDL cloud microphysics.
 
subroutine mpdrv (hydrostatic, uin, vin, w, delp, pt, qv, ql, qr, qi, qs, qg, qa, qn, dz, is, ie, js, je, ks, ke, ktop, kbot, j, dt_in, ntimes, rain, snow, graupel, ice, m2_rain, m2_sol, cond, area1, land, u_dt, v_dt, pt_dt, qv_dt, ql_dt, qr_dt, qi_dt, qs_dt, qg_dt, qa_dt, w_var, vt_r, vt_s, vt_g, vt_i, qn2)
 GFDL cloud microphysics, major program, and is based on Lin et al.(1983) [120] and Rutledge and Hobbs (1984) [173].
 
subroutine sedi_heat (ktop, kbot, dm, m1, dz, tz, qv, ql, qr, qi, qs, qg, cw)
 This subroutine calculates sedimentation of heat.
 
subroutine warm_rain (dt, ktop, kbot, dp, dz, tz, qv, ql, qr, qi, qs, qg, den, denfac, ccn, c_praut, rh_rain, vtr, r1, m1_rain, w1, h_var)
 This subroutine includes warm rain cloud microphysics.
 
subroutine revap_racc (ktop, kbot, dt, tz, qv, ql, qr, qi, qs, qg, den, denfac, rh_rain, h_var)
 This subroutine calculates evaporation of rain and accretion of rain.
 
subroutine linear_prof (km, q, dm, z_var, h_var)
 Definition of vertical subgrid variability used for cloud ice and cloud water autoconversion.
 
subroutine icloud (ktop, kbot, tzk, p1, qvk, qlk, qrk, qik, qsk, qgk, dp1, den, denfac, vts, vtg, vtr, qak, rh_adj, rh_rain, dts, h_var)
 This subroutine includes cloud ice microphysics processes.
 
subroutine subgrid_z_proc (ktop, kbot, p1, den, denfac, dts, rh_adj, tz, qv, ql, qr, qi, qs, qg, qa, h_var, rh_rain)
 This subroutine calculates temperature sentive high vertical resolution processes.
 
subroutine revap_rac1 (hydrostatic, is, ie, dt, tz, qv, ql, qr, qi, qs, qg, den, hvar)
 This subroutine calculates rain evaporation.
 
subroutine terminal_fall (dtm, ktop, kbot, tz, qv, ql, qr, qg, qs, qi, dz, dp, den, vtg, vts, vti, r1, g1, s1, i1, m1_sol, w1)
 The subroutine 'terminal_fall' computes terminal fall speed.
 
subroutine check_column (ktop, kbot, q, no_fall)
 The subroutine 'check_column' checks if the water species is large enough to fall.
 
subroutine implicit_fall (dt, ktop, kbot, ze, vt, dp, q, precip, m1)
 The subroutine computes the time-implicit monotonic fall scheme.
 
subroutine lagrangian_fall_ppm (ktop, kbot, zs, ze, zt, dp, q, precip, m1, mono)
 Lagrangian scheme.
 
subroutine cs_profile (a4, del, km, do_mono)
 
subroutine cs_limiters (km, a4)
 This subroutine perform positive definite constraint.
 
subroutine fall_speed (ktop, kbot, den, qs, qi, qg, ql, tk, vts, vti, vtg)
 The subroutine calculates vertical fall speed of snow/ice/graupel.
 
subroutine setupm
 The subroutine sets up gfdl cloud microphysics parameters.
 
subroutine, public gfdl_cloud_microphys_mod_init (me, master, nlunit, input_nml_file, logunit, fn_nml, errmsg, errflg)
 The subroutine 'gfdl_cloud_microphys_init' initializes the GFDL cloud microphysics.
 
subroutine, public gfdl_cloud_microphys_mod_end ()
 The subroutine 'gfdl_cloud_microphys_init' terminates the GFDL cloud microphysics.
 
subroutine setup_con
 The subroutine 'setup_con' sets up constants and calls 'qsmith_init'.
 
real function acr3d (v1, v2, q1, q2, c, cac, rho)
 The function is an accretion function (Lin et al.(1983) [120] )
 
real function smlt (tc, dqs, qsrho, psacw, psacr, c, rho, rhofac)
 Melting of snow function (Lin et al.(1983) [120]) note: psacw and psacr must be calc before smlt is called.
 
real function gmlt (tc, dqs, qgrho, pgacw, pgacr, c, rho)
 Melting of graupel function (Eq.(47) in Lin et al. 1983 [120])
note: \(P_{gacw}\) and \(P_{gacr}\) must be calculated before gmlt is called.
 
subroutine qsmith_init
 The subroutine 'qsmith_init' initializes lookup tables for saturation water vapor pressure for the following utility routines that are designed to return qs consistent with the assumptions in FV3.
 
real function wqs1 (ta, den)
 The function 'wqs1' returns the saturation vapor pressure over pure liquid water for a given temperature and air density.
 
real function wqs2 (ta, den, dqdt)
 The function 'wqs2' returns the saturation vapor pressure over pure liquid water for a given temperature and air density, as well as the analytic dqs/dT: rate of change of saturation vapor pressure WRT temperature.
 
real function wet_bulb (q, t, den)
 The function 'wet_bulb' uses 'wqs2' to compute the wet-bulb temperature from the mixing ratio and the temperature.
 
real function iqs1 (ta, den)
 The function 'iqs1' computes the saturated specific humidity for table iii.
 
real function iqs2 (ta, den, dqdt)
 The function 'iqs2' computes the gradient of saturated specific humidity for table iii.
 
real function qs1d_moist (ta, qv, pa, dqdt)
 The function 'qs1d_moist' computes the gradient of saturated specific humidity for table iii.
 
real function wqsat2_moist (ta, qv, pa, dqdt)
 The function 'wqsat2_moist' computes the saturated specific humidity for pure liquid water , as well as des/dT.
 
real function wqsat_moist (ta, qv, pa)
 The function 'wqsat_moist' computes the saturated specific humidity for pure liquid water.
 
real function qs1d_m (ta, qv, pa)
 The function 'qs1d_m' computes the saturated specific humidity for table iii.
 
real function d_sat (ta, den)
 The function 'd_sat' computes the difference in saturation vapor * density * between water and ice.
 
real function esw_table (ta)
 The function 'esw_table' computes the saturated water vapor pressure for table ii.
 
real function es2_table (ta)
 The function 'es2_table' computes the saturated water vapor pressure for table iii.
 
subroutine esw_table1d (ta, es, n)
 The subroutine 'esw_table1d' computes the saturated water vapor pressure for table ii.
 
subroutine es2_table1d (ta, es, n)
 The subroutine 'es3_table1d' computes the saturated water vapor pressure for table iii.
 
subroutine es3_table1d (ta, es, n)
 The subroutine 'es3_table1d' computes the saturated water vapor pressure for table iv.
 
subroutine qs_tablew (n)
 saturation water vapor pressure table ii
 
subroutine qs_table2 (n)
 saturation water vapor pressure table iii
 
subroutine qs_table3 (n)
 saturation water vapor pressure table iv
 
real function qs_blend (t, p, q)
 The function 'qs_blend' computes the saturated specific humidity with a blend of water and ice depending on the temperature.
 
subroutine qs_table (n)
 saturation water vapor pressure table i
 
subroutine qsmith (im, km, ks, t, p, q, qs, dqdt)
 The function 'qsmith' computes the saturated specific humidity with a blend of water and ice depending on the temperature in 3D.
 
subroutine neg_adj (ktop, kbot, pt, dp, qv, ql, qr, qi, qs, qg)
 The subroutine 'neg_adj' fixes negative water species.
 
subroutine interpolate_z (is, ie, js, je, km, zl, hgt, a3, a2)
 quick local sum algorithm
 
subroutine, public cloud_diagnosis (is, ie, ks, ke, den, delp, lsm, qmw, qmi, qmr, qms, qmg, t, rew, rei, rer, res, reg)
 The subroutine 'cloud_diagnosis' diagnoses the radius of cloud species.
 
subroutine refl10cm_gfdl (qv1d, qr1d, qs1d, qg1d, t1d, p1d, dbz, kts, kte, ii, jj, melti)
 This subroutine calculates radar reflectivity.
 

Variables

real missing_value = - 1.e10
 
logical module_is_initialized = .false.
 
logical qsmith_tables_initialized = .false.
 
character(len=20) mod_name = 'gfdl_cloud_microphys'
 
real, parameter n0r = 8.0e6
 
real, parameter n0s = 3.0e6
 
real, parameter n0g = 4.0e6
 
real, parameter, public rhos = 0.1e3
 
real, parameter, public rhog = 0.4e3
 
real, parameter grav = 9.80665
 gfs: acceleration due to gravity
 
real, parameter rdgas = 287.05
 gfs: gas constant for dry air
 
real, parameter rvgas = 461.50
 gfs: gas constant for water vapor
 
real, parameter cp_air = 1004.6
 gfs: heat capacity of dry air at constant pressure
 
real, parameter hlv = 2.5e6
 gfs: latent heat of evaporation
 
real, parameter hlf = 3.3358e5
 gfs: latent heat of fusion
 
real, parameter pi = 3.1415926535897931
 gfs: ratio of circle circumference to diameter
 
real, parameter cp_vap = 4.0 * rvgas
 1846.0, heat capacity of water vapore at constnat pressure
 
real, parameter cv_air = cp_air - rdgas
 717.55, heat capacity of dry air at constant volume
 
real, parameter cv_vap = 3.0 * rvgas
 1384.5, heat capacity of water vapor at constant volume
 
real, parameter c_ice = 1972.0
 gfdl: heat capacity of ice at - 15 deg c
 
real, parameter c_liq = 4185.5
 gfdl: heat capacity of water at 15 deg c
 
real, parameter eps = rdgas / rvgas
 0.6219934995
 
real, parameter zvir = rvgas / rdgas - 1.
 0.6077338443
 
real, parameter t_ice = 273.16
 freezing temperature
 
real, parameter table_ice = 273.16
 freezing point for qs table
 
real, parameter e00 = 611.21
 ifs: saturation vapor pressure at 0 deg c
 
real, parameter dc_vap = cp_vap - c_liq
 
real, parameter dc_ice = c_liq - c_ice
 2213.5, isobaric heating / colling
 
real, parameter hlv0 = hlv
 gfs: evaporation latent heat coefficient at 0 deg c
 
real, parameter hlf0 = hlf
 gfs: fussion latent heat coefficient at 0 deg c
 
real, parameter lv0 = hlv0 - dc_vap * t_ice
 3.13905782e6, evaporation latent heat coefficient at 0 deg k
 
real, parameter li00 = hlf0 - dc_ice * t_ice
 
real, parameter d2ice = dc_vap + dc_ice
 
real, parameter li2 = lv0 + li00
 2.86799816e6, sublimation latent heat coefficient at 0 deg k
 
real, parameter qrmin = 1.e-8
 min value for rain
 
real, parameter qvmin = 1.e-20
 min value for water vapor (treated as zero)
 
real, parameter qcmin = 1.e-12
 min value for cloud condensates
 
real, parameter vr_min = 1.e-3
 min fall speed for rain
 
real, parameter vf_min = 1.e-5
 min fall speed for cloud ice, snow, graupel
 
real, parameter dz_min = 1.e-2
 use for correcting flipped height
 
real, parameter sfcrho = 1.2
 surface air density
 
real, parameter, public rhor = 1.e3
 density of rain water, lin83
 
real, parameter, public rnzr = 8.0e6
 
real, parameter, public rnzs = 3.0e6
 
real, parameter, public rnzg = 4.0e6
 
real, parameter, public rnzh = 4.0e4
 
real, parameter, public rhoh = 0.917e3
 
real cracs
 
real csacr
 
real cgacr
 
real cgacs
 
real csacw
 
real craci
 
real csaci
 
real cgacw
 
real cgaci
 
real cracw
 constants for accretions
 
real, dimension(3, 4) acco
 constants for accretions
 
real, dimension(5) cssub
 
real, dimension(5) cgsub
 
real, dimension(5) crevp
 
real, dimension(2) cgfr
 
real, dimension(5) csmlt
 
real, dimension(5) cgmlt
 
real es0
 
real ces0
 
real pie
 
real rgrav
 
real fac_rc
 
real c_air
 
real c_vap
 
real lati
 
real latv
 
real lats
 
real lat2
 
real lcp
 
real icp
 
real tcp
 used in Bigg mechanism and wet bulk
 
real d0_vap
 the same as dc_vap, except that cp_vap can be cp_vap or cv_vap
 
real lv00
 the same as lv0, except that cp_vap can be cp_vap or cv_vap
 
logical do_setup = .true.
 setup constants and parameters
 
logical p_nonhydro = .false.
 perform hydrosatic adjustment on air density
 
real, dimension(:), allocatable table
 
real, dimension(:), allocatable table2
 
real, dimension(:), allocatable table3
 
real, dimension(:), allocatable tablew
 
real, dimension(:), allocatable des
 
real, dimension(:), allocatable des2
 
real, dimension(:), allocatable des3
 
real, dimension(:), allocatable desw
 
logical tables_are_initialized = .false.
 
real, parameter dt_fr = 8.
 homogeneous freezing of all cloud water at t_wfr - dt_fr
 
real p_min = 100.
 minimum pressure (pascal) for mp to operate
 
real log_10
 
real tice0
 
real t_wfr