You are on page 1of 23

Unified Model Documentation Paper 081

Stochastic Physics Code in the UM

UM Version : 10.1
Last Updated : 2015-03-06 (for vn10.1)
Owner : Warren Tennant

Contributors:
S. Beare, W. Tennant and C. Sanchez

Met Office
FitzRoy Road
Exeter
Devon EX1 3PB
United Kingdom

c Crown Copyright 2015


This document has not been published; Permission to quote from it must be obtained from the Unified Model
system manager at the above address
UMDP: 081
Stochastic Physics Code in the UM

Contents
1 Introduction 2

2 How to control a Stochastic Process: Managing the Random Seed 3

3 The Random Parameters (RP) scheme 3


3.1 History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3.2 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.3 Parameters Used . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.4 RP & the GUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.4.1 Parameter Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.5 RP Code - Version 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

4 The Stochastic Kinetic Energy Backscatter (SKEB2) scheme 9


4.1 History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
4.2 Spectral pattern generator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4.3 Stochastic backscatter streamfunction forcing . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.3.1 Numerical Dissipation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.3.2 Biharmonic Numerical Dissipation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4.3.3 SKEB1-type Dissipation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4.3.4 Convective Dissipation (CAPE-based scheme) . . . . . . . . . . . . . . . . . . . . . . . . 12
4.3.5 Convective Dissipation (Massflux-based scheme) . . . . . . . . . . . . . . . . . . . . . . 13
4.3.6 Smoothing of Dissipation Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.4 SKEB2 and the GUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.5 SKEB2 code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

5 Stochastic Perturbed Tendencies (SPT) scheme 15


5.1 Water conservation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
5.2 Moist static energy conservation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
5.3 SPT in the UM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
5.4 SPT code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

6 Stochastic boundary layer temperature perturbations 19

7 Stochastic Physics Section 35: STASH output and diagnostics 20

8 Acknowledgements 20

1 c Crown Copyright 2015



UMDP: 081
Stochastic Physics Code in the UM

1 Introduction

Representation of model uncertainties is now considered indispensable in any ensemble system. In fact, it is
hypothesised to be the major contributor to the under-dispersion observed in medium-range ensemble prediction
systems (Hamill and Colucci, 1997).
Approximations in model formulation are unavoidable, for example, the parametrization of unresolved atmo-
spheric processes. Errors arising from such uncertainties can be amplified during the course of the forecast as
their impact upscales to larger scales of motion until even the resolved scales are affected. Dealing with model
error in ensembles is thought to be an even greater challenge than simulating initial condition perturbations
(Buizza et al., 2005).
The stochastic physics code within the Unified Model (UM) has been written for use with the Met Office ensemble
configuration - MOGREPS (Met Office Global and Regional Ensemble Prediction System) (Bowler et al., 2008).
In order to represent the effects of structural and sub-grid-scale model uncertainties: the Random Parameters
(RP) scheme and the Stochastic Convective Vorticity (SCV) scheme was developed. This was followed by tests
with a Stochastic Kinetic Energy Backscatter (SKEB1) scheme that calculated wind increments at each time-
step based on the kinetic energy of the flow. Recently, this scheme was enhanced to include the effects of
assumed kinetic energy loss from convection processes and numerical advection schemes. This backscatter
scheme was first lodged in the UM trunk at vn7.4 as SKEB2, and a refined version has been lodged at vn7.5.
The random parameters version 1 (RP1) and stochastic convective vorticity (SCV) schemes have been removed
from the trunk at vn7.9. At vn7.9 the logical flag controlling random parameters 2 (l rp2) has been moved from
[namelist:run convection] to [namelist:run stochastic] (a more sensible location for this logical flag). In
UM version 9.1, the Stochastic Perturbed Tendencies (SPT) scheme has been incorporated to represent the
structural uncertainty and subgrid fluctuations of physical parametrizations. A brief history of stochastic physics
in the UM is given in Table 1 .
The stochastic physics is in the UM Atmosphere Section 35:Stochastic Schemes. All settings for the stochastic
physics schemes are controlled by settings found in [namelist:run stochastic]. The stochastic physics code
can be selected from the UM GUI UM Science Settings Section 35-Stochastic Schemes, which is a visualisation
of the run stochastic namelist. In a rose suite this namelist is in the suite app file rose-app.conf.

Unified Model Version Code History


6.1 Modsets available
6.3 Original Versions of SCV and RP lodged
6.4 Corrections to RP lodged
6.5 No Changes
6.6 No Changes
7.0 No Changes
7.1 Corrections to RP
RP Version 2 (RP2) Added
7.2 No Changes
7.3 No Changes
7.4 SKEB2 lodged
7.5 Improvements to SKEB2
7.6 No Changes
7.7 New BdyLyr RP; SKEB2 energy dissipation improved
7.9 Random Parameters Version 1 Removed; SCV removed; l rp2 moved
8.0 Independent variation of RP2; local backscatter smoothing
8.6 Biharmonic numerical dissipation included for SKEB2
9.1 SPT lodged

Table 1: A brief history of the stochastic physics code within the Unified Model

2 c Crown Copyright 2015



UMDP: 081
Stochastic Physics Code in the UM

2 How to control a Stochastic Process: Managing the Random Seed

Stochastic schemes use random number formulations to initialise and evolve fields during the course of a model
run. This effectively produces different results from one run to another. The random number sequence is
controlled by a random seed which follows a predictable sequence, such that the generated random numbers,
and hence forecasts, can be reproduced. This can be useful when investigating failed forecast runs, checking
for bit comparison between runs, or comparing other changes to the model.
The random seed utility includes the ability to generate random seeds based on the computer clock time; the
model forecast date and unique ensemble member number; or set by the user. It also allows continuation runs
(CRUN) to operate in a seamless way, e.g. three consecutive 10-day forecasts will be identical to a single 30-day
run.
In the gui there are the following options to manage the stochastic physics random seed stphseed:
0. Use start-dump date and ensemble member ”Radio button 0”:
This option will use the start-dump date (accurate to the minute) and an environment variable ENS -
MEMBER to calculate an initial random seed. This option is typically used in MOGREPS and other
systems where reproducibility is important. If ENS MEMBER is not set the model will fail. This variable is
set in the suite environment. Note that with this option, every time the model is run with the same input
data it should reproduce the same forecast (subject to other reproducibility flags, e.g. global sums). The
value of the seed is printed in the standard output for reference.
When present ENS MEMBER is written to PP LookUp header item=37 in all output fieldsfiles (see UM-
DOC F3).
1. Use computer date/time ”Radio button 1”:
This option generates a seed using the clocktime on the computer (millisecond accuracy). Note that with
this option, every time the model is run it will produce a different forecast.
2. Use seed file ”Radio button 2”:
This option allows a user to re-run the model using a previously generated random seed or continue from a
previous run (CRUN). The [namelist:run stochastic] logical variable l stphseed file must be set to .true.,
and the name and location of the random seed file to be read must be set by rpseed in [namelist:nlcfiles].
If the seed file is active, i.e. l stphseed file is true, the model will then store the seed, RP2 perturbations and
SKEB2, SPT spectral pattern coefficients, whenever model dumps are written in a seed file. This file has a
basename set by rpseed in [namelist:nlcfiles] and has the scheme name, viz. SEED, RP2, SKEB or SPT, and
the timestep added to it. This file format is unformatted to preserve full bit accuracy.
Note for CRUNs: In the case of CRUNs the user should ideally use either option 0 or 2 for stphseed and set l -
stphseed file to true. The subsequent CRUNs can then proceed by reading the necessary seed and coefficient
files as written during the previous run at dump timesteps. This allows the stochastic process to continue
uninterrupted when the model restarts. A seed file on the Met Office IBM HPC has an integer up to 19-digits
long, e.g.: 4822152206489911072.

3 The Random Parameters (RP) scheme

3.1 History

Random Parameters version one is available from UM6.4 - UM7.8, this is the initial implementation of the
scheme. This scheme is no longer used within the MOGREPS system and has been removed from the trunk at
vn7.9 and from the UMDP. For documentation on this scheme please see previous versions of UMDP81.
At UM7.1 a second version of the random parameters scheme was introduced; although the code was in use in
the operational version of the MOGREPS ensembles since Spring 2007. Due to a change in the way the ice fall
speed was modelled in ¡3C¿ and now ¡3D¿ microphysics, random parameters version 2 was developed based
on the original random parameters scheme lodged at vn7.1 plus two main additions:

3 c Crown Copyright 2015



UMDP: 081
Stochastic Physics Code in the UM

1. Extra code is included to modify ice fall speed within the <3C>/<3D> Microphysics schemes.
2. Code has been included to modify the Charnock parameter which is used in the calculation of roughness
lengths over the sea.
At UM7.7 additional boundary layer parameters were included in the random parameters scheme. These are
aimed at improving the representation of forecast uncertainty in stratocumulus situations. These include a
parameter used in the entrainment rate calculation a ent 1, a parameter used in the calculation of the cloud-top
diffusion coefficient g1, a critical Richardson number for the long-tails and Louis function cases ricrit, and a
parameter used to define the minimum mixing length lambda min.
From UM9.0 all stochastic physics settings are held in [namelist:run stochastic].

3.2 Description

There are many physical processes (convection, boundary layer exchanges, etc) that occur on scales too small
to be directly resolved by the model and need to be parametrized. These parametrizations involve a num-
ber of empirical-adjustable parameters and thresholds which are given somewhat arbitrary values. The RP
scheme aims to account for the uncertainty associated with these empirical parameters and to simulate the
non-deterministic processes not explicitly accounted for by the different parametrizations.
It should be noted that the random parameters scheme differs in its approach from that followed by the Met
Office Hadley Centre’s Quantifying Uncertainty in Model Prediction (QUMP) project Murphy et al. (2004). The
QUMP project is based on multiple runs of the climate model where the values of a set of adjustable parameters
are selected at the start of the simulation and are held constant throughout each simulation. Although based
on the similar principles, the MOGREPS ensemble has been developed following the assumption that each
ensemble member should be an equally likely realisation of the atmospheric state. In order to maintain the
assumption that all the ensemble members are equally probable, the random parameter values are not held
constant during the whole simulation but are varied randomly between their maximum and minimum values.
The idea behind RP, to treat a selected group of parameters as stochastic variables, is similar to the approach
followed by Lin and Neelin (2000) and Bright and Mullen (2002). Each parameter value is calculated using a
first-order auto-regression model Wilks (2006) as given by:

Pt = µ + r (Pt−1 − µ) + ǫ (1)

where Pt is the parameter value at time t, µ is the mean value of the parameter, r is the autocorrelation of P
and ǫ is the stochastic shock term.
In order to avoid unrealistic values, each parameter is bound by minimum and maximum values Pmin and
Pmax which were estimated by experts in each field. For some of the parameters the default value is not
half-way between the maximum and minimum value, thus the mean value of these parameters as used by
RP will differ from the default value. This may introduce a bias in the forecast, but was unavoidable given the
advice of the parametrization experts. The stochastic shock term, ǫ, is sampled from a uniform distribution
from the range ±(Pmax − Pmin )/3. This is an arbitrary choice, but a uniform distribution was preferred over
a normal distribution as this ensures that the parameter values are approximately evenly distributed over the
range. The autocorrelation r has been given a value of 0.95 and the parameters’ values are updated every
3-hours. The parameters’ values are equal for all grid points (i.e. the spatial correlation is 1). In order to tune
the autocorrelation time, r, and noise amplitude values, ǫ a series of short-range (72-hours) ensemble forecasts
were run. From this data, the combination of values that generated the maximum amount of spread and gave,
on average, the best deterministic scores for the individual ensemble members were chosen. The analysis
focused on surface variables: 2m temperature, precipitation and mean sea level pressure. Results from the
initial testing of the random parameters scheme can be found in Arribas (2004).
From vn7.7 the parameters are initialised at a random point in the allowed range. This allows each ensemble
member to begin from a unique point instead of all members starting at the same mean value. This was
further enhanced at UM version 8.0, where the random parameters may be varied independently of each other.
This is done by choosing a maximum random number limit greater than one (preferably >= the number of
parameters being perturbed). Previously all parameters were varied by a single random number. This change
was introduced to help reduce model instabilities encountered with using RP2 in Global Atmosphere (GA3.x)
physics.

4 c Crown Copyright 2015



UMDP: 081
Stochastic Physics Code in the UM

3.3 Parameters Used

Parameters from four different physical parametrizations are included in the Random Parameter 2 scheme. The
physical parametrizations affected by the scheme are: Large-scale precipitation (Wilson and Ballard, 1999),
Convection (Gregory and Rowntree, 1990), Boundary Layer (Lock et al., 2000) and Gravity Wave drag (Webster
et al., 2003). Further information on these schemes can be found in UMDP-026 , UMDP-027 , UMDP-022
and UMDP-024 respectively. A brief description of each parameter follows, details on how to set the parameter
values is given in Section 3.4:
• Entrainment Rate Coefficient: Scalar, part of the convection scheme. This parameter scales the rate of
mixing between environmental air and the convective plume.
• Time scale for destruction of CAPE: Scalar, part of the closure of the convection scheme. It determines
how intense the convective mass flux needs to be to eliminate the available CAPE in a given time.
• Flux profile parameter : Scalar, part of the stable boundary layer scheme. It determines the stability de-
pendence of turbulent mixing coefficients, for example enhancing or reducing mixing in a stable boundary
layer.
• Asymptotic neutral mixing length: Scalar, part of the boundary layer scheme. This parameter sets the
magnitude of the mixing lengths and hence the turbulent mixing coefficients.
• Gravity Wave constant: Scalar, part of the Gravity wave drag scheme. It defines the magnitude of the
parametrized response.
• Critical Froude number : Scalar, part of the gravity wave drag scheme. It determines the proportion of the
drag attributed to flow blocking and gravity wave drag respectively. The larger the critical Froude number
the larger the proportion attributed to flow blocking.
• Critical relative humidity : Vector, part of the large-scale precipitation scheme. This is the threshold of
relative humidity for cloud formation. It takes different values on different model levels. In order to be
consistent with the structure in the standard version of the model a value for the perturbation to the critical
value at level 3 is calculated, and this perturbation is also applied to all levels above this. The critical
values used at the bottom two levels of the model are not perturbed.
• Ice fall speed parameter : Scalar, part of the large scale precipitation scheme. The ice fall speed is modified
by this parameter.
• Charnock parameter : Scalar, part of the boundary layer scheme. This parameter is used in the calculation
of surface wind stress over the oceans .
At UM vn7.7 four new parameters were added to the boundary layer scheme.
• Minimum mixing length: Scalar, defines the minimum mixing length in subroutine ex coef that calculates
exchange coefficients. scheme. It defines the magnitude of the parametrized response.
• Critical Richardson number : Scalar, alters the default critical Richardson number for long-tails and Louis
functions.
• Entrainment parameter A1: Scalar, allows us to vary the entrainment rate calculation.
• Cloud-top diffusion control: Scalar, allows us to scale the diffusion coefficient used to calculate cloud-top
diffusion.

3.4 RP & the GUI

The random parameters scheme is controlled by the stochastic physics namelist [namelist:run stochastic].
This is accessed in the GUI under UM Science Settings -¿ Section 35 - Stochastic Schemes. To use the
random parameters scheme set l rp2 == true. This will enable the available parameter options.

5 c Crown Copyright 2015



UMDP: 081
Stochastic Physics Code in the UM

3.4.1 Parameter Settings

A number of tables are available which control the maximum and minimum values of each parameter. In some
cases the default value is greyed out and must be set elsewhere in the UM, otherwise they can be set in the
table, although this is not recommended. The values in the table are described below including the ranges
specified by the experts in each scheme. It should be noted that these ranges assume the default values of
each parameter are the standard values that would be used if the random parameters scheme was not selected.
Some parameters do depend on the resolution or configuration of the UM that is being run - the values quoted
are appropriate for N144/N216 global resolution models and a 12km/18km/24km resolution regional model, with
38 and 70 vertical levels.
The default behaviour is to vary all parameters in sync using a single random number. However, setting a
larger number for the option: Max independent random numbers to use (see help), will vary the parameters
independently. This number should ideally be at least as large as the number of random parameters active in
the table.
• ”Convection Parameters”: See table 2.

Parameter UM Variable Min / Default / Max


Entrainment rate coefficient ENTCOEF 2.75 / 3.0 / 4.0
Cape closure timescale(seconds) cape timescale 1800 / 1800 / 3600
- RH Based Closure

Table 2: Convection Parameters

The default entrainment rate coefficient is defined within the model and can not be changed through the
gui. The default cape timescale is defined in the gui in convective closure [namelist:run convection].
These parameters can only be used with the <4A> convection scheme.
• ”Large Scale Precipitation Parameters”: See table 3.

Parameter UM Variable Min / Default / Max


Critical Relative Humidity rhcrit 0.900 / 0.9 /0.932
(Global)
Critical Relative Humidity rhcrit 0.87 / 0.88 / 0.89
(Regional)
Ice Fall Speed Parameter m ci 0.6 / 1.0 / 1.4
<3C/D> Microphysics

Table 3: Large Scale Precipitation Parameters

To determine appropriate minimum and maximum values for rhcrit, check the default values for levels two,
three and four in the table rhcrit within large scale cloud [namelist:run cloud].
The maximum value of rhcrit at level three should be less than the default rhcrit value on level two. The
minimum value of rhcrit at level three should be greater than the default rhcrit value on level four. For the
24km L38 example below (see Table 5), the default value of rhcrit is 0.88, the maximum value of rhcrit,
0.89, lies between the values on levels two and three, 0.9 and 0.88 respectively. The minimum value of
rhcrit, 0.87, lies between the values on levels three and four, 0.88 and 0.86 respectively. These guidelines
are written for the 38-level set. For other vertical levels, e.g. 70-levels, use equivalent levels at a similar
height-above-ground. The settings for a 18kmL70 configuration is given in Table 4. The 18kmL38 values
are the same as the 24kmL38.
In the code the perturbation to the reference-level rhcrit is simply applied to all levels above that. In
essence the entire column is shifted by the same amount.
As mentioned in Section 3.3 the variation of rhcrit with height should be preserved. In the model at versions
6.4 - 7.0, the variation with rhcrit with height has been hardwired to be appropriate for an N144L38, with
a decrease in value of rhcrit of 0.05 at the relevant levels. Using the code at 6.4 - 7.0, with a 12km/24km
L38 resolution will result in rhcrit values which are too low at upper levels. A fix was introduced at model
version 7.1 which calculates this dynamically, dependent on the values of rhcrit.

6 c Crown Copyright 2015



UMDP: 081
Stochastic Physics Code in the UM

Wet Level Parameters


Start Level End Level Default rhcrit (24kmL38)
1 1 0.91
2 2 0.90
3 3 0.88
4 4 0.86
5 5 0.84
6 6 0.82
7 38 0.80

Table 4: Wet Level Parameters for a 24km limited area model with 38 vertical levels

Wet Level Parameters


Start Level End Level Default rhcrit (24kmL38)
1 1 0.910
2 2 0.900
3 3 0.890
4 4 0.880
5 5 0.865
6 6 0.850
7 7 0.840
8 8 0.830
9 9 0.820
10 10 0.810
11 70 0.800

Table 5: Wet Level Parameters for a 18km limited area model with 70 vertical levels

If ”Random Parameters Version 2” has been selected then the entry boxes relating to the maximum, mini-
mum and default values of the ”Ice fall speed multiplication factor” will also be available for use (otherwise
they should be greyed out). These can be used to modify the ice fall speed used in the <3C> and <3D>
microphysics schemes which are altered within run precip. Note, that this parameter is used to multiply
the default values of the ice fall speed and therefore a value of one is recommended as the default value.
• ”Boundary Layer”: See table 7.
At UM versions 6.4 to 7.0, the variables g0 rp and par mezcla are initialised to their default values at
time step one within src/control/top level/atm step.F90, and therefore can not be altered through the
namelists/gui. If you are trying to run a continuation run (CRUN) then these variables will not be initialised.
At UM version 7.1, the variables g0 rp and par mezcla are now intialised through [namelist:run stochas-
tic] rather than through atm step.F90. Default values should be the same as those used by the determin-
istic model (hardwired within the code). It is therefore recommended that the defaults of 10.0 and 0.15 are
not altered without consulting boundary layer experts.
The default values of the 4 new variables (lambda min rp, rhcrit rp, a ent 1 rp, and g1 rp) introduced at
vn7.7 can be set in the table but at this stage do not serve any purpose other than informing the user of
the values hard-coded within the UM.
The entry boxes relating to the maximum and minimum of the ”Charnock Parameter ” will only function if
”Random Parameters Version 2” is selected and l rp2 is set to true.
• ”Gravity Wave Drag”: See table 8.
The surface gravity wave constant depends on the orography used in the model start dump. Please check
the default values of the surface gravity wave constant and Froude number in [namelist:run gwd]. Note,
the MOGREPS-G system changed to use the same gravity wave constant values as the regional model
at PS18 (early 2008).

7 c Crown Copyright 2015



UMDP: 081
Stochastic Physics Code in the UM

Wet Level Parameters


Start Level End Level Default rhcrit (N216L70)
1 1 0.920
2 2 0.918
3 3 0.916
4 4 0.912
5 5 0.908
6 6 0.903
7 7 0.898
8 8 0.891
9 9 0.885
10 10 0.877
11 11 0.869
12 12 0.859
13 13 0.850
14 14 0.839
15 15 0.828
16 16 0.815
17 17 0.803
18 70 0.800

Table 6: Wet Level Parameters for a N216 model with 70 vertical levels

Parameter UM Variable Min / Default / Max


Flux profile parameter g0 rp 5.0 / 10.0 / 20.0
Neutral mixing length par mezcla 0.05 / 0.15 / 0.5
Charnock Parameter Charnock 0.01 / 0.018 / 0.026
Minimum mixing length lambda min rp 20.0 / 40.0 / 100.0
Critical Richardson number ricrit rp 0.25 / 1.0 / 1.0
Entrainment parameter A1 a ent 1 rp 0.1 / 0.23 / 0.4
Cloud-top diffusion control g1 rp 0.5 / 0.85 / 1.5

Table 7: Boundary Layer Parameters

3.5 RP Code - Version 2

If l rp2 = .true. then Random Parameters 2 is called every 3-hours from atm step.F90, before the physics
routines are called. The main random parameters routine is stph rp2-stph rp2.F90 which is located under
src/atmosphere/stochastic physics, however, the nature of random parameters scheme determines that it mod-
ifies many more UM routines. A summary of all the routines and the manner in which they are affected by
random parameters is provided below.
src/control/top level/atm step.F90: If l rp2 is set to true, then random parameters 2 is called every 3 hours
beginning at timestep 1. Random parameters is called before any of the physics routines. The vari-
ables g0 rp, par mezcla, lambda min rp, rhcrit rp, a ent 1 rp, g1 rp are used by atm step.F90 and at-
mos physics2.F90 through module stochastic physics run mod.
src/atmosphere/stochastic physics/stph rp2-stph rp2.F90: This is the main random parameters routine which
is called from atm step.F90 if l rp2 is set to true. Each time random parameters is called the routine uses
the current random seed to generate a random number in stph rp pert.F90 (see below) to calculate the
new parameter value. Naming of the parameter variables follows the convention: x rp 0, x rp max, x rp -
min, x rp pert for the default (deterministic), maximum, minimum and latest perturbed value respectively.
src/atmosphere/stochastic physics/stph rp pert.F90: Subroutine to perform parameter change calculation.
This subroutine is called by src/atmosphere/stochastic physics/stph rp2-stph rp2.F90. New parameter
values are calculated using the stochastic shock term, ǫ, used to increment each parameter value. These
variations can be the same (with ran max=1) or independent (with ran max ¿ 1).
src/atmosphere/stochastic physics/stochastic physics run mod.F90: Contains main Random Parameter
switch l rp2 with a default value set to .false.; integer variable stphseed that should be set to either 0

8 c Crown Copyright 2015



UMDP: 081
Stochastic Physics Code in the UM

Parameter UM Variable Min / Default / Max


Gravity wave constant gwd frc 7.5 × 104 / 1.0 × 105 / 1.33 × 105
- (1o orography)
Gravity wave constant gwd frc 2.5 × 103 / 3.3 × 103 / 4.4 × 103
- (0.5o orography)
Froude number kay gwave 2.0 / 4.0 / 4.0
- Global
Froude number kay gwave 2.0 / 4.0 / 6.0
- Regional

Table 8: Gravity Wave Drag Parameters

(no random seed file used), 1 (read random seed from file; l rpseed read = .TRUE.) or 2 (write ran-
dom seed to file; l rpseed write = .TRUE.). the remaining random parameter values: g0 min, g0 -
rp, g0 max, par mezcla min, par mezcla, par mezcla max, lambda min min, lambda min rp, lambda -
min max, ricrit min, ricrit rp, ricrit max, a ent 1 min, a ent 1 rp, a ent 1 max, g1 min, g1 rp, g1 max,
Charnock max and Charnock min, m ci max, m ci, m ci min, rhcrit max and rhcrit min, cape timescale -
max, cape timescale min, entcoef max and entcoef min, gwd frc max, gwd frc min, kay gwave max and
kay gwave min.
src/atmosphere/stochastic physics/entcoef mod.F90: The entrainment rate coefficient, ENTCOEF, a REAL
variable for the purposes of random parameters. The default value of the entrainment rate coefficient is
3.0.
src/atmosphere/boundary layer/excf nl 9c.F90: Modifies entrainment parameter (a ent 1) and velocity scale
parameter (g1).
src/atmosphere/boundary layer/bdy expl2.F90: Modifies asymptotic mixing length for turbulent transport of
heat/moisture (lambdah) using neutral mixing length par mezcla. Logical l rp2 is specified via the state-
ment Use stochastic physics run mod, Only: l rp2.
src/atmosphere/boundary layer/ex coef.F90: This routine calculates the asymptotic neutral mixing lengths
for heat and momentum, LAMBDAH and LAMBDAM, using par mezcla. The random parameter g0 rp
is also used to vary the stability dependence of turbulent mixing coefficients, for example, enhancing
or reducing turbulent mixing in a stable boundary layer. Note, l rp2 is specified via the statement Use
stochastic physics run mod, Only: l rp2.
src/control/misc/file units mod.F90: This file defines the character variable rpseed and places it in the nlcfiles
namelist. This variable contains the path of the file which the random seed will be written to or read from.
src/atmosphere/large scale precipitation/lspcon-lspcon3c.F90: If l rp2 is set to .true. changes to multiply
the ice fall speed for the categories, CI and CIC by the randomly varying parameter m ci. Note, l rp2 is
specified via the statement Use stochastic physics run mod, Only: l rp2.

4 The Stochastic Kinetic Energy Backscatter (SKEB2) scheme

4.1 History

Physical processes exist in the real atmosphere where energy is upscaled from the small scales to the large-
scale flow. The exact extent of up and downscale energy flow is not fully quantified and is also difficult to model
adequately. In Numerical Weather Prediction models some of the energy cascades, particular the upscale
components, are not included and this can result in a net loss of kinetic energy. Typically, this is found in the
numerical integration schemes and some of the physical parametrization schemes. In numerical integration, the
unresolved small-scale eddies are subject to diffusion and dissipated as heat.
Similarly, during convection, particularly in large organised mesoscale convective complexes, mass-flux in the
anvil and detrainment around the updraught core is a source of kinetic energy to the resolved circulation, which
is not included in the numerical model. Therefore, the energy backscatter scheme seeks to identify these kinetic
energy sources and inject them back into the model.

9 c Crown Copyright 2015



UMDP: 081
Stochastic Physics Code in the UM

A physical justification for backscatter algorithms is given in Shutts (2005) and results from the implementation
of such a scheme at ECMWF is described in Berner et al. (2009). The rationale of backscatter originates
with large-eddy simulations where the turbulent dissipation rate was considered to be the difference between
upscale and downscale transfer of energy, with the upscale component acting as a source of kinetic energy to
the large-scale flow.
This section describes the implementation of the Stochastic Kinetic Energy Backscatter version 2 scheme
(SKEB2) in the global configuration of the Unified Model. A full description of the system and results from
a number of trials is given in Tennant et al. (2011). Currently, SKEB2 is not available in Limited Area configura-
tions of the Unified Model, but there are plans to start testing this scheme in regional models.

4.2 Spectral pattern generator

The backscatter energy is provided to the model in the form of wind increments, that are simply added to the
wind increments that have been calculated by the model physics routines at each model timestep in subroutine
atm step. The main SKEB2 subroutine stph skeb2 is called after calling atmos physics2. The wind increments
are derived from a streamfunction forcing function Fˆψ which is used to calculate rotational wind components
(divergent wind components can be included if the logical l velpot is ”true”, although this option is not yet
recommended for operational use owing to poor verification results). The increments can be weighted according
to latitude such that divergent winds are multiplied by cosine(latitude) and rotational winds by sine(latitude) if
the logical l latwgt is ”true”, which is used to reduce rotational wind increments in the tropics that can potentially
induce spurious larger-scale disturbances, such as tropical cyclones in monthly and seasonal simulations.
The SKEB2 process begins with the creation of a streamfunction forcing field which has a horizontal structure
described as a spectral expansion in terms of spherical harmonics. Each spectral mode of this field is evolved
in time using a first-order auto-regressive process such that the rate of energy backscatter per unit area can be
specified. The time evolution of the spectral coefficients is given by:

j+1 j
p j
fm,n = [1 − α(n)] fm,n + α(n) g(n) rm,n (2)

where α(n) varies between 0 (no stochastic forcing) and 1 (white noise forcing), and is given by:

α(n) = 1 − exp(−∆t/τ (n)) (3)

and g(n) is a real function that controls the spectral power in each mode, and is calculated at the start of the
model run in subroutine backscatter spectrum using:

g(n) = F0 χ(n) (4)

where,
1/2
4πa2 Btot

F0 = (5)
∆tΓ(n)Σ2

and, based on a coarse-graining analysis applied to a cloud-resolving model which was found to obey a power
law of the form n−1.54 , which can be equated to (2n + 1)χ(n)2 since χ(n)2 is the power of a single model and
there are (2n + 1) zonal wave modes for each n, this implies that,

χ(n) = n−1.27 (6)

j
The remaining terms in equation (2) include rm,n which are random numbers with zero mean and variance
2 1
Σ = 12 , ∆t is the model time-step (secs), Btot is a globally-uniform energy input rate set at 1e − 4 J.kg −1 .s−1 ,
and τ (n) is an exponential time scale corresponding to a decorrelation time of around 6 hours. The current
implementation of the code does not include the dependence of τ on wavenumber, but for completeness the
decorrelation time ought to be dependent on spatial scale and this will be tested in future releases of SKEB2.
The calculation to evolve the spectral coefficients in time is done in subroutine update dpsidt.

10 c Crown Copyright 2015



UMDP: 081
Stochastic Physics Code in the UM

j+1
Spectral coefficients fm,n are transformed to real space using a FFT routine called from subroutine skeb -
forcing. This work is done on a single processor (which is a weak point in the current system in terms of runtime
optimisation) as the domain decomposition of the model is not compatible with the way FFT routines work on
globally continuous fields. The streamfunction forcing field Fψj is expanded from the bottom model level upwards
using a first-order autoregressive process that retains the prescribed spatial structure at all levels.

4.3 Stochastic backscatter streamfunction forcing

The streamfunction forcing field Fψj described in the previous section is defined to provide a globally-uniform
energy input rate of Btot (J.kg −1 .s−1 ) with a spectral power distribution given by χ(n). This energy input rate
is modulated by a locally-diagnosed model energy dissipation rate to yield a final modulated streamfunction
forcing function Fˆψ using:

  21
Dtot (λ, µ, z)
F̂ψ (λ, µ, z) = bR Fψ (λ, µ, z) (7)
Btot

The modulated streamfunction function Fˆψ provides a local energy input rate controlled by the backscatter ratio
bR which results in the largest streamfunction (or equivalently vorticity) being injected in areas of high dissipation.
The total energy dissipation rate Dtot (m2 .s−3 or J.kg −1 .s−1 ) is calculated at each model timestep as the sum of
contributions from the numerical diffusion Dnum and DSKEB1−type , and from convection Dcon . Each component
of the total dissipation is multiplied by a factor xdispf ac to permit tuning the relative contribution of each field to
a more balanced total dissipation rate field:

Dtot = sdispf ac ∗ Dnum + kdispf ac ∗ DSKEB1−type + cdispf ac ∗ Dcon (8)

4.3.1 Numerical Dissipation

The semi-Lagrangian advection algorithm used in the Unified Model involves interpolation of prognostic fields
to the departure point and this acts to smooth fields and remove energy. In addition, horizontal diffusion is used
to explicitly smooth model fields and can lead to excessive energy dissipation. Backscatter schemes aim to
provide an upscale energy flow to offset the energy drain rate, such that the difference between them matches
the real dissipation rate in the atmosphere.
The Smagorinsky closure (Smagorinsky, 1963) is used to estimate the numerical dissipation rate, partly moti-
vated by the use of the more general Smagorinsky-Lilly turbulence closure in convective configurations of the
Unified Model. Thus the numerical dissipation rate Dnum is given by:

Dnum = (kH ∆)2 D3 (9)

with the shearing and tension strains respectively:

δv δu
DS = + (10)
δx δy

δu δv
DT = + (11)
δx δy

such that: q
D= DS2 + DT2 (12)

∆ is the model gridlength and kH a numerical factor that is used to tune the dissipation rate so that the global-
mean rate matches the estimates of energy loss due to semi-Lagrangian interpolation ∼ 0.7 W.m−2 .

11 c Crown Copyright 2015



UMDP: 081
Stochastic Physics Code in the UM

4.3.2 Biharmonic Numerical Dissipation

There are growing concerns about the need to use the numerical dissipation part of SKEB2 as UM moves
to higher horizontal resolution, ideally the scheme should switch itself off providing marginal increments to
the streamfunction when resolution is high enough. However the Smagorinsky numerical dissipation does not
scale well across different horizontal resolutions (Sanchez et al., 2014). A different approach to compute the
numerical dissipation is the biharmonic dissipation, whose dependence in horizontal resolution is higher. In
the kinetic energy equation there is a pure dissipative term proportional to the vorticity gradient squared times
the dissipation constant. McCalpin (1998) showed that biharmonic dissipation is proportional to the numerical
losses due to the interpolation to the departure point. We include this effect and the biharmonic dissipation of
divergence to produce a guess of the numerical losses due to the implicit Semi-Lagrangian dissipation.

2 2
Dnum = K |∇ζ| + K |∇D| (13)

3 ∆x4
K= (14)
128 ∆t

4.3.3 SKEB1-type Dissipation

To complement the numerical dissipation rate described above, trials showed benefit in incorporating the
essence of SKEB1-type kinetic energy dissipation in the total dissipated energy field. The global mass-weighted
vertically integrated KE (gltotke) of the model is calculated and used to determine a calibration factor Cf ac that
scales the 3D-KE field to yield 1W.m−2 of energy.

Cf ac = backscattot /(br ∗ gltotke) (15)

such that:
DSKEB1−type = Cf ac ∗ KE(λ, φ, z) (16)

This component is not recommended for ENDGame configurations, because ENDGame allows rather more
variability than New Dynamics.

4.3.4 Convective Dissipation (CAPE-based scheme)

Convective dissipation estimates target different physical processes to the numerical dissipation. Generally
models do not address that fate of kinetic energy generated by deep convection. It is assumed that some of
this energy does get upscaled in the real atmosphere, thus becoming available to the resolved flow. To include
this effect the convective dissipation field is derived as the product of a density-weighted vertical mass-flux
mf lxk+1

Z difference between two model levels ”k”, and the locally diagnosed column integral of Convective
Available Potential Energy (CAPE). The CAPE values have the effect of maintaining consistency from one
timestep to the next in the dissipation field, offsetting the impact of the spurious vertical massflux variable. The
convective dissipation rate is given by:

mf lxk+1 − mf lxk−1

Z Z
Dcon = conv res f actor ∗ ∗ CAP E (17)
g ∗ ρ ∗ dz

where ρ is the density, g the gravitation constant and dz the thickness between the model levels.
A resolution dependent factor has been added to prevent the convective dissipation becoming excessively high
when horizontal resolution increases. A simple tuning factor modulates the convective dissipation rate, it is the
square root of the division between 216 and the horizontal resolution N number (higher number of longitudinal
waves). It is controlled by a flag, if FALSE the conv res f actor is equal to one.

p
conv res f actor = 216/N (18)

12 c Crown Copyright 2015



UMDP: 081
Stochastic Physics Code in the UM

4.3.5 Convective Dissipation (Massflux-based scheme)

This massflux-based convective dissipation estimate derives a vertical velocity using the grid-box upward-
vertical mass flux multiplied by a grid-box updraught portion factor αc . The mass is derived from the change in
upward mass flux between two model layers, assuming that this change in vertical flux generates kinetic energy
that is ejected horizontally from the convecting column. The convective dissipation rate is given by:

mf lxk+1 − mf lxk−1  mf lxk 2



Z Z Z
Dcon = ∗ (19)
g ∗ ρ ∗ dz g ∗ ρ ∗ αc

where ρ is the density, g the gravitation constant and dz the thickness between the model levels. This scheme
generates a larger dissipation signal outside the tropics (compared to the CAPE-based scheme above) and was
found to be quite sensitive to the vertical flux produced by the convection scheme. It is not intended for use in
UM convection schemes older than 5A.

4.3.6 Smoothing of Dissipation Fields

As with any stochastic physics scheme, the increased risk of model instability must be handled in some way.
The basic approach is to apply horizontal 1-2-1 type spatial smoothing to eliminate hot spots in the dissipation
(hence wind increment) field. In the vertical we taper off the dissipation near the surface to eliminate boundary-
layer noise and at the top level of the SKEB scheme (skeb2 toplev: see Table 9) to prevent discontinuities in the
vertical.
A new smoothing option is available from VN8.0 where a circular smoothing mask of radius=n (n=nsmooth:
see Table 9) is applied around grid-points where the local energy dissipation exceeds 1000 times the total -
backscatter value. The mask varies from zero at its centre to one at the edge following a sine-shaped curve.
This smoothing is switched on using the logical l skebsmooth adv.

4.4 SKEB2 and the GUI

The SKEB2 scheme is controlled through the GUI UM Science Settings -¿ Section 35 - Stochastic Schemes To
use the SKEB2 scheme set the logical l skeb2 to true. This will activate all the SKEB parameters as described
in Table 9.

4.5 SKEB2 code

The main SKEB2 code is located in src/atmosphere/stochastic physics. For UM versions 7.4 onwards, the
routines that are affected by SKEB2 are described below.
• Modules and Includes
src/atmosphere/stochastic physics/stochastic physics run mod.F90: Module containing all the SKEB2
variables that are set via [namelist:run stochastic] (see table 9 ), and variables passed from other
physics routines.
src/atmosphere/stochastic physics/stph diag mod.F90: Module containing a structure definition for
STASH diagnostic fields.
• Top level routines
src/control/top level/atm step.F90: Top level calls to initialse stochastic physics random seed (stph -
setup) and main SKEB2 routine stph skeb2. Arguments for first timestep, first call to atm step and
dump writing are taken from here.
src/control/top level/atmos physics2.F90: Convection fields skeb2 up flux,
skeb2 dwn flux and skeb2 cape are passed from here to SKEB2 via the module stochastic physics -
run mod.

13 c Crown Copyright 2015



UMDP: 081
Stochastic Physics Code in the UM

src/control/top level/diagnostics stph.F90: Section 35 STASH diagnostics are initialised and processed
via copydiag from this routine.
src/control/top level/readlsta.F90: Reads in [namelist:run stochastic]. The list contains the following
variables as defined in module stochastic physics run mod:

Variable Description Value range Default


l skeb2 logical master switch for SKEB2 T or F False
l skeb2 psicdisp logical to include convection dissipation T or F True
l skeb2 cdisp cape logical choice for convection dissipation T or F True
from CAPE∗
l skeb2 cdisp mflx logical choice for convection dissipation T or F False
from Mass-flux∗
l skeb2 psisdisp logical to include numerical dissipation T or F True
l skeb2 skeb1disp logical to include SKEB1-type dissipation T or F False
l skeb2 velpot logical to include velocity potential wind in- T or F False
crements
n1 min wave-number of spectral forcing pat- 1 - modres 5
tern
n2 max wave-number of spectral forcing pat- 1 - modres 60
tern
rv vertical correlation scale (not used) 1 to lev 5
br backscatter ratio (%) 0 to 10% 0.275
tot backscat total backscatter rate (sets dimensionality) 0 to 1e-3 1.e-4
tau decorrelation time for AR1 process (pat- >1 2.e5
tern) ∗
Choices
alphac updraught portion (mass-flux only) 0 to 1 0.002
sdispfac factor to set relative contribution from num 0 to 5 3
disp
cdispfac factor to set relative contribution from conv 0 to 5 1
disp
kdispfac factor to set relative contribution from 0 to 5 0.5
skeb1 disp
nsmooth number of 1-2-1 smoothing iterations (total 1 to 10 5
disp)
skeb2 botplev lowest model level of SKEB2 increments 2 - (modlev-1) 2
skeb2 toplev highest model level of SKEB2 increments 2 - (modlev-1) 50
l skebsmooth adv logical to apply new localised damping of T or F False
backscatter field
l skebprint logical to control printing global dissipation T or F True
values
l skeb2 biharm Logical to activate the computation of T or F False
biharmonic dissipation (and de-activate
Smagorinsky)
l skeb2 conv disp mod Logical to activate the resolution depen- T or F False
dent factor for convective dissipation
toggle between these two options, i.e. only one can be TRUE

Table 9: Parameters contained in [namelist:run stochastic]

src/atmosphere/stochastic physics/stph setup.F90: Sets up initial random seed. This is either read in
or calculated based on the model date or the computer date. The action is controlled by the logicals
l stphseed read and l stphseed write.
Seed files: The following routines were added at UM7.4 to replace earlier versions named rp **** and
have added functionality to account for file format and name suffixes.
src/atmosphere/stochastic physics/stph openinput.F90: This routine opens the input file for the
random seed on unit 149; the name of the file is determined from the namelist item rpseed in the
[namelist:nlcfiles]. If this variable has not been provided the UM will abort before attempting to

14 c Crown Copyright 2015



UMDP: 081
Stochastic Physics Code in the UM

open the seed file.


src/atmosphere/stochastic physics/stph openoutput.F90: Open seed file (as above) for writing.
src/atmosphere/stochastic physics/stph closeinput.F90: Close seed file after reading.
src/atmosphere/stochastic physics/stph closeoutput.F90: Close seed file after writing.
src/atmosphere/stochastic physics/stph readentry.F90: Formatted read of seed from seed file.
src/atmosphere/stochastic physics/stph readentry2.F90: Unformatted read of wave coefficients
from seed file (with dump suffix).
src/atmosphere/stochastic physics/stph writeentry.F90: Formatted write of seed to seed file.
src/atmosphere/stochastic physics/stph writeentry2.F90: Unformatted write of wave coefficients
to seed file (with dump suffix) at dump timesteps.
• Main SKEB2 scheme
src/atmosphere/stochastic physics/stph skeb2-stph skeb2.F90: Main SKEB2 subroutine to calculate
energy dissipation values, spectral forcing pattern and final wind increments that are fed back to the
model in atm step. The following subroutines are called:
src/atmosphere/stochastic physics/backscatter spectrum.F90: Calculates wave-dependent power spec-
trum. This provides the amplitude (energy input) for each wave number.
src/atmosphere/stochastic physics/update dpsidt.F90: Initialises and evolves the wave coefficients
using an AR1 process.
src/atmosphere/stochastic physics/skeb forcing.F90: Prepares wave coefficients for FFT.
src/atmosphere/stochastic physics/skeb smagorinsky.F90: Calculates numerical energy dissipation
(sdisp) based on the Smagorinksy diffusion scheme.
src/atmosphere/stochastic physics/biharm diss.F90: Calculates numerical energy dissipation (sdisp)
based on the Biharmonic dissipation of vorticity and divergence.
src/atmosphere/stochastic physics/stph skeb1.F90: As yet incomplete subroutine to calculate SKEB1-
type energy dissipation values. If called it simply returns an error message and a zero dissipation
field.
• FFT routines
src/atmosphere/stochastic physics/fourier.F90: FFT transform of coefficients to grid-space.
src/atmosphere/stochastic physics/qpassm.F90: Data pass component of FFT transform.
src/atmosphere/stochastic physics/rpassm.F90: Data pass component of FFT transform.
src/atmosphere/stochastic physics/set99.F90: Pre-processor setup for FFT transform.
• Functions
src/atmosphere/stochastic physics/alf.F90: Computes the normalized associated Legendre function
used in the FFT process. Called by
src/atmosphere/stochastic physics/backscatter spectrum.F90
src/atmosphere/stochastic physics/eps.F90: Use recurrence relation for normalized associated Leg-
endre functions.
src/atmosphere/stochastic physics/chi.F90: Raises a real to a prescribed power determined from Cloud
Resolving Model (CRM) simulations.

5 Stochastic Perturbed Tendencies (SPT) scheme

Several studies using Cloud Resolving Models (CRM) have provided enough evidence for the existence of
fluctuations around the mean effects of subgrid processes in state-of-the-art General Circulation Model (CRM)
gridboxes (Craig and Cohen, 2006; Shutts and Palmer, 2007). SPT uses a simple formulation to represent such

15 c Crown Copyright 2015



UMDP: 081
Stochastic Physics Code in the UM

variability for the average effects of small-scale processes within a gridbox, the scheme perturbs the physical
tendencies from various parametrizations with a stochastic forcing pattern.
Despite its simplicity, the scheme has been widely successful representing the uncertainty of physical parametriza-
tions in Ensemble Prediction Systems, it increases the ensemble spread and helps to reduce the errors of the
ensemble (Buizza et al., 1999; Charron et al., 2010). It has been implemented even in convective-scale models
(Bouttier et al., 2012), where uncertainties related to micro-physics or turbulent eddies are still present.
The scheme adds an extra term to the total tendency equation of the prognostic variables horizontal wind u,
meridional wind v, temperature T and humidity q (eq. 20), where X is the model prognostic variable, RX is the
resolved flow tendency, PX is the parametrized tendency and the last term on the right hand side is the SPT
driven fluctuation, the product between the physical tendencies and the stochastic forcing pattern FΨ .

dX
= RX + PX + FΨ · PX (20)
dt

The SPT formulation follows closely the Stochastic Perturbed Parametrized Tendencies (SPPT, described in
Palmer et al. 2009). The scheme perturbs the all the four variables with the same forcing using an univariate
approach, which was found to be more physically consistent in the revised version of SSPT in respect to the
multivariate version described in Buizza et al. (1999). In a similar fashion as SPPT, there is a vertical taper-
ing applied to the Boundary Layer (BL, z < 1.5 km) and in the stratosphere (for model levels above 15 km).
Physical tendencies are gathered from radiation, microphysics, gravity wave drag and convection schemes, BL
tendencies are not included for numerical and physical reasons.
The Forcing pattern uses the SKEB2 implementation but with a Gaussian power law g(n) (see eq. 4). The SPT
power law is shown in eq 21, where < FΨ2 > is the standard deviation √ of the forcing pattern, which could be
different for each parametrization, σ is the random numbers variance (1/ 12), Γ(N ) is a normalization factor, β
a relation between the Radius of the Earth and the decorrelation scale equal to 500 km and n is the wavenumber
of the Spherical Harmonic decomposition.

< FΨ2 >


g(n) = exp[−βn(n + 1)] (21)
2σΓ(N )

The normalization factor is given in the equation 22, where α is the temporal autocorrelation factor given in eq
3.

N
X 2n + 1
Γ(N ) = exp[−2βn(n + 1)] (22)
n=0
2−α

In the SPT the perturbed tendencies are smoothed using a 1-2-1 filter a user-defined number of times, this
spreads out the uncertainty to adjacent gridboxes, representing errors in the location of features such as fronts
or Mesoscale Convective Systems (MCS). The smoothing also helps to reduce large perturbations in single
gridpoints like convection or gravity wave drag which could pose a threat to the stability of the model. An
additional constraint to enforce model stability is included, the convective perturbations should comply with the
CFL criteron in order to avoid mass discontinuity problems. The criterion is implemented following eq 23 where
Mu is the upward mass flux and ∆P is the vertical pressure difference. If the criterion is breached for a given
gridpoint, convective perturbations are not included in the whole column.

Mu (1 + FΨ )∆t
<1 (23)
∆P

Two forcing FΨ patterns are used, the first one is employed to force slow physics tendencies (radiation, mi-
crophysics and gravity-wave drag), the forcing pattern has the same vertical distribution than SKEB2’s forcing
pattern. The second pattern is used for fast physics tendencies (convection) and has no vertical structure.
When SPT introduces negative momentum tendencies in areas where the standard deviation of subgrid orog-
raphy is high (e.g. Kashmir region, Peruvian Andes), the Gravity Wave Drag scheme (GWD) produces larger
tendencies to counterbalance the SPT forcing. This leads to a feedback process that may break the internal
equilibrium in the Boundary Layer and produce a large warming (not shown), which leads to severe instabilities
and grid-point storms. At vn10.1 the code introduces a new stability constraint to prevent these model crashes.

16 c Crown Copyright 2015



UMDP: 081
Stochastic Physics Code in the UM

It removes the SPT perturbations over regions where the standard deviation of subgrid orography is higher
than σorog threshold, when the forcing pattern Fˆψ is higher than another threshold. Both thresholds are set as
user-defined values, but experiments show that applying this constraint over regions of σorog = 500m and when
Fˆψ = 0.5 removes the instabilities in high resolution climate simulations.

5.1 Water conservation

A feature of the SPT enables the scheme to conserve specific humidity q in each of the model columns. The
scheme computes the vertically integrated q for each gridbox before and after the SPT forcing, the ratio between
both quantities is used to modulate the SPT increments in all levels.

5.2 Moist static energy conservation

SPT perturbation can conserve Moist Static Energy (MSE) if requested. Changes in temperature are linked to
changes in humidity following eq. 24, where L is the latent heat of vaporization and CP is the heating content at
a constant pressure. Therefore conservation of MSE is enforced for each level. This option implicitly removes
temperature perturbations to clear sky radiation, the temperature tendency from the radiation parametrization is
only perturbed where condensation occurs.

