FV3 Bundle
lin_cloud_microphys_nlm.F90 File Reference

Go to the source code of this file.

Modules

module  lin_cld_microphys_mod
 

Functions/Subroutines

subroutine, public lin_cld_microphys_mod::lin_cld_microphys_driver (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, iis, iie, jjs, jje, kks, kke, ktop, kbot, time)
 
subroutine lin_cld_microphys_mod::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)
 
subroutine lin_cld_microphys_mod::sedi_heat (ktop, kbot, dm, m1, dz, tz, qv, ql, qr, qi, qs, qg, cw)
 
subroutine lin_cld_microphys_mod::warm_rain (dt, ktop, kbot, p1, dp, dz, tz, qv, ql, qr, qi, qs, qg, pm, den, denfac, ccn, c_praut, rh_rain, vtr, r1, m1_rain, w1, h_var)
 
subroutine lin_cld_microphys_mod::revap_racc (ktop, kbot, dt, tz, qv, ql, qr, qi, qs, qg, den, denfac, rh_rain, h_var)
 
subroutine lin_cld_microphys_mod::linear_prof (km, p1, q, dm, z_var, h_var)
 
subroutine lin_cld_microphys_mod::icloud (ktop, kbot, tzk, p1, qvk, qlk, qrk, qik, qsk, qgk, dp1, den, denfac, vts, vtg, vtr, qak, rh_adj, rh_rain, dts, fac_sno, fac_gra, h_var)
 
subroutine lin_cld_microphys_mod::remap2 (ktop, kbot, kn, km, dp, q1, q2, id)
 
subroutine lin_cld_microphys_mod::subgrid_z_proc (ktop, kbot, p1, den, dts, rh_adj, tz, qv, ql, qr, qi, qs, qg, qa, h_var)
 
