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

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 Draper 2021), 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. The perturbation options are only available to NOAH and RUC-LSM land models.

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)

Cellular automata is enabled through the physics namelist

Stochastic Paramter Perturbation (SPP) is avaiable for the FV3_HRRR physics suite

Stochastic Physics Namelist

General options

Option Description
NEW_LSCALE Recommended, set to true if use the correct calculation for decorrelation length scale.
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
STOCHINI Optional, set to true if wanting to read in a previous random pattern

SPPT options

Option Description
SPPT Amplitudes of random patterns.
SPPT_TAU Decorrelation timescales in seconds.
SPPT_LSCALE Decorrelation spatial scales in meters.
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 (default is 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
PERT_MP .T.=apply SPPT perturbations to all microphysics specis. If .F. the SPPT is only applied to u,v,t,qv
PERT_RADTEND .T.=apply SPPT perturbations to cloudy sky radiation tendencies. If .F. then do not perturb any radiative tendencies
PERT_CLDS .T.=apply SPPT perturbations to fraction (only works for RRTMG radiation), if using this option set PERT_RADTEND=.F.

SHUM options

Option Description
SHUM Amplitudes of random pattern.
SHUM_TAU Decorrelation timescales in seconds.
SHUM_LSCALE ecorrelation spatial scales in meters.
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
SKEB Amplitudes of random patterns.
SKEB_TAU Decorrelation timescales in seconds
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

SPP options

Option Description
SPP_VAR_LIST List of parameterizations to be perturbed. Check compns_stochy.F90 for options.
SPP_PRT_LIST SPP perturbation magnitudes used in each parameterization.
SPP_TAU Decorrelation timescales in seconds.
SPP_LSCALE Decorrelation spatial scales in meters.
ISEED_SPP Seeds for setting the random number sequence (ignored if stochini is true).
SPP_SIGTOP1 Lower sigma level to taper perturbations to zero (default is 0.1)
SPP_SIGTOP2 Upper sigma level to taper perturbations to zero (0.025)
SPP_STDDEV_CUTOFF Limit for possible perturbation values in standard deviations from the mean.

Land perturbation options

Option Description
LNDP_TYPE 0, no perturbations. 1, old scheme (Gehne et al. 2019); 2, new scheme (Draper 2021)
LNDP_VAR_LIST List of land perturbations parameters. Check compns_stochy.F90 for options
LNDP_PRT_LIST Perturbation magnitudes used for each parameter perturbations.
LNDP_TAU Decorrelation timescales in seconds.
LNDP_LSCALE Decorrelation spatial scales in meters.
ISEED_LNDP Seeds for setting the random number sequence (ignored if stochini is true).

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

Bengtsson, L., J. Dias, M. Gehne, P. Bechtold, J. Whitaker, 2019: Convectively Coupled Equatorial Wave Simulations Using the ECMWF IFS and the NOAA GFS Cumulus Convection Schemes in the NOAA GFS Model. Mon. Wea. Rev. 147, 4005 - 4025, doi:10.1175/MWR-D-19-0195.1

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

Draper, C., 2021: Accounting for Land Model Uncertainty in Numerical Weather Prediction Ensemble Systems: Toward Ensemble-Based Coupled Land–Atmosphere Data Assimilation. J. Hydromet., 22, 2089–2104, doi:10.1175/JHM-D-21.0016.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

Source Code Documentation

#Doxygen generated (out of date) content