subroutine samfshalcnv::samfshalcnv_run | ( | integer, intent(in) | im, |
integer, intent(in) | ix, | ||
integer, intent(in) | km, | ||
real(kind=kind_phys), intent(in) | delt, | ||
integer, intent(in) | ntk, | ||
integer, intent(in) | ntr, | ||
real(kind=kind_phys), dimension(ix,km), intent(in) | delp | ||
) |
This routine follows the GFS Scale-Aware Mass-Flux Deep Convection 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.
local_name | standard_name | long_name | units | rank | type | kind | intent | optional |
---|---|---|---|---|---|---|---|---|
im | horizontal_loop_extent | horizontal loop extent | count | 0 | integer | in | F | |
ix | horizontal_dimension | horizontal dimension | count | 0 | integer | in | F | |
km | vertical_dimension | vertical layer dimension | count | 0 | integer | in | F | |
delt | time_step_for_physics | physics time step | s | 0 | real | kind_phys | in | F |
ntk | index_of_TKE_convective_transport_tracer | index of TKE in the convectively transported tracer array | index | 0 | integer | in | F | |
ntr | number_of_tracers_for_samf | number of tracers for scale-aware mass flux schemes | count | 0 | integer | in | F | |
delp | air_pressure_difference_between_midlayers | pres(k) - pres(k+1) | Pa | 2 | real | kind_phys | in | F |
prslp | air_pressure | mean layer pressure | Pa | 2 | real | kind_phys | in | F |
psp | surface_air_pressure | surface pressure | Pa | 1 | real | kind_phys | in | F |
phil | geopotential | layer geopotential | m2 s-2 | 2 | real | kind_phys | in | F |
qtr | convective_transportable_tracers | array to contain cloud water and other convective trans. tracers | kg kg-1 | 3 | real | kind_phys | inout | F |
q1 | water_vapor_specific_humidity_updated_by_physics | updated vapor specific humidity | kg kg-1 | 2 | real | kind_phys | inout | F |
t1 | air_temperature_updated_by_physics | updated temperature | K | 2 | real | kind_phys | inout | F |
u1 | x_wind_updated_by_physics | updated x-direction wind | m s-1 | 2 | real | kind_phys | inout | F |
v1 | y_wind_updated_by_physics | updated y-direction wind | m s-1 | 2 | real | kind_phys | inout | F |
rn | lwe_thickness_of_shallow_convective_precipitation_amount | shallow convective rainfall amount on physics timestep | m | 1 | real | kind_phys | out | F |
kbot | vertical_index_at_cloud_base | index at cloud base | index | 1 | integer | out | F | |
ktop | vertical_index_at_cloud_top | index at cloud top | index | 1 | integer | out | F | |
kcnv | flag_deep_convection | deep convection: 0=no, 1=yes | flag | 1 | integer | inout | F | |
islimsk | sea_land_ice_mask | landmask: sea/land/ice=0/1/2 | flag | 1 | integer | in | F | |
garea | cell_area | grid cell area | m2 | 1 | real | kind_phys | in | F |
dot | omega | layer mean vertical velocity | Pa s-1 | 2 | real | kind_phys | in | F |
ncloud | number_of_hydrometeors | number of hydrometeors | count | 0 | integer | in | F | |
hpbl | atmosphere_boundary_layer_thickness | PBL top height | m | 1 | real | kind_phys | in | F |
ud_mf | instantaneous_atmosphere_updraft_convective_mass_flux | (updraft mass flux) * delt | kg m-2 | 2 | real | kind_phys | out | F |
dt_mf | instantaneous_atmosphere_detrainment_convective_mass_flux | (detrainment mass flux) * delt | kg m-2 | 2 | real | kind_phys | out | F |
cnvw | convective_cloud_water_mixing_ratio | moist convective cloud water mixing ratio | kg kg-1 | 2 | real | kind_phys | out | F |
cnvc | convective_cloud_cover | convective cloud cover | frac | 2 | real | kind_phys | out | F |
clam | entrainment_rate_coefficient_shallow_convection | entrainment rate coefficient for shal conv. | none | 0 | real | kind_phys | in | F |
c0s | rain_conversion_parameter_shallow_convection | convective rain conversion parameter for shal conv. | m-1 | 0 | real | kind_phys | in | F |
c1 | detrainment_conversion_parameter_shallow_convection | convective detrainment conversion parameter for shal conv. | m-1 | 0 | real | kind_phys | in | F |
pgcon | momentum_transport_reduction_factor_pgf_shallow_convection | reduction factor in momentum transport due to shal conv. induced pressure gradient force | frac | 0 | real | kind_phys | in | F |
asolfac | aerosol_aware_parameter_shallow_convection | aerosol-aware parameter inversely proportional to CCN number concentraion from Lim (2011) for shal conv. | none | 0 | real | kind_phys | in | F |
errmsg | error_message | error message for error handling in CCPP | none | 0 | character | len=* | out | F |
errflg | error_flag | error flag for error handling in CCPP | flag | 0 | integer | out | F |
\[ \frac{1}{\eta}\frac{\partial \eta}{\partial z} = \lambda_e - \lambda_d \]
where \(\eta\) is the normalized mass flux, \(\lambda_e\) is the entrainment rate and \(\lambda_d\) is the detrainment rate. The normalized mass flux increases upward below the cloud base and decreases upward above.\[ A_u=\int_{z_0}^{z_t}\frac{g}{c_pT(z)}\frac{\eta}{1 + \gamma}[h(z)-h^*(z)]dz \]
(discretized according to Grell (1993) [31] equation B.10 using B.2 and B.3 of Arakawa and Schubert (1974) [3] and assuming \(\eta=1\)) where \(A_u\) is the updraft cloud work function, \(z_0\) and \(z_t\) are cloud base and cloud top, respectively, \(\gamma = \frac{L}{c_p}\left(\frac{\partial \overline{q_s}}{\partial T}\right)_p\) and other quantities are previously defined.