subroutine, public lin_cld_microphys_mod::sat_adj2 (mdt, is, ie, js, je, ng, hydrostatic, consv_te, te0, qv, ql, qi, qr, qs, qg, qa, area, dpeln, delz, pt, dp, q_con, ifdef MOIST_CAPPA
 
subroutine lin_cld_microphys_mod::revap_rac1 (hydrostatic, is, ie, dt, tz, qv, ql, qr, qi, qs, qg, den, hvar)
 
subroutine lin_cld_microphys_mod::terminal_fall (dtm, ktop, kbot, tz, qv, ql, qr, qg, qs, qi, pm, dz, dp, den, vtg, vts, vti, fac_sno, fac_gra, r1, g1, s1, i1, m1_sol, w1)
 
subroutine lin_cld_microphys_mod::check_column (ktop, kbot, q, no_fall)
 
subroutine lin_cld_microphys_mod::lagrangian_fall_pcm (ktop, kbot, zs, ze, zt, dp, q, precip, m1)
 
subroutine lin_cld_microphys_mod::lagrangian_fall_ppm (ktop, kbot, zs, ze, zt, dp, q, precip, m1, mono)
 
subroutine lin_cld_microphys_mod::cs_profile (a4, del, km, do_mono)
 
subroutine lin_cld_microphys_mod::cs_limiters (km, a4)
 
subroutine lin_cld_microphys_mod::fall_speed (ktop, kbot, den, qs, qi, qg, ql, tk, vts, vti, vtg)
 
subroutine lin_cld_microphys_mod::setupm
 
subroutine, public lin_cld_microphys_mod::lin_cld_microphys_init (id, jd, kd, axes, time)
 
subroutine, public lin_cld_microphys_mod::lin_cld_microphys_end
 
subroutine, public lin_cld_microphys_mod::setup_con
 
real function lin_cld_microphys_mod::acr3d (v1, v2, q1, q2, c, cac, rho)
 
real function lin_cld_microphys_mod::smlt (tc, dqs, qsrho, psacw, psacr, c, rho, rhofac)
 
real function lin_cld_microphys_mod::gmlt (tc, dqs, qgrho, pgacw, pgacr, c, rho)
 
subroutine, public lin_cld_microphys_mod::qsmith_init
 
real function, public lin_cld_microphys_mod::wqs1 (ta, den)
 
real function, public lin_cld_microphys_mod::wqs2 (ta, den, dqdt)
 
real function, public lin_cld_microphys_mod::wet_bulb (q, t, den)
 
real function lin_cld_microphys_mod::iqs1 (ta, den)
 
real function lin_cld_microphys_mod::iqs2 (ta, den, dqdt)
 
real function lin_cld_microphys_mod::qs1d_moist (ta, qv, pa, dqdt)
 
real function, public lin_cld_microphys_mod::wqsat2_moist (ta, qv, pa, dqdt)
 
real function, public lin_cld_microphys_mod::wqsat_moist (ta, qv, pa)
 
real function lin_cld_microphys_mod::qs1d_m (ta, qv, pa)
 
real function lin_cld_microphys_mod::d_sat (ta)
 
real function lin_cld_microphys_mod::esw_table (ta)
 
real function lin_cld_microphys_mod::es2_table (ta)
 
subroutine, public lin_cld_microphys_mod::esw_table1d (ta, es, n)
 
subroutine, public lin_cld_microphys_mod::es2_table1d (ta, es, n)
 
subroutine, public lin_cld_microphys_mod::es3_table1d (ta, es, n)
 
subroutine lin_cld_microphys_mod::qs_tablew (n)
 
subroutine lin_cld_microphys_mod::qs_table2 (n)
 
subroutine lin_cld_microphys_mod::qs_table3 (n)
 
real function, public lin_cld_microphys_mod::qs_blend (t, p, q)
 
subroutine lin_cld_microphys_mod::qs_table (n)
 
subroutine, public lin_cld_microphys_mod::qsmith (im, km, ks, t, p, q, qs, dqdt)
 
subroutine lin_cld_microphys_mod::neg_adj (ktop, kbot, p1, pt, dp, qv, ql, qr, qi, qs, qg)
 
subroutine, public lin_cld_microphys_mod::sg_conv (is, ie, js, je, isd, ied, jsd, jed, km, nq, dt, tau, delp, phalf, pm, zfull, zhalf, ta, qa, ua, va, w, u_dt, v_dt, t_dt, q_dt, nqv, nql, nqi, nqr, nqs, nqg, hydrostatic, phys_hydrostatic)
 
subroutine lin_cld_microphys_mod::dbzcalc (qv, qr, qs, qg, pt, delp, dz, dbz, maxdbz, allmax, is, ie, js, je, ks, ke, in0r, in0s, in0g, iliqskin)
 
real function, public lin_cld_microphys_mod::g_sum (p, ifirst, ilast, jfirst, jlast, area, mode)
 
subroutine lin_cld_microphys_mod::interpolate_z (is, ie, js, je, km, zl, hght, a3, a2)
 

Variables

real lin_cld_microphys_mod::missing_value = -1.e10
 
logical lin_cld_microphys_mod::module_is_initialized = .false.
 
logical lin_cld_microphys_mod::qsmith_tables_initialized = .false.
 
character(len=17) lin_cld_microphys_mod::mod_name = 'lin_cld_microphys'
 
real, parameter lin_cld_microphys_mod::eps = rdgas/rvgas
 
real, parameter lin_cld_microphys_mod::zvir = rvgas/rdgas-1.
 
real, parameter lin_cld_microphys_mod::table_ice = 273.16
 
real, parameter lin_cld_microphys_mod::cv_air = cp_air - rdgas
 
real, parameter lin_cld_microphys_mod::e00 = 610.71
 
real, parameter lin_cld_microphys_mod::c_liq = 4190.
 
real, parameter lin_cld_microphys_mod::c_ice = 2106.
 
real, parameter lin_cld_microphys_mod::cp_vap = cp_vapor
 
real, parameter lin_cld_microphys_mod::cv_vap = cp_vap - rvgas
 
real, parameter lin_cld_microphys_mod::dc_vap = cp_vap - c_liq
 
real, parameter lin_cld_microphys_mod::dc_ice = c_liq - c_ice
 
real, parameter lin_cld_microphys_mod::hlv0 = 2.501e6
 
real, parameter lin_cld_microphys_mod::hlf0 = 3.337e5
 
real, parameter lin_cld_microphys_mod::t_ice = 273.16
 
real, parameter lin_cld_microphys_mod::lv0 = hlv0 - dc_vap*t_ice
 
real, parameter lin_cld_microphys_mod::li00 = hlf0 - dc_ice *t_ice
 
real, parameter lin_cld_microphys_mod::d2ice = cp_vap - c_ice
 
real, parameter lin_cld_microphys_mod::li2 = hlv0+hlf0 - d2ice*t_ice
 
real, parameter lin_cld_microphys_mod::qrmin = 1.e-9
 
real, parameter lin_cld_microphys_mod::qvmin = 1.e-22
 
real, parameter lin_cld_microphys_mod::qcmin = 1.e-12
 
real, parameter lin_cld_microphys_mod::sfcrho = 1.20
 
real, parameter lin_cld_microphys_mod::vmin = 1.e-3
 
real, parameter lin_cld_microphys_mod::rhor = 1.0e3
 
real, parameter lin_cld_microphys_mod::dz_min = 1.e-2
 
real lin_cld_microphys_mod::cracs
 
real lin_cld_microphys_mod::csacr
 
real lin_cld_microphys_mod::cgacr
 
real lin_cld_microphys_mod::cgacs
 
real, dimension(3, 4) lin_cld_microphys_mod::acco
 
real lin_cld_microphys_mod::csacw
 
real lin_cld_microphys_mod::craci
 
real lin_cld_microphys_mod::csaci
 
real lin_cld_microphys_mod::cgacw
 
real lin_cld_microphys_mod::cgaci
 
real lin_cld_microphys_mod::cracw
 
real, dimension(5) lin_cld_microphys_mod::cssub
 
real, dimension(5) lin_cld_microphys_mod::cgsub
 
real, dimension(5) lin_cld_microphys_mod::crevp
 
real, dimension(2) lin_cld_microphys_mod::cgfr
 
real, dimension(5) lin_cld_microphys_mod::csmlt
 
real, dimension(5) lin_cld_microphys_mod::cgmlt
 
real lin_cld_microphys_mod::es0
 
real lin_cld_microphys_mod::ces0
 
real lin_cld_microphys_mod::pie
 
real lin_cld_microphys_mod::rgrav
 
real lin_cld_microphys_mod::fac_rc
 
real lin_cld_microphys_mod::lcp
 
real lin_cld_microphys_mod::icp
 
real lin_cld_microphys_mod::tcp
 
real lin_cld_microphys_mod::lv00
 
real lin_cld_microphys_mod::c_air
 
real lin_cld_microphys_mod::c_vap
 
logical lin_cld_microphys_mod::de_ice = .true.
 
logical lin_cld_microphys_mod::sedi_transport = .false.
 
logical lin_cld_microphys_mod::do_sedi_w = .false.
 
logical lin_cld_microphys_mod::do_sedi_heat = .false.
 
logical lin_cld_microphys_mod::prog_ccn = .false.
 
logical lin_cld_microphys_mod::do_qa = .false.
 
logical lin_cld_microphys_mod::rad_snow =.false.
 
logical lin_cld_microphys_mod::rad_graupel =.false.
 
logical lin_cld_microphys_mod::rad_rain =.false.
 
logical lin_cld_microphys_mod::fix_negative =.false.
 
logical lin_cld_microphys_mod::do_setup =.true.
 
logical lin_cld_microphys_mod::master
 
logical lin_cld_microphys_mod::p_nonhydro = .false.
 
real, dimension(:), allocatable lin_cld_microphys_mod::table
 
real, dimension(:), allocatable lin_cld_microphys_mod::table2
 
real, dimension(:), allocatable lin_cld_microphys_mod::table3
 
real, dimension(:), allocatable lin_cld_microphys_mod::tablew
 
real, dimension(:), allocatable lin_cld_microphys_mod::des
 
real, dimension(:), allocatable lin_cld_microphys_mod::des2
 
real, dimension(:), allocatable lin_cld_microphys_mod::des3
 
real, dimension(:), allocatable lin_cld_microphys_mod::desw
 
logical lin_cld_microphys_mod::tables_are_initialized = .false.
 
integer lin_cld_microphys_mod::id_rh
 
integer lin_cld_microphys_mod::id_vtr
 
integer lin_cld_microphys_mod::id_vts
 
integer lin_cld_microphys_mod::id_vtg
 
integer lin_cld_microphys_mod::id_vti
 
integer lin_cld_microphys_mod::id_rain
 
integer lin_cld_microphys_mod::id_snow
 
integer lin_cld_microphys_mod::id_graupel
 
integer lin_cld_microphys_mod::id_ice
 
integer lin_cld_microphys_mod::id_prec
 
integer lin_cld_microphys_mod::id_cond
 
integer lin_cld_microphys_mod::id_var
 
integer lin_cld_microphys_mod::id_droplets
 
integer lin_cld_microphys_mod::id_dbz
 
integer lin_cld_microphys_mod::id_maxdbz
 
integer lin_cld_microphys_mod::id_basedbz
 
real lin_cld_microphys_mod::lati
 
real lin_cld_microphys_mod::latv
 
real lin_cld_microphys_mod::lats
 
real, parameter lin_cld_microphys_mod::dt_fr = 8.
 
integer lin_cld_microphys_mod::lin_cld_mp_clock
 
real lin_cld_microphys_mod::t_snow_melt = 12.
 
real lin_cld_microphys_mod::t_grau_melt = 15.
 
real lin_cld_microphys_mod::p_min = 100.
 
real lin_cld_microphys_mod::cld_min = 0.05
 
real lin_cld_microphys_mod::tice = 273.16
 
real lin_cld_microphys_mod::qc_crt = 5.0e-8
 
real lin_cld_microphys_mod::t_min = 180.
 
real lin_cld_microphys_mod::t_sub = 184.
 
real lin_cld_microphys_mod::mp_time = 150.
 
real lin_cld_microphys_mod::rh_inc = 0.10
 
real lin_cld_microphys_mod::rh_inr = 0.25
 
real lin_cld_microphys_mod::rh_ins = 0.25
 
real lin_cld_microphys_mod::tau_r = 120.
 
real lin_cld_microphys_mod::tau_s = 120.
 
real lin_cld_microphys_mod::tau_g = 180.
 
real lin_cld_microphys_mod::tau_mlt = 10.
 
real lin_cld_microphys_mod::tau_i2s = 150.
 
real lin_cld_microphys_mod::tau_v2l = 600.
 
real lin_cld_microphys_mod::tau_l2v = 600.
 
real lin_cld_microphys_mod::tau_g2v = 900.
 
real lin_cld_microphys_mod::tau_v2g =21600.
 
real lin_cld_microphys_mod::dw_land = 0.20
 
real lin_cld_microphys_mod::dw_ocean = 0.15
 
real lin_cld_microphys_mod::ccn_o = 100.
 
real lin_cld_microphys_mod::ccn_l = 250.
 
real lin_cld_microphys_mod::rthresh = 10.0e-6
 
real lin_cld_microphys_mod::qi_gen = 1.818E-6
 
real lin_cld_microphys_mod::qi_lim = 1.
 
real lin_cld_microphys_mod::ql_mlt = 4.0e-3
 
real lin_cld_microphys_mod::ql_gen = 1.0e-3
 
real lin_cld_microphys_mod::sat_adj0 = 0.99
 
real lin_cld_microphys_mod::ql0_max = 2.0e-3
 
real lin_cld_microphys_mod::qi0_max = 3.0e-6
 
real lin_cld_microphys_mod::qi0_crt = 1.0e-4
 
real lin_cld_microphys_mod::qr0_crt = 1.0e-4
 
real lin_cld_microphys_mod::c_paut = 0.55
 
real lin_cld_microphys_mod::c_psaut = 1.0e-3
 
real lin_cld_microphys_mod::c_psaci = 0.01
 
real lin_cld_microphys_mod::c_piacr = 5.0
 
real lin_cld_microphys_mod::c_cracw = 0.9
 
real lin_cld_microphys_mod::alin = 842.0
 
real lin_cld_microphys_mod::clin = 4.8
 
real lin_cld_microphys_mod::qs0_crt = 2.0e-3
 
real lin_cld_microphys_mod::c_pgacs = 2.0e-3
 
real lin_cld_microphys_mod::den_ref = sfcrho
 
real lin_cld_microphys_mod::vr_fac = 1.
 
real lin_cld_microphys_mod::vs_fac = 1.
 
real lin_cld_microphys_mod::vg_fac = 1.
 
real lin_cld_microphys_mod::vi_fac = 1.
 
logical lin_cld_microphys_mod::fast_sat_adj = .false.
 
logical lin_cld_microphys_mod::z_slope_liq = .true.
 
logical lin_cld_microphys_mod::z_slope_ice = .false.
 
logical lin_cld_microphys_mod::use_deng_mace = .true.
 
logical lin_cld_microphys_mod::do_subgrid_z = .false.
 
logical lin_cld_microphys_mod::use_ccn = .false.
 
logical lin_cld_microphys_mod::use_ppm = .true.
 
logical lin_cld_microphys_mod::ppm_rain_fall = .true.
 
logical lin_cld_microphys_mod::mono_prof = .true.
 
logical lin_cld_microphys_mod::mp_debug = .false.
 
logical lin_cld_microphys_mod::mp_print = .false.
 
real lin_cld_microphys_mod::global_area = -1.
 
real lin_cld_microphys_mod::tice0
 
real lin_cld_microphys_mod::t_wfr
 
real lin_cld_microphys_mod::p_crt = 100.E2
 
integer lin_cld_microphys_mod::k_moist = 100