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...
local_name | standard_name | long_name | units | type | dimensions | kind | intent |
im | horizontal_loop_extent | horizontal loop extent | count | integer | () | | in |
km | vertical_layer_dimension | vertical layer dimension | count | integer | () | | in |
first_time_step | flag_for_first_timestep | flag for first time step for time integration loop (cold/warmstart) | flag | logical | () | | in |
restart | flag_for_restart | flag for restart (warmstart) or coldstart | flag | logical | () | | in |
tmf | tendency_of_vertically_diffused_tracer_concentration | updated tendency of the tracers due to vertical diffusion in PBL scheme | kg kg-1 s-1 | real | (ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension, ccpp_constant_one:number_of_vertical_diffusion_tracers) | kind_phys | in |
qmicro | instantaneous_tendency_of_specific_humidity_due_to_microphysics | moisture tendency due to microphysics | kg kg-1 s-1 | real | (ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension) | kind_phys | in |
itc | index_of_first_chemical_tracer_for_convection | index of first chemical tracer transported/scavenged by convection | index | integer | () | | in |
ntc | number_of_chemical_tracers | number of chemical tracers | count | integer | () | | in |
cliq | specific_heat_of_liquid_water_at_constant_pressure | specific heat of liquid water at constant pressure | J kg-1 K-1 | real | () | kind_phys | in |
cp | specific_heat_of_dry_air_at_constant_pressure | specific heat of dry air at constant pressure | J kg-1 K-1 | real | () | kind_phys | in |
cvap | specific_heat_of_water_vapor_at_constant_pressure | specific heat of water vapor at constant pressure | J kg-1 K-1 | real | () | kind_phys | in |
eps | ratio_of_dry_air_to_water_vapor_gas_constants | rd/rv | none | real | () | kind_phys | in |
epsm1 | ratio_of_dry_air_to_water_vapor_gas_constants_minus_one | (rd/rv) - 1 | none | real | () | kind_phys | in |
fv | ratio_of_vapor_to_dry_air_gas_constants_minus_one | (rv/rd) - 1 (rv = ideal gas constant for water vapor) | none | real | () | kind_phys | in |
grav | gravitational_acceleration | gravitational acceleration | m s-2 | real | () | kind_phys | in |
hvap | latent_heat_of_vaporization_of_water_at_0c | latent heat of evaporation/sublimation | J kg-1 | real | () | kind_phys | in |
rd | gas_constant_of_dry_air | ideal gas constant for dry air | J kg-1 K-1 | real | () | kind_phys | in |
rv | gas_constant_water_vapor | ideal gas constant for water vapor | J kg-1 K-1 | real | () | kind_phys | in |
t0c | temperature_at_zero_celsius | temperature at 0 degree Celsius | K | real | () | kind_phys | in |
delt | timestep_for_physics | physics time step | s | real | () | kind_phys | in |
ntk | index_for_turbulent_kinetic_energy_convective_transport_tracer | index for turbulent kinetic energy in the convectively transported tracer array | index | integer | () | | in |
ntr | number_of_tracers_for_samf | number of tracers for scale-aware mass flux schemes | count | integer | () | | in |
delp | air_pressure_difference_between_midlayers | pres(k) - pres(k+1) | Pa | real | (ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension) | kind_phys | in |
prslp | air_pressure | mean layer pressure | Pa | real | (ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension) | kind_phys | in |
psp | surface_air_pressure | surface pressure | Pa | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | in |
phil | geopotential | layer geopotential | m2 s-2 | real | (ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension) | kind_phys | in |
qtr | convective_transportable_tracers | array to contain cloud water and other convective trans. tracers | kg kg-1 | real | (ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension, ccpp_constant_one:number_of_tracers_for_convective_transport) | kind_phys | inout |
prevsq | specific_humidity_on_previous_timestep | specific_humidity_on_previous_timestep | kg kg-1 | real | (ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension) | kind_phys | in |
q | specific_humidity | water vapor specific humidity | kg kg-1 | real | (ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension) | kind_phys | in |
q1 | specific_humidity_of_new_state | updated vapor specific humidity | kg kg-1 | real | (ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension) | kind_phys | inout |
t1 | air_temperature_of_new_state | updated temperature | K | real | (ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension) | kind_phys | inout |
u1 | x_wind_of_new_state | updated x-direction wind | m s-1 | real | (ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension) | kind_phys | inout |
v1 | y_wind_of_new_state | updated y-direction wind | m s-1 | real | (ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension) | kind_phys | inout |
fscav | chemical_tracer_scavenging_fractions | array of aerosol scavenging coefficients | none | real | (ccpp_constant_one:number_of_chemical_tracers) | kind_phys | in |
rn | lwe_thickness_of_shallow_convective_precipitation_amount | shallow convective rainfall amount on physics timestep | m | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | out |
kbot | vertical_index_at_cloud_base | index at cloud base | index | integer | (ccpp_constant_one:horizontal_loop_extent) | | out |
ktop | vertical_index_at_cloud_top | index at cloud top | index | integer | (ccpp_constant_one:horizontal_loop_extent) | | out |
kcnv | flag_deep_convection | deep convection: 0=no, 1=yes | flag | integer | (ccpp_constant_one:horizontal_loop_extent) | | inout |
islimsk | sea_land_ice_mask | landmask: sea/land/ice=0/1/2 | flag | integer | (ccpp_constant_one:horizontal_loop_extent) | | in |
garea | cell_area | grid cell area | m2 | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | in |
dot | lagrangian_tendency_of_air_pressure | layer mean vertical velocity | Pa s-1 | real | (ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension) | kind_phys | in |
ncloud | number_of_condensate_species | number of cloud condensate types | count | integer | () | | in |
hpbl | atmosphere_boundary_layer_thickness | PBL top height | m | real | (ccpp_constant_one:horizontal_loop_extent) | kind_phys | in |
ud_mf | instantaneous_atmosphere_updraft_convective_mass_flux | (updraft mass flux) * delt | kg m-2 | real | (ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension) | kind_phys | out |
dt_mf | instantaneous_atmosphere_detrainment_convective_mass_flux | (detrainment mass flux) * delt | kg m-2 | real | (ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension) | kind_phys | out |
cnvw | convective_cloud_water_mixing_ratio | moist convective cloud water mixing ratio | kg kg-1 | real | (ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension) | kind_phys | out |
cnvc | convective_cloud_cover | convective cloud cover | frac | real | (ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension) | kind_phys | out |
clam | entrainment_rate_coefficient_for_shallow_convection | entrainment rate coefficient for shal conv. | none | real | () | kind_phys | in |
c0s | rain_conversion_parameter_for_shallow_convection | convective rain conversion parameter for shal conv. | m-1 | real | () | kind_phys | in |
c1 | detrainment_conversion_parameter_for_shallow_convection | convective detrainment conversion parameter for shal conv. | m-1 | real | () | kind_phys | in |
evef | rain_evaporation_coefficient_for_convection | convective rain evaporation coefficient for convection | frac | real | () | kind_phys | in |
pgcon | momentum_transport_reduction_factor_due_to_pressure_gradient_force_for_shallow_convection | reduction factor in momentum transport due to shal conv. induced pressure gradient force | frac | real | () | kind_phys | in |
asolfac | aerosol_aware_multiplicative_rain_conversion_parameter_for_shallow_convection | aerosol-aware parameter inversely proportional to CCN number concentraion from Lim (2011) for shal conv. | none | real | () | kind_phys | in |
hwrf_samfshal | flag_for_hurricane_specific_code_in_scale_aware_mass_flux_shallow_convection | flag for hwrf samfshalcnv scheme | flag | logical | () | | in |
progsigma | do_prognostic_updraft_area_fraction | flag for prognostic sigma in cumulus scheme | flag | logical | () | | in |
sigmain | prognostic_updraft_area_fraction_in_convection | convective updraft area fraction | frac | real | (ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension) | kind_phys | in |
sigmaout | updraft_area_fraction_updated_by_physics | convective updraft area fraction updated by physics | frac | real | (ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension) | kind_phys | out |
betascu | tuning_param_for_shallow_cu | tuning param for shallow cu in case prognostic closure is used | none | real | () | kind_phys | in |
betamcu | tuning_param_for_midlevel_cu | tuning param for midlevel cu in case prognostic closure is used | none | real | () | kind_phys | in |
betadcu | tuning_param_for_deep_cu | tuning param for deep cu in case prognostic closure is used | none | real | () | kind_phys | in |
errmsg | ccpp_error_message | error message for error handling in CCPP | none | character | () | len=* | out |
errflg | ccpp_error_code | error code for error handling in CCPP | 1 | integer | () | | out |