|
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. More...
|
|
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) [115] and Rutledge and Hobbs (1984) [164]. More...
|
|
subroutine | sedi_heat (ktop, kbot, dm, m1, dz, tz, qv, ql, qr, qi, qs, qg, cw) |
| This subroutine calculates sedimentation of heat. More...
|
|
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. More...
|
|
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. More...
|
|
subroutine | linear_prof (km, q, dm, z_var, h_var) |
| Definition of vertical subgrid variability used for cloud ice and cloud water autoconversion. More...
|
|
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. More...
|
|
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. More...
|
|
subroutine | revap_rac1 (hydrostatic, is, ie, dt, tz, qv, ql, qr, qi, qs, qg, den, hvar) |
| This subroutine calculates rain evaporation. More...
|
|
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. More...
|
|
subroutine | check_column (ktop, kbot, q, no_fall) |
| The subroutine 'check_column' checks if the water species is large enough to fall. More...
|
|
subroutine | implicit_fall (dt, ktop, kbot, ze, vt, dp, q, precip, m1) |
| The subroutine computes the time-implicit monotonic fall scheme. More...
|
|
subroutine | lagrangian_fall_ppm (ktop, kbot, zs, ze, zt, dp, q, precip, m1, mono) |
| Lagrangian scheme. More...
|
|
subroutine | cs_profile (a4, del, km, do_mono) |
|
subroutine | cs_limiters (km, a4) |
| This subroutine perform positive definite constraint. More...
|
|
subroutine | fall_speed (ktop, kbot, den, qs, qi, qg, ql, tk, vts, vti, vtg) |
| The subroutine calculates vertical fall speed of snow/ice/graupel. More...
|
|
subroutine | setupm |
| The subroutine sets up gfdl cloud microphysics parameters. More...
|
|
subroutine, public | gfdl_cloud_microphys_mod_init (me, master, nlunit, input_nml_file, logunit, fn_nml) |
| The subroutine 'gfdl_cloud_microphys_init' initializes the GFDL cloud microphysics. More...
|
|
subroutine, public | gfdl_cloud_microphys_mod_end () |
| The subroutine 'gfdl_cloud_microphys_init' terminates the GFDL cloud microphysics. More...
|
|
subroutine | setup_con |
| The subroutine 'setup_con' sets up constants and calls 'qsmith_init'. More...
|
|
real function | acr3d (v1, v2, q1, q2, c, cac, rho) |
| The function is an accretion function (Lin et al.(1983) [115] ) More...
|
|
real function | smlt (tc, dqs, qsrho, psacw, psacr, c, rho, rhofac) |
| Melting of snow function (Lin et al.(1983) [115]) note: psacw and psacr must be calc before smlt is called. More...
|
|
real function | gmlt (tc, dqs, qgrho, pgacw, pgacr, c, rho) |
| Melting of graupel function (Eq.(47) in Lin et al. 1983 [115])
note: \(P_{gacw}\) and \(P_{gacr}\) must be calculated before gmlt is called. More...
|
|
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. More...
|
|
real function | wqs1 (ta, den) |
| The function 'wqs1' returns the saturation vapor pressure over pure liquid water for a given temperature and air density. More...
|
|
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. More...
|
|
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. More...
|
|
real function | iqs1 (ta, den) |
| The function 'iqs1' computes the saturated specific humidity for table iii. More...
|
|
real function | iqs2 (ta, den, dqdt) |
| The function 'iqs2' computes the gradient of saturated specific humidity for table iii. More...
|
|
real function | qs1d_moist (ta, qv, pa, dqdt) |
| The function 'qs1d_moist' computes the gradient of saturated specific humidity for table iii. More...
|
|
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. More...
|
|
real function | wqsat_moist (ta, qv, pa) |
| The function 'wqsat_moist' computes the saturated specific humidity for pure liquid water. More...
|
|
real function | qs1d_m (ta, qv, pa) |
| The function 'qs1d_m' computes the saturated specific humidity for table iii. More...
|
|
real function | d_sat (ta, den) |
| The function 'd_sat' computes the difference in saturation vapor * density * between water and ice. More...
|
|
real function | esw_table (ta) |
| The function 'esw_table' computes the saturated water vapor pressure for table ii. More...
|
|
real function | es2_table (ta) |
| The function 'es2_table' computes the saturated water vapor pressure for table iii. More...
|
|
subroutine | esw_table1d (ta, es, n) |
| The subroutine 'esw_table1d' computes the saturated water vapor pressure for table ii. More...
|
|
subroutine | es2_table1d (ta, es, n) |
| The subroutine 'es3_table1d' computes the saturated water vapor pressure for table iii. More...
|
|
subroutine | es3_table1d (ta, es, n) |
| The subroutine 'es3_table1d' computes the saturated water vapor pressure for table iv. More...
|
|
subroutine | qs_tablew (n) |
| saturation water vapor pressure table ii More...
|
|
subroutine | qs_table2 (n) |
| saturation water vapor pressure table iii More...
|
|
subroutine | qs_table3 (n) |
| saturation water vapor pressure table iv More...
|
|
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. More...
|
|
subroutine | qs_table (n) |
| saturation water vapor pressure table i More...
|
|
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. More...
|
|
subroutine | neg_adj (ktop, kbot, pt, dp, qv, ql, qr, qi, qs, qg) |
| The subroutine 'neg_adj' fixes negative water species. More...
|
|
subroutine | interpolate_z (is, ie, js, je, km, zl, hgt, a3, a2) |
| quick local sum algorithm More...
|
|
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. More...
|
|
subroutine | refl10cm_gfdl (qv1d, qr1d, qs1d, qg1d, t1d, p1d, dBZ, kts, kte, ii, jj, melti) |
| This subroutine calculates radar reflectivity. More...
|
|
|
real | missing_value = - 1.e10 |
|
logical | module_is_initialized = .false. |
|
logical | qsmith_tables_initialized = .false. |
|
character(len=17) | 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 More...
|
|
real, parameter | rdgas = 287.05 |
| gfs: gas constant for dry air More...
|
|
real, parameter | rvgas = 461.50 |
| gfs: gas constant for water vapor More...
|
|
real, parameter | cp_air = 1004.6 |
| gfs: heat capacity of dry air at constant pressure More...
|
|
real, parameter | hlv = 2.5e6 |
| gfs: latent heat of evaporation More...
|
|
real, parameter | hlf = 3.3358e5 |
| gfs: latent heat of fusion More...
|
|
real, parameter | pi = 3.1415926535897931 |
| gfs: ratio of circle circumference to diameter More...
|
|
real, parameter | cp_vap = 4.0 * rvgas |
| 1846.0, heat capacity of water vapore at constnat pressure More...
|
|
real, parameter | cv_air = cp_air - rdgas |
| 717.55, heat capacity of dry air at constant volume More...
|
|
real, parameter | cv_vap = 3.0 * rvgas |
| 1384.5, heat capacity of water vapor at constant volume More...
|
|
real, parameter | c_ice = 1972.0 |
| gfdl: heat capacity of ice at - 15 deg c More...
|
|
real, parameter | c_liq = 4185.5 |
| gfdl: heat capacity of water at 15 deg c More...
|
|
real, parameter | eps = rdgas / rvgas |
| 0.6219934995 More...
|
|
real, parameter | zvir = rvgas / rdgas - 1. |
| 0.6077338443 More...
|
|
real, parameter | t_ice = 273.16 |
| freezing temperature More...
|
|
real, parameter | table_ice = 273.16 |
| freezing point for qs table More...
|
|
real, parameter | e00 = 611.21 |
| ifs: saturation vapor pressure at 0 deg c More...
|
|
real, parameter | dc_vap = cp_vap - c_liq |
|
real, parameter | dc_ice = c_liq - c_ice |
| 2213.5, isobaric heating / colling More...
|
|
real, parameter | hlv0 = hlv |
| gfs: evaporation latent heat coefficient at 0 deg c More...
|
|
real, parameter | hlf0 = hlf |
| gfs: fussion latent heat coefficient at 0 deg c More...
|
|
real, parameter | lv0 = hlv0 - dc_vap * t_ice |
| 3.13905782e6, evaporation latent heat coefficient at 0 deg k More...
|
|
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 More...
|
|
real, parameter | qrmin = 1.e-8 |
| min value for rain More...
|
|
real, parameter | qvmin = 1.e-20 |
| min value for water vapor (treated as zero) More...
|
|
real, parameter | qcmin = 1.e-12 |
| min value for cloud condensates More...
|
|
real, parameter | vr_min = 1.e-3 |
| min fall speed for rain More...
|
|
real, parameter | vf_min = 1.e-5 |
| min fall speed for cloud ice, snow, graupel More...
|
|
real, parameter | dz_min = 1.e-2 |
| use for correcting flipped height More...
|
|
real, parameter | sfcrho = 1.2 |
| surface air density More...
|
|
real, parameter, public | rhor = 1.e3 |
| density of rain water, lin83 More...
|
|
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 More...
|
|
real, dimension(3, 4) | acco |
| constants for accretions More...
|
|
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 More...
|
|
real | d0_vap |
| the same as dc_vap, except that cp_vap can be cp_vap or cv_vap More...
|
|
real | lv00 |
| the same as lv0, except that cp_vap can be cp_vap or cv_vap More...
|
|
integer, public | icloud_f = 0 |
| cloud scheme More...
|
|
integer, public | irain_f = 0 |
| cloud water to rain auto conversion scheme More...
|
|
logical, public | de_ice = .false. |
| to prevent excessive build - up of cloud ice from external sources More...
|
|
logical, public | sedi_transport = .true. |
| transport of momentum in sedimentation More...
|
|
logical, public | do_sedi_w = .false. |
| transport of vertical motion in sedimentation More...
|
|
logical, public | do_sedi_heat = .true. |
| transport of heat in sedimentation More...
|
|
logical, public | prog_ccn = .false. |
| do prognostic ccn (yi ming's method) More...
|
|
logical, public | do_qa = .true. |
| do inline cloud fraction More...
|
|
logical, public | rad_snow = .true. |
| consider snow in cloud fraciton calculation More...
|
|
logical, public | rad_graupel = .true. |
| consider graupel in cloud fraction calculation More...
|
|
logical, public | rad_rain = .true. |
| consider rain in cloud fraction calculation More...
|
|
logical, public | fix_negative = .false. |
| fix negative water species More...
|
|
logical | do_setup = .true. |
| setup constants and parameters More...
|
|
logical | p_nonhydro = .false. |
| perform hydrosatic adjustment on air density More...
|
|
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 More...
|
|
real | p_min = 100. |
| minimum pressure (pascal) for mp to operate More...
|
|
real, public | cld_min = 0.05 |
| minimum cloud fraction More...
|
|
real, public | tice = 273.16 |
| set tice = 165. to trun off ice - phase phys (kessler emulator) More...
|
|
real, public | t_min = 178. |
| min temp to freeze - dry all water vapor More...
|
|
real, public | t_sub = 184. |
| min temp for sublimation of cloud ice More...
|
|
real, public | mp_time = 150. |
| maximum micro - physics time step (sec) More...
|
|
real, public | rh_inc = 0.25 |
| rh increment for complete evaporation of cloud water and cloud ice More...
|
|
real, public | rh_inr = 0.25 |
| rh increment for minimum evaporation of rain More...
|
|
real, public | rh_ins = 0.25 |
| rh increment for sublimation of snow More...
|
|
real, public | tau_r2g = 900. |
| rain freezing during fast_sat More...
|
|
real, public | tau_smlt = 900. |
| snow melting More...
|
|
real, public | tau_g2r = 600. |
| graupel melting to rain More...
|
|
real, public | tau_imlt = 600. |
| cloud ice melting More...
|
|
real, public | tau_i2s = 1000. |
| cloud ice to snow auto-conversion More...
|
|
real, public | tau_l2r = 900. |
| cloud water to rain auto-conversion More...
|
|
real, public | tau_v2l = 150. |
| water vapor to cloud water (condensation) More...
|
|
real, public | tau_l2v = 300. |
| cloud water to water vapor (evaporation) More...
|
|
real, public | tau_g2v = 900. |
| graupel sublimation More...
|
|
real, public | tau_v2g = 21600. |
| graupel deposition – make it a slow process More...
|
|
real, public | dw_land = 0.20 |
| base value for subgrid deviation / variability over land More...
|
|
real, public | dw_ocean = 0.10 |
| base value for ocean More...
|
|
real, public | ccn_o = 90. |
| ccn over ocean (cm^ - 3) More...
|
|
real, public | ccn_l = 270. |
| ccn over land (cm^ - 3) More...
|
|
real, public | rthresh = 10.0e-6 |
| critical cloud drop radius (micro m) More...
|
|
real, public | sat_adj0 = 0.90 |
| adjustment factor (0: no, 1: full) during fast_sat_adj More...
|
|
real, public | qc_crt = 5.0e-8 |
| mini condensate mixing ratio to allow partial cloudiness More...
|
|
real, public | qi_lim = 1. |
| cloud ice limiter to prevent large ice build up More...
|
|
real, public | ql_mlt = 2.0e-3 |
| max value of cloud water allowed from melted cloud ice More...
|
|
real, public | qs_mlt = 1.0e-6 |
| max cloud water due to snow melt More...
|
|
real, public | ql_gen = 1.0e-3 |
| max cloud water generation during remapping step if fast_sat_adj = .t. More...
|
|
real, public | qi_gen = 1.82e-6 |
| max cloud ice generation during remapping step More...
|
|
real, public | ql0_max = 2.0e-3 |
| max cloud water value (auto converted to rain) More...
|
|
real, public | qi0_max = 1.0e-4 |
| max cloud ice value (by other sources) More...
|
|
real, public | qi0_crt = 1.0e-4 |
| cloud ice to snow autoconversion threshold (was 1.e-4); qi0_crt is highly dependent on horizontal resolution More...
|
|
real, public | qr0_crt = 1.0e-4 |
| rain to snow or graupel/hail threshold More...
|
|
real, public | qs0_crt = 1.0e-3 |
| snow to graupel density threshold (0.6e-3 in purdue lin scheme) More...
|
|
real, public | c_paut = 0.55 |
| autoconversion cloud water to rain (use 0.5 to reduce autoconversion) More...
|
|
real, public | c_psaci = 0.02 |
| accretion: cloud ice to snow (was 0.1 in zetac) More...
|
|
real, public | c_piacr = 5.0 |
| accretion: rain to ice: More...
|
|
real, public | c_cracw = 0.9 |
| rain accretion efficiency More...
|
|
real, public | c_pgacs = 2.0e-3 |
| snow to graupel "accretion" eff. (was 0.1 in zetac) More...
|
|
real, public | alin = 842.0 |
| "a" in lin1983 More...
|
|
real, public | clin = 4.8 |
| "c" in lin 1983, 4.8 – > 6. (to ehance ql – > qs) More...
|
|
logical, public | const_vi = .false. |
| if .t. the constants are specified by v * _fac More...
|
|
logical, public | const_vs = .false. |
| if .t. the constants are specified by v * _fac More...
|
|
logical, public | const_vg = .false. |
| if .t. the constants are specified by v * _fac More...
|
|
logical, public | const_vr = .false. |
| if .t. the constants are specified by v * _fac More...
|
|
real, public | vi_fac = 1. |
| if const_vi: 1 / 3 More...
|
|
real, public | vs_fac = 1. |
| if const_vs: 1. More...
|
|
real, public | vg_fac = 1. |
| if const_vg: 2. More...
|
|
real, public | vr_fac = 1. |
| if const_vr: 4. More...
|
|
real, public | vi_max = 0.5 |
| max fall speed for ice More...
|
|
real, public | vs_max = 5.0 |
| max fall speed for snow More...
|
|
real, public | vg_max = 8.0 |
| max fall speed for graupel More...
|
|
real, public | vr_max = 12. |
| max fall speed for rain More...
|
|
logical, public | fast_sat_adj = .false. |
| has fast saturation adjustments More...
|
|
logical, public | z_slope_liq = .true. |
| use linear mono slope for autocconversions More...
|
|
logical, public | z_slope_ice = .false. |
| use linear mono slope for autocconversions More...
|
|
logical, public | use_ccn = .false. |
| must be true when prog_ccn is false More...
|
|
logical, public | use_ppm = .false. |
| use ppm fall scheme More...
|
|
logical, public | mono_prof = .true. |
| perform terminal fall with mono ppm scheme More...
|
|
logical, public | mp_print = .false. |
| cloud microphysics debugging printout More...
|
|
logical, public | do_hail = .false. |
| use hail parameters instead of graupel More...
|
|
real | log_10 |
|
real | tice0 |
|
real | t_wfr |
|
integer, public | reiflag = 1 |
|
logical, public | tintqs = .false. |
| use temperature in the saturation mixing in PDF More...
|
|
real, public | rewmin = 5.0 |
|
real, public | rewmax = 10.0 |
|
real, public | reimin = 10.0 |
|
real, public | reimax = 150.0 |
|
real, public | rermin = 10.0 |
|
real, public | rermax = 10000.0 |
|
real, public | resmin = 150.0 |
|
real, public | resmax = 10000.0 |
|
real, public | regmin = 300.0 |
|
real, public | regmax = 10000.0 |
|