CCPP SciDoc  v6.0.0
Common Community Physics Package Developed at DTC
GFS saSAS Shallow Convection Module

This subroutine contains the entirety of the SAMF shallow convection scheme.This routine follows the GFS saSAS Deep Convection Module quite closely, although it can be interpreted as only having the "static" and "feedback" control portions, since the "dynamic" control is not necessary to find the cloud base mass flux. The algorithm is simplified from SAMF deep convection by excluding convective downdrafts and being confined to operate below \(p=0.7p_{sfc}\). Also, entrainment is both simpler and stronger in magnitude compared to the deep scheme. More...

Functions/Subroutines

subroutine samfshalcnv::samfshalcnv_run (im, km, itc, ntc, cliq, cp, cvap, eps, epsm1, fv, grav, hvap, rd, rv, t0c, delt, ntk, ntr, delp, prslp, psp, phil, qtr, q1, t1, u1, v1, fscav, rn, kbot, ktop, kcnv, islimsk, garea, dot, ncloud, hpbl, ud_mf, dt_mf, cnvw, cnvc, clam, c0s, c1, evef, pgcon, asolfac, hwrf_samfshal, errmsg, errflg)
 

Detailed Description

Argument Table

samfshalcnv_run argument table
local_namestandard_namelong_nameunitstypedimensionskindintent
imhorizontal_loop_extenthorizontal loop extentcountinteger()in
kmvertical_layer_dimensionvertical layer dimensioncountinteger()in
itcindex_of_first_chemical_tracer_for_convectionindex of first chemical tracer transported/scavenged by convectionindexinteger()in
ntcnumber_of_chemical_tracersnumber of chemical tracerscountinteger()in
cliqspecific_heat_of_liquid_water_at_constant_pressurespecific heat of liquid water at constant pressureJ kg-1 K-1real()kind_physin
cpspecific_heat_of_dry_air_at_constant_pressurespecific heat of dry air at constant pressureJ kg-1 K-1real()kind_physin
cvapspecific_heat_of_water_vapor_at_constant_pressurespecific heat of water vapor at constant pressureJ kg-1 K-1real()kind_physin
epsratio_of_dry_air_to_water_vapor_gas_constantsrd/rvnonereal()kind_physin
epsm1ratio_of_dry_air_to_water_vapor_gas_constants_minus_one(rd/rv) - 1nonereal()kind_physin
fvratio_of_vapor_to_dry_air_gas_constants_minus_one(rv/rd) - 1 (rv = ideal gas constant for water vapor)nonereal()kind_physin
gravgravitational_accelerationgravitational accelerationm s-2real()kind_physin
hvaplatent_heat_of_vaporization_of_water_at_0clatent heat of evaporation/sublimationJ kg-1real()kind_physin
rdgas_constant_of_dry_airideal gas constant for dry airJ kg-1 K-1real()kind_physin
rvgas_constant_water_vaporideal gas constant for water vaporJ kg-1 K-1real()kind_physin
t0ctemperature_at_zero_celsiustemperature at 0 degree CelsiusKreal()kind_physin
delttimestep_for_physicsphysics time stepsreal()kind_physin
ntkindex_for_turbulent_kinetic_energy_convective_transport_tracerindex for turbulent kinetic energy in the convectively transported tracer arrayindexinteger()in
ntrnumber_of_tracers_for_samfnumber of tracers for scale-aware mass flux schemescountinteger()in
delpair_pressure_difference_between_midlayerspres(k) - pres(k+1)Pareal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physin
prslpair_pressuremean layer pressurePareal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physin
pspsurface_air_pressuresurface pressurePareal(ccpp_constant_one:horizontal_loop_extent)kind_physin
philgeopotentiallayer geopotentialm2 s-2real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physin
qtrconvective_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
q1specific_humidity_of_new_stateupdated vapor specific humiditykg kg-1real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physinout
t1air_temperature_of_new_stateupdated temperatureKreal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physinout
u1x_wind_of_new_stateupdated x-direction windm s-1real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physinout
v1y_wind_of_new_stateupdated y-direction windm s-1real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physinout
fscavchemical_tracer_scavenging_fractionsarray of aerosol scavenging coefficientsnonereal(ccpp_constant_one:number_of_chemical_tracers)kind_physin
rnlwe_thickness_of_shallow_convective_precipitation_amountshallow convective rainfall amount on physics timestepmreal(ccpp_constant_one:horizontal_loop_extent)kind_physout
kbotvertical_index_at_cloud_baseindex at cloud baseindexinteger(ccpp_constant_one:horizontal_loop_extent)out
ktopvertical_index_at_cloud_topindex at cloud topindexinteger(ccpp_constant_one:horizontal_loop_extent)out
kcnvflag_deep_convectiondeep convection: 0=no, 1=yesflaginteger(ccpp_constant_one:horizontal_loop_extent)inout
islimsksea_land_ice_masklandmask: sea/land/ice=0/1/2flaginteger(ccpp_constant_one:horizontal_loop_extent)in
gareacell_areagrid cell aream2real(ccpp_constant_one:horizontal_loop_extent)kind_physin
dotlagrangian_tendency_of_air_pressurelayer mean vertical velocityPa s-1real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physin
ncloudnumber_of_condensate_speciesnumber of cloud condensate typescountinteger()in
hpblatmosphere_boundary_layer_thicknessPBL top heightmreal(ccpp_constant_one:horizontal_loop_extent)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_physout
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_physout
cnvwconvective_cloud_water_mixing_ratiomoist convective cloud water mixing ratiokg kg-1real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physout
cnvcconvective_cloud_coverconvective cloud coverfracreal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physout
clamentrainment_rate_coefficient_for_shallow_convectionentrainment rate coefficient for shal conv.nonereal()kind_physin
c0srain_conversion_parameter_for_shallow_convectionconvective rain conversion parameter for shal conv.m-1real()kind_physin
c1detrainment_conversion_parameter_for_shallow_convectionconvective detrainment conversion parameter for shal conv.m-1real()kind_physin
evefrain_evaporation_coefficient_for_convectionconvective rain evaporation coefficient for convectionfracreal()kind_physin
pgconmomentum_transport_reduction_factor_due_to_pressure_gradient_force_for_shallow_convectionreduction factor in momentum transport due to shal conv. induced pressure gradient forcefracreal()kind_physin
asolfacaerosol_aware_multiplicative_rain_conversion_parameter_for_shallow_convectionaerosol-aware parameter inversely proportional to CCN number concentraion from Lim (2011) for shal conv.nonereal()kind_physin
hwrf_samfshalflag_for_hurricane_specific_code_in_scale_aware_mass_flux_shallow_convectionflag for hwrf samfshalcnv schemeflaglogical()in
errmsgccpp_error_messageerror message for error handling in CCPPnonecharacter()len=*out
errflgccpp_error_codeerror code for error handling in CCPP1integer()out

GFS samfshalcnv General Algorithm

  1. Compute preliminary quantities needed for the static and feedback control portions of the algorithm.
  2. Perform calculations related to the updraft of the entraining/detraining cloud model ("static control").
  3. The cloud base mass flux is obtained using the cumulus updraft velocity averaged ove the whole cloud depth.
  4. Calculate the tendencies of the state variables (per unit cloud base mass flux) and the cloud base mass flux.
  5. For the "feedback control", calculate updated values of the state variables by multiplying the cloud base mass flux and the tendencies calculated per unit cloud base mass flux from the static control.

GFS samfshalcnv Detailed Algorithm