Common Community Physics Package (CCPP) Scientific Documentation  Version 2.0
subroutine gfdl_cloud_microphys::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) [65] eq. 21 solved implicitly; threshold from wsm6 scheme, Hong et al. (2004) [47], 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 acr3d(), gmlt(), linear_prof(), smlt(), and subgrid_z_proc().

Referenced by mpdrv().

Here is the call graph for this function: