CCPP SciDoc v7.0.0  v7.0.0
Common Community Physics Package Developed at DTC
 
Loading...
Searching...
No Matches
Chikira-Sugiyama Cumulus Scheme Module

The subroutine contains the main driver for Chikira-Sugiyama convective scheme. More...

Functions/Subroutines

subroutine, public cs_conv::cs_conv_run (ijsdim, kmax, ntracp1, nn, ntr, nctp, otspt, lat, kdt, t, q, rain1, clw, zm, zi, pap, paph, delta, delti, ud_mf, dd_mf, dt_mf, u, v, fscav, fswtr, cbmfx, mype, wcbmaxm, precz0in, preczhin, clmdin, sigma, do_aw, do_awdd, flx_form, lprnt, ipr, kcnv, qlcn, qicn, w_upi, cf_upi, cnv_mfd, cnv_dqldt, clcn, cnv_fice, cnv_ndrop, cnv_nice, mp_phys, errmsg, errflg)
 
subroutine cs_conv::cumbas (ijsdim, kmax, kb, gcym, kbmx, ntr, ntrq, gchb, gcwb, gcub, gcvb, gcib, gctrb, gdh, gdw, gdhs, gdqs, gdqi, gdu, gdv, gdzm, gdpm, fdqs, gam, lprnt, ipr, ists, iens, gctbl, gcqbl, gdq, gcwbl, gcqlbl, gcqibl, gctrbl)
 This subroutine calculates cloud base properties.
 
subroutine cs_conv::cumup (ijsdim, kmax, ntr, ntrq, acwf, gclz, gciz, gprciz, gsnwiz, gcyt, gcht, gcqt, gclt, gcit, gtprt, gcut, gcvt, gctrt, kt, ktmx, gcym, wcv, gchb, gcwb, gcub, gcvb, gcib, gctrb, gdu, gdv, gdh, gdw, gdhs, gdqs, gdt, gdtm, gdq, gdqi, gdz, gdzm, gdpm, fdqs, gam, gdztr, cpres, wcb, kb, ctp, ists, iens, gctm, gcqm, gcwm, gchm, gcwt, gclm, gcim, gctrm, lprnt, ipr)
 This subroutine calculates in-cloud properties.
 
subroutine cs_conv::cumbmx (ijsdim, kmax, cbmfx, acwf, gcyt, gdzm, gdw, gdqs, delp, kt, ktmx, kb, delt, ists, iens)
 This subroutine computes cloud base mass flux.
 
subroutine cs_conv::cumflx (im, ijsdim, kmax, gmflx, gprci, gsnwi, cmdet, qliq, qice, gtprc0, cbmfx, gcym, gprciz, gsnwiz, gtprt, gclz, gciz, gcyt, kb, kt, ktmx, ists, iens)
 This subroutine computes cloud mass flux & precip.
 
subroutine cs_conv::cumdet (im, ijsdim, kmax, ntr, ntrq, gtt, gtq, gtu, gtv, gdh, gdq, gdu, gdv, cbmfx, gcyt, delpi, gcht, gcqt, gclt, gcit, gcut, gcvt, gdqi, gctrt, kt, ists, iens, nctp)
 This subroutine calculates cloud detrainment heating.
 
subroutine cs_conv::cumsbh (im, ijsdim, kmax, ntr, ntrq, gtt, gtq, gtu, gtv, gdh, gdq, gdqi, gdu, gdv, delpi, gmflx, gmfx0, ktmx, cpres, kb, ists, iens)
 
subroutine cs_conv::cumsbw (im, ijsdim, kmax, gtu, gtv, gdu, gdv, delpi, gmflx, gmfx0, ktmx, cpres, kb, ists, iens)
 This subroutine calculate cloud subsidence heating.
 
subroutine cs_conv::cumdwn (im, ijsdim, kmax, ntr, ntrq, nctp, gtt, gtq, gtu, gtv, gmflx, gprcp, gsnwp, gtevp, gmdd, gprci, gsnwi, gdh, gdw, gdq, gdqi, gdqs, gds, gdhs, gdt, gdu, gdv, gdz, gdzm, fdqs, delp, delpi, sigmad, do_aw, do_awdd, flx_form, gtmelt, gtevap, gtsubl, dtdwn, dqvdwn, dqldwn, dqidwn, dtrdwn, kb, ktmx, ists, iens)
 This subroution calculates freeze, melt and evaporation in cumulus downdraft.
 
subroutine cs_conv::cumcld (ijsdim, kmax, cumclw, qliq, qice, fliqc, cumfrc, gmflx, ktmx, ists, iens)
 This subroutine computes cumulus cloudiness.
 
subroutine cs_conv::cumupr (im, ijsdim, kmax, ntr, gtr, gprcc, gdr, cbmfx, gcym, gcyt, gcqt, gclt, gcit, gtprt, gtevp, gtprc0, kb, kbmx, kt, ktmx, ktmxt, delpi, otspt, ists, iens, fscav, fswtr, nctp)
 This subroutine calculates.
 
subroutine cs_conv::cumdnr (im, ijsdim, kmax, ntr, gtr, gdr, gmdd, delpi, ktmx, otspt, ists, iens)
 
subroutine cs_conv::cumsbr (im, ijsdim, kmax, ntr, nctp, gtr, gdr, delp, gmflx, ktmx, otspt, sigmai, sigma, ists, iens)
 
subroutine cs_conv::cumfxr (im, ijsdim, kmax, ntr, gtr, gdr, delp, delta, ktmx, imfxr, ists, iens)
 This subroutine calculates tracer mass fixer without detrainment.
 
subroutine cs_conv::cumfxr1 (im, ijsdim, kmax, nctp, gtr, gdr, delp, delta, ktmx, imfxr, ists, iens)
 
subroutine cs_conv::cumchk (ijsdim, kmax, ntr, gtt, gtq, gtu, gtv, gtcfrc, gprcc, gsnwc, cumclw, cumfrc, fliqc, gtprp, ists, iens)
 
subroutine, public cs_conv_aw_adj::cs_conv_aw_adj_run (im, levs, do_cscnv, do_aw, do_shoc, ntrac, ntcw, ntclamt, nncl, con_g, sigmafrac, gt0, gq0, save_t, save_q, prsi, cldfrac, subcldfrac, prcp, imp_physics, imp_physics_mg, errmsg, errflg)
 This subroutine adjusts surface rainrate for conservation.
 
subroutine cs_conv::cs_cumlus (im, ijsdim, kmax, ntr, otspt1, otspt2, lprnt, ipr, gtt, gtq, gtu, gtv, cmdet, gtprp, gsnwp, gmfx0, gmfx1, cape, kt, cbmfx, gdt, gdq, gdu, gdv, gdtm, gdp, gdpm, gdz, gdzm, delp, delpinv, delta, delti, ists, iens, mype, fscav, fswtr, wcbmaxm, nctp, sigmai, sigma, vverti, do_aw, do_awdd, flx_form)
 Main subroutine for the cumulus parameterization with state-dependent entrainment rate developed by Minoru Chikira.
 

Detailed Description

Author
Minoru Chikira

History:

Arakawa-Wu implemtation: for background, consult An Introduction to the General Circulation of the Atmosphere, Randall, chapter six. Traditional parameterizations compute tendencies like those in eq 103, 105 and 106. Because Arakawa-Wu applies different functions to different components to the terms within these equations, it requires the terms used in alternate eqns 91 - 93. The code required to compute these terms is added within, and the appropriate functions of updraft area fraction (sigma) are applied. Thus, AW requires three steps:

  1. computation of the updraft area fraction
  2. alternative representation of the tendency terms
  3. application of functions of sigma to the alternative tendency terms here, and in gbphys to the large-scale microphysics tendencies.

    The bulk of AW is implemented within subroutine CS_CUMLUS(), and the routines it calls.

JLS NOTE: The convective mass fluxes (dt_mf, dd_mf and ud_mf) passed in and out of cs_conv have not been multiplied by the timestep (kg/m2/sec) as they are in all other convective schemes. EMC is aware of this problem, and in the future will be fixing this discrepancy. In the meantime, CCPP will use the same mass flux standard_name and long_name as the other convective schemes, where the units are in kg/m2. (Aug 2018)

Argument Table

cs_conv_run argument table
local_namestandard_namelong_nameunitstypedimensionskindintent
ijsdimhorizontal_loop_extenthorizontal loop extentcountinteger()in
kmaxvertical_layer_dimensionnumber of veritcal levelscountinteger()in
ntracp1number_of_tracers_plus_onenumber of tracers plus onecountinteger()in
nnnumber_of_tracers_for_convective_transportnumber of tracers for convective transport (used to dimension clw)countinteger()in
ntrnumber_of_tracers_for_csnumber of convectively transported tracers in Chikira-Sugiyama deep conv. schemecountinteger()in
nctpnumber_of_cloud_types_csnumber of cloud types in Chikira-Sugiyama schemecountinteger()in
otsptflag_convective_tracer_transportflag to enable tracer transport by updrafts/downdrafts[(:,1)] or subsidence [(:,2)]flaglogical(ccpp_constant_one:number_of_tracers_plus_one, ccpp_constant_one:2)in
latlatitude_index_in_debug_printoutslatitude index in debug printoutsindexinteger()in
kdtindex_of_timestepcurrent forecast iterationindexinteger()in
tair_temperature_of_new_statemid-layer temperatureKreal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physinout
qspecific_humidity_of_new_statemid-layer specific humidity of water vaporkg kg-1real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physinout
rain1lwe_thickness_of_deep_convective_precipitation_amountdeep convective rainfall amount on physics timestepmreal(ccpp_constant_one:horizontal_loop_extent)kind_physout
clwconvective_transportable_tracersarray to contain cloud water and other convective trans. tracerskg kg-1real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension, ccpp_constant_one:number_of_tracers_for_convective_transport)kind_physinout
zmgeopotentialmid-layer geopotentialm2 s-2real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physin
zigeopotential_at_interfaceinterface geopotentialm2 s-2real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_interface_dimension)kind_physin
papair_pressuremid-layer pressurePareal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physin
paphair_pressure_at_interfaceinterface pressurePareal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_interface_dimension)kind_physin
deltatimestep_for_physicsphysics time stepsreal()kind_physin
deltitimestep_for_dynamicsdynamics time stepsreal()kind_physin
ud_mfinstantaneous_atmosphere_updraft_convective_mass_flux(updraft mass flux) * deltkg m-2real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physinout
dd_mfinstantaneous_atmosphere_downdraft_convective_mass_flux(downdraft mass flux) * deltkg m-2real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physinout
dt_mfinstantaneous_atmosphere_detrainment_convective_mass_flux(detrainment mass flux) * deltkg m-2real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physinout
ux_wind_of_new_statemid-layer zonal windm s-1real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physinout
vy_wind_of_new_statemid-layer meridional windm s-1real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physinout
fscavfraction_of_tracer_scavengedfraction of the tracer (aerosols) that is scavenged by convectionkm-1real(ccpp_constant_one:number_of_tracers_scavenged)kind_physin
fswtrfraction_of_cloud_top_water_scavengedfraction of the tracer (cloud top water) that is scavenged by convectionkm-1real(ccpp_constant_one:number_of_tracers_scavenged)kind_physin
cbmfxatmosphere_updraft_convective_mass_flux_at_cloud_base_by_cloud_typecloud base mass fluxkg m-2 s-1real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:number_of_cloud_types_CS)kind_physinout
mypempi_rankcurrent MPI rankindexinteger()in
wcbmaxmmaximum_updraft_velocity_at_cloud_basemaximum updraft velocity at cloud basem s-1real(ccpp_constant_one:horizontal_loop_extent)kind_physin
precz0indetrainment_and_precipitation_tunable_parameter_3_cspartition water between detrainment and precipitation (decrease for more precipitation)mreal()kind_physin
preczhindetrainment_and_precipitation_tunable_parameter_4_cspartition water between detrainment and precipitation (decrease for more precipitation)mreal()kind_physin
clmdinentrainment_efficiency_tunable_parameter_9_csentrainment efficiencynonereal()kind_physin
sigmaconvective_updraft_area_fraction_at_model_interfacesconvective updraft area fraction at model interfacesfracreal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_interface_dimension)kind_physout
do_awflag_for_arakawa_wu_adjustmentflag for Arakawa Wu scale-aware adjustmentflaglogical()in
do_awddflag_for_arakawa_wu_downdrafts_for_deep_convectionflag to enable treating convective tendencies following Arakwaw-Wu for downdrafts (2013)flaglogical()in
flx_formflag_flux_form_csflag to enable using the flux form of the equations in CS schemeflaglogical()in
lprntflag_printcontrol flag for diagnostic print outflaglogical()in
iprhorizontal_index_of_printed_columnhorizontal index of printed columnindexinteger()in
kcnvflag_deep_convectionflag indicating whether convection occurs in columnflaginteger(ccpp_constant_one:horizontal_loop_extent)inout
qlcnmass_fraction_of_convective_cloud_liquid_watermass fraction of convective cloud liquid waterkg kg-1real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physout
qicnmass_fraction_of_convective_cloud_icemass fraction of convective cloud ice waterkg kg-1real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physout
w_upivertical_velocity_for_updraftvertical velocity for updraftm s-1real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physout
cf_upiconvective_cloud_fraction_for_microphysicsconvective cloud fraction for microphysicsfracreal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physout
cnv_mfddetrained_mass_fluxdetrained mass fluxkg m-2 s-1real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physout
cnv_dqldttendency_of_cloud_water_due_to_convective_microphysicstendency of cloud water due to convective microphysicskg m-2 s-1real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physout
clcnconvective_cloud_volume_fractionconvective cloud volume fractionfracreal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physout
cnv_ficeice_fraction_in_convective_towerice fraction in convective towerfracreal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physout
cnv_ndropnumber_concentration_of_cloud_liquid_water_particles_for_detrainmentdroplet number concentration in convective detrainmentm-3real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physout
cnv_nicenumber_concentration_of_ice_crystals_for_detrainmentcrystal number concentration in convective detrainmentm-3real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physout
mp_physcontrol_for_microphysics_schemeflag for microphysics schemeflaginteger()in
errmsgccpp_error_messageerror message for error handling in CCPPnonecharacter()len=*out
errflgccpp_error_codeerror code for error handling in CCPP1integer()out

CS Convection Scheme General Algorithm