CCPP Scientific Documentation
v5.0.0
Chikira-Sugiyama Cumulus Scheme Module

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

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_nameunitstypedimensionskindintentoptional
ijsdimhorizontal_loop_extenthorizontal loop extentcountinteger()inFalse
kmaxvertical_dimensionnumber of veritcal levelscountinteger()inFalse
ntracp1number_of_tracers_plus_onenumber of tracers plus onecountinteger()inFalse
nnnumber_of_tracers_for_convective_transportnumber of tracers for convective transport (used to dimension clw)countinteger()inFalse
ntrnumber_of_tracers_for_CSnumber of convectively transported tracers in Chikira-Sugiyama deep conv. schemecountinteger()inFalse
nctpnumber_of_cloud_types_CSnumber of cloud types in Chikira-Sugiyama schemecountinteger()inFalse
otsptflag_convective_tracer_transportflag to enable tracer transport by updrafts/downdrafts[(:,1)] or subsidence [(:,2)]flaglogical(number_of_tracers_plus_one, 2)inFalse
latlatitude_index_in_debug_printoutslatitude index in debug printoutsindexinteger()inFalse
kdtindex_of_time_stepcurrent forecast iterationindexinteger()inFalse
tair_temperature_updated_by_physicsmid-layer temperatureKreal(horizontal_dimension, vertical_dimension)kind_physinoutFalse
qwater_vapor_specific_humidity_updated_by_physicsmid-layer specific humidity of water vaporkg kg-1real(horizontal_dimension, vertical_dimension)kind_physinoutFalse
rain1lwe_thickness_of_deep_convective_precipitation_amountdeep convective rainfall amount on physics timestepmreal(horizontal_dimension)kind_physoutFalse
clwconvective_transportable_tracersarray to contain cloud water and other convective trans. tracerskg kg-1real(horizontal_dimension, vertical_dimension, number_of_tracers_for_convective_transport)kind_physinoutFalse
zmgeopotentialmid-layer geopotentialm2 s-2real(horizontal_dimension, vertical_dimension)kind_physinFalse
zigeopotential_at_interfaceinterface geopotentialm2 s-2real(horizontal_dimension, vertical_dimension_plus_one)kind_physinFalse
papair_pressuremid-layer pressurePareal(horizontal_dimension, vertical_dimension)kind_physinFalse
paphair_pressure_at_interfaceinterface pressurePareal(horizontal_dimension, vertical_dimension_plus_one)kind_physinFalse
deltatime_step_for_physicsphysics time stepsreal()kind_physinFalse
deltitime_step_for_dynamicsdynamics time stepsreal()kind_physinFalse
ud_mfinstantaneous_atmosphere_updraft_convective_mass_flux(updraft mass flux) * deltkg m-2real(horizontal_dimension, vertical_dimension)kind_physinoutFalse
dd_mfinstantaneous_atmosphere_downdraft_convective_mass_flux(downdraft mass flux) * deltkg m-2real(horizontal_dimension, vertical_dimension)kind_physinoutFalse
dt_mfinstantaneous_atmosphere_detrainment_convective_mass_flux(detrainment mass flux) * deltkg m-2real(horizontal_dimension, vertical_dimension)kind_physinoutFalse
ux_wind_updated_by_physicsmid-layer zonal windm s-1real(horizontal_dimension, vertical_dimension)kind_physinoutFalse
vy_wind_updated_by_physicsmid-layer meridional windm s-1real(horizontal_dimension, vertical_dimension)kind_physinoutFalse
fscavfraction_of_tracer_scavengedfraction of the tracer (aerosols) that is scavenged by convectionkm-1real(number_of_tracers_scavenged)kind_physinFalse
fswtrfraction_of_cloud_top_water_scavengedfraction of the tracer (cloud top water) that is scavenged by convectionkm-1real(number_of_tracers_scavenged)kind_physinFalse
cbmfxcloud_base_mass_fluxcloud base mass fluxkg m-2 s-1real(horizontal_dimension, number_of_cloud_types_CS)kind_physinoutFalse
mypempi_rankcurrent MPI rankindexinteger()inFalse
wcbmaxmmaximum_updraft_velocity_at_cloud_basemaximum updraft velocity at cloud basem s-1real(horizontal_dimension)kind_physinFalse
precz0indetrainment_and_precipitation_tunable_parameter_3_CSpartition water between detrainment and precipitation (decrease for more precipitation)mreal()kind_physinFalse
preczhindetrainment_and_precipitation_tunable_parameter_4_CSpartition water between detrainment and precipitation (decrease for more precipitation)mreal()kind_physinFalse
clmdinentrainment_efficiency_tunable_parameter_9_CSentrainment efficiencynonereal()kind_physinFalse
sigmaconvective_updraft_area_fraction_at_model_interfacesconvective updraft area fraction at model interfacesfracreal(horizontal_dimension, vertical_dimension)kind_physoutFalse
do_awflag_for_Arakawa_Wu_adjustmentflag for Arakawa Wu scale-aware adjustmentflaglogical()inFalse
do_awddflag_arakawa_wu_downdraftflag to enable treating convective tendencies following Arakwaw-Wu for downdrafts (2013)flaglogical()inFalse
flx_formflag_flux_form_CSflag to enable using the flux form of the equations in CS schemeflaglogical()inFalse
lprntflag_printcontrol flag for diagnostic print outflaglogical()inFalse
iprhorizontal_index_of_printed_columnhorizontal index of printed columnindexinteger()inFalse
kcnvflag_deep_convectionflag indicating whether convection occurs in columnflaginteger(horizontal_dimension)inoutFalse
qlcnmass_fraction_of_convective_cloud_liquid_watermass fraction of convective cloud liquid waterkg kg-1real(horizontal_dimension, vertical_dimension)kind_physoutFalse
qicnmass_fraction_of_convective_cloud_icemass fraction of convective cloud ice waterkg kg-1real(horizontal_dimension, vertical_dimension)kind_physoutFalse
w_upivertical_velocity_for_updraftvertical velocity for updraftm s-1real(horizontal_dimension, vertical_dimension)kind_physoutFalse
cf_upiconvective_cloud_fraction_for_microphysicsconvective cloud fraction for microphysicsfracreal(horizontal_dimension, vertical_dimension)kind_physoutFalse
cnv_mfddetrained_mass_fluxdetrained mass fluxkg m-2 s-1real(horizontal_dimension, vertical_dimension)kind_physoutFalse
cnv_dqldttendency_of_cloud_water_due_to_convective_microphysicstendency of cloud water due to convective microphysicskg m-2 s-1real(horizontal_dimension, vertical_dimension)kind_physoutFalse
clcnconvective_cloud_volume_fractionconvective cloud volume fractionfracreal(horizontal_dimension, vertical_dimension)kind_physoutFalse
cnv_ficeice_fraction_in_convective_towerice fraction in convective towerfracreal(horizontal_dimension, vertical_dimension)kind_physoutFalse
cnv_ndropnumber_concentration_of_cloud_liquid_water_particles_for_detrainmentdroplet number concentration in convective detrainmentm-3real(horizontal_dimension, vertical_dimension)kind_physoutFalse
cnv_nicenumber_concentration_of_ice_crystals_for_detrainmentcrystal number concentration in convective detrainmentm-3real(horizontal_dimension, vertical_dimension)kind_physoutFalse
mp_physflag_for_microphysics_schemeflag for microphysics schemeflaginteger()inFalse
errmsgccpp_error_messageerror message for error handling in CCPPnonecharacter()len=*outFalse
errflgccpp_error_flagerror flag for error handling in CCPPflaginteger()outFalse

CS Convection Scheme General Algorithm

Functions/Subroutines

subroutine, public cs_conv_aw_adj::cs_conv_aw_adj_run (im, levs, do_cscnv, do_aw, do_shoc, ntrac, ncld, 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. More...
 
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. More...
 
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 ,
 This subroutine calculates in-cloud properties. More...
 
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. More...
 
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. More...
 
subroutine cs_conv::cumdet (im , IJSDIM, KMAX , NTR , ntrq , GTT , GTQ , GTU , GTV , GDH , GDQ , GDU , GDV ,
 This subroutine calculates cloud detrainment heating. More...
 
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. More...
 
subroutine cs_conv::cumdwn (IM , IJSDIM, KMAX, NTR , ntrq, 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. More...
 
subroutine cs_conv::cumcld (IJSDIM, KMAX, CUMCLW, QLIQ, QICE, FLIQC, CUMFRC, GMFLX, KTMX, ISTS, IENS )
 This subroutine computes cumulus cloudiness. More...
 
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. More...
 
subroutine cs_conv::cumdnr (IM , IJSDIM, KMAX, NTR , GTR , GDR , GMDD, DELPI, KTMX, OTSPT, ISTS, IENS)
 
subroutine cs_conv::cumsbr (IM , IJSDIM, KMAX, NTR , GTR , GDR , DELPI, GMFLX, KTMX, OTSPT, 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. More...
 
subroutine cs_conv::cumfxr1 (IM , IJSDIM, KMAX, 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 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, delpi, DELTA, DELTI, ISTS, IENS, mype, fscav, fswtr, wcbmaxm, nctp, sigma, vverti, do_aw, do_awdd, flx_form)
 Main subroutine for the cumulus parameterization with state-dependent entrainment rate developed by Minoru Chikira. More...