← Back to Documentation Home
CCPP SciDoc v8.0.0  v8.0.0
Common Community Physics Package Developed at DTC
 
Loading...
Searching...
No Matches
Grell-Freitas Deep Convection Module

This is Grell-Freitas deep convection scheme module. More...

Collaboration diagram for Grell-Freitas Deep Convection Module:

Functions/Subroutines

integer function cu_gf_deep::my_maxloc1d (a, n)
 
subroutine cu_gf_deep::cu_gf_deep_run (itf, ktf, its, ite, kts, kte, dicycle, ichoice, ipr, ccn, ccnclean, dtime, imid, kpbl, dhdt, xland, zo, forcing, t, q, z1, tn, qo, po, psur, us, vs, rho, hfx, qfx, dx, mconv, omeg, csum, cnvwt, zuo, zdo, zdm, edto, edtm, xmb_out, xmbm_in, xmbs_in, pre, outu, outv, outt, outq, outqc, kbcon, ktop, cupclw, frh_out, ierr, ierrc, nchem, fscav, chem3d, wetdpc_deep, do_smoke_transport, rand_mom, rand_vmas, rand_clos, nranflag, do_capsuppress, cap_suppress_j, k22, jmin, kdt, mc_thresh)
 Driver for the deep or congestus GF routine.
 
subroutine cu_gf_deep::fct1d3 (ktop, n, dt, z, tracr, massflx, trflx_in, dellac, g)
 Calculates tracer fluxes due to subsidence, only up-stream differencing is currently used but flux corrected transport can be turn on.
 
subroutine cu_gf_deep::rain_evap_below_cloudbase (itf, ktf, its, ite, kts, kte, ierr, kbcon, xmb, psur, xland, qo_cup, po_cup, qes_cup, pwavo, edto, pwevo, pre, outt, outq)
 Calculates rain evaporation below cloud base.
 
subroutine cu_gf_deep::cup_dd_edt (ierr, us, vs, z, ktop, kbcon, edt, p, pwav, pw, ccn, ccnclean, pwev, edtmax, edtmin, edtc, psum2, psumh, rho, aeroevap, pefc, xland1, itf, ktf, its, ite, kts, kte)
 Calculates strength of downdraft based on windshear and/or aerosol content.
 
subroutine cu_gf_deep::cup_dd_moisture (ierrc, zd, hcd, hes_cup, qcd, qes_cup, pwd, q_cup, z_cup, dd_massentr, dd_massdetr, jmin, ierr, gamma_cup, pwev, bu, qrcd, p_cup, q, he, iloop, itf, ktf, its, ite, kts, kte)
 Calcultes moisture properties of downdrafts.
 
subroutine cu_gf_deep::cup_env (z, qes, he, hes, t, q, p, z1, psur, ierr, tcrit, itest, itf, ktf, its, ite, kts, kte)
 Calculates environmental moist static energy, saturation moist static energy, heights, and saturation mixing ratio.
 
subroutine cu_gf_deep::cup_env_clev (t, qes, q, he, hes, z, p, qes_cup, q_cup, he_cup, hes_cup, z_cup, p_cup, gamma_cup, t_cup, psur, ierr, z1, itf, ktf, its, ite, kts, kte)
 Calculates environmental values on cloud levels.
 
subroutine cu_gf_deep::cup_forcing_ens_3d (closure_n, xland, aa0, aa1, xaa0, mbdt, dtime, ierr, ierr2, ierr3, xf_ens, axx, forcing, maxens3, mconv, rand_clos, p_cup, ktop, omeg, zd, zdm, k22, zu, pr_ens, edt, edtm, kbcon, ichoice, imid, ipr, itf, ktf, its, ite, kts, kte, dicycle, tau_ecmwf, aa1_bl, xf_dicycle)
 Calculates an ensemble of closures and the resulting ensemble average to determine cloud base mass-flux.
 
subroutine cu_gf_deep::cup_kbcon (ierrc, cap_inc, iloop_in, k22, kbcon, he_cup, hes_cup, hkb, ierr, kbmax, p_cup, cap_max, ztexec, zqexec, jprnt, itf, ktf, its, ite, kts, kte, z_cup, entr_rate, heo, imid)
 Calculates the level of convective cloud base.
 
subroutine cu_gf_deep::cup_maximi (array, ks, ke, maxx, ierr, itf, ktf, its, ite, kts, kte)
 Calculates the level at which the maximum value in an array occurs.
 
subroutine cu_gf_deep::cup_minimi (array, ks, kend, kt, ierr, itf, ktf, its, ite, kts, kte)
 Calculates the level at which the minimum value in an array occurs.
 
subroutine cu_gf_deep::cup_up_aa0 (aa0, z, zu, dby, gamma_cup, t_cup, kbcon, ktop, ierr, itf, ktf, its, ite, kts, kte)
 Calculates the cloud work functions for updrafts.
 
subroutine cu_gf_deep::neg_check (name, j, dt, q, outq, outt, outu, outv, outqc, pret, its, ite, kts, kte, itf, ktf, ktop)
 Checks for negative or excessive tendencies and corrects in a mass conversing way by adjusting the cloud base mass-flux.
 
subroutine cu_gf_deep::cup_output_ens_3d (xff_mid, xf_ens, ierr, dellat, dellaq, dellaqc, outtem, outq, outqc, dx, zu, pre, pw, xmb, ktop, edt, pwd, name, ierr2, ierr3, p_cup, pr_ens, maxens3, sig, closure_n, xland1, xmbm_in, xmbs_in, rrfs_factor, ichoice, imid, ipr, itf, ktf, its, ite, kts, kte, dicycle, xf_dicycle)
 This subroutine calculates final output fields including physical tendencies, precipitation, and mass-flux.
 
subroutine cu_gf_deep::cup_up_moisture (name, ierr, z_cup, qc, qrc, pw, pwav, p_cup, kbcon, ktop, dby, clw_all, xland1, q, gamma_cup, zu, qes_cup, k22, qe_cup, c0, c0t3d, zqexec, ccn, ccnclean, rho, c1d, t, autoconv, up_massentr, up_massdetr, psum, psumh, itest, itf, ktf, its, ite, kts, kte)
 Calculates moisture properties of the updraft.
 
real function cu_gf_deep::satvap (temp2)
 Calculates saturation vapor pressure.
 
subroutine cu_gf_deep::get_cloud_bc (mzp, array, x_aver, k22, add)
 Calculates the average value of a variable at the updraft originating level.
 
subroutine cu_gf_deep::rates_up_pdf (rand_vmas, ipr, name, ktop, ierr, p_cup, entr_rate_2d, hkbo, heo, heso_cup, z_cup, xland, kstabi, k22, kbcon, its, ite, itf, kts, kte, ktf, zuo, kpbl, ktopdby, csum, pmin_lev)
 Driver for the normalized mass-flux routine.
 
subroutine cu_gf_deep::get_zu_zd_pdf_fim (kklev, p, rand_vmas, zubeg, ipr, xland, zuh2, draft, ierr, kb, kt, zu, kts, kte, ktf, max_mass, kpbli, csum, pmin_lev)
 Calculates a normalized mass-flux profile for updrafts and downdrafts using the beta function.
 
subroutine cu_gf_deep::cup_up_aa1bl (aa0, t, tn, q, qo, dtime, z_cup, zu, dby, gamma_cup, t_cup, kbcon, ktop, ierr, itf, ktf, its, ite, kts, kte)
 Calculates the cloud work function based on boundary layer forcing.
 
subroutine cu_gf_deep::get_inversion_layers (ierr, p_cup, t_cup, z_cup, qo_cup, qeso_cup, k_inv_layers, kstart, kend, dtempdz, itf, ktf, its, ite, kts, kte)
 Finds temperature inversions using the first and second derivative of temperature.
 
subroutine cu_gf_deep::get_lateral_massflux (itf, ktf, its, ite, kts, kte, ierr, ktop, zo_cup, zuo, cd, entr_rate_2d, up_massentro, up_massdetro, up_massentr, up_massdetr, draft, kbcon, k22, up_massentru, up_massdetru, lambau)
 Calculates mass entranment and detrainment rates.
 
subroutine cu_gf_deep::get_partition_liq_ice (ierr, tn, po_cup, p_liq_ice, melting_layer, itf, ktf, its, ite, kts, kte, cumulus)
 Calculates the partition between cloud water and cloud ice.
 
subroutine cu_gf_deep::get_melting_profile (ierr, tn_cup, po_cup, p_liq_ice, melting_layer, qrco, pwo, edto, pwdo, melting, itf, ktf, its, ite, kts, kte, cumulus)
 Calculates the melting profile.
 
subroutine cu_gf_deep::get_cloud_top (name, ktop, ierr, p_cup, entr_rate_2d, hkbo, heo, heso_cup, z_cup, kstabi, k22, kbcon, its, ite, itf, kts, kte, ktf, zuo, kpbl, klcl, hcot)
 Calculates the cloud top height.
 

Detailed Description

This is Grell-Freitas deep convection scheme module.

Function/Subroutine Documentation

◆ cu_gf_deep_run()

subroutine cu_gf_deep::cu_gf_deep_run ( integer, intent(in)  itf,
integer, intent(in)  ktf,
integer, intent(in)  its,
integer, intent(in)  ite,
integer, intent(in)  kts,
integer, intent(in)  kte,
integer, intent(in)  dicycle,
integer, intent(in)  ichoice,
integer, intent(in)  ipr,
real(kind=kind_phys), dimension (its:ite), intent(inout)  ccn,
real(kind=kind_phys), intent(in)  ccnclean,
real(kind=kind_phys), intent(in)  dtime,
integer, intent(in)  imid,
integer, dimension (its:ite), intent(in)  kpbl,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  dhdt,
real(kind=kind_phys), dimension (its:ite), intent(in)  xland,
real(kind=kind_phys), dimension (its:ite,kts:kte)  zo,
real(kind=kind_phys), dimension(its:ite,10), intent(inout)  forcing,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  t,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(inout)  q,
real(kind=kind_phys), dimension (its:ite), intent(in)  z1,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  tn,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(inout)  qo,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  po,
real(kind=kind_phys), dimension (its:ite), intent(in)  psur,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  us,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  vs,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  rho,
real(kind=kind_phys), dimension (its:ite), intent(in)  hfx,
real(kind=kind_phys), dimension (its:ite), intent(in)  qfx,
real(kind=kind_phys), dimension (its:ite), intent(in)  dx,
real(kind=kind_phys), dimension (its:ite), intent(inout)  mconv,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(inout)  omeg,
integer, dimension (its:ite), intent(in), optional  csum,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(inout)  cnvwt,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(inout)  zuo,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(inout)  zdo,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(inout)  zdm,
real(kind=kind_phys), dimension (its:ite)  edto,
real(kind=kind_phys), dimension (its:ite)  edtm,
real(kind=kind_phys), dimension (its:ite), intent(inout)  xmb_out,
real(kind=kind_phys), dimension (its:ite), intent(in)  xmbm_in,
real(kind=kind_phys), dimension (its:ite), intent(in)  xmbs_in,
real(kind=kind_phys), dimension (its:ite), intent(inout)  pre,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(inout)  outu,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(inout)  outv,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(inout)  outt,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(inout)  outq,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(inout)  outqc,
integer, dimension (its:ite), intent(inout)  kbcon,
integer, dimension (its:ite), intent(inout)  ktop,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(inout)  cupclw,
real(kind=kind_phys), dimension (its:ite), intent(out)  frh_out,
integer, dimension (its:ite), intent(inout)  ierr,
character*50, dimension(its:ite)  ierrc,
integer, intent(in)  nchem,
real(kind=kind_phys), dimension(:), intent(in)  fscav,
real(kind=kind_phys), dimension (:,:,:), intent(inout), optional  chem3d,
real(kind=kind_phys), dimension (:,:), intent(out), optional  wetdpc_deep,
logical, intent(in)  do_smoke_transport,
real(kind=kind_phys), dimension (its:ite), intent(in)  rand_mom,
real(kind=kind_phys), dimension (its:ite), intent(in)  rand_vmas,
real(kind=kind_phys), dimension (its:ite,4), intent(in)  rand_clos,
integer, intent(in)  nranflag,
integer, intent(in)  do_capsuppress,
real(kind=kind_phys), dimension(:), intent(in), optional  cap_suppress_j,
integer, dimension (its:ite)  k22,
integer, dimension (its:ite)  jmin,
integer, intent(in)  kdt,
real(kind=kind_phys), dimension (its:ite), intent(in)  mc_thresh 
)

Driver for the deep or congestus GF routine.

Grell-Freitas Deep Convection General Algorithm

  • Call cup_env() to calculate moist static energy, heights, qes
  • Call cup_env_clev() to calculate environmental values on cloud levels
  • Compute the level where detrainment for downdraft starts (kdet)
  • Determine level with highest moist static energy content (k22)
  • call get_cloud_bc() and cup_kbcon() to determine the level of convective cloud base (kbcon)
  • Call cup_minimi() to increase detrainment in stable layers
  • Call get_cloud_bc() to initial conditions for updraft
  • Call get_inversion_layer() to get inversion layers for mid level cloud tops
  • Call rates_up_pdf() to get normalized mass flux, entrainment and detrainmentrates for updraft
  • Call get_lateral_massflux() to calculate mass entrainment and detrainment
  • Call cup_minimi() to calculate downdraft originating level (jmin)
  • Compute downdraft moist static energy + moisture budget
  • Call cup_up_aa0() to calculate workfunctions for updrafts
  • Call cup_env() to calculate moist static energy, heights, qes, ... only by bl tendencies
  • Call cup_env_clev() to calculate environmental values on cloud levels only by bl tendencies
  • Call cup_up_aa1bl() to calculate ECMWF version diurnal cycle closure
  • Call cup_ip_aa0() to calculate workfunctions for updrafts
  • Call cup_dd_edt() to determine downdraft strength in terms of windshear
  • Call cup_env() to calculate moist static energy, heights, qes
  • Call cup_env_clev() to calculate environmental values on cloud levels
  • Call cup_up_aa0() to calculate workfunctions for updraft
  • atmospheric composition tracers

Determine whether to perform aerosol transport

  • Store aerosol concentrations if present
  • Since kinetic energy is being dissipated, add heating accordingly (from ecmwf)

Definition at line 78 of file cu_gf_deep.F90.

References cu_gf_deep::cup_dd_edt(), cu_gf_deep::cup_dd_moisture(), cu_gf_deep::cup_env(), cu_gf_deep::cup_env_clev(), cu_gf_deep::cup_forcing_ens_3d(), cu_gf_deep::cup_kbcon(), cu_gf_deep::cup_maximi(), cu_gf_deep::cup_minimi(), cu_gf_deep::cup_output_ens_3d(), cu_gf_deep::cup_up_aa0(), cu_gf_deep::cup_up_aa1bl(), cu_gf_deep::cup_up_moisture(), cu_gf_deep::fct1d3(), cu_gf_deep::get_cloud_bc(), cu_gf_deep::get_inversion_layers(), cu_gf_deep::get_lateral_massflux(), cu_gf_deep::get_melting_profile(), cu_gf_deep::get_partition_liq_ice(), cu_gf_deep::get_zu_zd_pdf_fim(), cu_gf_deep::rain_evap_below_cloudbase(), and cu_gf_deep::rates_up_pdf().

Referenced by cu_gf_driver::cu_gf_driver_run().

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

◆ cup_dd_edt()

subroutine cu_gf_deep::cup_dd_edt ( integer, dimension (its:ite), intent(inout)  ierr,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  us,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  vs,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  z,
integer, dimension (its:ite), intent(in)  ktop,
integer, dimension (its:ite), intent(in)  kbcon,
real(kind=kind_phys), dimension (its:ite), intent(out)  edt,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  p,
real(kind=kind_phys), dimension (its:ite), intent(in)  pwav,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  pw,
real(kind=kind_phys), dimension (its:ite), intent(inout)  ccn,
real(kind=kind_phys), intent(in)  ccnclean,
real(kind=kind_phys), dimension (its:ite), intent(in)  pwev,
real(kind=kind_phys), dimension (its:ite), intent(in)  edtmax,
real(kind=kind_phys), dimension (its:ite), intent(in)  edtmin,
real(kind=kind_phys), dimension (its:ite,1), intent(out)  edtc,
real(kind=kind_phys), dimension (its:ite), intent(in)  psum2,
real(kind=kind_phys), dimension (its:ite), intent(in)  psumh,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  rho,
integer, intent(in)  aeroevap,
real(kind=kind_phys), dimension (its:ite), intent(out)  pefc,
integer, dimension (its:ite), intent(in)  xland1,
integer, intent(in)  itf,
integer, intent(in)  ktf,
integer, intent(in)  its,
integer, intent(in)  ite,
integer, intent(in)  kts,
integer, intent(in)  kte 
)

Calculates strength of downdraft based on windshear and/or aerosol content.

Definition at line 2634 of file cu_gf_deep.F90.

Referenced by cu_gf_deep::cu_gf_deep_run().

Here is the caller graph for this function:

◆ cup_dd_moisture()

subroutine cu_gf_deep::cup_dd_moisture ( character*50, dimension(its:ite)  ierrc,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  zd,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  hcd,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  hes_cup,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(out)  qcd,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  qes_cup,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(out)  pwd,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  q_cup,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  z_cup,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  dd_massentr,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  dd_massdetr,
integer, dimension (its:ite), intent(in)  jmin,
integer, dimension (its:ite), intent(inout)  ierr,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  gamma_cup,
real(kind=kind_phys), dimension (its:ite), intent(out)  pwev,
real(kind=kind_phys), dimension (its:ite), intent(out)  bu,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(out)  qrcd,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  p_cup,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  q,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  he,
integer, intent(in)  iloop,
integer, intent(in)  itf,
integer, intent(in)  ktf,
integer, intent(in)  its,
integer, intent(in)  ite,
integer, intent(in)  kts,
integer, intent(in)  kte 
)

