Processing math: 0%
Common Community Physics Package (CCPP) Scientific Documentation  Version 2.0
All Classes Namespaces Functions Variables Modules Pages
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: