CCPP Scientific Documentation
v5.0.0
subroutine cs_conv::cs_cumlus ( integer, intent(in)  im,
integer, intent(in)  IJSDIM,
integer, intent(in)  KMAX,
integer, intent(in)  NTR,
logical, dimension(ntr), intent(in)  otspt1,
logical, dimension(ntr), intent(in)  otspt2,
logical, intent(in)  lprnt,
integer, intent(in)  ipr,
real(r8), dimension (ijsdim, kmax ), intent(out)  GTT,
real(r8), dimension (ijsdim, kmax, ntr), intent(out)  GTQ,
real(r8), dimension (ijsdim, kmax ), intent(out)  GTU,
real(r8), dimension (ijsdim, kmax ), intent(out)  GTV,
real(r8), dimension (ijsdim, kmax ), intent(out)  CMDET,
real(r8), dimension (ijsdim, kmax ), intent(out)  GTPRP,
real(r8), dimension (ijsdim, kmax ), intent(out)  GSNWP,
real(r8), dimension (ijsdim, kmax ), intent(out)  GMFX0,
real(r8), dimension (ijsdim, kmax ), intent(out)  GMFX1,
real(r8), dimension (ijsdim ), intent(out)  CAPE,
integer, dimension (ijsdim, nctp ), intent(out)  KT,
real(r8), dimension (im, nctp), intent(inout)  CBMFX,
real(r8), dimension (ijsdim, kmax ), intent(in)  GDT,
real(r8), dimension (ijsdim, kmax, ntr), intent(in)  GDQ,
real(r8), dimension (ijsdim, kmax ), intent(in)  GDU,
real(r8), dimension (ijsdim, kmax ), intent(in)  GDV,
real(r8), dimension (ijsdim, kmax+1 ), intent(in)  GDTM,
real(r8), dimension (ijsdim, kmax ), intent(in)  GDP,
real(r8), dimension (ijsdim, kmax+1 ), intent(in)  GDPM,
real(r8), dimension (ijsdim, kmax ), intent(in)  GDZ,
real(r8), dimension (ijsdim, kmax+1 ), intent(in)  GDZM,
real(r8), dimension (ijsdim, kmax)  delp,
real(r8), dimension (ijsdim, kmax)  delpi,
real(r8), intent(in)  DELTA,
real(r8), intent(in)  DELTI,
integer, intent(in)  ISTS,
integer, intent(in)  IENS,
integer, intent(in)  mype,
real(r8), dimension(ntr), intent(in)  fscav,
real(r8), dimension(ntr), intent(in)  fswtr,
real(r8), dimension(ijsdim), intent(in)  wcbmaxm,
integer, intent(in)  nctp,
real(r8), dimension(im,kmax), intent(out)  sigma,
real(r8), dimension(im,kmax,nctp), intent(out)  vverti,
logical, intent(in)  do_aw,
logical, intent(in)  do_awdd,
logical, intent(in)  flx_form 
)
private
  • This routine works as the prognostic Arakawa-Schubert scheme if OPT_ASMODE is specified.
  • Specify OPT_NS02 to use entrainment rate of Neggers et al. (2002)
  • Specify OPT_CUMBGT to check water and energy budget.
  • Specify OPT_CUMCHK to check range of output values.

History(yy/mm/dd):

  • 08/09/19(chikira) MIROC4.1
  • 08/10/30(hiro) CMT modified
  • 08/11/11(chikira) Neggers et al. (2002)
  • 08/12/3 (chikira) downdraft detrainment modified
  • 08/12/3 (chikira) COSP output
  • 09/02/24(chikira) fix convective inhibition
  • 09/04/16(hiro) CMIP5 output (cbasep,ctopp)
  • 09/09/03(yokohata) COSP
  • 10/11/19(toshi) small bug fix
  • 14/02/07(chikira) CUMDWN bug fix, CMT modified

CSAW cs_cumlus General Algorithm

  1. Compute layer saturate moisture \(Q_i\)(GDQS) and saturate moist static energy (GDHS; see Appendix B in Chikira and Sugiyama (2010) [34])
  2. Compute tropopause height (GDZTR)
  3. Call cumbas() to compute cloud base properties
  4. Compute CAPE and CIN
  5. Initialize variables before summing over cloud types
  6. Call cumup() to compute in-cloud properties
  7. Call cumbmx() to compute cloud base mass flux
  8. Initialize eddy fluxes for cloud types
  9. Interpolate environment variables to layer interface
  10. Compute lamda for a cloud type and then updraft area fraction (sigmai) following Equations 23 and 12 of Arakawa and Wu (2013) [9] , respectively
  11. Compute tendencies based on mass flux and condensation
  12. Compute condensation, total precipitation production, frozen precipitation production, heating due to freezing, and total temperature tendency due to in-cloud microphysics
  13. Sum single cloud microphysical tendencies over all cloud types
  14. Compute flux tendencies and vertical flux divergence
  15. Call cumflx() to compute cloud mass flux and precipitation
  16. Compute net updraft mass flux for all clouds
  17. Call cumdwn() to compute cumulus downdraft and assocated melt, freeze and evaporation
  18. Call cumsbw() to compute cloud subsidence heating
  19. Compute AW tendencies of T, ql and qi
  20. Call cumfxr() for tracer mass fixer without detrainment
  21. Ensures conservation of water.

References adjustp, cpoel, cpoemelt, cpoesub, cpres, cumbas(), cumbmx(), cumdet(), cumdnr(), cumdwn(), cumflx(), cumfxr(), cumsbh(), cumsbw(), cumup(), cumupr(), elocp, esubocp, fact1, fact2, funcphys::fpvs(), gocp, gravi, half, imfxr, iti, itl, one, oneocp, and zero.

Referenced by cs_conv_run().

Here is the call graph for this function: