CCPP SciDoc v7.0.0  v7.0.0
Common Community Physics Package Developed at DTC
 
Loading...
Searching...
No Matches

◆ mpdrv()

subroutine gfdl_cloud_microphys_mod::mpdrv ( logical, intent(in) hydrostatic,
real, dimension (is:, js:, ks:), intent(in) uin,
real, dimension (is:, js:, ks:), intent(in) vin,
real, dimension (is:, js:, ks:), intent(inout) w,
real, dimension (is:, js:, ks:), intent(in) delp,
real, dimension (is:, js:, ks:), intent(in) pt,
real, dimension (is:, js:, ks:), intent(in) qv,
real, dimension (is:, js:, ks:), intent(in) ql,
real, dimension (is:, js:, ks:), intent(in) qr,
real, dimension (is:, js:, ks:), intent(inout) qi,
real, dimension (is:, js:, ks:), intent(inout) qs,
real, dimension (is:, js:, ks:), intent(in) qg,
real, dimension (is:, js:, ks:), intent(in) qa,
real, dimension (is:, js:, ks:), intent(in) qn,
real, dimension (is:, js:, ks:), intent(in) dz,
integer, intent(in) is,
integer, intent(in) ie,
integer, intent(in) js,
integer, intent(in) je,
integer, intent(in) ks,
integer, intent(in) ke,
integer, intent(in) ktop,
integer, intent(in) kbot,
integer, intent(in) j,
real, intent(in) dt_in,
integer, intent(in) ntimes,
real, dimension (is:), intent(inout) rain,
real, dimension (is:), intent(inout) snow,
real, dimension (is:), intent(inout) graupel,
real, dimension (is:), intent(inout) ice,
real, dimension (is:, ks:), intent(out) m2_rain,
real, dimension (is:, ks:), intent(out) m2_sol,
real, dimension (is:), intent(inout) cond,
real, dimension (is:), intent(in) area1,
real, dimension (is:), intent(in) land,
real, dimension (is:, js:, ks:), intent(inout) u_dt,
real, dimension (is:, js:, ks:), intent(inout) v_dt,
real, dimension (is:, js:, ks:), intent(inout) pt_dt,
real, dimension (is:, js:, ks:), intent(inout) qv_dt,
real, dimension (is:, js:, ks:), intent(inout) ql_dt,
real, dimension (is:, js:, ks:), intent(inout) qr_dt,
real, dimension (is:, js:, ks:), intent(inout) qi_dt,
real, dimension (is:, js:, ks:), intent(inout) qs_dt,
real, dimension (is:, js:, ks:), intent(inout) qg_dt,
real, dimension (is:, js:, ks:), intent(inout) qa_dt,
real, dimension (is:, js:), intent(out) w_var,
real, dimension (is:, js:, ks:), intent(out) vt_r,
real, dimension (is:, js:, ks:), intent(out) vt_s,
real, dimension (is:, js:, ks:), intent(out) vt_g,
real, dimension (is:, js:, ks:), intent(out) vt_i,
real, dimension (is:, js:, ks:), intent(out) qn2 )
private

GFDL Cloud mpdrv General Algorithm

  • Prevent excessive build-up of cloud ice from external sources.
  • Convert moist mixing ratios to dry mixing ratios.
  • Calculate cloud condensation nuclei (ccn), following klein eq. 15
  • Calculate horizontal subgrid variability, which is used in cloud fraction, relative humidity calculation, evaporation and condensation processes. Horizontal sub-grid variability is a function of cell area and land/sea mask:
    Over land:

    \[ t_{land}=dw_{land}(\frac{A_{r}}{10^{10}})^{0.25} \]


    Over ocean:

    \[ t_{ocean}=dw_{ocean}(\frac{A_{r}}{10^{10}})^{0.25} \]

    where \(A_{r}\) is cell area. \(dw_{land}=0.16\) and \(dw_{ocean}=0.10\) are base value for sub-grid variability over land and ocean. The total horizontal sub-grid variability is:

    \[ h_{var}=t_{land}\times fr_{land}+t_{ocean}\times (1-fr_{land}) \]

    \[ h_{var}=min[0.2,max(0.01,h_{var})] \]

  • Calculate relative humidity increment.
  • If requested, call neg_adj() and fix all negative water species.
  • Do loop on cloud microphysics sub time step.
  • Define air density based on hydrostatical property.
  • Call warm_rain() - time-split warm rain processes: 1st pass.
  • Sedimentation of cloud ice, snow, and graupel.
  • Call fall_speed() to calculate the fall velocity of cloud ice, snow and graupel.
  • Call sedi_heat() to calculate heat transportation during sedimentation.
  • Call warm_rain() to - time-split warm rain processes: 2nd pass
  • Calculate momentum transportation during sedimentation.
  • Update moist air mass (actually hydrostatic pressure).
  • Update cloud fraction tendency.

Definition at line 678 of file module_gfdl_cloud_microphys.F90.

References fall_speed(), icloud(), neg_adj(), sedi_heat(), terminal_fall(), and warm_rain().

Referenced by gfdl_cloud_microphys_mod_driver().

Here is the call graph for this function:
Here is the caller graph for this function: