Common Community Physics Package (CCPP) Scientific Documentation  Version 2.0
subroutine zhaocarr_precpd::zhaocarr_precpd_run ( integer, intent(in)  im,
integer, intent(in)  ix,
integer, intent(in)  km,
real (kind=kind_phys), intent(in)  dt,
real (kind=kind_phys), dimension(ix,km), intent(in)  del,
real (kind=kind_phys), dimension(ix,km), intent(in)  prsl,
real (kind=kind_phys), dimension(ix,km), intent(inout)  q,
real (kind=kind_phys), dimension(ix,km), intent(inout)  cwm,
real (kind=kind_phys), dimension(ix,km), intent(inout)  t,
real (kind=kind_phys), dimension(im), intent(out)  rn,
real (kind=kind_phys), dimension(im), intent(out)  sr,
real (kind=kind_phys), dimension(im,km), intent(out)  rainp,
real (kind=kind_phys), dimension(im,km), intent(in)  u00k,
real (kind=kind_phys), dimension(2), intent(in)  psautco,
real (kind=kind_phys), dimension(2), intent(in)  prautco,
real (kind=kind_phys), intent(in)  evpco,
real (kind=kind_phys), dimension(2), intent(in)  wminco,
real (kind=kind_phys), dimension(im), intent(in)  wk1,
logical, intent(in)  lprnt,
integer, intent(in)  jpr,
character(len=*), intent(out)  errmsg,
integer, intent(out)  errflg 
)
  1. Select columns where rain can be produced, where

    \[ cwm > \min (wmin, wmini) \]

    where the cloud water and ice conversion threshold:

    \[ wmin=wminco(1)\times prsl\times 10^{-5} \]

    \[ wmini=wminco(2)\times prsl\times 10^{-5} \]

  2. Calculate ice-water identification number IW (see algorithm in GFS gscond Main).
  3. Calculate cloud fraction \(b\) (see algorithm in GFS gscond Main)
  4. Precipitation production by auto conversion and accretion
    • The autoconversion of cloud ice to snow ( \(P_{saut}\)) is simulated using the equation from Lin et al.(1983)[65]

      \[ P_{saut}=a_{1}(cwm-wmini) \]

      Since snow production in this process is caused by the increase in size of cloud ice particles due to depositional growth and aggregation of small ice particles, \(P_{saut}\) is a function of temperature as determined by coefficient \(a_{1}\), given by

      \[ a_{1}=psautco \times dt \times exp\left[ 0.025\left(T-273.15\right)\right] \]

    • The accretion of cloud ice by snow ( \(P_{saci}\)) in the regions where cloud ice exists is simulated by

      \[ P_{saci}=C_{s}cwm P_{s} \]

      where \(P_{s}\) is the precipitation rate of snow. The collection coefficient \(C_{s}\) is a function of temperature since the open structures of ice crystals at relative warm temperatures are more likely to stick, given a collision, than crystals of other shapes (Rogers (1979) [90]). Above the freezing level, \(C_{s}\) is expressed by

      \[ C_{s}=c_{1}exp\left[ 0.025\left(T-273.15\right)\right] \]

      where \(c_{1}=1.25\times 10^{-3} m^{2}kg^{-1}s^{-1}\) are used. \(C_{s}\) is set to zero below the freezing level.
    • Following Sundqvist et al. (1989)[98], the autoconversion of cloud water to rain ( \(P_{raut}\)) can be parameterized from the cloud water mixing ratio \(m\) and cloud coverage \(b\), that is,

      \[ P_{raut}=(prautco \times dt )\times (cwm-wmin)\left\{1-exp[-(\frac{cwm-wmin}{m_{r}b})^{2}]\right\} \]

      where \(m_{r}\) is \(3.0\times 10^{-4}\).
  5. Evaporation of precipitation ( \(E_{rr}\) and \(E_{rs}\))
    Evaporation of precipitation is an important process that moistens the layers below cloud base. Through this process, some of the precipitating water is evaporated back to the atmosphere and the precipitation efficiency is reduced.
    • Evaporation of rain is calculated using the equation (Sundqvist(1988)[99]):

      \[ E_{rr}= evpco \times (u-f)(P_{r})^{\beta} \]

      where \(u\) is u00k, \(f\) is the relative humidity. \(\beta = 0.5\) are empirical parameter.
    • Evaporation of snow is calculated using the equation:

      \[ E_{rs}=[C_{rs1}+C_{rs2}(T-273.15)](\frac{u-f}{u})P_{s} \]

      where \(C_{rs1}=5\times 10^{-6}m^{2}kg^{-1}s^{-1}\) and \(C_{rs2}=6.67\times 10^{-10}m^{2}kg^{-1}K^{-1}s^{-1}\). The evaporation of melting snow below the freezing level is ignored in this scheme because of the difficulty in the latent heat treatment since the surface of a melting snowflake is usually covered by a thin layer of liquid water.
  6. Melting of snow ( \(P_{sm1}\) and \(P_{sm2}\))
    In this scheme, we allow snow melting to take place in certain temperature regions below the freezing level in two ways. In both cases, the melted snow is assumed to become raindrops.
    • One is the continuous melting of snow due to the increase in temperature as it falls down through the freezing level. This process is parameterized as a function of temperature and snow precipitation rate, that is,

      \[ P_{sm1}=C_{sm}(T-273.15)^{2}P_{s} \]

      where \(C_{sm}=5\times 10^{-8}m^{2}kg^{-1}K^{-2}s^{-1}\) cause the falling snow to melt almost completely before it reaches the \(T=278.15 K\) level.
    • Another is the immediate melting of melting snow by collection of the cloud water below the freezing level. In order to calculate the melting rate, the collection rate of cloud water by melting snow is computed first. Similar to the collection of cloud water by rain, the collection of cloud water by melting snow can be parameterized to be proportional to the cloud water mixing ratio \(m\) and the precipitation rate of snow \(P_{s}\):

      \[ P_{sacw}=C_{r}cwmP_{s} \]

      where \(C_{r}\) is the collection coefficient, \(C_{r}=5.0\times 10^{-4}m^{2}kg^{-1}s^{-1}\) . The melting rate of snow then can be computed from

      \[ P_{sm2}=C_{ws}P_{sacw} \]

      where \(C_{ws}=0.025\).
    • Update t and q.

      \[ t=t-\frac{L}{C_{p}}(E_{rr}+E_{rs}+P_{sm1})\times dt \]

      \[ q=q+(E_{rr}+E_{rs})\times dt \]

  7. Calculate precipitation at surface ( \(rn\))and determine fraction of frozen precipitation ( \(sr\)).

    \[ rn= (P_{r}(\eta_{sfc})+P_{s}(\eta_{sfc}))/10^3 \]

    \[ sr=\frac{P_{s}(\eta_{sfc})}{P_{s}(\eta_{sfc})+P_{r}(\eta_{sfc})} \]

References physcons::con_cp, physcons::con_eps, physcons::con_epsm1, physcons::con_g, physcons::con_hfus, physcons::con_hvap, physcons::con_ttp, and funcphys::fpvs().

Here is the call graph for this function: