CCPP SciDoc v7.0.0  v7.0.0
Common Community Physics Package Developed at DTC
 
Loading...
Searching...
No Matches
GFS precpd Main

This subroutine computes the conversion from condensation to precipitation (snow or rain) or evaporation of rain. More...

Functions/Subroutines

subroutine, public zhaocarr_precpd::zhaocarr_precpd_run (im, km, dt, del, prsl, q, cwm, t, rn, grav, hvap, hfus, ttp, cp, eps, epsm1, sr, rainp, u00k, psautco, prautco, evpco, wminco, wk1, lprnt, jpr, errmsg, errflg)
 

Detailed Description

Argument Table

zhaocarr_precpd_run argument table
local_namestandard_namelong_nameunitstypedimensionskindintent
imhorizontal_loop_extenthorizontal loop extentcountinteger()in
kmvertical_layer_dimensionvertical layer dimensioncountinteger()in
dttimestep_for_physicsphysics time stepsreal()kind_physin
delair_pressure_difference_between_midlayerspressure level thicknessPareal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physin
prslair_pressurelayer mean pressurePareal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physin
qspecific_humidity_of_new_statewater vapor specific humiditykg kg-1real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physinout
cwmcloud_liquid_water_mixing_ratio_of_new_statemoist cloud condensed water mixing ratiokg kg-1real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physinout
tair_temperature_of_new_statelayer mean air temperatureKreal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physinout
rnlwe_thickness_of_explicit_precipitation_amountexplicit precipitation amount on physics timestepmreal(ccpp_constant_one:horizontal_loop_extent)kind_physout
gravgravitational_accelerationgravitational accelerationm s-2real()kind_physin
hvaplatent_heat_of_vaporization_of_water_at_0clatent heat of evaporation/sublimationJ kg-1real()kind_physin
hfuslatent_heat_of_fusion_of_water_at_0clatent heat of fusionJ kg-1real()kind_physin
ttptriple_point_temperature_of_watertriple point temperature of waterKreal()kind_physin
cpspecific_heat_of_dry_air_at_constant_pressurespecific heat of dry air 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
srratio_of_snowfall_to_rainfallratio of snowfall to large-scale rainfallfracreal(ccpp_constant_one:horizontal_loop_extent)kind_physout
rainptendency_of_rain_water_mixing_ratio_due_to_microphysicstendency of rain water mixing ratio due to microphysicskg kg-1 s-1real(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physout
u00kcritical_relative_humiditycritical relative humidityfracreal(ccpp_constant_one:horizontal_loop_extent, ccpp_constant_one:vertical_layer_dimension)kind_physin
psautcoautoconversion_to_snow_coefficientconversion coefficient from cloud ice to snownonereal(ccpp_constant_one:2)kind_physin
prautcoautoconversion_to_rain_coefficientconversion coefficient from cloud water to rainnonereal(ccpp_constant_one:2)kind_physin
evpcoprecipitation_evaporation_coefficientcoefficient for evaporation of rainfallnonereal()kind_physin
wmincocloud_condensate_autoconversion_threshold_coefficientconversion coefficient from cloud liquid and ice to precipitationnonereal(ccpp_constant_one:2)kind_physin
wk1grid_size_related_coefficient_used_in_scale_sensitive_schemesgrid size related coefficient used in scale-sensitive schemesnonereal(ccpp_constant_one:horizontal_loop_extent)kind_physin
lprntflag_printflag for printing diagnostics to outputflaglogical()in
jprhorizontal_index_of_printed_columnhorizontal index of printed columnindexinteger()in
errmsgccpp_error_messageerror message for error handling in CCPPnonecharacter()len=*out
errflgccpp_error_codeerror code for error handling in CCPP1integer()out

GFS precpd Scheme General Algorithm

The following two equations can be used to calculate the precipitation rates of rain and snow at each model level:

\[ P_{r}(\eta)=\frac{p_{s}-p_{t}}{g\eta_{s}}\int_{\eta}^{\eta_{t}}(P_{raut}+P_{racw}+P_{sacw}+P_{sm1}+P_{sm2}-E_{rr})d\eta \]

and

\[ P_{s}(\eta)=\frac{p_{s}-p_{t}}{g\eta_{s}}\int_{\eta}^{\eta_{t}}(P_{saut}+P_{saci}-P_{sm1}-P_{sm2}-E_{rs})d\eta \]

where \(p_{s}\) and \(p_{t}\) are the surface pressure and the pressure at the top of model domain, respectively, and \(g\) is gravity. The implementation of the precipitation scheme also includes a simplified procedure of computing \(P_{r}\) and \(P_{s}\) (Zhao and Carr (1997) [223]).

The calculation is as follows:

  1. Calculate precipitation production by auto conversion and accretion ( \(P_{saut}\), \(P_{saci}\), \(P_{raut}\)).
    • The accretion of cloud water by rain, \(P_{racw}\), is not included in the current operational scheme.
  2. Calculate evaporation of precipitation ( \(E_{rr}\) and \(E_{rs}\)).
  3. Calculate melting of snow ( \(P_{sm1}\) and \(P_{sm2}\), \(P_{sacw}\)).
  4. Update t and q due to precipitation (snow or rain) production.
  5. Calculate precipitation at surface ( \(rn\)) and fraction of frozen precipitation ( \(sr\)).

GFS precpd Scheme Detailed Algorithm