Calcultes moisture properties of downdrafts.

Definition at line 2779 of file cu_gf_deep.F90.

Referenced by cu_gf_deep::cu_gf_deep_run().

Here is the caller graph for this function:

◆ cup_env()

subroutine cu_gf_deep::cup_env ( real(kind=kind_phys), dimension (its:ite,kts:kte), intent(inout)  z,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(out)  qes,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(inout)  he,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(out)  hes,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  t,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  q,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  p,
real(kind=kind_phys), dimension (its:ite), intent(in)  z1,
real(kind=kind_phys), dimension (its:ite), intent(in)  psur,
integer, dimension (its:ite), intent(inout)  ierr,
real(kind=kind_phys)  tcrit,
integer, intent(in)  itest,
integer, intent(in)  itf,
integer, intent(in)  ktf,
integer, intent(in)  its,
integer, intent(in)  ite,
integer, intent(in)  kts,
integer, intent(in)  kte 
)

Calculates environmental moist static energy, saturation moist static energy, heights, and saturation mixing ratio.

Definition at line 2936 of file cu_gf_deep.F90.

References cu_gf_deep::satvap().

Referenced by cu_gf_deep::cu_gf_deep_run(), and cu_gf_sh::cu_gf_sh_run().

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

◆ cup_env_clev()

subroutine cu_gf_deep::cup_env_clev ( real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  t,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  qes,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  q,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  he,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  hes,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  z,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  p,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(out)  qes_cup,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(out)  q_cup,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(out)  he_cup,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(out)  hes_cup,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(out)  z_cup,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(out)  p_cup,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(out)  gamma_cup,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(out)  t_cup,
real(kind=kind_phys), dimension (its:ite), intent(in)  psur,
integer, dimension (its:ite), intent(inout)  ierr,
real(kind=kind_phys), dimension (its:ite), intent(in)  z1,
integer, intent(in)  itf,
integer, intent(in)  ktf,
integer, intent(in)  its,
integer, intent(in)  ite,
integer, intent(in)  kts,
integer, intent(in)  kte 
)

Calculates environmental values on cloud levels.

Parameters
tenvironmental temperature
qesenvironmental saturation mixing ratio
qenvironmental mixing ratio
heenvironmental moist static energy
hesenvironmental saturation moist static energy
zenvironmental heights
penvironmental pressure
qes_cupenvironmental saturation mixing ratio on cloud levels
q_cupenvironmental mixing ratio on cloud levels
he_cupenvironmental moist static energy on cloud levels
hes_cupenvironmental saturation moist static energy on cloud levels
z_cupenvironmental heights on cloud levels
p_cupenvironmental pressure on cloud levels
gamma_cupgamma on cloud levels
t_cupenvironmental temperature on cloud levels
psursurface pressure
ierrerror value, maybe modified in this routine
z1terrain elevation
itf,ktf,its,ite,kts,ktehorizontal and vertical dimension

Definition at line 3090 of file cu_gf_deep.F90.

Referenced by cu_gf_deep::cu_gf_deep_run(), and cu_gf_sh::cu_gf_sh_run().

Here is the caller graph for this function:

◆ cup_forcing_ens_3d()

subroutine cu_gf_deep::cup_forcing_ens_3d ( real(kind=kind_phys), dimension (its:ite), intent(inout)  closure_n,
integer, dimension (its:ite), intent(in)  xland,
real(kind=kind_phys), dimension (its:ite), intent(inout)  aa0,
real(kind=kind_phys), dimension (its:ite), intent(in)  aa1,
real(kind=kind_phys), dimension (its:ite,1), intent(in)  xaa0,
real(kind=kind_phys), intent(in)  mbdt,
real(kind=kind_phys), intent(in)  dtime,
integer, dimension (its:ite), intent(inout)  ierr,
integer, dimension (its:ite), intent(inout)  ierr2,
integer, dimension (its:ite), intent(inout)  ierr3,
real(kind=kind_phys), dimension (its:ite,1:maxens3), intent(inout)  xf_ens,
real(kind=kind_phys), dimension (its:ite), intent(in)  axx,
real(kind=kind_phys), dimension (its:ite,10), intent(inout)  forcing,
integer, intent(in)  maxens3,
real(kind=kind_phys), dimension (its:ite), intent(in)  mconv,
real(kind=kind_phys), dimension (its:ite,4), intent(in)  rand_clos,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  p_cup,
integer, dimension (its:ite), intent(inout)  ktop,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  omeg,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  zd,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  zdm,
integer, dimension (its:ite), intent(inout)  k22,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  zu,
real(kind=kind_phys), dimension (its:ite,1:maxens3), intent(inout)  pr_ens,
real(kind=kind_phys), dimension (its:ite), intent(in)  edt,
real(kind=kind_phys), dimension (its:ite), intent(in)  edtm,
integer, dimension (its:ite), intent(inout)  kbcon,
integer, intent(in)  ichoice,
integer, intent(in)  imid,
integer, intent(in)  ipr,
integer, intent(in)  itf,
integer, intent(in)  ktf,
integer, intent(in)  its,
integer, intent(in)  ite,
integer, intent(in)  kts,
integer, intent(in)  kte,
integer, intent(in)  dicycle,
real(kind=kind_phys), dimension (its:ite), intent(in)  tau_ecmwf,
real(kind=kind_phys), dimension (its:ite), intent(in)  aa1_bl,
real(kind=kind_phys), dimension (its:ite), intent(inout)  xf_dicycle 
)

Calculates an ensemble of closures and the resulting ensemble average to determine cloud base mass-flux.

Definition at line 3177 of file cu_gf_deep.F90.

Referenced by cu_gf_deep::cu_gf_deep_run().

Here is the caller graph for this function:

◆ cup_kbcon()

subroutine cu_gf_deep::cup_kbcon ( character*50, dimension(its:ite)  ierrc,
real(kind=kind_phys), dimension (its:ite), intent(in)  cap_inc,
integer, intent(in)  iloop_in,
integer, dimension (its:ite), intent(inout)  k22,
integer, dimension (its:ite), intent(inout)  kbcon,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  he_cup,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  hes_cup,
real(kind=kind_phys), dimension (its:ite), intent(inout)  hkb,
integer, dimension (its:ite), intent(inout)  ierr,
integer, dimension (its:ite), intent(in)  kbmax,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  p_cup,
real(kind=kind_phys), dimension (its:ite), intent(in)  cap_max,
real(kind=kind_phys), dimension (its:ite), intent(in)  ztexec,
real(kind=kind_phys), dimension (its:ite), intent(in)  zqexec,
integer, intent(in)  jprnt,
integer, intent(in)  itf,
integer, intent(in)  ktf,
integer, intent(in)  its,
integer, intent(in)  ite,
integer, intent(in)  kts,
integer, intent(in)  kte,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  z_cup,
real(kind=kind_phys), dimension (its:ite), intent(in)  entr_rate,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  heo,
integer, intent(in)  imid 
)

Calculates the level of convective cloud base.

Definition at line 3579 of file cu_gf_deep.F90.

References cu_gf_deep::get_cloud_bc().

Referenced by cu_gf_deep::cu_gf_deep_run(), and cu_gf_sh::cu_gf_sh_run().

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

◆ cup_maximi()

subroutine cu_gf_deep::cup_maximi ( real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  array,
integer, intent(in)  ks,
integer, dimension (its:ite), intent(in)  ke,
integer, dimension (its:ite), intent(out)  maxx,
integer, dimension (its:ite), intent(in)  ierr,
integer, intent(in)  itf,
integer, intent(in)  ktf,
integer, intent(in)  its,
integer, intent(in)  ite,
integer, intent(in)  kts,
integer, intent(in)  kte 
)

Calculates the level at which the maximum value in an array occurs.

Definition at line 3738 of file cu_gf_deep.F90.

Referenced by cu_gf_deep::cu_gf_deep_run().

Here is the caller graph for this function:

◆ cup_minimi()

subroutine cu_gf_deep::cup_minimi ( real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  array,
integer, dimension (its:ite), intent(in)  ks,
integer, dimension (its:ite), intent(in)  kend,
integer, dimension (its:ite), intent(out)  kt,
integer, dimension (its:ite), intent(in)  ierr,
integer, intent(in)  itf,
integer, intent(in)  ktf,
integer, intent(in)  its,
integer, intent(in)  ite,
integer, intent(in)  kts,
integer, intent(in)  kte 
)

Calculates the level at which the minimum value in an array occurs.

Definition at line 3801 of file cu_gf_deep.F90.

Referenced by cu_gf_deep::cu_gf_deep_run(), and cu_gf_sh::cu_gf_sh_run().

Here is the caller graph for this function:

◆ cup_output_ens_3d()

subroutine cu_gf_deep::cup_output_ens_3d ( real(kind=kind_phys), dimension (its:ite,2), intent(in)  xff_mid,
real(kind=kind_phys), dimension (its:ite,1:maxens3), intent(inout)  xf_ens,
integer, dimension (its:ite), intent(inout)  ierr,
real(kind=kind_phys), dimension (its:ite,kts:kte,1), intent(in)  dellat,
real(kind=kind_phys), dimension (its:ite,kts:kte,1), intent(in)  dellaq,
real(kind=kind_phys), dimension (its:ite,kts:kte,1), intent(in)  dellaqc,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(inout)  outtem,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(inout)  outq,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(inout)  outqc,
real(kind=kind_phys), dimension (its:ite), intent(in)  dx,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  zu,
real(kind=kind_phys), dimension (its:ite), intent(inout)  pre,
real(kind=kind_phys), dimension (its:ite,kts:kte,1), intent(in)  pw,
real(kind=kind_phys), dimension (its:ite), intent(inout)  xmb,
integer, dimension (its:ite), intent(in)  ktop,
real(kind=kind_phys), dimension (its:ite), intent(in)  edt,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  pwd,
character *(*), intent(in)  name,
integer, dimension (its:ite), intent(inout)  ierr2,
integer, dimension (its:ite), intent(inout)  ierr3,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  p_cup,
real(kind=kind_phys), dimension (its:ite,1:maxens3), intent(inout)  pr_ens,
integer, intent(in)  maxens3,
real(kind=kind_phys), dimension (its:ite), intent(in)  sig,
real(kind=kind_phys), dimension (its:ite), intent(inout)  closure_n,
integer, dimension (its:ite), intent(in)  xland1,
real(kind=kind_phys), dimension (its:ite), intent(in)  xmbm_in,
real(kind=kind_phys), dimension (its:ite), intent(in)  xmbs_in,
real(kind=kind_phys), dimension (its:ite), intent(in)  rrfs_factor,
integer, intent(in)  ichoice,
integer, intent(in)  imid,
integer, intent(in)  ipr,
integer, intent(in)  itf,
integer, intent(in)  ktf,
integer, intent(in)  its,
integer, intent(in)  ite,
integer, intent(in)  kts,
integer, intent(in)  kte,
integer, intent(in)  dicycle,
real(kind=kind_phys), dimension (its:ite), intent(in)  xf_dicycle 
)

This subroutine calculates final output fields including physical tendencies, precipitation, and mass-flux.

Definition at line 4054 of file cu_gf_deep.F90.

Referenced by cu_gf_deep::cu_gf_deep_run().

Here is the caller graph for this function:

◆ cup_up_aa0()