L
∆T (i, j, k) = − ∆q(i, j, k) (24)
Cp

5.3 SPT in the UM

The scheme is activated using the L SPT flag, the user could tailor the total perturbed tendency by including the
tendencies from different schemes, these are controlled by the flags L SPT RAD, L SPT RAIN, L SPT GWD,
L SPT CONV, L SPT CONV MOM. The amplitude of the forcing for each of the schemes is controlled by the
standard deviations rad std, rain std, gwd std, conv std respectively. The UM user could also control the vertical
range and tapering where the SPT is active by the parameters given in table 10. The CFL is activated using the
flag L SPT CFL. The conservation of specific humidity is activated when the flag L SPT QCONS is set to true.
The MSE conservation is applied when L SPT MSE is set to true, this option removes the computation of an
independent ∆θ

5.4 SPT code

The main SPT code is located in src/atmosphere/stochastic physics. For UM versions 9.1 onwards, the
routines that are affected or included by SPT are described below.
• Modules and Includes
src/atmosphere/stochastic physics/stochastic physics run mod.F90: Module containing all the SPT
variables via [namelist:run stochastic] (see table 10 ), and variables passed from other physics
routines.
src/atmosphere/stochastic physics/fp mod.F90: Module containing the two different forcing patterns:
psif for fast physics and psif2 for slow physics.
src/atmosphere/stochastic physics/physics tendencies spt mod.F90: Module containing the arrays
to store the different tendencies from physical parametrizations (excluding Boundary Layer).
src/atmosphere/stochastic physics/spt diag mod.F90: Module containing a structure definition for STASH
diagnostic fields.
• Top level routines
src/atmospheretop level/atm step.F90: Initialise stochastic physics random seed if not requested by
SKEB2 nor RP2 and calls the SPT routines for pattern and SPT main

17 c Crown Copyright 2015



UMDP: 081
Stochastic Physics Code in the UM

Variable Description Value range Default


l spt logical master switch for SPT T or F False
l spt cfl logical to switch on the CFL criteria to limit T or F True
perturbations to convective tendencies
l spt rain logical choice to switch perturbations to T or F True
microphysics tendencies
l spt rad logical choice to switch perturbations to T or F True
radiation tendencies
l spt gwd logical choice to switch perturbations to T or F True
gravity wave drag tendencies
l spt conv logical choice to switch perturbations to T or F True
convection tendencies
l spt conv mom logical choice to switch perturbations to T or F False
convective momentum tendencies
l spt qcons logical choice to switch q conservation in T or F True
the column
l spt mse logical choice to switch Moist Static En- T or F True
ergy conservation
nsmooth spt number of 1-2-1 smoothing iterations to to- 0 to 5 1
tal perturbations
spt top tap lev Highest level where SPT applies (inc ta- 2 - (modlev-1) 45
pering)
spt toplev Highest level where SPT applies with full 2 - (modlev-1) 41
tendencies (higher tapering ends)
spt bot tap lev Bottom level of SPT excluding tapering 2 - (modlev-1) 15
spt botlev Bottom level of SPT including tapering 2 - (modlev-1) 9
rain std Std dev. for rain pert. (%) 0 to 5 1.73
rad std Std dev. for radiation pert. (%) 0 to 5 1.73
gwd std Std dev. for GWD pert. (%) 0 to 5 1.5
conv std Std dev. for convection pert. (%) 0 to 5 1.73
sd orog thres Threshold of σorog to apply the stability 0 to 4000 500.
constraint (m)
psif orog thres Threshold of Fˆψ to apply the stability con- 0 to 4.0 0.5
straint (non-dim.)

Table 10: SPT Parameters contained in [namelist:run stochastic]

src/control/top level/atmos physics1.F90: Stores the tendencies from slow physics into physics ten-
dencies spt mod, tendencies stored come from radiation, microphysics and gravity wave drag
src/control/top level/atmos physics2.F90: Stores tendencies from convective momentum and upper
and downward convective mass fluxes to apply the CFL numerical restriction.
• Changes to convection code in order to store convective tendencies
src/atmosphere/convection/ni conv ctl.F90: Stores convective tendencies for temperature and mois-
ture, including PC2 increments due to condensation generated by convective events.
• Changes to dynamics
src/atmosphere/dynamics/fields rhs mod.F90: Declaration and intialization of SPT arrays to store per-
turbed tendencies.
• Main SPT scheme
src/atmosphere/stochastic physics/SPT main.F90: Computes the SPT perturbation from the forcing
pattern and physical tendencies, applies tapering and smoothes the perturbations using a 1-2-1
filter, the number of iterations for the filter is given by nsmooth spt. If Moist Static Energy (MSE)
conservation if requested, ∆θ is not computed.
src/atmosphere/stochastic physics/SPT add.F90: Adds the perturbation from SPT to the fast physics

18 c Crown Copyright 2015



UMDP: 081
Stochastic Physics Code in the UM

increments, right before the dynamical solver. SPT perturbations are added in both ENDGame itera-
tions.
src/atmosphere/stochastic physics/for pattern.F90: Computes forcing patterns psif and psif2 for SPT.
src/atmosphere/stochastic physics/pattern spectrum2.F90: Computes Gaussian power-spectra law
for SPT forcing pattern.
src/atmosphere/stochastic physics/update pattern.F90: Updates the spherical harmonic coefficients
for the forcing pattern, it uses the 1-AR as described in eq. 2
src/atmosphere/stochastic physics/SH spect2grid: Transform the forcing pattern from Spherical har-
monic coefficients into a gridpoint base field.
src/atmosphere/stochastic physics/diagnostics spt.F90: SPT Diagnostics are initiazed and processed
via copydiag.
src/atmosphere/stochastic physics/conv SPT alloc array.F90: Allocates arrays to store convective ten-
dencies, and destroys them after the computation of SPT perturbations.
src/atmosphere/stochastic physics/SPT conservation.F90: Computes the vertically integrated spe-
cific humidity before and after the SPT increments, applies the ratio between these two quantities
to the SPT q perturbations to conserve water. If requested, it also applies the MSE conservation for
all gridpoints and levels where SPT is operative.
• Changes to SKEB2 and stochastic physics setup
src/atmosphere/stochastic physics/stph setup.F90: Builds a mask based on the 1-2-1 filter.
src/atmosphere/stochastic physics/stph skeb2-stph skeb2.F90: Stop SKEB2’s deallocation of mass
fluxes if SPT is switched on.

6 Stochastic boundary layer temperature perturbations

For convection permitting models (e.g. the UKV), the development of resolved scale convection tends to be
delayed. This tendency was made even worse with the inclusion of the blended boundary layer parametrization
at PS35. Therefore, in an attempt to trigger small scale showers earlier, some random perturbations were added
to the near surface potential temperature field.
Conceptually, this is a simple way to represent what should be differences in surface-driven heating of the
boundary layer that would arise from undersampling of the boundary layer eddies, or variability in the surface
fluxes themselves (although that in turn can be modulated from variations in surface winds due to the local eddy
distribution).
The code simply adds a small, uniformly distributed, random number to the near surface potential temperature.
This perturbation is only added on points which are diagnosed as “cumulus”, i.e. convectively unstable, and only
added up to 2/3 of the lifting condensation level. There is also a maximum model-level at which the perturbations
are capped, currently chosen as level 10 (≈ 400 m).
To try to impose perturbations on a scale greater than that of the model grid, the same perturbation can be
added over a n × n square of grid-points, and currently n = 8 is chosen.
The maximum magnitude of the perturbations can either be specified via the namelist, or linked to the atmo-
spheric stability via the surface heat flux. In the latter, the maximum perturbation is given by
Hs
θ∗ = , (25)
ρcp wm

where Hs is the surface heat flux, ρ is the density, cp is the specific heat capacity at constant pressure and wm
is a turbulent velocity scale given by
3
wm = u3∗ + 0.25zhFB , (26)
where u∗ is the friction velocity, zh is the boundary-layer depth and FB is the surface buoyancy flux.

19 c Crown Copyright 2015



UMDP: 081
Stochastic Physics Code in the UM

7 Stochastic Physics Section 35: STASH output and diagnostics

As the backscatter scheme forms part of Unified Model atmosphere section 35 ”stochastic physics”, section 35
of STASH is reserved for various SKEB2 diagnostics. These are designed to provide a range of output that can
be used to monitor the SKEB2 calculations, including final rotational and divergent wind increments, dissipation
fields, streamfunction forcing patterns and kinetic energy of the total wind field before and after SKEB2. A list of
these diagnostics is given in Table 11.

STASH Description
Item
1:35:1 U wind after SKEB2 in m/s on u grid.
1:35:2 V wind after SKEB2 in m/s on v grid.
1:35:3 U increment from SKEB2 in m/s per model timestep on u grid.
1:35:4 V increment from SKEB2 in m/s per model timestep on v grid.
1:35:5 U increment of rotational wind from SKEB2 in m/s per model timestep on u grid.
1:35:6 V increment of rotational wind from SKEB2 in m/s per model timestep on v grid.
1:35:7 U increment of divergent wind from SKEB2 in m/s per model timestep on u grid. This
requires Include Velocity Potential Forcing to be on in section 35 - SKEB2.
1:35:8 V increment of divergent wind from SKEB2 in m/s per model timestep on v grid. This
requires ”Include Velocity Potential Forcing” to be on in section 35 - SKEB2.
1:35:9 Energy dissipation on model rho-levels from numerical schemes. Requires ”Include Nu-
merical Dissipation Rate” to be on in section 35 - SKEB2
1:35:10 Energy dissipation on model rho-levels from convective schemes using the CAPE*VertFlux
method. Requires ”Include Convective Dissipation Rate” and ”Using CAPE*MFLX (Conv
scheme 4)” to be on in section 35 - SKEB2
1:35:11 Energy dissipation on model rho-levels from SKEB1-type energy dissipation scheme. Re-
quires ”Include SKEB1-type Dissipation Rate” to be on in section 35 - SKEB2
1:35:12 Combined dissipation field after spatial smoothing.
1:35:13 Modulated streamfunction forcing field. This field is calculated from the the dissipation
rates and random streamfunction forcing, and is used to calculate the final SKEB2 wind
increments.
1:35:14 Random streamfunction forcing field provided by the random number initialisation with the
prescribed spatial and temporal characteristics.
1:35:15 Mass-weighted vertical integral of the random streamfunction forcing field (see 1:35:14).
1:35:16 Mass-weighted vertical integral of the numerical energy dissipation rate (see 1:35:9).
1:35:17 Mass-weighted vertical integral of the convective energy dissipation rate (see 1:35:10).
1:35:18 Mass-weighted vertical integral of the SKEB1-type energy dissipation rate (see 1:35:11).
1:35:19 Mass-weighted vertical integral of the modulated streamfunction forcing field (see 1:35:13).
1:35:20 Mass-weighted vertical integral of the model KE before SKEB2 is called.
1:35:21 Mass-weighted vertical integral of the model KE of the SKEB2 wind increments.
1:35:22 Mass-weighted vertical integral of the model KE after SKEB2 is called.
1:35:23 SPT forcing pattern.
1:35:24 SPT Theta increment (K/s).
1:35:25 SPT q increment (g/kg/s).
1:35:26 SPT U increment (m/s2 ).
1:35:27 SPT V increment (m/s2 ).
1:35:28 CFL-exceeded marker (m/s2 ).

Table 11: Section 35 STASH output

8 Acknowledgements

The original stochastic physics code was implemented by Alberto Arribas.

20 c Crown Copyright 2015



UMDP: 081
Stochastic Physics Code in the UM

References
Arribas A, 2004. Results of an initial stochastic physics scheme for the Met Office Unified Model. Met Office,
Forecasting Research Technical Report No.452
(Referenced on page 4.)

Berner J, Shutts GJ, Leutbecher M and Palmer TN, 2009. A Spectral Stochastic Kinetic Energy Backscatter
Scheme and its impact on flow-dependent predictability in the ECMWF Ensemble Prediction System. J. At-
mos. Sci., 66, 603-626
(Referenced on page 10.)

Bright DR and Mullen SL, 2002. Short-range ensemble forecasts of precipitation during the southwest monsoon,
Wea. Forecasting, 17, 1080-1100
(Referenced on page 4.)

Bowler NE, Arribas A, Mylne KR, Robertson KB, Beare SE, 2008. The MOGREPS short-range ensemble pre-
diction system, Quart. J. Roy. Meteorol. Soc.,In Press
(Referenced on page 2.)

Bouttier F, Vie B, Nuissier O, Raynaud L, 2012. Impact of Stochastic Physics in a Convection-Permitting Ensem-
ble. Mon. Wea. Rev., 140, 3706-3721.
(Referenced on page 16.)

Buizza R, Milleer M and Palmer TN, 1999.: Stochastic representation of model uncertainties in the ECMWF
ensemble prediction system. Quart. J. Roy. Meteor. Soc., 125, 2887-2908.
(Referenced on page 16.)

Buizza R, Houtekamer PL, Toth Z, Pellerin G, Wei M, and Yuejian Z, 2005. A comparison of the ECMWF, MSC
and NCEP global ensemble prediction systems, Mon. Wea. Rev., 133, 1076-1097
(Referenced on page 2.)

Charron M, Pellerin G, Spacek L, Houtekamer P, Gagnon N, Mitchell H and Michelin L, 2010. Toward random
sampling of model error in the Canadian ensemble prediction system. Mon. Wea. Rev., 138, 1877-1901.
(Referenced on page 16.)

Craig GC and Cohen BG, 2006. Fluctuations in an equilibrium convective ensemble. Part I: Theoretical formu-
lation. J. Atmos. Sci., 63, 1996-2004.
(Referenced on page 15.)

Gregory D and Rowntree PR, 1990. A mass flux convection scheme with representation of cloud ensemble
characteristics and stability-dependent closure Mon. Wea. Rev., 118, 1483-1506
(Referenced on page 5.)

Hamill TM and Colucci SJ, 1997. Verification of eta-RSM short-range ensemble forecasts, Mon. Wea. Rev., 125,
1312-1327
(Referenced on page 2.)

Lin JWB and JD Neelin, 2000. Influence of a stochastic moist convective parametrization on tropical climate
variability, Geophys. Res. Lett., 27, 3691-3694
(Referenced on page 4.)

Lock AP, Brown AR, Bush MR, Martin GM and Smith RNB, 2000. A new boundary layer mixing scheme. Part I:
Scheme description and single column model tests, Mon. Wea. Rev., 128, 3187-3199
(Referenced on page 5.)

McCalpin JD, 1998. A Quantitative Analysis of the Dissipation Inherent in Semi-Lagrangian Advection, Mon.
Wea. Rev., 116, 2330-2336
(Referenced on page 12.)

Murphy JM, Sexton DH, Barnett DN, Jones GS, Webb MJ, Collins M and Stainforth DA, 2004. Quantification of
modelling uncertainties in a large ensemble of climate change simulations Nature, 430: 768-772
(Referenced on page 4.)

Palmer TN, Buizza R, Doblas-Reyes FJ, Jung T, Leutbecher M, Shutts G, Steinheimer M and Weisheimer A,
2009: Stochastic parametrization and model uncertainty. Tech. Rep. ECMWF RD Tech. Memo., 598, 42 pp.
(Referenced on page 16.)

21 c Crown Copyright 2015



UMDP: 081
Stochastic Physics Code in the UM

Sanchez C, Shutts GJ, Williams KD, Collins M, 2014. Impact of a stochastic energy backcatter scheme across
timescales and resolutions. In press
(Referenced on page 12.)

Shutts GJ, 2005. A kinetic energy backscatter algorithm for use in ensemble prediction systems. Quart. J. Roy.
Meteorol. Soc., 131, 3079-3102
(Referenced on page 10.)

Shutts GJ and Palmer TN, 2007. Convective forcing fluctuations in a cloud-resolving model: Relevance to the
stochastic parametrization problem. J. Climate, 20, 187-202.
(Referenced on page 15.)

Smagorinsky J, 1963. General circulation experiments with the primitive equations. I: The basic experiment.
Mon. Wea. Rev., 91, 99-164
(Referenced on page 11.)

Tennant WJ, Shutts GJ, Arribas A and Thompson SA, 2010. Using a Stochastic Kinetic Energy Backscatter
Scheme to Improve MOGREPS Probabilistic Forecast Skill. Mon. Wea. Rev., 139, 1190-1206
(Referenced on page 10.)

Webster S, Brown AR, Cameron DR and Jones CP, 2003. Improvements to the representation of orography in
the Met Office Unified Model, Quart. J. Roy. Meteorol. Soc., 129, 1989-2010
(Referenced on page 5.)

Wilks DS, 2006. Statistical methods in the atmospheric sciences (second edition), Academic Press, 627pp
(Referenced on page 4.)

Wilson DR and Ballard SP, 1999. A microphysically based precipitation scheme for the UK Meteorological Office
Unified Model, Quart. J. Roy. Meteorol. Soc., 125, 1607-1636

(Referenced on page 5.)

22 c Crown Copyright 2015

You might also like