Welcome to UFS stochastic physics’s documentation!¶
Getting Started¶
The stochastic physics currently only works with the UFS-atmosphere model
You should get the full system at https://github.com/ufs-community/ufs-weather-model, which will include the stochastic physics code.
In order to enable stochastic physics in a model run, you will need to turn it on via namelist options
If using the CIME workflow decribed at https://ufs-mrweather-app.readthedocs.io/en/latest/, please add do_sppt=T, etc. to user_nl_ufsatm in the case directory.
Users Guide¶
The stochastic physics currently only works with the UFS-atmosphere model
Currently, 3 stochastic schemes are used operationally at NCEP/EMC: Stochastic Kinetic Energy Backscatter (SKEB; Berner et al., 2009), Stochastically Perturbed Physics Tendencies (SPPT; Palmer et al., 2009), and Specific Humidity perturbations (SHUM), which is inspired by Tompkins and Berner, 2008. In addition there is the ability to perturb certain land model/surface parameters (Gehne et al, 2019), and a cellular automata scheme (Bengtsson et al. 2019) which interacts directly with the convective parameterization.
SKEB adds wind perturbations to model state. Perturbations are random in space/time, but amplitude is determined by a smoothed dissipation estimate provided by the dynamical core. Addresses errors in the dynamics - more active in the mid-latitudes
SPPT multiplies the physics tendencies by a random number O [0,2] before updating the model state. Addresses error in the physics parameterizations (either missing physics or unresolved subgrid processes). It is most active in boundary layer and convective regions
SHUM multiply the low-level specific humidity by a small random number each time-step. It attempts to address missing physics (cold pools, gust fronts), most active in convective regions
Land surface perturbations allow for land surface parameters such as Albedo, Soil Hydraulic Conductivity, LAI, and roughness lengths to vary in space. Addresses error in the land model and land-atmosphere interactions.
Due to the model’s numerics, any stochastic perturbation needs to be correlated in space and time in order to have the desired effect of upscale growth of the perturbations. This is achieved by creating a random pattern that has a specified decorrelation length-scale and is a first order auto-regressive process AR(1) in time with a specified decorrelation time-scale. (The CA random pattern generator also satisfies this condition)
Currently the Land surface perturbations and cellular automata are not supported at the workflow level.
Stochastic Physics Namelist¶
General options¶
Option | Description |
---|---|
NTRUNC | Optional, Spectral resolution (e.g. T126) of random patterns, default is for model to determine proper truncation |
LAT_S | Optional, number of latitude points for the gaussian grid (must be even), default is for model to determine gaussian grid |
LON_S | Optional, number of longitude points for the gaussian grid (recommend 2xLAT_S, default is for model to determine gaussian grid |
FHSTOCH | Optional, forecast hour to write out random pattern in order to restart the pattern for a different forecast (used in DA), file is stoch_out.F<HHH> |
STOCHINI | Optional, set to true if wanting to read in a previous random pattern (input file needs to be named stoch_ini). |
SPPT options¶
Option | Description |
---|---|
DO_SPPT | logical to tell parent atmospheric model to use SPPT |
SPPT | Amplitudes of random patterns (0.8,0.4,0.2,0.08,0.04) * |
SPPT_TAU | Decorrelation timescales in seconds (21600,1.728E5,6.912E5,7.776E6,3.1536E7) * |
SPPT_LSCALE | Decorrelation spatial scales in meters (250.E3,1000.E3,2000.E3,2000.E3,2000.E3) * |
SPPT_LOGIT | Should be true to limit the SPPT perturbations between 0 and 2. Otherwise model will crash. |
ISEED_SPPT | Seeds for setting the random number sequence (ignored if stochini is true) |
SPPT_SIGTOP1 | lower sigma level to taper perturbations to zero (default is 0.1) |
SPPT_SIGTOP2 | upper sigma level to taper perturbations to zero (0.025) |
SPPT_SFCLIMIT | .T.=tapers the SPPT perturbations to zero at model’s lowest level (helps reduce model crashes) |
SPPTINT | Optional, interval in seconds to update random pattern. Perturbations still get applied every time-step |
USE_ZMTNBLCK | .T.=do not apply perturbations below the dividing streamline that is diagnosed by the gravity wave drag, mountain blocking scheme |
*
SPPT uses 5 different patterns of varying time/length scales that are added together before being passed to physics
SHUM options¶
Option | Description |
---|---|
DO_SHUM | logical to tell parent atmospheric model to use SHUM |
SHUM | Amplitudes of random patterns (0.004) |
SHUM_TAU | Decorrelation timescales in seconds (21600) |
SHUM_LSCALE | ecorrelation spatial scales in meters (250000) |
SHUM_SIGEFOLD | e-folding lengthscale (in units of sigma) of specific humidity perturbations, default is 0.2) |
SHUMINT | Optional, interval in seconds to update random pattern. Perturbations still get applied every time-step |
ISEED_SHUM | Seeds for setting the random number sequence (ignored if stochini is true). |
SKEB options¶
Option | Description |
---|---|
DO_SKEB | logical to tell parent atmospheric model to use SKEB |
SKEB | Amplitudes of random patterns (0.5) |
SKEB_TAU | Decorrelation timescales in seconds (21600) |
SKEB_LSCALE | Decorrelation spatial scales in meters (250) |
ISEED_SKEB | Seeds for setting the random number sequence (ignored if stochini is true). |
SKEBNORM | 0-random pattern is stream function, 1-pattern is K.E. norm, 2-pattern is vorticity (default is 0) |
SKEB_VARSPECT_OPT | 0-gaussian (default), 1-power law (not tested) |
SKEB_NPASS | number of passes of the del2 smoothing for the dissipation estimate (default is 11, minimum is 3) |
SKEB_VDOF | the number of degrees of freedom in the vertical for the SKEB random pattern (default is 5) |
SKEB_SIGTOP1 | lower sigma level to taper perturbations to zero (default is 0.1) |
SKEB_SIGTOP2 | upper sigma level to taper perturbations to zero (0.025) |
SKEBINT | Optional, interval in seconds to update random pattern. Perturbations still get applied every time-step |
Developer’s guide¶
Code is housed on github at https://github.com/noaa-psd/stochastic_physics. Please read more about the Development process at https://github.com/ufs-community/ufs/wiki/Developing-with-Gitflow.
Please make a fork and checkout the entire ufs-community weather model at https://github.com/ufs-community/ufs-weather-model and point to your fork of the stochastic_physics submodule.
Standalone testing¶
If you intend to make modifications to the stochastic physics source code, there is a simplified program that exercises the random pattern generator without needing to run the entire model. Please see README.standalone in the stochastic_physics directory.
Full model tests¶
The code updates are not expected to change existing results, so the full model regression tests need to be run. All of the tests must pass, although only a sub-set of tests are needed to consider adding changes to the stochastic_physics repository: fv3_control, fv3_stochy, fv3_ccpp_control, and fv3_ccpp_stochy. If the results are expected to change, then there needs to be scientific evidience that the change in results are what is expected.
References¶
Berner, J., G. Shutts, M. Leutbecher, and T. Palmer, 2009: A spectral stochastic kinetic energy backscatter scheme and its impact on flow- dependent predictability in the ECMWF ensemble prediction system. J. Atmos. Sci., 66, 603–626, doi:10.1175/2008JAS2677.1
Gehne, M., T. Hamill, G. Bates, P. Pegion, W. Kolczynski 2019: Land-surface parameter and state perturbations in the Global Ensemble Forecast System. Mon. Wea. Rev. 147, 1319–1340 doi:10.1175/MWR-D-18-0057.1
Palmer, T. N., R. Buizza, F. Doblas-Reyes, T. Jung, M. Leutbecher, G. J. Shutts,M. Steinheimer, and A.Weisheimer, 2009: Stochastic parametrization and model uncertainty. ECMWF Tech. Memo. 598, 42 pp doi:10.21957/ps8gbwbdv
Tompkins, A. M., and J. Berner, 2008: A stochastic convective approach to account for model uncertainty due to unresolved humidity variability. J. Geophys. Res., 113, D18101, doi:10.1029/2007JD009284