subroutine cu_gf_deep::cup_up_aa0 ( real(kind=kind_phys), dimension (its:ite), intent(out)  aa0,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  z,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  zu,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  dby,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  gamma_cup,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  t_cup,
integer, dimension (its:ite), intent(in)  kbcon,
integer, dimension (its:ite), intent(in)  ktop,
integer, dimension (its:ite), intent(inout)  ierr,
integer, intent(in)  itf,
integer, intent(in)  ktf,
integer, intent(in)  its,
integer, intent(in)  ite,
integer, intent(in)  kts,
integer, intent(in)  kte 
)

Calculates the cloud work functions for updrafts.

Definition at line 3859 of file cu_gf_deep.F90.

Referenced by cu_gf_deep::cu_gf_deep_run(), and cu_gf_sh::cu_gf_sh_run().

Here is the caller graph for this function:

◆ cup_up_aa1bl()

subroutine cu_gf_deep::cup_up_aa1bl ( real(kind=kind_phys), dimension (its:ite), intent(out)  aa0,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  t,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  tn,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  q,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  qo,
real(kind=kind_phys), intent(in)  dtime,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  z_cup,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  zu,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  dby,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  gamma_cup,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  t_cup,
integer, dimension (its:ite), intent(in)  kbcon,
integer, dimension (its:ite), intent(in)  ktop,
integer, dimension (its:ite), intent(inout)  ierr,
integer, intent(in)  itf,
integer, intent(in)  ktf,
integer, intent(in)  its,
integer, intent(in)  ite,
integer, intent(in)  kts,
integer, intent(in)  kte 
)

Calculates the cloud work function based on boundary layer forcing.

Definition at line 5091 of file cu_gf_deep.F90.

Referenced by cu_gf_deep::cu_gf_deep_run().

Here is the caller graph for this function:

◆ cup_up_moisture()

subroutine cu_gf_deep::cup_up_moisture ( character *(*), intent(in)  name,
integer, dimension (its:ite), intent(inout)  ierr,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  z_cup,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(out)  qc,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(out)  qrc,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(out)  pw,
real(kind=kind_phys), dimension (its:ite), intent(out)  pwav,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  p_cup,
integer, dimension (its:ite), intent(in)  kbcon,
integer, dimension (its:ite), intent(in)  ktop,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  dby,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(out)  clw_all,
integer, dimension (its:ite), intent(in)  xland1,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  q,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  gamma_cup,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  zu,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  qes_cup,
integer, dimension (its:ite), intent(in)  k22,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  qe_cup,
real(kind=kind_phys), dimension (its:ite), intent(in)  c0,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(out)  c0t3d,
real(kind=kind_phys), dimension (its:ite), intent(in)  zqexec,
real(kind=kind_phys), dimension (its:ite), intent(in)  ccn,
real(kind=kind_phys), intent(in)  ccnclean,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  rho,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(inout)  c1d,
real(kind=kind_phys), dimension (its:ite,kts:kte)  t,
integer, intent(in)  autoconv,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  up_massentr,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  up_massdetr,
real(kind=kind_phys), dimension (its:ite), intent(out)  psum,
real(kind=kind_phys), dimension (its:ite), intent(out)  psumh,
integer, intent(in)  itest,
integer, intent(in)  itf,
integer, intent(in)  ktf,
integer, intent(in)  its,
integer, intent(in)  ite,
integer, intent(in)  kts,
integer, intent(in)  kte 
)

Calculates moisture properties of the updraft.

Definition at line 4271 of file cu_gf_deep.F90.

References cu_gf_deep::get_cloud_bc().

Referenced by cu_gf_deep::cu_gf_deep_run().

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

◆ fct1d3()

subroutine cu_gf_deep::fct1d3 ( integer, intent(in)  ktop,
integer, intent(in)  n,
real(kind=kind_phys), intent(in)  dt,
real(kind=kind_phys), dimension(n+0), intent(in)  z,
real(kind=kind_phys), dimension(n), intent(in)  tracr,
real(kind=kind_phys), dimension(n+0), intent(in)  massflx,
real(kind=kind_phys), dimension(n+0), intent(in)  trflx_in,
real(kind=kind_phys), dimension(n+0), intent(out)  dellac,
real(kind=kind_phys), intent(in)  g 
)

Calculates tracer fluxes due to subsidence, only up-stream differencing is currently used but flux corrected transport can be turn on.

Definition at line 2359 of file cu_gf_deep.F90.

Referenced by cu_gf_deep::cu_gf_deep_run(), and cu_gf_driver::cu_gf_driver_run().

Here is the caller graph for this function:

◆ get_cloud_bc()

subroutine cu_gf_deep::get_cloud_bc ( integer, intent(in)  mzp,
real(kind=kind_phys), dimension(:), intent(in)  array,
real(kind=kind_phys), intent(out)  x_aver,
integer, intent(in)  k22,
real(kind=kind_phys), intent(in)  add 
)

Calculates the average value of a variable at the updraft originating level.

Definition at line 4675 of file cu_gf_deep.F90.

Referenced by cu_gf_deep::cu_gf_deep_run(), cu_gf_sh::cu_gf_sh_run(), cu_gf_deep::cup_kbcon(), and cu_gf_deep::cup_up_moisture().

Here is the caller graph for this function:

◆ get_cloud_top()

subroutine cu_gf_deep::get_cloud_top ( character *(*), intent(in)  name,
integer, dimension (its:ite), intent(inout)  ktop,
integer, dimension (its:ite), intent(inout)  ierr,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  p_cup,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(inout)  entr_rate_2d,
real(kind=kind_phys), dimension (its:ite), intent(in)  hkbo,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  heo,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  heso_cup,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  z_cup,
integer, dimension (its:ite), intent(in)  kstabi,
integer, dimension (its:ite), intent(in)  k22,
integer, dimension (its:ite), intent(in)  kbcon,
integer, intent(in)  its,
integer, intent(in)  ite,
integer, intent(in)  itf,
integer, intent(in)  kts,
integer, intent(in)  kte,
integer, intent(in)  ktf,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(inout)  zuo,
integer, dimension (its:ite), intent(in)  kpbl,
integer, dimension (its:ite), intent(in)  klcl,
real(kind=kind_phys), dimension (its:ite,kts:kte)  hcot 
)

Calculates the cloud top height.

Definition at line 5670 of file cu_gf_deep.F90.

◆ get_inversion_layers()

subroutine cu_gf_deep::get_inversion_layers ( integer, dimension (its:ite), intent(in)  ierr,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  p_cup,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  t_cup,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  z_cup,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  qo_cup,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  qeso_cup,
integer, dimension (its:ite,kts:kte), intent(out)  k_inv_layers,
integer, dimension (its:ite), intent(in)  kstart,
integer, dimension (its:ite), intent(in)  kend,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(out)  dtempdz,
integer, intent(in)  itf,
integer, intent(in)  ktf,
integer, intent(in)  its,
integer, intent(in)  ite,
integer, intent(in)  kts,
integer, intent(in)  kte 
)

Finds temperature inversions using the first and second derivative of temperature.

Definition at line 5161 of file cu_gf_deep.F90.

Referenced by cu_gf_deep::cu_gf_deep_run(), and cu_gf_sh::cu_gf_sh_run().

Here is the caller graph for this function:

◆ get_lateral_massflux()

subroutine cu_gf_deep::get_lateral_massflux ( integer, intent(in)  itf,
integer, intent(in)  ktf,
integer, intent(in)  its,
integer, intent(in)  ite,
integer, intent(in)  kts,
integer, intent(in)  kte,
integer, dimension(its:ite), intent(in)  ierr,
integer, dimension(its:ite), intent(in)  ktop,
real(kind=kind_phys), dimension(its:ite,kts:kte), intent(in)  zo_cup,
real(kind=kind_phys), dimension(its:ite,kts:kte), intent(in)  zuo,
real(kind=kind_phys), dimension(its:ite,kts:kte), intent(inout)  cd,
real(kind=kind_phys), dimension(its:ite,kts:kte), intent(inout)  entr_rate_2d,
real(kind=kind_phys), dimension(its:ite,kts:kte), intent(out)  up_massentro,
real(kind=kind_phys), dimension(its:ite,kts:kte), intent(out)  up_massdetro,
real(kind=kind_phys), dimension(its:ite,kts:kte), intent(out)  up_massentr,
real(kind=kind_phys), dimension(its:ite,kts:kte), intent(out)  up_massdetr,
integer, intent(in)  draft,
integer, dimension(its:ite), intent(in)  kbcon,
integer, dimension(its:ite), intent(in)  k22,
real(kind=kind_phys), dimension(its:ite,kts:kte), intent(out), optional  up_massentru,
real(kind=kind_phys), dimension(its:ite,kts:kte), intent(out), optional  up_massdetru,
real(kind=kind_phys), dimension(its:ite), intent(inout), optional  lambau 
)

Calculates mass entranment and detrainment rates.

Definition at line 5359 of file cu_gf_deep.F90.

Referenced by cu_gf_deep::cu_gf_deep_run(), and cu_gf_sh::cu_gf_sh_run().

Here is the caller graph for this function:

◆ get_melting_profile()

subroutine cu_gf_deep::get_melting_profile ( integer, dimension(its:ite), intent(in)  ierr,
real(kind=kind_phys), dimension(its:ite,kts:kte), intent(in)  tn_cup,
real(kind=kind_phys), dimension(its:ite,kts:kte), intent(in)  po_cup,
real(kind=kind_phys), dimension(its:ite,kts:kte), intent(in)  p_liq_ice,
real(kind=kind_phys), dimension(its:ite,kts:kte), intent(in)  melting_layer,
real(kind=kind_phys), dimension(its:ite,kts:kte), intent(in)  qrco,
real(kind=kind_phys), dimension(its:ite,kts:kte), intent(in)  pwo,
real(kind=kind_phys), dimension(its:ite), intent(in)  edto,
real(kind=kind_phys), dimension(its:ite,kts:kte), intent(in)  pwdo,
real(kind=kind_phys), dimension(its:ite,kts:kte), intent(inout)  melting,
integer, intent(in)  itf,
integer, intent(in)  ktf,
integer, intent(in)  its,
integer, intent(in)  ite,
integer, intent(in)  kts,
integer, intent(in)  kte,
character *(*), intent(in)  cumulus 
)

Calculates the melting profile.

Definition at line 5592 of file cu_gf_deep.F90.

Referenced by cu_gf_deep::cu_gf_deep_run().

Here is the caller graph for this function:

◆ get_partition_liq_ice()

subroutine cu_gf_deep::get_partition_liq_ice ( integer, dimension(its:ite), intent(in)  ierr,
real(kind=kind_phys), dimension(its:ite,kts:kte), intent(in)  tn,
real(kind=kind_phys), dimension(its:ite,kts:kte), intent(in)  po_cup,
real(kind=kind_phys), dimension(its:ite,kts:kte), intent(inout)  p_liq_ice,
real(kind=kind_phys), dimension(its:ite,kts:kte), intent(inout)  melting_layer,
integer, intent(in)  itf,
integer, intent(in)  ktf,
integer, intent(in)  its,
integer, intent(in)  ite,
integer, intent(in)  kts,
integer, intent(in)  kte,
character *(*), intent(in)  cumulus 
)

Calculates the partition between cloud water and cloud ice.

Definition at line 5491 of file cu_gf_deep.F90.

Referenced by cu_gf_deep::cu_gf_deep_run().

Here is the caller graph for this function:

◆ get_zu_zd_pdf_fim()

subroutine cu_gf_deep::get_zu_zd_pdf_fim ( integer, intent(in)  kklev,
real(kind=kind_phys), dimension(kts:kte), intent(in)  p,
real(kind=kind_phys)  rand_vmas,
real(kind=kind_phys), intent(in)  zubeg,
integer, intent(in)  ipr,
integer, intent(in)  xland,
real(kind=kind_phys), dimension(1:40)  zuh2,
integer, intent(in)  draft,
integer, intent(inout)  ierr,
integer, intent(in)  kb,
integer, intent(in)  kt,
real(kind=kind_phys), dimension(kts:kte), intent(inout)  zu,
integer, intent(in)  kts,
integer, intent(in)  kte,
integer, intent(in)  ktf,
real(kind=kind_phys), intent(in)  max_mass,
integer, intent(in)  kpbli,
integer, intent(in)  csum,
integer, intent(in)  pmin_lev 
)

Calculates a normalized mass-flux profile for updrafts and downdrafts using the beta function.

Definition at line 4829 of file cu_gf_deep.F90.

Referenced by cu_gf_deep::cu_gf_deep_run(), and cu_gf_deep::rates_up_pdf().

Here is the caller graph for this function:

◆ my_maxloc1d()

integer function cu_gf_deep::my_maxloc1d ( real(kind_phys), dimension(:), intent(in)  a,
integer, intent(in)  n 
)

Definition at line 55 of file cu_gf_deep.F90.

◆ neg_check()

subroutine cu_gf_deep::neg_check ( character *(*), intent(in)  name,
integer, intent(in)  j,
real(kind=kind_phys), intent(in)  dt,
real(kind=kind_phys), dimension (its:ite,kts:kte ), intent(inout)  q,
real(kind=kind_phys), dimension (its:ite,kts:kte ), intent(inout)  outq,
real(kind=kind_phys), dimension (its:ite,kts:kte ), intent(inout)  outt,
real(kind=kind_phys), dimension (its:ite,kts:kte ), intent(inout)  outu,
real(kind=kind_phys), dimension (its:ite,kts:kte ), intent(inout)  outv,
real(kind=kind_phys), dimension (its:ite,kts:kte ), intent(inout)  outqc,
real(kind=kind_phys), dimension (its:ite ), intent(inout)  pret,
integer, intent(in)  its,
integer, intent(in)  ite,
integer, intent(in)  kts,
integer, intent(in)  kte,
integer, intent(in)  itf,
integer, intent(in)  ktf,
integer, dimension (its:ite ), intent(in)  ktop 
)

Checks for negative or excessive tendencies and corrects in a mass conversing way by adjusting the cloud base mass-flux.

Definition at line 3938 of file cu_gf_deep.F90.

Referenced by cu_gf_driver::cu_gf_driver_run().

Here is the caller graph for this function:

◆ rain_evap_below_cloudbase()

subroutine cu_gf_deep::rain_evap_below_cloudbase ( integer, intent(in)  itf,
integer, intent(in)  ktf,
integer, intent(in)  its,
integer, intent(in)  ite,
integer, intent(in)  kts,
integer, intent(in)  kte,
integer, dimension(its:ite), intent(in)  ierr,
integer, dimension(its:ite), intent(in)  kbcon,
real(kind=kind_phys), dimension(its:ite), intent(in)  xmb,
real(kind=kind_phys), dimension(its:ite), intent(in)  psur,
real(kind=kind_phys), dimension(its:ite), intent(in)  xland,
real(kind=kind_phys), dimension(its:ite,kts:kte), intent(in)  qo_cup,
real(kind=kind_phys), dimension(its:ite,kts:kte), intent(in)  po_cup,
real(kind=kind_phys), dimension(its:ite,kts:kte), intent(in)  qes_cup,
real(kind=kind_phys), dimension(its:ite), intent(in)  pwavo,
real(kind=kind_phys), dimension(its:ite), intent(in)  edto,
real(kind=kind_phys), dimension(its:ite), intent(in)  pwevo,
real(kind=kind_phys), dimension(its:ite), intent(inout)  pre,
real(kind=kind_phys), dimension(its:ite,kts:kte), intent(inout)  outt,
real(kind=kind_phys), dimension(its:ite,kts:kte), intent(inout)  outq 
)

Calculates rain evaporation below cloud base.

Definition at line 2543 of file cu_gf_deep.F90.

Referenced by cu_gf_deep::cu_gf_deep_run().

Here is the caller graph for this function:

◆ rates_up_pdf()

subroutine cu_gf_deep::rates_up_pdf ( real(kind=kind_phys), dimension (its:ite), intent(in)  rand_vmas,
integer, intent(in)  ipr,
character *(*), intent(in)  name,
integer, dimension (its:ite), intent(inout)  ktop,
integer, dimension (its:ite), intent(inout)  ierr,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  p_cup,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(inout)  entr_rate_2d,
real(kind=kind_phys), dimension (its:ite), intent(in)  hkbo,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  heo,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  heso_cup,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(in)  z_cup,
integer, dimension (its:ite), intent(in)  xland,
integer, dimension (its:ite), intent(in)  kstabi,
integer, dimension (its:ite), intent(in)  k22,
integer, dimension (its:ite), intent(inout)  kbcon,
integer, intent(in)  its,
integer, intent(in)  ite,
integer, intent(in)  itf,
integer, intent(in)  kts,
integer, intent(in)  kte,
integer, intent(in)  ktf,
real(kind=kind_phys), dimension (its:ite,kts:kte), intent(inout)  zuo,
integer, dimension (its:ite), intent(in)  kpbl,
integer, dimension (its:ite), intent(inout)  ktopdby,
integer, dimension (its:ite), intent(in)  csum,
integer, dimension (its:ite), intent(in)  pmin_lev 
)

Driver for the normalized mass-flux routine.

Definition at line 4702 of file cu_gf_deep.F90.

References cu_gf_deep::get_zu_zd_pdf_fim().

Referenced by cu_gf_deep::cu_gf_deep_run(), and cu_gf_sh::cu_gf_sh_run().

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

◆ satvap()

real function cu_gf_deep::satvap ( real(kind=kind_phys)  temp2)

Calculates saturation vapor pressure.

Definition at line 4649 of file cu_gf_deep.F90.

References cu_gf_deep::satvap().

Referenced by cu_gf_deep::cup_env(), and cu_gf_deep::satvap().

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