Processing math: 100%
CCPP Scientific Documentation
v5.0.0
All Classes Namespaces Files Functions Variables Modules Pages
subroutine gfdl_cloud_microphys_mod::icloud ( integer, intent(in)  ktop,
integer, intent(in)  kbot,
real, dimension (ktop:kbot), intent(inout)  tzk,
real, dimension (ktop:kbot), intent(in)  p1,
real, dimension (ktop:kbot), intent(inout)  qvk,
real, dimension (ktop:kbot), intent(inout)  qlk,
real, dimension (ktop:kbot), intent(inout)  qrk,
real, dimension (ktop:kbot), intent(inout)  qik,
real, dimension (ktop:kbot), intent(inout)  qsk,
real, dimension (ktop:kbot), intent(inout)  qgk,
real, dimension (ktop:kbot), intent(in)  dp1,
real, dimension (ktop:kbot), intent(in)  den,
real, dimension (ktop:kbot), intent(in)  denfac,
real, dimension (ktop:kbot), intent(in)  vts,
real, dimension (ktop:kbot), intent(in)  vtg,
real, dimension (ktop:kbot), intent(in)  vtr,
real, dimension (ktop:kbot), intent(inout)  qak,
real, intent(in)  rh_adj,
real, intent(in)  rh_rain,
real, intent(in)  dts,
real, intent(in)  h_var 
)
private
Author
Shian-Jiann Lin, GFDL

This scheme is featured with:

  • bulk cloud microphysics
  • processes splitting with some un-split sub-grouping
  • time implicit (when possible) accretion and autoconversion

GFDL icloud Detailed Algorithm

  • Define conversion scalar/factor.
  • Define heat capacity and latend heat coefficient.
  • Calculate P_{imlt}: instant melting of cloud ice.
  • Calculate P_{ihom}: homogeneous freezing of cloud water into cloud ice. This is the 1st occurance of liquid water freezing in the split MP process.
  • Call linear_prof() to calculate vertical subgrid variability of cloud ice.
  • Update capacity heat and latend heat coefficient.
  • Melting of snow:
    • P_{sacw}: accretion of cloud water by snow
    • P_{sacr}: accretion of rain by melted snow
    • P_{racs}: accretion of snow by rain
    • Total snow sink: P_{smlt}: snow melt (smlt(); due to rain accretion)
  • Update capacity heat and latend heat coefficient.
  • Melting of graupel:
    • P_{gacr}: accretion of rain by graupel
    • P_{gacw}: accretion of cloud water by graupel
    • P_{gmlt}: graupel melt (gmlt())
  • Cloud ice processes:
    • P_{saci}: accretion of cloud ice by snow
    • P_{saut}: autoconversion: cloud ice \rightarrow snow.
      similar to Lin et al.(1983) [107] eq. 21 solved implicitly; threshold from wsm6 scheme, Hong et al. (2004) [88], eq (13) : qi0_crt ~0.8e-4.
    • P_{gaci}: accretion of cloud ice by graupel
  • Cold-rain processes:
    • P_{sacr}: accretion of rain by snow (acr3d())
    • P_{gfr}: rain freezing \rightarrow graupel
    • Calculate total sink to q_r :
      Sink terms to q_r: P_{sacr}+P_{gfr}
      source term to q_s: P_{sacr}
      source term to q_g: P_{gfr}
  • Update capacity heat and latend heat coefficient.
  • Graupel production terms:
    • accretion: snow \rightarrow graupel (acr3d())
    • autoconversion: snow \rightarrow graupel
    • P_{gacw}: accretion of cloud water by graupel
    • P_{gacr}: accretion of rain by graupel (acr3d())
  • Call subgrid_z_proc() for subgrid cloud microphysics.

References acco, acr3d(), c_air, c_ice, c_liq, c_vap, ces0, cgaci, cgacr, cgacs, cgacw, cgfr, cgmlt, const_vi, cracs, csaci, csacr, csacw, csmlt, d0_vap, dc_ice, dt_fr, gmlt(), li00, linear_prof(), lv00, p_min, qcmin, qi0_crt, qi_gen, qi_lim, ql_mlt, qrmin, qs0_crt, qs_mlt, smlt(), subgrid_z_proc(), t_wfr, tau_g2v, tau_i2s, tau_imlt, tau_v2g, tice, tice0, and z_slope_ice.

Referenced by mpdrv().

Here is the call graph for this function: