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

◆ 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,
integer, dimension (its:ite), intent(in) tropics )

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 cup_minimi() to increase detrainment in stable layers
  • 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 cup_minimi() to calculate downdraft originating level (jmin)
  • Compute downdraft moist static energy + moisture budget
  • 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
  • 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 cup_dd_edt(), cup_dd_moisture(), cup_env(), cup_env_clev(), cup_forcing_ens_3d(), cup_kbcon(), cup_maximi(), cup_minimi(), cup_output_ens_3d(), cup_up_aa0(), cup_up_aa1bl(), cup_up_moisture(), fct1d3(), get_cloud_bc(), get_inversion_layers(), get_lateral_massflux(), get_melting_profile(), get_partition_liq_ice(), get_zu_zd_pdf_fim(), rain_evap_below_cloudbase(), and 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: