0% found this document useful (0 votes)
241 views

The Single Column Model: Unified Model Documentation Paper C09

Uploaded by

Reno Choi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
241 views

The Single Column Model: Unified Model Documentation Paper C09

Uploaded by

Reno Choi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 55

Unified Model Documentation Paper C09

The Single Column Model

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

Contributors:
R. Wong, M. Whitall, L. Jones, A. Kerr-Munslow and M. Hughes

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: C09
The Single Column Model

Contents
1 Introduction 1
1.1 Single Column Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

2 Treatment of the large-scale horizontal and vertical advection 1


2.1 Observational large-scale forcing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
2.1.1 Revealed Forcing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.1.2 Horizontal Advective Forcing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.1.3 Relaxation Forcing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.2 Statistical large-scale forcing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.2.1 Vertical correlation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2.2 Derivation of the climate forcing datasets . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2.3 Horizontal resolution of the SCM in statistical forcing mode . . . . . . . . . . . . . . . . . 5
2.3 Geostrophic forcing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

3 Surface forcing 6

4 Main features of the SCM 6


4.1 A brief description of the co-ordinate system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4.2 Prognostic variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4.3 Structure of the calling path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
4.4 The physics routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
4.5 Initialization routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
4.6 Forcing routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

5 Setting up a model run 9


5.1 Rose SCM suite setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
5.2 Debugging UM code, using the SCM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

6 Changing the number of model levels 11

7 Surface choice: Land, Sea or Coastal 12

8 Choosing the type of forcing 12


8.1 Statistical forcing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
8.2 Observational forcing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
8.3 Revealed / Horizontal advective forcing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
8.4 Forcing relaxation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
8.5 Combining forcings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

9 Scm Forcing File, namelist.scm 14

10 The SCM diagnostic system 15


10.1 Quick start . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
10.1.1 Namelist control: creating output files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
10.1.2 Additional files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
10.1.3 Substepping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
10.2 Reading files into TIDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
10.2.1 TIDL procedure SCMREAD2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
10.2.2 TIDL procedure SCMOUTPUT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
10.2.3 Comparing SCM results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
10.3 Details about the diagnostic system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
10.3.1 How to output a new diagnostic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
10.3.2 Diagnostic time profiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
10.3.3 Diagnostic domain profiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
10.3.4 Outputting diagnostics in packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
10.3.5 Changing the order of calls in a timestep - substepping . . . . . . . . . . . . . . . . . . . 26
10.3.6 Diagnostics within substeps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

i c Crown Copyright 2015



UMDP: C09
The Single Column Model

A SCM namelists 28

B Example file(s) 35
B.1 DebugScm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

C Diagnostics listings 38

References 52

ii c Crown Copyright 2015



UMDP: C09
The Single Column Model

1 Introduction

The Single Column Model (SCM) is a research tool which is used mainly used to test/develop the UM physics
code. For UM9.0 onwards the SCM can be compiled and run as a Rose Suite.

1.1 Single Column Model

A SCM represents a single atmospheric column at a grid-point in a General Circulation Model (GCM). The
treatment of any physical processes occurring within the Met Office SCM are identical to those present in the
Met Office Unified Model (UM). However, unlike the UM, the effects of large-scale horizontal and vertical motion
are treated either statistically or taken from observations, allowing the surface to be forced with time varying
atmospheric conditions.

The advantages of running a SCM compared to a GCM are two-fold:


1. When developing and testing new parametrizations it can be useful to keep the large-scale atmospheric
circulation fixed so that a better assessment can be made of the impact on the local climate without the
complication of large-scale feedback.
2. The SCM uses far less computer storage and takes much less time to run.
There are of course drawbacks in this approach; the most important is the need to prescribe the advective
forcing. This prohibits the use of the model for studying climate change due to large-scale motions.

The aim of this documentation is to provide information about the SCM, along with details on how to compile
and run, together with some information about the diagnostic system.

2 Treatment of the large-scale horizontal and vertical advection

The following section gives a brief description of the treatment of large-scale horizontal and vertical advection.

2.1 Observational large-scale forcing

Some detailed observational data sets for specific locations exist (e.g. GATE1 , BOMEX2 , ASTEX3 , TOGA–
COARE4 , ARM5 , GCSS6 ) from which large-scale forcing profiles may be calculated. These datasets contain
periods ranging over relatively short timescales of a few days or weeks to several months. They provide
opportunity for detailed study and validation of parametrization schemes, in particular those representing
diabatic processes.

Tendencies of temperature (T ), specific humidity (q) and vertical (w) and horizontal winds (u, v) due to
large-scale forcing which are derived directly from observed data are supplied directly to the model variables via
fortran namelists contained in a user-specified scm forcing file, the default filename of this file is namelist.scm
[§9]. The initial atmospheric state is also specified within namelist.scm.

The large-scale forcing tendencies (and surface forcings) vary in time, with profiles7 specified at regular
time intervals for each variable. This time interval, [obs_pd] is not necessarily the same as the SCM model
timestep. The instantaneous forcing applied at a given SCM timestep is calculated from the large-scaling
forcing tendencies using linear interpolation in time.

The SCM provides a number of techniques to determine the amount of forcing to apply at each timestep. The
SCM allows relaxation options of {T, q, u, v, w} to be set independently of each other. The forcing methods
available are given here briefly, a more detailed explanation can be found in Randall and Cripe [1999].

1 c Crown Copyright 2015



UMDP: C09
The Single Column Model

Most observational data which allows for SCM model runs will provide data in a format which can be suitably
processed for the following forcing methods.

In equations 1-3, φ is an arbitrary scalar variable and P is the “physics” in the scm that affects φ.

2.1.1 Revealed Forcing

Simplest of the forcing methods is to prescribe the large-scale advective forcing directly from the analysed
observations [Redelsperger et al., 2000; Bechtold et al., 2000] or any other source, e.g. idealised forcing
experiments.
   
∂φ ∂φ
= − V· ∇φ + ω + [P ]scm (1)
∂t scm ∂p obs

2.1.2 Horizontal Advective Forcing

Similar to revealed forcing where the large-scale horizontal advective forcing (−V· ∇φ) is prescribed. However,
the large-scale vertical advection term is calculated from the prescribed ω and the model state profile of φ.
   
∂φ ∂φ
= − [V· ∇φ]obs − [ω]obs + [P ]scm (2)
∂t scm ∂p scm

2.1.3 Relaxation Forcing


   
∂φ ∂φ [φ]obs − [φ]scm
= − [V· ∇φ]obs − [ω]obs + + [P ]scm (3)
∂t scm ∂p scm τadv
The additional 3rd term on the RHS is the nudging or relaxation term which would act to return the model profile
of φ to observed values over a relaxation timescale given by τadv .

2.2 Statistical large-scale forcing

A detailed description of the treatment of large-scale statistical forcing is given in Warrilow et al. [1986]. Here,
only the salient features will be discussed.

If we assume that for some circular area of radius n, the gradient of a conservative atmospheric variable, φ is
constant then it can be shown that the time evolution of φ, can be approximated by equation 4:

Dφ φr − φ Dφ
= |Vn | −w . (4)
Dt Dn Dp
where φr = Reference value of φ on the edge of the area in the upwind direction along n.
Vn = Component of horizontal velocity in the direction of positive gradient.
w = Vertical velocity.
p = Pressure.
1 GARP Atlantic Tropical Experiment, http://kiwi.atmos.colostate.edu/scm/gate.html
2 Barbados Oceanographic and Meteorological Experiment, http://kiwi.atmos.colostate.edu/scm/bomex.html
3 Atlantic Stratocumulus Transition Experiment, http://kiwi.atmos.colostate.edu/scm/astex.html
4 Tropical Ocean Global Atmosphere - Coupled Ocean Atmosphere Response Experiment,

http://kiwi.atmos.colostate.edu/scm/toga-coare.html
5 GEWEX Cloud Systems Study, http://www.gewex.org
6 Atmospheric Radiation Measurement Program, http://kiwi.atmos.colostate.edu/scm/arm.html
7 Number of observation profiles is currently limited to 1500.

2 c Crown Copyright 2015



UMDP: C09
The Single Column Model

To solve equation 4, it is necessary to specify Vn , w and φr because these variables are not calculated within
a vertical column, but are a result of large-scale motions. It is possible to treat them as random variables
drawn from populations which are appropriate to the climatic situation being simulated. To take account of the
transient components of these variables random samples are taken at convenient intervals.

Equation 4 represents the general equation for changes due to dynamical processes. To represent heat
and moisture convergence, φ is replaced with potential temperature, θ, and specific humidity, q, respectively.
Dynamical convergence of moisture is given by:

 
Dqi |ni | Wi (qi+1 − qi ) (qi − qi−1 ) (qi+1 − qi−1 )
= (qri − qi ) − + − (5)
DtD Dn pi ln(pi+1 /pi ) ln(pi /pi−1 ) ln(pi+1 /pi−1 )

and substituting for potential temperature by temperature, T , dynamical convergence of heat is given by:

DTi |ni |
= (Tri − Ti )
DtD Dn
  (6)
Wi (Ti+1 − Ti ) (Ti − Ti−1 ) (Ti+1 − Ti−1 ) Rg
− + − − Ti
pi ln(pi+1 /pi ) ln(pi /pi−1 ) ln(pi+1 /pi−1 ) Cp

where Rg = Universal gas constant.


Cp = Specific heat of air at constant pressure.

The unknown variables in equations 5 and 6 are treated as random variables drawn from a suitable population
with known mean and standard deviation. Gaussian distributions are assumed for all variables except q,
which has a statistical distribution which is highly skewed. The random variables are Tr , Vn , w and dew-point
depression D, which is used to predict qr . The means and standard deviations of these variables are available
from published atmospheric statistical data (described in §2.2.2), with the exception of the standard deviation
of D.

The standard deviation of D, sD , is directly related to the standard deviation of T , sT , by

sD = msT (7)

where m = An empirically defined constant.

Each variable is treated as being independent. However, it is recognised that there is likely to be vertical
correlation between variables at different levels.

2.2.1 Vertical correlation

It is necessary to take account of the vertical correlation between random variables. Temperature and
dew-point correlation coefficients ri,j+1 by default are set to 0.9 everywhere and the horizontal and vertical
velocity coefficients to 0.5. These can be changed using the &RUNDATA namelist.

3 c Crown Copyright 2015



UMDP: C09
The Single Column Model

If xi is a random variable at level i, drawn from a population with mean x, and standard deviation sxi , then for
each subsequent level,
xi+1 = ai,i+1 xi + ci+1 (8)
where ai,i+1 = Measure of inter level correlation.
ci+1 = Random variable variable drawn from a population.

The random variable is drawn from a population with mean ci+1 and standard deviation sci+1 , defined as:

ri,i+1 sxi+1 xi
ci+1 = xi+1 − (9)
sx i

sci+1 2 = (1 − ri,i+1 2 ) sxi+1 2 (10)

2.2.2 Derivation of the climate forcing datasets

Forcing datasets are required for January and July, the two extremes in the annual cycle. They exist for several
locations. The data are derived from climatological statistics [Oort, 1983]. Table 1 shows the contents of these
datasets.

The variables T , sT , w and sw are taken directly from the data, whilst the dew-point depression, D, is defined
from equation 7. The tuning factor in this equation is derived experimentally for each location by making sure
that the rainfall in January and July compares favourably with observations.

Variable
Type Definition Units
Name
lat Real Latitude ◦

long Real Longitude ◦

tstar Real Surface temperature ◦

alfa1 Real Used to calculate amplitude and mean of annual sinusoidal distribution
tbar Real Mean temperature for levels K
tsd Real Standard deviation of temperature for levels K/km
p0 Real Pressure on levels N/m2
dbar Real Mean dew point depression on levels K
tgrad Real Variation of temperature gradient K/km
dgrad Real Gradient dew point depressions K/km
vnbar Real Mean horizontal velocities on levels m/s
vpbar Real Mean horizontal velocities on levels m/s
vnsd Real Standard deviation of horizontal velocity m/s
wbar Real Mean vertical velocity m/s
wsd Real Standard deviation of vertical velocity m/s
daysol Real Number of days since winter solstice
Table 1: Statistical forcing dataset (July)

Means and standard deviations of the random variables generally pertain to the centre of the location under
study. However, the reference values of T and D should strictly be those found on the edge of the area in the
upwind direction of the mean advection velocity. A small correction is therefore made to T and D, derived from
the gradient of the temperature and moisture field for each location.

The horizontal velocity, Vn , and the horizontal component of wind velocity normal to Vn , Vp , are derived from the
means and standard deviations of the meridional and zonal velocity components u and v which are given. The
mean of Vn is defined as:
Vn = u cos(F ) + n sin(F ) (11)

4 c Crown Copyright 2015



UMDP: C09
The Single Column Model

where F = Angle of the vector n parallel to the gradient


of the field of T or q relative to the x-axis.
Standard deviations of Vn and Vp , sVn and sVp respectively are set equal to the standard deviation of u. Vp can
be derived from:
2 2
Vp = u2 + v 2 − Vn (12)
Means and standard deviations of the random variables throughout the seasonal cycle are derived by assuming
that the values provided in January and July represent the minimum and maximum of the annual cycle
respectively and that a sinusoidal variation exists between these extremes.

Let x1 and x7 be the mean or standard deviations of the reference variables for the minimum and maximum of
the annual cycle respectively. Let d1 and d7 be the associated time in days relative to the winter solstice. The
amplitude, Ax , and mean, Bx , of the seasonal variation of x are given by:

Ax = (x7 − x1 ) / 2 (13)

Bx = (x7 + x1 ) / 2 (14)
Given this, then the appropriate mean or standard deviation at d days from the winter solstice is calculated as:
 
2 p (d − d7 ) p
xd = Ax sin + + Bx (15)
da 2
where da = Number of days in a model year

xd is fixed for a constant solstice integration or varies seasonally for annual cycle integrations.

Climate forcing datasets are available for the following locations (table 2) at 20 levels. A vegetation type is
suggested for each location.

Location
Location Vegetation Type
name
Amazon (Manaos) 3S 60W Equatorial rain-forest(1)
England (Southern) 52N 0W Pasture (5)
Spain 40N 2W Pasture (5)
Table 2: Suggested vegetation types for datasets
2.2.3 Horizontal resolution of the SCM in statistical forcing mode

From equations 5 and 6 it might be noted that the rate of heat and moisture convergence is strongly dependent
upon the area chosen. The model at present is set up to represent an area of 100,000 km2 . Warrilow, [Personal
communication with J-C Thelan, 1991] suggested that the most significant impact of either increasing or
decreasing the area is on the rate of change of moisture convergence and hence rainfall and other components
of the hydrological cycle. Dependence of the model on area size is fairly complex and suggests that it is not
appropriate, without careful assessment, to use the model in integrations involving changes in area.

2.3 Geostrophic forcing

The SCM can be forced by geostrophic winds which are input via namelists in the scm forcing file (see sec-
tion §9). The initial temperature and specific humidity profiles are input and at each timestep the winds are
forced at every level by the equations:

u ➜ u − f t (vg − v) (16)

v ➜ v + f t (ug − u) (17)

5 c Crown Copyright 2015



UMDP: C09
The Single Column Model

where u = Zonal wind


v = Meridional wind
ug = Zonal wind (geostrophic)
vg = Meridional wind (geostrophic)
t = Physics timestep
The Coriolis force, f , is defined by:

f = 2w sin(F ) (18)
where w = Earths angular velocity
F = Latitude of SCM grid-point in radians

For geostrophic wind forcing, initial wind profiles are normally set using ug and vg values if the geoinit logical
is set, if not, & INPROF variables ui and vi are used for initialisation.

The scm geostrophic forcing options allow ug , vg to be specified as:


• Single wind values.
• Single wind profiles (non-time varying).
• Wind profiles (time varying).

3 Surface forcing

Surface forcing data is required in the following configurations:


• SCM located over sea
• SCM located over land with land surface scheme forced via observations (or user prescribed data)
Where surface forcing is enabled, it is through either:
• Surface temperature, T ∗ (Default)
• Surface sensible (H) and latent (E) heat fluxes.

4 Main features of the SCM

4.1 A brief description of the co-ordinate system

A hybrid height vertical coordinate system is adopted which in a global model is terrain following at lower
levels and flattens out nearer the top of the atmosphere. The Charney-Philips grid is used so that u, v, exner
pressure and density are held on the rho levels (full-levels) and theta, moisture and w are held on the theta
levels (half-levels), See UMDP-015 for further details on the UM grid co-ordinate system.

4.2 Prognostic variables

The following variables are predicted by the model (so-called primary variables):

6 c Crown Copyright 2015



UMDP: C09
The Single Column Model

Horizontal wind components Potential temperature Specific humidity


Cloud liquid & ice Pressure 8 Density8
Soil temperature Soil moisture content Canopy water content
Snow depth Surface temperature Boundary layer depth
Convective cloud amount/base/top Liquid water content9 Ice water content9
Vapour content9 Liquid cloud fraction9 Ice cloud fraction9
Total Cloud Fraction9

4.3 Structure of the calling path

The routine SCM _ SHELL is the top level routine, it reads in various parameters from the UM namelist files before
calling SCM _ MAIN, which is the SCM equivalent of ATM _ STEP. A brief description of the routines called from
within this program is given in tables 3, 4 and 5. A flowchart showing the main calling structure is shown in
figures 1 and 2.

4.4 The physics routines

The key physics routines are described in table 3.

Routine name Description


ATMOS _ PHYSICS 1
Standard routines to call the UM physics routines
ATMOS _ PHYSICS 2

MICROPHYSICS _ CTL Cloud & large-scale rain schemes


NI _ RAD _ CTL Long-wave and short-wave radiation.
NI _ CONV _ CTL Convection scheme.
NI _ GWD _ CTL Gravity wave drag (not used in the SCM).
NI _ BL _ CTL Boundary layer.
NI _ IMP _ CTL Boundary layer implicit solver.
HYD _ INTCTL Hydrology.
VEG _ CTL Vegetation dynamics.
Table 3: Physics routines
Note: In ATM _ STEP, ATMOS _ PHYSICS 2 is called only once, whereas it is called twice from SCM _ MAIN; once to
initialise various variables before the timestepping, and once during the timestepping.

4.5 Initialization routines

The routines for initialisation of the model variables are described in table 4. These routines are called after all
name the required input namelist files have been read by the SCM.

4.6 Forcing routines

The SCM forcing routines are described in table 5. These routines are called once every timestep to return
forcing increments for the SCM.

8 Currently not updated from initial profile.


9 PC2 only.
10 θ-levels and ρ-levels refer to staggered vertical levels in the UM grid, see UMDP-015 for further details.

7 c Crown Copyright 2015



UMDP: C09
The Single Column Model

Routine name Description


RUN _ INIT Main initialization routine. Carries out the initialization for the physics, forcing and diagnostics
routines.
INITSTAT Calculates initial variables required by statistical forcing routines.
1. Reads in climate datasets for January and July
2. Calculates means and amplitudes of forcing variables using equations 13 and 14.
3. Calculates initial values of surface pressure and vertical profiles of temperature and
specific humidity.
4. Prints January and July climate datasets.

CALC _ PRESS Calculates exner or p, on θ-levels and ρ-levels10 . If required, p_star and rho are also
calculated.
CALC _ RHO Calculates rho.
CALC _ LEVELS Calculates r_theta_levels and r_rho_levels.
PRE _ PHYSICS This initialises a number of variables which are required before the call to the physics routines.
PRINT _ INITDATA Prints information about the run. Information is taken from the input namelists.
INITPHYS UM routine to initialise radiations SW/LW spectral band tables.
Table 4: Initialisation routines

Routine name Description


FORCING Main forcing routine which returns profiles of forcing increments for Statistical and Observa-
tional Forcing.
STATDAY
1. Calculates mean and standard deviations of forcing variables at daynumber relative to
winter solstice using equation 15. Updated every change_clim days.
2. Calculates mean and standard deviation of random variable required for vertical corre-
lation using equations 9 and 10.

STATSTEP Calculates statistical forcing required at each timestep.


1. Vertical profiles of forcing variables are set up by a random number generator which
produces a real number taken from a Gaussian distribution with mean and standard
deviations supplied by statday.
2. On the first day, 2 vertical profiles are set up for each variable representing timestep 1
on the first and second day respectively. The vertical profile at a particular timestep is
then calculated by linearly interpolating between the 2 profiles. The profile representing
timestep 1 on day 2 is then kept for the following day. On the second and subsequent
days only 1 new profile is set up.
3. Increments to temperature and humidity due to vertical and horizontal advection are
calculated and added using equations 5 and 6. The increment to specific humidity is
checked to prevent it becoming negative.
4. U and V are set.
5. Prints increments to temperature and specific humidity resulting from vertical and hori-
zontal advection.

Table 5: Forcing routines

8 c Crown Copyright 2015



UMDP: C09
The Single Column Model

Read vertical
Get run dir
resolution
Start path from
file path and
$JOBDIR
& SCM _ CNTL

scm_set
Read & CNTLSCM
/ & NC _ OBS from
<scm_nml> SCM forcing file
SCM Control Files

cntlall Read & NLSTCALL

shared
Read namelists
used across
UM code
sizes cntlatm
End

Read SCM Read UM


SCM _ MAIN vertical physics
dimensions settings

Figure 1: Flow chart for top level routine SCM _ SHELL. The scm forcing file, <scm_nml> will default to namelist.scm if the user
has not specified a scm forcing filename in scm_set.

5 Setting up a model run

In general, those variables which you may wish to change during the setup of a run are contained in namelists.
These are either generated by Rose or are specific to the SCM and contained in a scm forcing file. A listing of
the namelists and the variables contained within can be found in section §9.

5.1 Rose SCM suite setup

The following points assume that you have performed the necessary preliminarys in order to work with Rose, if
not please refer to the UM Rose Training Guide.
1. Start the Rosie client from a terminal with “rosie go”.
2. From Rosie, search for “SCUM Template” this should provide a list of base SCM jobs. All SCM template
jobs will have “SCUM Template [vn]” in the project field.
3. Right-click on your chosen suite template and make a copy for yourself.
4. Change the project title, i.e. “SCUM Template [vn]” → <YourProjectName>.
5. If you wish to change the input/output for the SCM, the UM namelist “scm_cntl” allows to to specify the
locations of scm forcing file and output file(s).
6. Run copy of the SCM suite to check it’s working, Rose should handle all the appropriate user ids and run
the SCM.
Once you have a working scm suite you can now modify it as per your requirements. It should be noted that
not all items which can be set in Rose will be used in the SCM and some logicals set by Rose may also be
set elsewhere such as in the scm forcing file. As a rule, any variable set in the scm forcing file will override the
value set in the Rose suite (if duplicated in scm forcing file).

9 c Crown Copyright 2015



UMDP: C09
The Single Column Model

Start

<vertlevs> Read vertical CALC _ LEVELS


resolution

<nc_file> Read NetCDF Y


forcing file11 1

<scm_nml> Read SCM


namelists

Interpolate
Check for
profiles to INITTIME _ SCM CALC _ PRESS RUN _ INIT
missing data
SCM grid12

1 Use external forcing data? SETUP _ DIAGS 2


2 Initialise for geostrophic wind forcing? Y
3 Reset statistical climate forcing?
4 Use PC2 scheme? Geostrophic
DUMPINIT RESTART _ DUMP
5 Treat moisture variables as mixing ratios? forcing
6 Use Brooks area cloud fraction?
ATMOS _ PHYSICS 2 PRE _ PHYSICS TIMECALC
7 End of run?
8 Have whole number of days elapsed?
UM routine
SCM routine Statistical forcing
Y
STATDAY 3

Y
CALC _ PRESS TIMECALC 8

Y
5 PRE _ PHYSICS 4
Y

Q _ TO _ MIX ATMOS _ PHYSICS 1 QSAT _ WAT PC2 scheme

Y
MIX _ TO _ Q 6 PC 2_ HOMOG _ PLUS _ TURB
Loop over
timesteps
CALC _ Q _ STAR FORCING PC 2_ INITIATION _ CTL

Use mixing ratios Y


Q _ TO _ MIX 6 LS _ ACF _ BROOKS

Y
ATMOS _ PHYSICS 2 4 DUMP _ STREAMS

Y
7

End DUMP _ STREAMS _ END

Figure 2: Flow chart for top level flow routine SCM _ MAIN. 12) Unsupported feature

It should also be noted that aerosol/chemistry schemes are not currently implemented in the SCM. The
SCM should provide a warning and override any attempts to use such schemes. These are areas for future
improvement.

10 c Crown Copyright 2015



UMDP: C09
The Single Column Model

5.2 Debugging UM code, using the SCM

One significant advantage in using the SCM is a quick turnaround for debugging development code, even if the
SCM framework is unsuitable for your actual research.

There are numerous debuggers available, so as a guide, the following will detail a specific example for
debugging the SCM at the Met Office. This example uses the Intel compiler/debugger ifort/idb vn12.0 is run
under emacs 23.1.1.

Users at the Met Office site can a script to automatically set-up a SCM app for debugging, [∼scm/bin/DebugScm],
which is is listed in appendix B.1.
• The SCM executable should be compiled with suitable debugging options, this will be at least the -g for
most debuggers. If your suite is a copy of a SCUM template suite then debug options are preset as default.
• Attempt to run your scm suite via Rose at least once, this will setup the control files even if your scm
executable initially failed.
• Create a symobolic link from your SCM app run directory to your compiled SCM executable. In most cases
these may look like:
SCM app run dir = $HOME/cycl-run/<YourSuiteName>/work/scm.<number>
SCM executable dir = $HOME/cycl-run/<YourSuiteName>/share/fcm_make/build-scm/bin
SCM executable = um-scm.exe
i.e. From the SCM app run dir type:
ln -s <SCM executable dir>/<SCM executable> <SCM executable>

• The idb debugger may require some settings before running. Create a debugger initialization file
$HOME/.gdbinit containing:
#IDB Initialisation settings for SCM Debugging
#=============================================
set environment VN <UM version>
set environment IOSCNTL <SCM executable dir>/IOSCNTL
set environment JOBDIR <SCM executable dir>
set environment PRINT_STATUS 2
set environment UNIT57 <Sw Spectral file dir>/
set environment UNIT80 <Lw Spectral file dir>/
shell ulimit -a

Note: The spectral file directory paths will require the ’/’ on the end.
• Start emacs from the SCM app run dir.
• Select GUD from the tools menu and edit the command line prompt to:
Run gdb (like this): idb <SCM executable>

IDB should now load the SCM executable with all the appropriate environment variables from within emacs.
Using these versions of Emacs/IDB, SCM screen output will go to the emacs display while debugger control,
source code and messages will appear in the IDB gui. The SCM should now be able to be run interactively from
the IDB gui.

6 Changing the number of model levels

Changing the model levels can be done in the same manner as for the full UM. A vertical level resolution file is
specified in the SCM app of your Rose suite. This file contains the namelist & VERTLEVS with the variables listed
in table 6. The SCM reads the path to the vertical resolution file from the control namelist file SCM_SET.

11 c Crown Copyright 2015



UMDP: C09
The Single Column Model

Variable name Description


z_top_of_model The height of the top of the model in metres.
first_constant_rho_level The first level at which levels are a constant height across gridpoints in a
global model.
eta_theta Array of η values for θ-levels. Array of length model_levels + 1, the
extra level being the the surface, i.e. the 1st value will be 0.0.
eta_rho Array of η values for ρ-levels. Array of length model_levels.
Table 6: Vertical resolution file: & VERTLEVS namelist variables

7 Surface choice: Land, Sea or Coastal

The choice of surface is specified via in the scm forcing file. Settings for given gridpoint types are given in
table 7.

Settings Sea Land-soil Land-ice Coastal


land_points 0 1 1 1
land_sea_mask12 false true true true
land_ice_mask12 false false true true/false
soil_mask false true false false/true
fland_ctile 0.0 1.0 1.0 0.0:1.0
Table 7: SCM gridpoint type configurations

For all gridpoint types except sea-points, further details relating to the land surface fraction of the gridbox are
required. In the full UM, the model would obtain these details from ancillary files. The SCM is currently unable
to read ancillary files, so the equivalent data is specified in the scm forcing file. Table 8 details variables which
must be user specified in such cases.

Variable Description
frac_type Fraction of gridbox land occupied by each of:

1) Trees (broadleaf) 2) Trees (needleleaf) 3) Grass (temperate)


4) Grass (tropical) 5) Shrubs 6) Urban
7) Inland water 8) Bare soil 9) Ice

soil_type Choice of soil type13 from:

1) Ice 2) Fine 3) Medium 4) Coarse

canht Canopy height (vegetated types14 )


catch Surface/Canopy water capacity (vegetated types)
Table 8: Land-point ancillary data

8 Choosing the type of forcing

8.1 Statistical forcing

If statistical forcing is chosen then the variables in table 9 below must be set. The initial profiles of temperature,
specific humidity and winds will be calculated automatically by the routine INITSTAT15 . Users can specify their
12 land_ice_mask and soil_mask are mutually exclusive and cannot both be true.
13 Soiltypes are defined on the basis of the WHS texture classes. A full description of the dataset and the derivation of the parameter
values used in the UM is given in Buckley and Warrilow [1988].
14 The 9 land surface types are split into two subsets: Vegetated types (Trees, Grasses & shrubs) and Non-vegetated types (Urban, Inland

water, Bare soil & Ice), see Essery et al. [2001]for further details.

12 c Crown Copyright 2015



UMDP: C09
The Single Column Model

own initial profiles via the scm forcing file if they wish.

Namelist Variable Description


stats True: Use statistical forcing
&LOGIC
altdat True: Use the following SCM initial profiles which are specified in
namelist.scm:

theta qi p_in ui vi wi

These initial profiles are the same as those required when using ob-
servational forcing (table 10).
Table 9: Settings for statistical forcing

8.2 Observational forcing

If observational forcing is chosen then the variables detailed in table 10 should be set in the scm forcing file.

Namelist Variable Description


&LOGIC obs True: Use observational forcing
&INOBSFOR obs_pd Time period between observation profiles in the scm forc-
ing file

Initial profiles
p_in Initial pressure on ρ-levels + 1
theta Initial potential temperature on θ-levels
qi Initial specific humidity on θ-levels
&INPROF
ui Initial zonal wind on ρ-levels
vi Initial meridional wind on ρ-levels
wi Initial vertical wind on θ-levels

Surface forcings
tstar_forcing Surface temperature
&INOBSFOR flux_h Surface sensible heat flux
flux_e Surface latent heat flux

Tendencies due to large-scale horizontal and vertical advection


t_inc Temperature
q_star Specific humidity
&INOBSFOR u_inc Zonal wind
v_inc Meridional wind
w_inc Vertical wind
Table 10: Settings for observational forcing
Note: Forcing tendencies due to large-scale advection given in table 10 have array dimensions of (row_-
length, rows, nfor, model_levels). Assuming that row_length and rows equal 1, data for these should
be entered as timeseries for each model level, e.g.

Timeseries of forcing tendency on level 1 ...


... Timeseries of forcing tendency on level n ...
... Timeseries of forcing tendency on level n+1 ...
... Timeseries of forcing tendency on level model_levels

8.3 Revealed / Horizontal advective forcing

This is controlled by the l_vertadv logical in the scm forcing file. The functionality applies to both T and q or
neither. At present, forcings for {T, q} are each given as a single variable which is considered to be sum of
15 This is not supported at present, users should provide their own initial profiles in the scm forcing file.

13 c Crown Copyright 2015



UMDP: C09
The Single Column Model

forcings applied to the scm.

So with revealed forcing (l_vertadv=.false.) the scm forcing tendencies would be due to at least the
horizontal and vertical advection.

With horizontal advective forcing (l_vertadv=.true.) the forcing tendency due vertical advection should be
excluded from the tendencies in your scm forcing namelist to avoid double-counting the forcing from vertical
advection.

8.4 Forcing relaxation

Relaxation forcing options in the scm are controlled by rlx_|T,q,u,v,w| specified in the & INOBSFOR namelist.
These will control whether a scalar variable is relaxed back to the initial model conditions or observed
atmospheric profiles. Additional namelist inputs will control the relaxation timescale of a given scalar.

Note: If forcing relaxation is applied, suitable background observations to relax to will need to be included in the
scm forcing file.

rlx_X option Relaxation behaviour for forced variable


0 Relaxation disabled.
1 Relax back to initial profiles over timescale set by tau_X.
2 Relax back to observed background state over timescale set by tau_X.
3 Relax back to initial profiles over scm timestep.
4 Relax back to observed background state over scm timestep.
Table 11: Forcing relaxation options

8.5 Combining forcings

It is possible to run with more than one type of forcing at once. One example where this might be desired is to
run with a combination of observational and geostrophic forcing for boundary layer experiments. The SCM will
warn you if you are running with multiple forcings although some combinations may not give sensible results.

9 Scm forcing file

The scm forcing file contains various namelists used as input for the scm. The forcing filename is specified in
Rose, though if unspecified, the scm will look for the file namelist.scm. Table 12 lists the namelists stored in
the scm forcing file.

14 c Crown Copyright 2015



UMDP: C09
The Single Column Model

Namelist Description
& CNTLSCM (table 20) SCM/namelist information
& INDATA (table 21)
Contain various items needed for setting up the model run.
& RUNDATA (table 22)
& NC _ OBS (table 23) Details specific to external NetCDF forcing file (unsupported feature)
& DIAGS (table 14) Options for the SCM diagnostics system (see section 10)

& LOGIC (table 24) Contains various switches which determine what other information might also
be needed, to do with location, forcing, physics and output options.

& INJULES (table 26) Information for the JULES land surface scheme.
& INGWD (table 25) Ancillary data to initialize the Gravity Wave Drag scheme.
& INPROF (table 27) Contains data for initial conditions.
& INOBSFOR (table 31) Contains data for observational forcing
& INGEOFOR (table 28) Contains data for geostrophic wind forcing
& RADCLOUD (table 30) Used for various cloud and radiation options (disabled)
& PHYSWITCH (table 29) Currently contains convection settings only

Table 12: Namelists contained in the scm forcing file

Where a variable is an array, the size is generally specied by another variable. These are listed in table 13.

Note: Array variables in in the scm forcing file which are atmospheric profiles are dimensioned with model_-
levels_nml. This is checked for consistency with model_levels as specified in SIZES to ensure the forcing
data is appropriate for the SCM run.

In addition, although some arrays are dimensioned as (row_length,rows) implying that multiple SCM columns
can be run, these dimensions are hardwired to 1. While it may be possible with future work to run with multiple
columns, it is not currently supported.

Dims. Code variable Max value


rl row_length 1
rw rows 1
lnd land_points 1
ntil ntiles 9
st soil_temp_levs 10
sm soil_moist_levs 10
trl tr_levels 300
trv tr_vars 300
nfor nfor 1500
ml_nml model_levels_nml 300
nsprog nsprog 15
ntyp ntype 9
npft npft 5
Table 13: namelist.scm array dimensions

The namelist & CNTLSCM is also read in by the routine SCM _ SHELL so that some details are known prior to calling
SCM _ MAIN. Details of & CNTLSCM are given in table 20.

10 The SCM diagnostic system

This section describes the use of a set of fortran and TIDL16 routines which facilitate the output and viewing of
diagnostic information from the SCM.

15 c Crown Copyright 2015



UMDP: C09
The Single Column Model

The output data files are available in a variety of ASCII formats. Although binary PP-format is not supported,
conversion to PP-format within TIDL is possible with a single command.

It should be understood that essentially all the code does is to write arrays out to file, optionally with some
simple processing such as meaning. It is not intended as a replacement for STASH, merely as a quick and
convenient diagnostic tool.

Each output stream has an associated dumping period, which is the period in timesteps with which diagnostics
are written to the output file. If a given diagnostic is a time-mean, then the dumping period is the number of
timesteps over which that mean is taken. If the dumping period is one timestep, then these diagnostics are
effectively instantaneous.

New diagnostics can be defined and output by calling the routine SCMOUTPUT from within the SCM. SCMOUTPUT
takes arguments that dictate:
• The array which forms the basis of the diagnostic.
• The name of the diagnostic, sname.
• The time profile of the diagnostic, e.g. instantaneous value, time-average, maximum value, etc.
• The domain profile of the diagnostic (defines the number of rows, columns and levels it exists on).
• The nominal list of streams to which the diagnostic is to be sent.
The full list of arguments is described and discussed in section 10.3.1. Section 10.1 details how to get up and
running with the diagnostic system with minimal information.

10.1 Quick start

The SCM diagnostic system is controlled by the & DIAGS namelist in the scm forcing file. If running the SCM
without this namelist, or with no entries set within it, the system will operate on defaults and you should find
an output file called stream01.dat is produced. This will contain many diagnostics averaged over one timestep
(effectively instantaneous). Output files are in the SCMs native format (ASCII files with .dat extension) and can
be browsed/plotted using the following TIDL routines:
SCMOUTPUT - Read/Browse/Plot data via interactive menus.
SCMREAD 2 - Read data into TIDL in PP-format.
The SCM is also capable of outputting data in NetCDF format, which is set in the & DIAGS namelist in the scm
forcing file. At present, for non-Met Office users, output in NetCDF format is the recommended output method
as the IDL/TIDL code to read the SCM native ascii format is not centrally supported.

Further references to the reading in of native SCM output are only valid for users at the Met Office, UK.

To browse and plot the SCMs data file:

1. Ensure that /opt/ukmo/idl/nwp/meso is in your $IDL_PATH


(i.e. type export IDL_PATH=$IDL_PATH:/opt/ukmo/idl/nwp/meso).
2. From within TIDL, type:
TIDL> scmoutput,’stream01.dat’
You will then be in an interactive text-menu driven environment. Using the menus, you simply make choices
from the options given by typing integers upon request. The first choice will be to choose a domain profile you’re
16 TIDL is a translation library which understands IDL and translates PV-WAVE commands for IDL. The original SCM diagnostic routines,

which were written in PV-WAVE, were ported to TIDL rather than a full rewrite in IDL. The Met Office library of TIDL routine is available
under license

16 c Crown Copyright 2015



UMDP: C09
The Single Column Model

interested in. The domain profile of a diagnostic dictates the number of levels it is defined on. The number of
levels corresponding to each domain profile, and the number of diagnostics that have this profile, should be
listed to the right of each profile name.

If you just want all the diagnostics delivered back to you in PP-format then simply type:
TIDL> data=scmread2(’stream01.dat’)
The returned variable, data, will be a structure containing arrays of diagnostics as PP fields grouped by domain
profile. The data array of the PP fields will be two dimensional, the size of the first dimension is the number of
dumps in the file and the second dimension is the number of elements per dump (equal to the number of levels
the diagnostic is defined on if only dealing with a single column).

For more information on using these TIDL routines, see section 10.2.

10.1.1 Namelist control: creating output files

This section describes in detail the namelist variables which can be used to control the diagnostic system.

The diagnostic system is controlled by the & DIAGS namelist, which is read from the end of the scm forcing file.
The first variable in & DIAGS, main_diag_switch, is an integer which, if zero, means that the diagnostic system
is ‘off’ - diagnostics are neither processed nor output. By default it is non-zero and the diagnostic system is ‘on’.

There are 13 logicals for turning on ‘packages’ of diagnostics, allowing selected subsets of the complete set
of diagnostics to be output. These packages typically represent sets of diagnostics from different physics
sections of the model or ones which are useful to be available together, such as increments from each section.
Only l_scmdiag_gen is default ‘true’, switching on 50 of the available diagnostics. The remainder are default
‘false’; when all are set ‘true’, all possible diagnostics are output. Some diagnostics are only available when
certain model switches are on, for example land diagnostics are only available when running over a land point.
These logicals will be reset to false and a warning message displayed if they are switched on in the namelist
but the model setup makes those diagnostics unavailable. The packages are not unique, and many diagnostics
are available from more than one package, for example increments from the convection scheme are available
both from the increments package and the convection package. For a list of diagnostics and which packages
they are available from, please see appendix C to this documentation paper.

17 c Crown Copyright 2015



UMDP: C09
The Single Column Model

Variable Array Default


Description Type
(& DIAGS ) Dims (Units)
main_diag_switch Enable(1)/Disable(0) all diagnostics Int n/a 1
l_scmdiag_gen General diagnostics Log n/a true
l_scmdiag_conv Convection diagnostics Log n/a false
l_scmdiag_rad Radiation diagnostics Log n/a false
l_scmdiag_bl Boundary layer diagnostics Log n/a false
l_scmdiag_lsp large-scale precipitation diagnostics Log n/a false
l_scmdiag_lscld large-scale cloud diagnostics Log n/a false
l_scmdiag_forc SCM forcing diagnostics Log n/a false
l_scmdiag_gwd Gravity Wave Drag diagnostics Log n/a false
l_scmdiag_incs Increment diagnostics Log n/a false
l_scmdiag_pc2 PC2 diagnostics, requires PC2 Log n/a false
l_scmdiag_surf Surface diagnostics Log n/a false
l_scmdiag_sea Sea-point diagnostics (sea-point only) Log n/a false
l_scmdiag_land Land-point diagnostics (land-point only) Log n/a false
strm_switch17 Enable(1)/disable(0) output stream Int nstreams Stream 1 enabled
strm_unit Stream output unit Int nstreams Stream number + 36
strm_filename17 Stream output filename Char nstreams streamXX.dat
strm_format Stream format (0:4) Int nstreams 3
strm_dumpstep Stream dumping period Int nstreams 1
strm_heed_acceptlist Use strm_acceptlist Int nstreams 1
strm_heed_rejectlist Use strm_rejectlist Int nstreams 1
strm_acceptlist Diagnostics included in given stream Char nstreams ’’
strm_rejectlist Diagnostics excluded in given stream Char nstreams ’’
strm_heed_hardwired Accept diagnostics sent to stream by Int nstreams 1
stream-list i specified in call to SCMOUTPUT
Non-zero=yes
Table 14: & DIAGS namelists variables. Description for logicals/switches are for status = true

All other & DIAGS variables are arrays of length, maxnstreams18 whose first element pertains to stream one,
whose second to stream two, and so on. The variables will now be described individually.

The array strm_switch is the ‘on/off’ switch for each individual stream. If strm_switch(n) is zero, then
stream n is ‘off’ and will not accept any diagnostics or produce an output file. By default strm_switch(1) is
non-zero, but all others are zero; i.e. all streams are off apart from stream one.

The integer and character (len=100) arrays strm_unit and strm_filename dictate the unit to which an out-
put file is to be written and the name of that output file respectively for each stream. By default strm_unit(n)
is set to n+36, and so stream one writes to unit 37, stream two to unit 38, and so on. The stream filenames are
by default set to streamXX.dat, where XX is the stream number.

The integer array strm_format dictates the formats of the output files associated with each stream, options
for strm_format are given in table 15.

The integer array strm_dumpstep dictates the dumping period for each stream. This dictates the process-
ing period for the diagnostics being sent to that stream (e.g. if the diagnostic is an average it is the number of
timesteps the average is taken over; is the number of timesteps between dumps for a given stream, if it is a
maximum then the maximum is over; etc.). Valid options for strm_dumpstep are given in table 16.
17 Moved to UM namelist file, SCM_SET.
18 The maximum number of output streams, set to 30 in scmoptype_defn.F90

18 c Crown Copyright 2015



UMDP: C09
The Single Column Model

Option Description
0 Formats output similar to that produced by vn4.5 routine DUMP _ GRAF.
This format can be read into TIDL using SCMREAD 2, though will require
streamXX.dat, domain.dat and scumlist.dat in the same directory.
1 Produces the same output as option 0, but the information is formatted
so that it is more easily read by the user.
2 Produces output similar to produced by vn4.5 SSFM routine VERDIAGS .
This format can then be read in by the FSSI database.
3 Produces the same format as option 0 and is self-descriptive, it doesn’t
need additional files. It is intended to replace the option 0 format and is
the default setting for SCM output.
4 Output data is in NetCDF format.

Table 15: Format options for SCM output, specified for each output stream via strm_format
Option Description
strm_dumpstep > 0 Dumping period is equal to strm_dumpstep in timesteps
strm_dumpstep = 0 Dumping period set to number of timesteps in run i.e. pro-
cesses are applied to whole SCM run.
strm_dumpstep < 0 Dumping period is set to the number of timesteps which
produces dumps as close as possible to strm_dumstep
in seconds.

Table 16: Dumping period options for SCM output, specified for each output stream via strm_dumpstep
The integer array strm_heed_hardwired dictates whether the respective streams wish to be excluded from
any list provided in a call to SCMOUTPUT. That is, a nominal list of streams to which a diagnostic is to be sent is
provided in the respective call to SCMOUTPUT. You can request that a stream be excluded from any such list by
setting the respective element of strm_heed_hardwired to zero. For example: if in a call to SCMOUTPUT it is
requested that a diagnostic be sent to streams 1, 2 and 3, but strm_heed_hardwired(1:2) is non-zero and
strm_heed_hardwired(3) is zero, then the diagnostic would end up only going to streams 1 and 2. Setting
every element of strm_heed_hardwired to zero would cause all stream lists provided in calls to SCMOUTPUT
to be ignored. By default every element is set non-zero.

For each stream there is a strm_acceptlist and strm_rejectlist value. These are comma-separated
character lists of diagnostic short-names (sname) which are accepted/rejected from that output stream. Each
stream can be instructed to apply its acceptlist/rejectlist depending on whether strm_heed_acceptlist or
strm_heed_rejectlist are zero (ignore list) or non-zero (apply list).

The character (len=500) array strm_acceptlist defines, for each stream, which additional diagnostics are to
be put into it despite whatever the nominal streamlists provided in the calls to SCMOUTPUT say. Each element is a
case sensitive comma separated list of diagnostic names. These should be the short names as specified in the
respective calls to SCMOUTPUT. e.g. if the calls to SCMOUTPUT that are responsible for outputting temperature and
pressure specify that these diagnostics are only to go to stream 1, but strm_acceptlist(2) is set to ’T,p’ and
strm_heed_acceptlist(2) is non-zero and ’T’ and ’p’ are indeed the short names that have been specified
for these diagnostics in the call to SCMOUTPUT, then temperature and pressure will also be sent to stream
2. If the short name of the diagnostic contains a special character (a comma, backslash, or leading/trailing
space) then the character should be prepended with a backslash to indicate it is to be treated literally. Where a
diagnostic is substepped, only the short name given in the call to SCMOUTPUT is needed to be included in strm_-
acceptlist, not the appended substep number, and all substeps for this diagnostic will be treated as required.

The character (len=500) array strm_rejectlist is the same as strm_acceptlist, except that it defines
which diagnostics are not to be sent to each given stream. The corresponding elements in strm_heed_-
rejectlist have to be nonzero for this to have any effect. Where there is a clash between an acceptlist and
a rejectlist, the diagnostic is not sent to the respective stream.

19 c Crown Copyright 2015



UMDP: C09
The Single Column Model

10.1.2 Additional files

The diagnostic system also produces two additional files, both of which are required by the TIDL procedure
SCMREAD 2 to read format-0 data files. These are scumlist.dat and domain.dat. The first contains information
about the exact formatting of the data in the format-0 data files (including a complete list of all diagnostics with
their names). The second contains information on the size of the model domain (e.g. row_length,rows), the
vertical levels and the orography - needed to calculate physical positions from model points. Note: These files
are not needed for the default, format-3.

10.1.3 Substepping

If physics substepping is switched on, the diagnostic system will append the substep number to the sname,
giving diagnostics with snames of the form sname_#X where X is the substep number. For more details, see
section 10.3.5.

10.2 Reading files into TIDL

This section describes how to read data files with format-0 or format-3 into TIDL (Met Office site). In order to
access maintained scm TIDL routines, make the following file changes:
• Create/Add to file $HOME/.idl/idlstart
.run ~scm/.idl/start_routine.pro
.run ~/bin/scmread2_lnk.pro
.run ~/bin/scmoutput_lnk.pro
.run ~/bin/scm2idl_lnk.pro
• Add to file $HOME/.profile
export IDL_STARTUP=$HOME/.idl/idlstart
export IDL_PATH=IDL_PATH:/opt/ukmo/idl/nwp/meso:$HOME/bin
PATH=$PATH:~scm/bin

10.2.1 TIDL procedure SCMREAD2

Output data files with format-0 or format-3 can easily be read into TIDL and converted to PP format. To do this
simply use the function procedure scmread2.pro which will return a structure containing arrays of diagnostics
as PP fields grouped by domain profile. The syntax is of the form:
TIDL> data=scmread2(’path/filename’)
Note that in order to determine the correct formatting of format-0 data files the additional output files
scumlist.dat and domain.dat need to also be read. They will be assumed to be in the same directory as the
data file. Format-3 data files (the default) are entirely self-descriptive and do not require any other file to be read.

The returned variable data will be a structure containing a data member for each defined domain profile
(labelled with the name that was used to define the profile in the respective call to DEFINE _ DOMPROF). Each of
these data members is an array of all the PP fields that have that domain profile. There is also an additional
data member called other_data containing other data, such as the heights of the model levels.

The data array of the PP fields will be two dimensional, the size of whose first dimension is the number of
dumps in the file and whose second dimension is the number of elements per dump (equal to the number of
levels the diagnostic is defined on if only dealing with a single column).

If the run that produced the data file crashed after completing at least one full timestep, then scmread2 will issue
a warning that there is less data in the file than expected, but will carry on regardless, and so will still return that
information that was written out before the crash.

20 c Crown Copyright 2015



UMDP: C09
The Single Column Model

If the keyword export is present and non-zero:


TIDL> scmread2(’filename’,\\export))
Then every diagnostic will be individually copied to a system variable whose name will be the short-name of the
diagnostic prepended with an exclamation mark. These variables (each a single PP field) will then be available
from the command prompt after the routine has returned.

10.2.2 TIDL procedure SCMOUTPUT

The routine, SCMOUTPUT, provides a minimum-fuss way to interactively examine and plot the contents of a format-
0 data file. It should not be confused with the SCM fortran routine of the same name. It calls SCMREAD 2 internally
to read the file. All you have to type is:
TIDL> scmoutput,’path/filename’
Noting that, in the case of a format-0 file, the scumlist.dat file and the domain.dat file must be in the same
directory as the data file. You will then be in an interactive, text-menu driven environment.

First you will be presented with a list of domain profiles from which to choose. The number of levels correspond-
ing to each domain profile and the number of diagnostics that have this profile will be listed to the right of each
profile name. On choosing a profile you will be presented with a list of diagnostics that have that profile and
asked to choose again. You will then be presented with a list of viewing options19 which include:
• Plotting a profile for a given time (dump).
• Plotting a time-series for a given level
• Plotting level/time 2D contour plot (shaded or line)
• Writing the data to a file in an easy-to-read format and opened in a text editor20 .
To go back at any time choose option zero. Going back from the top menu quits.

You can change the colour table used for any colour plots with the ct keyword. i.e. specifying ct=0 on the
command line will mean colour table zero is used.

If the keyword parameter old is present and non-zero (i.e. if you put /old on the command line) then SCMREAD21
is used to read in the data file. Thus scmoutput can work with data from the vn4.5 SCM.

10.2.3 Comparing SCM results

The TIDL routine SCMOUTPUT can compare and display differences between two SCM output files. This is done
by specifying a second file in the call to SCMOUTPUT:
TIDL> scmoutput,’path1/filename1’,’path2/filename2’
The procedure SCMREAD 2 will be used to read each in turn, and SCMOUTPUT will then attempt to pair up the
common diagnostics in the different files. Two diagnostics will form a pair if they share the same short name
(sname) and domain profile22 . Diagnostics which do not pair up are discarded. The remaining diagnostics are
subtracted from one another (filename1−filename2) to create a third set of parallel diagnostics. The interactive
text-menu session continues as normal, but now with the following alterations:
• In the list of diagnostics for a given domain profile, the first dump for which the difference between the two
data fields is non-zero is listed to the right of the diagnostic name. This is useful as a quick bit-comparability
check. A dash indicates no difference for all dumps23 .
19 Some viewing options will not be available if there is only one dump in the file or the diagnostic is only defined on one level
20 Specified by environment variable $EDITOR
21 SCMREAD is the UM4.5 compliant version of SCMREAD 2
22 Domain profiles are judged the same if they share the same name and correspond to the same total number of elements:

rows×columns
23 The precision that TIDL is working in is not necessarily the same as that for the UM

21 c Crown Copyright 2015



UMDP: C09
The Single Column Model

• When any diagnostic is plotted, three plots will actually be made. From left to right these will be the
requested diagnostic from filename1, filename2 and their difference (filename1−filename2).
• The keyword input maxdiff can be used to cap the difference between the diagnostics, e.g. if
maxdiff=100 is specified on the command line, then the difference for all diagnostics will be limited
to the range −100 to +100. This can be useful for examining regions of small difference near regions of
large difference.
• If the keyword pc is present and non-zero (i.e. if /pc is in the command) then the difference used is the
percentage rather than the absolute difference. This is defined as:

diagfile1 − diagfile2
100 ×
diagfile1

If the value of the first diagnostic is zero at any point then the percentage difference is set to maxdiff to
avoid a divide by zero.

10.3 Details about the diagnostic system

10.3.1 How to output a new diagnostic

Generally speaking, an array can be output as a diagnostic from any routine - you just need to do two things.
Firstly you need to make sure that the module s_scmop_mod is included in the routine, i.e. that the routine
contains the USE statement with parameters referenced in diagnostic output calls, e.g.
USE s_scmop_mod, ONLY: t_inst, d_all, default_streams
Secondly, you need to insert a call to the routine SCMOUTPUT at a point in the routine where the array is valid.
This call should be executed every timestep (or no time-steps at all - in which case you don’t get the diagnostic).
If this is not the case informative error messages will be generated. One exception is made - in the case of
constant diagnostics (see discussion of time profiles below). Variables which are only calculated on radiation
time-steps can be accommodated (also see below), but the routine must still be called on non-radiation time-
steps. SCMOUTPUT takes nine inputs, all of which are intent-IN.
#if defined(SCMA)
CALL scmoutput(x, sname &
, lname, units &
, <TimeProfile>, <DomainProfile>, <OutputStreams> &
, sname2, routine_name)
#endif
Where <TimeProfile>, <DomainProfile> and <OutputStream> are parameters typically referenced from the
module s_scmop_mod.

The use ’#if defined’ directives is being phase out in the UM and should avoided where possible. An alterna-
tive is to add a conditional test on whether the model is a SCM or not. For this, the additional variables should
be referenced:
USE model_domain_mod, ONLY: model_type, mt_single_column
So the previous example would be:
IF (model_type == mt_single_column) THEN
CALL scmoutput(x, sname &
, lname, units &
, <TimeProfile>, <DomainProfile>, <OutputStreams> &
, sname2, routine_name)
ForEND IF diagnostic, SCMOUTPUT should be called on every timestep or not at all. The short name, sname
a given
will be truncated or padded with whitespace to ensure the correct length. If the sname is not unique, warning
messages will be generated.

22 c Crown Copyright 2015



UMDP: C09
The Single Column Model

Option Description Type


x A variable/array the which the diagnostic is based. The values of x at the Real
time of the call are used to calculated the diagnostic. The size and shape
of the array will be specified through the <DomainProfile> input.
sname A short name for the diagnostics which should be a unique identifier for Char(len=30)
this diagnostic at least 1 character long. In the case of substepping,
sname is appended with the substep number. See section 10.3.5 for sub-
step details
lname Full diagnostic name or description. Char(len=50)
units The diagnostic units Char(len=15)
<TimeProfile> Diagnostic time profile. This defines how the diagnostic will be constructed Integer
from the input array over the timesteps that make up each dumping period,
see table 18 for options.
<DomainProfile> Diagnostic domain profile. This defines the spatial area over which the Integer
diagnostic is defined and, as such, the expected size of the input array, x,
see table 19 for options.
<OutputStreams> The streams to which the diagnostic is to be sent. see text.
sname2 This input is only required for certain choices of time profile. If not required Char(len=30))
it should be a zero-length string (’ ’). Otherwise, it should be the short
name (sname) of another diagnostic.
routine_name Routine from which SCMOUTPUT was called Char(len=*)

Table 17: Arguments for SCMOUTPUT fortran routine

To specify just one stream this should be equal to Stream(i) where i is an integer specifying the stream number
and Stream() is a statement function defined in module s_scmop_mod.

To specify multiple streams, simply add the outputs of multiple calls to the Stream() function, e.g. to specify
streams 2 and 3, the streams argument should be set equal to Stream(2)+Stream(3).

#if defined(SCMA)
CALL scmoutput(x, sname &
, lname, units &
, <TimeProfile>, <DomainProfile>, Stream(2)+Stream(3) &
, sname2, routine_name)
#endif
If you want the diagnostic to be defined, but want to use it in subsequent diagnostic calls (i.e. used as sname2
in a later diagnostic call) instead of being output, then you can feed your stream list into the statement function
DoNotWrite() and use that as the input instead. e.g. to have a diagnostic calculated in streams 2 and 3, but not
written to any output file use DoNotWrite(Stream(2)+Stream(3)) as the input for this parameter:
#if defined(SCMA)
CALL scmoutput(x, sname &
, lname, units &
, <TimeProfile>, <DomainProfile>, DoNotWrite(Stream(2)+Stream(3)) &
, sname2, routine_name)
#endif
Diagnostics which use the DoNotWrite() statement function will also not have an entry in the scumlist.dat file.

Diagnostic (sname) can be combined with another diagnostic (sname2) that has already been output on the
current timestep, see table 18. However, the range of dumping periods to which this diagnostic (sname) is being
sent (determined by the streams input) should be a subset of those to which the other diagnostic (sname2) is
being sent. The other diagnostic (sname2) does not have to have the same size and shape (i.e. domain profile)

23 c Crown Copyright 2015



UMDP: C09
The Single Column Model

though. If it has fewer elements than this diagnostic its values are simply cycled round to the beginning upon
reaching the end.

10.3.2 Diagnostic time profiles

When outputting a diagnostic from the SCM some basic processing is available in the call to SCMOUTPUT via the
timprof argument. The options available are given in table 18. Whichever time profile is chosen, if the input
array for your diagnostic is only valid on radiation timesteps, the parameter only_radsteps should be added
to the <TimeProfile> option in the SCMOUTPUT argument list:
#if defined(SCMA)
CALL scmoutput(x, sname &
, lname, units &
, <TimeProfile>+only_radsteps, <DomainProfile>, <OutputStreams> &
, sname2, routine_name)
#endif
Non-radiation timesteps will then be ignored, but it is important that SCMOUTPUT is still called for the diagnostic
on these timesteps.

It may seem strange to output constant data, though it is useful to define constants24 which are subsequently
used to multiply or divide other diagnostics in order to scale them. For instance, to convert from Pa to hPa (i.e.
divide by 100) you can call SCMOUTPUT to define a diagnostic which is simply a single real number always equal
to 100, then use the t_div profile with the pressure diagnostic to do the conversion.

If the time profile you want does not exist, by modifying module s_scmop_mod and ADD 2 DUMP (see the sections in
code relating to the other profiles for examples). Nothing else should be necessary.

10.3.3 Diagnostic domain profiles

Table 19 lists the options for domain profile (<DomainProfile>) currently available for calls to SCMOUTPUT. It
should be noted that if an array to be output in a SCMOUTPUT call is smaller than the specified domain profile, the
extra space may contain rubbish data. Users should ensure that the array to be output either matches the
domain profile or is appropriately initialised.

Additional domain profiles can be created by modifying module s_scmop_mod, and having an associated call to
DEFINE _ DOMPROF from routine SETUP _ DIAGS.
24 SCMOUTPUT does not need to be called every timestep for constant diagnostics. You may also omit this diagnostic from the output streams

using the DoNotWrite() statement function with the streams parameter.

24 c Crown Copyright 2015



UMDP: C09
The Single Column Model

Option Description
t_inst Use instantaneous value - i.e. output the value that the array has at the end of the dumping period.
t_max Gives maximum value over the dumping period
di = max{x(i−1)N+1 , x(i−1)N+2 , ....., x(i−1)N+N }

t_min Gives minimum value over the dumping period


di = min{x(i−1)N+1 , x(i−1)N+2 , ....., x(i−1)N+N }

t_acc Gives the accumulated value:


P
di = N j=1 x(i−1)N+j

t_avg Gives the average value;


PN
di = N1 j=1 x(i−1)N+j

t_div Gives the average value divided by the value of a different diagnostic:
PN
di = N1 j=1 x(i−1)N+j /d2i

where d2i is the value of the other diagnostic, sname2.


t_mult Gives same as t_div except multiplied by different diagnostic instead of divided.
t_acc_div Gives same as t_div except the average value is replaced with the accumulated value of the
diagnostic.
t_acc_mult Gives same as t_acc_div, but multiplied rather than divided.
t_const A constant diagnostic independent of time.

Table 18: Time profile output choices available to SCMOUTPUT declared in the module s_scmop_mod. di = diagnostic values
at the ith dump, xn = diagnostic values of input array at timestep n, N = dumping period.
Option Description Dimensions
d_point A single point (1,1,1)
d_sl All points, a single level (row_length,rows,1)
d_all All points, all levels (row_length, rows, model_levels)
d_allxtra All points, all levels plus one (row_length, rows, model_levels+1)
d_wet All points, wet levels (row_length, rows, wet_levels)
d_cloud All points, cloud levels (row_length, rows, cloud_levels)
d_bl All points, bl levels (row_length, rows, bl_levels)
d_soilt All points, soil temperature levels (row_length, rows, st_levels)
d_soilm All points, soil moisture levels (row_length, rows, sm_levels)
d_tile All points, different tile types treated as levels (row_length, rows, ntiles)
d_vis All points, visibility thresholds treated as levels (row_length, rows, n_vis_thresh)
d_land Land points only, a single level (land_points,1,1)

Table 19: Domain profile output choices available to SCMOUTPUT.

10.3.4 Outputting diagnostics in packages

For permanent diagnostic additions, the diagnostic should be included in one or more diagnostic packages. In
this case, the integer nscmdpkgs (number of SCM diagnostic packages) and logical array l_scmdiags of size
nscmdpkgs should be passed down to the routine from which the diagnostic is to be output. These variables
are declared as dummy variables in the full model so should not need to be protected by compiler directives.
The logical array l_scmdiags contains a logical for each diagnostic package, to represent which packages are
switched on and off as read in from the DIAGS namelist. The module s_scmop_mod contains integer variables
which make it easier to identify which logical in the array represents which package. The call to SCMOUTPUT
should then be enclosed in an IF test for that package, for example:
IF ( l_scmdiags(scmdiag_forc) .OR. l_scmdiags(scmdiag_incs) ) THEN

25 c Crown Copyright 2015



UMDP: C09
The Single Column Model

CALL scmoutput( t_inc(1:row_length,1:rows,nfor,1:nlevs)-t_inc_in, ’dt_totforc’ &


, ’Total temperature increment from s_forcng’, ’K’ &
, t_avg, d_all, default_streams, ’’, routine_name)

END IF
There are currently 13 diagnostic packages to choose from:

1. scmdiag_gen 2. scmdiag_rad 3. scmdiag_bl 4. scmdiag_surf


5. scmdiag_land 6. scmdiag_sea 7. scmdiag_lsp 8. scmdiag_conv
9. scmdiag_lscld 10. scmdiag_pc2 11. scmdiag_forc 12. scmdiag_incs
9. scmdiag_gwd
If extra diagnostic packages are required, then the number of packages, nscmdpkgs, should be changed
in SCM routine SCM _ MAIN and UM routines ATM _ STEP and PC 2_ PRESSURE _ FORCING, where it is set as a dummy
variable. The routine SETUP _ DIAGS should be edited to declare the new logicals in the DIAGS namelist, and to
place the read in values in the l_scmdiags array. The module s_scmop_mod should also be edited, to include
integers to represent the new diagnostics packages.

10.3.5 Changing the order of calls in a timestep - substepping

The diagnostic output system requires that there be only one call to SCMOUTPUT for a given sname. It will also
object to any change in the order of calls to SCMOUTPUT in a given timestep. Typically this would occur if the
diagnostic is output in a section of code which is subject to an IF test which is not true every timestep or if it is
output in a section of code which is substepped or repeated more than once in a timestep.

In the model there is the option to run with substepping for convection or for physics2 (convection and boundary
layer). Any diagnostic within a substepping loop would then cause problems for the diagnostics system.

In the case where a diagnostic occurs under physics2 substepping the substep number is appended to the
diagnostic name for output, with the format sname_#X where X is the substep number. Any time averaging is
then the time average of the variable within that substep for all timesteps in that dumping period. Where the
time domain allows for multiplication or division by a different diagnostic, if that diagnostic is also substepped
then the same substep is used for the operation.

Note: The solution has only been applied to the physics2 substepping, and care is needed if outputting
diagnostics within any other substepped code.

The substepping affects approximately 40% of the diagnostics. Affected diagnostics occur in the convection,
boundary layer, large-scale cloud, increments, land, sea and surface packages and are listed in appendix C.
The use of strm_rejectlist can reduce the number of diagnostics output if a user is concerned about this,
but each individual substepped sname needs to be included in the character array.

10.3.6 Diagnostics within substeps

[unsupported]
Physics2 substepping occurs in routine ATMOS _P HYSICS 2 around the calls to the boundary layer and convection
schemes. The SCM routines
SCM _ SUBSTEP _ START
SCM _ SUBSTEPPING _ END
ADD _ SUBSTEP _ TO _ SNAME (function)

26 c Crown Copyright 2015



UMDP: C09
The Single Column Model

are called to indicate the beginning and end of the substepping. First the beginning of the substepping is
indicated by:

DO substep_number=1, num_substeps

#if defined(SCMA)
! The SCM output diagnostic system needs to know what sub-step
! it’s currently on, if at all.

CALL scm_substep_start(substep_number)
#endif
then follows the substepped code, and at the end of the substepping:
END DO ! terminate substepping loop

#if defined(SCMA)
! The SCM output diagnostic system needs to know that
! sub-stepping has ended

CALL scm_substepping_end
#endif
There is the potential to generalise the substepping fix to the diagnostic code for multiple occurrences of
different substepping, whether nested or in series, but this is unsupported at the present time.

27 c Crown Copyright 2015



UMDP: C09
The Single Column Model

A Namelists in SCM forcing file

Array
Variable Description Type Default
Dims
nfor No. of observation forcing time-levels for each forcing variable con- Int n/a
tained in namelist &INOBSFOR in scm forcing file.
model_levels_nml No. of model levels in variable profiles in scm forcing file. This Int n/a
must match model_levels in the UM namelist file SIZES.
l_ts_log Turns on timestep message, reports an log of run progress. Log n/a false
land_points Number of land points in run. This must be consistent with the num- Int n/a 0
ber of land points specified by land_sea_mask
l_netcdf_obs Switch for including an external NetCDF forcing file in the run [un- Log n/a false
supported].

Table 20: & CNTLSCM namelist variables


Array
Variable Description Type Default
Dims
soil_type 1) Ice, 2) Fine, 3) Medium, 4) Coarse Int (Lnd) 3
year_init Initial year Int n/a 1998
month_init Initial month Int n/a 1
day_init Initial day Int n/a 1
hour_init Initial hour Int n/a 0
min_init Initial minute Int n/a 0
sec_init Initial second Int n/a 0
lat25 Latitude Real (rl,rw) 0.0
long25 Longitude Real (rl,rw) 0.0
gridbox_area Global dimensions Real (rl,rw) 105 m2
salt_dim1 Sea-salt aerosol dimension 1 Int n/a 1
salt_dim2 Sea-salt aerosol dimension 2 Int n/a 1
salt_dim3 Sea-salt aerosol dimension 3 Int n/a 1
gather Switch to run on Cray (true) Int n/a false
25 Latitude and longitude are read from climateTable 21:
datasets & INDATA namelist variables
if stats=true.

28 c Crown Copyright 2015



UMDP: C09
The Single Column Model

Variable Array Default


Description Type
(& RUNDATA) Dims (Units)
ndayin Days requested in run Int n/a 1day
nminin Minutes requested in run Int n/a 0mins
nsecin Seconds requested in run Int n/a 0s
timestep Model timestep for physics routines26 Int n/a 1800s
ntrad1 First timestep on which radiation called Int n/a 1
ntml Surface mixed layer, top level Int (rl,rw) bl_levels
nbdsc Decoupled SC layer, bottom level Int (rl,rw) 0
ntdsc Decoupled SC layer, top level Int (rl,rw) 0
zh Height (above srf.) at top of boundary layer Real (rl,rw) 500.0m
albsoil Soil albedo. Real (Lnd) 0.0
sice_alb Sea-ice albedo. Real (rl,rw)
land_alb Mean land albedo. Real (rl,rw)
fland_ctile Land fraction on land points. Real (rl,rw)
tstar_land Land mean surface temperature27 Real (rl,rw) K
tstar_sea Open sea surface temperature27 Real (rl,rw) K
tstar_sice Sea-ice surface temperature27 Real (rl,rw) K
dolr_rts TOA - surface upward LW. Real (rl,rw) W/m2
cclwp Condensed water path Real (rl,rw) kg/m2
orog Orography height Real (rl,rw) m
ozone Ozone profile Real (rl,rw) kg/kg
ddmfx Downdraught mass-flux Real (rl,rw) kg/m2 /s
min_trop_level Tropopause model level: lower range Int n/a 028
max_trop_level Tropopause model level: upper range Int n/a 028
tscrndcl_ssi Decoupled screen-level temperature (sea/sea ice) Real (rl,rw) K
tscrndcl_tile Decoupled screen-level temperature (land) Real (rl,rw) K
tstbtrans Time since last transition to stability at the surface Real (rl,rw) s
co2start Carbon dioxide mixing ratio : Start Real n/a 4.9×10−4 kg/kg
co2end Carbon dioxide mixing ratio : End Real n/a 4.9×10−4 kg/kg
co2rate Carbon dioxide mixing ratio : Annual rate of change Real n/a 0.0 kg/kg/year
sum_eng_fluxes Sum of atmosphere fluxes Real (rl,rw)
sum_moist_flux Sum of moist fluxes Real (rl,rw)
aerosol Aerosol tracer profile - l_murk Real (rl,rw,ml)
dms Di-methyl sulphate profile Real (rl,rw,ml) kgS /kg
soot Soot Real (rl,rw) kg/kg
so2 Sulphur dioxide profile Real (rl,rw,wl) kgS /kg
co2 Carbon dioxide MMR profile Real (rl,rw,ml) kgCO2 /kg
nh3 Ammonia profile Real (rl,rw,ml) kg/kg
so4_aitken Sulphate aerosol MMR (aitken mode) Real (rl,rw,wl) kgS /kg
so4_accu Sulphate aerosol MMR (accumulation mode) Real (rl,rw,wl) kgS /kg
so4_diss Sulphate aerosol MMR (dissolved mode) Real (rl,rw,wl) kgS /kg
soot_new Soot MMR (new) Real (rl,rw,ml) kg/kg
soot_aged Soot MMR (aged) Real (rl,rw,ml) kg/kg
soot_cld Soot MMR (cloud) Real (rl,rw,ml) kg/kg
aerosol_em Aerosol emissions profile - l_murk Real (rl,rw,ml)
so2_em Surface emissions (SO2 ) Real (rl,rw) kgS /m2 /s
nh3_em Surface emissions (NH3 ) Real (rl,rw) kg/m2 /s
dms_em Surface emissions (DMS) Real (rl,rw) kgS /m2 /s
soot_em Surface emissions (Soot) Real (rl,rw) kg/m2 /s
soot_hilem High level emissions (Soot) Real (rl,rw) kg/m2 /s
co2_emits Surface emissions (CO2 ) Real (rl,rw) kgCO2 /m2 /s
co2flux Ocean CO2 flux Real (rl,rw) kgCO2 /m2 /s

26 Radiation has separate timestep intervals Table 22: & RUNDATA namelists variables
27 If unset, value is initialised to tstari value from & INPROF
28 If set to 0, the model calculates a min/max tropopause model level based on climatologies

29 c Crown Copyright 2015



UMDP: C09
The Single Column Model

Variable Array Default


Description Type
(& RUNDATA) Dims (Units)
ModelId Forcing model identifier (len=2) Chr n/a n/a
bmass_em Biomass emissions (surface) Real (rl,rw) kg/m2 /s
bmass_hilem Biomass emissions (high-level) Real (rl,rw) kg/m2 /s
bmass_new Biomass emissions (new) Real (rl,rw,ml) kg/m2 /s
bmass_aged Biomass emissions (aged) Real (rl,rw,ml) kg/m2 /s
bmass_cld Biomass emissions (cloud) Real (rl,rw,ml) kg/m2 /s
ocff_em Organic Carbon Fossil Fuel emissions (surface) Real (rl,rw) kg/m2 /s
ocff_hilem Organic Carbon Fossil Fuel emissions (high-level) Real (rl,rw) kg/m2 /s
ocff_new Organic Carbon Fossil Fuel emissions (new) Real (rl,rw,ml) kg/m2 /s
ocff_aged Organic Carbon Fossil Fuel emissions (aged) Real (rl,rw,ml) kg/m2 /s
ocff_cld Organic Carbon Fossil Fuel emissions (cloud) Real (rl,rw,ml) kg/m2 /s
nitr_acc Nitrate (accumulated) Real (rl,rw,ml) kg/kg
nitr_diss Nitrate (dissolved) Real (rl,rw,ml) kg/kg
free_tracers Model tracer fields Real (rl,rw,trl,ntr) kg/kg
albobs_sw SW obs/clim albedo (SW) Real (Lnd) n/a
albobs_vis SW obs/clim albedo (VIS) Real (Lnd) n/a
albobs_nir SW obs/clim albedo (NIR) Real (Lnd) n/a

Tape runs/statistical forcing (if stats = true)


cort Vertical correl. coeff. (temperature) Real (rl,rw) 0.9
cord Vertical correl. coeff. (dew pt. depression) Real (rl,rw) 0.9
corvn Vertical correl. coeff. (velocity) Real (rl,rw) 0.5
corw Vertical correl. coeff. (vertical velocity) Real (rl,rw) 0.5
exname_in Experiment name (len=8) (tape input) Chr n/a
exname_out Experiment name (len=8) (tape output) Chr n/a
runno_in Run number (tape input) Int n/a 0
runno_out Run number (tape output) Int n/a 999
dump_days No. of days for mean dump calculations. Int (4) 1day
resdump_days Frequency of dumps for restart Int n/a 1
change_clim Days between change in climate data Int n/a 10days29
dump_step No. of timesteps for mean dump calculations. Int n/a 030

Table 22: & RUNDATA namelists variables continued ...


Variable Array Default
Description Type
(& NC _ OBS ) Dims (Units)
netcdf_file Filename of external NetCDF forcing file. Char n/a
obs_t0_prf External obs profile time to begin forcing from. Int n/a
source31 Specifies source of NetCDF forcing file and so how to process it. Int n/a

29 Setting Tableto 23:


this value zero &will _ OBS Namelists
NCcause variables
a failure even detailing
if statistical forcingexternal NetCDF forcing file [unsupported].
is not in use
30 If
dump_step = 0, then dump_step will set such that time between dumps is close to 1200 s
31 Currently only RACMO-formatted (source=1) NetCDF files are valid.

30 c Crown Copyright 2015



UMDP: C09
The Single Column Model

Variable Array
Description Default
(& LOGIC) Dims
ancyc Use annual cycle for varying radiation input n/a true
local_time Use local time rather than GMT for diagnostics. n/a true
altdat Use specified initial profiles of theta, q, u and v from & INPROF n/a true
land_sea_mask Mask for land points. (rl,rw) true
land_ice_mask Mask for land-ice points. (rl,rw) false
soil_mask Mask for land-soil points. (rl,rw) true
cumulus BL convection flag. (rl,rw) false
radcloud_fixed Use fixed cloud for radiation (disabled). n/a false
dev_test General logical for development tests. n/a false

Forcing/Relaxation
obs Use large-scale observational forcing. n/a false
obs_surf Use observational surface forcing. n/a false
stats Use large-scale statistical forcing. n/a false
noforce Do not apply any large-scale forcing. n/a false
geoforce Apply geostrophic wind forcing. n/a false
geoinit Initialise dump to geostrophic. n/a false
l_geo_centred Use centred-difference to calculate geostrophic forcing increments. n/a false
l_qpos_for Ensure q >= qlimit after large-scale forcing. n/a false
l_spec_z0 Use prescribed roughness lengths. n/a false
l_flux_bc Use prescribed surface flux forcings instead of surface temperature forcings n/a false
(sea-point)

Input/Output
test Output detailed sub-timestep diagnostics. n/a false
tapein Use initial data from previous run stored on tape. n/a false
tapeout Restart information plus diagnostic output to be stored on tape. n/a false
grafdump_step Graphical dump of mean values required each dump_step. n/a false
grafdump_day Output graphical dump of mean daily values. n/a false
grafdump_days Output graphical dump of mean values over dump_days. n/a false
prindump_step Printout of mean dump required each dump_step. n/a false
prindump_day Printout of mean daily dump required. n/a false
prindump_days Printout of mean dump over dump_days required. n/a false
prinstat Printout stats forcing every timestep. n/a false
prindump_obs Printout of observational diagnostics required every obs_timesteps n/a false

Table 24: & LOGIC namelists variables. All variables are of type Logical, descriptions are for status = true.
Variable Array Default
Description Type
(& INGWD) Dims (Units)
sd_orog_land Sub-grid orography standard deviation Real n/a 1000.0m
orog_grad_xx_land Squared gridbox-mean gradient in x-direction32 Real n/a 0.001
orog_grad_xy_land Squared gridbox-mean gradient in xy-direction32 Real n/a 0.001
orog_grad_yy_land Squared gridbox-mean gradient in yy-direction32 Real n/a 0.001

32 Ancillary Table
inputs to Gravity 25:Drag
Wave & INGWD namelists
Scheme, can bevariables to initialize
obtained from UM Stash Gravity Wave6,203:206.
diagnostics Drag scheme.

31 c Crown Copyright 2015



UMDP: C09
The Single Column Model

Variable Array Default


Description Type
(& INJULES ) Dims (Units)
smi_opt Option to set method of initialising soil moisture content Int n/a
0:Use smcli, 1:Use fsmc, 2:Use sth
smcli Initial profile of soil moisture content in soil layers Real (Lnd,sm) kg/m2
fsmc Soil moisture stress Real (Lnd)
sth Total soil moisture in layers as a fraction of saturation Real (Lnd,sm)
canht Canopy height Real (Lnd,npft) m
lai Leaf area index Real (Lnd,npft)
catch Surface/canopy water capacity (snow-free land tiles) Real (Lnd,ntiles) kg/m2
snow_tile Lying snow on tiles Real (Lnd,ntiles) 0.0m
z0_tile Tile roughness lengths Real (Lnd,ntiles) m
tstar_tile Surface tile temperature. Initialised to tstari from & INPROF Real (Lnd,ntiles) K
if not set
canopy Surface/canopy water (snow-free land tiles) Real (Lnd,ntiles) kg/m2
frac_typ Fractions of surface types Real (Lnd,ntype)
infil_tile Maximum surface infiltration Real (Lnd)
rgrain Snow grain size Real (Lnd) 50.0µm
gs Stomatal conductance Real (rl,rw) 1.0

FLake scheme prognostics


lake_depth Lake depth Real (Lnd) m
lake_fetch Lake fetch Real (Lnd) m
lake_t_mean Lake mean temperature Real (Lnd) K
lake_t_mxl Lake mixed-layer temperature Real (Lnd) K
lake_t_ice Lake ice upper boundary temperature Real (Lnd) K
lake_h_mxl Lake mixed-layer depth Real (Lnd) m
lake_h_ice Lake ice thickness Real (Lnd) m
lake_shape Thermocline shape factor Real (Lnd)
lake_g_dt (Heat flux/∆T) at lake surface Real (Lnd) W/m2 /K

JULES soil parameters


clapp_levs Profile of Clapp-Hornberger exponent Real (Lnd,sm)
sathh_levs Profile of saturated soil water pressure Real (Lnd,sm) m
hcap_levs Profile of soil heat capacity Real (Lnd,sm) J/K/m3
hcon_levs Profile of soil thermal conductivity Real (Lnd,0:sm) W/m/K
satcon_levs Profile of saturated hydraulic conductivity Real (Lnd,0:sm) kg/m2 /s
smvccl_levs Profile of critical volumetric soil moisture content Real (Lnd,sm) m3 /m3soil
smvcwt_levs Profile of volumetric wilting point Real (Lnd,sm) m3 /m3soil
smvcst_levs Profile of volumetric saturation point Real (Lnd,sm) m3 /m3soil

Triffid scheme variables [unsupported]


g_leaf_acc Accumulated g_leaf Real (Lnd,npft)
g_leaf_phen_acc Accumulated leaf turnover rate including phenology Real (Lnd,npft)
npp_ft_acc Accumulated npp_ft Real (Lnd)
resp_w_ft_acc Accumulated resp_w_ft Real (Lnd,npft)
resp_s_acc Accumulated resp_s Real (Lnd,dim_cs1)
frac_disturb Fraction of grid-box of disturbed vegetation Real (Lnd)
cs Soil carbon content Real (Lnd,dim_cs1) kgC /m2

Table 26: & INJULES namelists variables.

32 c Crown Copyright 2015



UMDP: C09
The Single Column Model

Variable Array Default


Description Type
(& INPROF) Dims (Units)
theta Initial potential temperature profile (θ-levels) Real (rw,rl,ml) K
qi Initial specific humidity profile (θ-levels) Real (rw,rl,wl) kg/kg
p_in Pressure profile on ρ-levels(ρ-levels)33 Real (rw,rl,1:ml+1) Pa
ui Initial zonal wind profile (ρ-levels) Real (rw,rl,ml) m/s
vi Initial meridional wind profile (ρ-levels) Real (rw,rl,ml) m/s
wi Initial vertical wind profile (θ-levels) Real (rw,rl,0:ml) m/s
w_advi Initial w advective wind profile (θ-levels) Real (rw,rl,0:ml) m/s
u_0 Zonal component of surface current Real (rw,rl m/s
v_0 Meridional component of surface current Real (rw,rl m/s
tstari Initial surface temperature Real (rw,rl) m
z0h_scm Fixed sea surface roughness length (heat)34 Real (rw,rl) m
z0m_scm Fixed sea surface roughness length (momentum)34 Real (rw,rl) m
z0mseai Initial sea surface roughness length Real (rw,rl) m
smci Initial soil moisture content Real (lnd) kg/m2
canopy_gbi Initial gridbox mean canopy water Real (lnd) kg/m2
t_deep_soili Initial deep soil temperatures Real (lnd,st) K
snodepi Initial snow depth Real (rw,rl) kg/m2
ice_fract Gridbox sea-ice fraction Real (rw,rl) 0.0
ccai_sh Initial convective cloud amount fraction (shallow) Real (rw,rl) 0.0
ccai_dp Initial convective cloud amount fraction (deep) Real (rw,rl) 0.0
ccai_md Initial convective cloud amount fraction (mid-level) Real (rw,rl) 0.0
iccbi Initial convective cloud base Int (rw,rl) 0
iccti Initial convective cloud top Int (rw,rl) 0
eta_th_nml ηΘ-levels of profiles in scm forcing namelist Real (ml)
eta_rh_nml ηρ-levels of profiles in scm forcing namelist Real (ml+1)
z_tom_nml Height of highest level of profiles in scm forcing Real n/a
namelist
kill_interp Disables auto-grid interpolation [unsupported] Log n/a true
i_snowdepth Initial snow depth Real (Lnd,ntiles) m
i_snowgrnd Initial under canopy snow store Real (Lnd,ntiles) kg/m2
i_rho_snow_grnd Initial snow density Real (Lnd,ntiles) kg/m3
nsnow Number of snow levels Real (Lnd,ntiles)
i_tsnowlayer Initial snow layer temperatures Real (Lnd,ntiles,nsmax) K
i_sice Initial ice in snow pack Real (Lnd,ntiles,nsmax) kg/m2
i_sliq Initial liquid in snow pack Real (Lnd,ntiles,nsmax) kg/m2
i_ds Initial snow layer thickness Real (Lnd,ntiles,nsmax) m
i_rgrain1 Initial snow grain size in each layer Real (Lnd,ntiles,nsmax) µm
sil_orog_land Silhouette area of unresolved orography per unit hor- Real (rw,rl)
izontal area, (land points only)
ho2r2_orog Standard deviation of orography, equivalent to peak- Real (rw,rl) m
to-trough
√ height of unresolved orography divided by
2 2, (land points only)
nml_inprof_thetal Option for interpretation of theta and qi profiles Int n/a 0
when initialising qcl/qcf.
di Equivalent sea-ice thickness Real (rw,rl) m

Table 27: & INPROF namelists variables.


Variable Array Default
Description Type
(& INGEOFOR) Dims (Units)
ug Geostrophic zonal wind forcing Real (rw,rl,nfor,ml) 0.0m/s
vg Geostrophic meridional wind forcing Real (rw,rl,nfor,ml) 0.0m/s
ug_opt Geostrophic zonal wind forcing option: Int n/a 0
0:Constant value, 1:Constant profile, 2:Time Varying profile
vg_opt Geostrophic meridional wind wind forcing option, choices are same as Int n/a 0
for ug_opt

Table 28: & INGEOFOR namelists variables. Description for logicals are for status = true
33 The extra level is at the top of the column
34 Only valid if l_spec_z0 = true.

33 c Crown Copyright 2015



UMDP: C09
The Single Column Model

Variable Array Default


Description Type
(& PHYSWITCH) Dims (Units)
conv_mode Convection scheme mode Int 0

Table 29: & PHYSWITCH namelists variables. Description for logicals are for status = true
Variable Array Default
Description Type
(& RADCLOUD) Dims (Units)
cca_rad Convection cloud amount (fraction) Real (rl,rw)
iccb_rad Convective cloud base Int (rl,rw)
icct_rad Convective cloud top Int (rl,rw)
layer_cloud_rad Layer cloud amount (fraction) Real (rl,rw,wl)
qcl_rad Total cloud water and ice content over cloud Real (rl,rw,wl) kg/kg
qcf_rad Set to zero as user will usually input combined cloud water and ice Real (rl,rw,wl) kg/kg
content over cloud in qcl_rad
ccwpin_rad ccwpin_rad & convetive water path over cloud only Real (rl,rw) kg/m2

Table 30: & RADCLOUD namelists variables. Description for logicals are for status = true. Note: This feature is currently
disabled in the SCM

34 c Crown Copyright 2015



UMDP: C09
The Single Column Model

Variable Array Default


Description Type
(& INOBSFOR) Dims (Units)
l_vertadv Enable horizontal advective forcing Log n/a false
old_nml Namelist contains wind forcing in pre-UM7.7 format Log n/a false
[unsupported]
old_vertadv Use pre-UM7.7 version of code for horizontal advective Log n/a false
forcing [unsupported]
old_rlx Use pre-UM7.7 version of code for forcing relaxation Log n/a false
[unsupported]

Atmospheric forcings
obs_pd Time period between forcing profiles Real n/a s
obs_bot Lower boundary of height range to apply forcings Real n/a m
obs_top Upper boundary of height range to apply forcings Real n/a m
t_inc Forcing tendency: Temperature Real (rw,rl,nfor,ml) K/day
q_star Forcing tendency: Specific humidity Real (rw,rl,nfor,wl) (kg/kg)/day
u_inc Forcing tendency: Zonal wind Real (rw,rl,nfor,ml) (m/s)/day
v_inc Forcing tendency: Meridional wind Real (rw,rl,nfor,ml) (m/s)/day
w_inc Forcing tendency; Vertical wind Real (rw,rl,nfor,0:ml) (m/s)/day

Surface forcings
flux_h Surface flux: Sensible heat Real (rw,rl,nfor) W/m2
flux_e Surface flux: Latent heat Real (rw,rl,nfor) W/m2
tstar_forcing Surface temperature forcing Real (rw,rl,nfor) K

Atmospheric forcing relaxation variables


rlx_t Relaxation option: Temperature Int n/a 0
rlx_q Relaxation option: Specific humidity Int n/a 0
rlx_u Relaxation option: Zonal wind Int n/a 2
rlx_v Relaxation option: Meridional wind Int n/a 2
rlx_w Relaxation option: Vertical wind Int n/a 4
tau_t Relaxation timescale, τT for Temperature Real n/a 3600.0s
tau_q Relaxation timescale, τq for Specific humidity Real n/a 3600.0s
tau_u Relaxation timescale, τu for Zonal wind Real n/a 3600.0s
tau_v Relaxation timescale, τv for Meridional wind Real n/a 3600.0s
tau_w Relaxation timescale, τw for Vertical wind Real n/a 3600.0s
plev_t Apply relaxation to T on levels with pressure < plev_t Real n/a 1.5×105 Pa
plev_q Apply relaxation to q on levels with pressure < plev_q Real n/a 1.5×105 Pa
plev_u Apply relaxation to u on levels with pressure < plev_u Real n/a 1.5×105 Pa
plev_v Apply relaxation to v on levels with pressure < plev_v Real n/a 1.5×105 Pa
plev_w Apply relaxation to w on levels with pressure < plev_w Real n/a 1.5×105 Pa

Atmospheric background state variables


t_bg Temperature Real (rw,rl,nfor,ml) K
q_bg Specific humidity Real (rw,rl,nfor,wl) kg/kg
u_bg Zonal wind Real (rw,rl,nfor,ml) m/s
v_bg Meridional wind Real (rw,rl,nfor,ml) m/s
w_bg Vertical wind Real (rw,rl,nfor0:ml) m/s

Table 31: & INOBSFOR namelists variables. Description for logicals are for status = true

B Example file(s)

B.1 DebugScm

The following example script sets up a scm app for interactive debugging under idb/emacs at the Met Office,
UK. It may need to be modified for users at other locations. This script should be run after the SCM has been
compiled and run (or attempted to run) at least once by Rose.

35 c Crown Copyright 2015



UMDP: C09
The Single Column Model

#!/bin/ksh
#================================================================================
# Script to setup a SCM app for manual debugging from the users Linux machine |
# |
# NOTE: |
# This script written ASSUMING |
# * The user is based at the Met Office, UK |
# * All rose suites are kept in the users ~/roses directory |
# * The scm app has been compiled on the Linux system with debug information |
# * The scm build app is called fcm_make |
# * The scm app has been run at least once. |
# |
# 06/05/14 : Developed by R Y T Wong |
#================================================================================
#
# Usage: DebugScm <SuiteName> <AppName> <AppRunNumber>
#
#------------------------------------------------------------------------
# Get command line arguments |
#------------------------------------------------------------------------
SuiteName=$1 # 1st argument is suite name
AppName=$2 # 2nd argument is AppName i.e. scm
AppRunNumber=$3 # 3nd argument is App run number
clear

#------------------------------------------------------------------------
# 1.0 Check if job id exists |
#------------------------------------------------------------------------
if test ! -d ${HOME}/roses/${SuiteName} ; then
echo "Rose suite ${SuiteName} does not exist in ${HOME}/roses"
exit
fi

#------------------------------------------------------------------------
# 2.0 Get information on job from rose app config in cylc run directory |
#------------------------------------------------------------------------
TargetRoseAppFile=$HOME/cylc-run/${SuiteName}/app/${AppName}/rose-app.conf
DefaultScmPrintStatus=2

eval $(grep -m 1 ’VN=’ ${TargetRoseAppFile})


eval $(grep -m 1 ’SPECTRAL_FILE_DIR=’ ${TargetRoseAppFile})
eval $(grep -m 1 ’PRINT_STATUS=’ ${TargetRoseAppFile})

if [[ ${PRINT_STATUS} = ’PrStatus_Oper’ ]] ; then


PRINT_STATUS=${DefaultScmPrintStatus}
fi

#------------------------------------------------------------------------
# 3.0 Set-up path/file variables |
#------------------------------------------------------------------------
ManScmDir=$HOME/DebugScm
ManAppDir=${ManScmDir}/${SuiteName}/${AppName}.${AppRunNumber}
RoseAppRunDir=$HOME/cylc-run/${SuiteName}/work/${AppName}.${AppRunNumber}
RoseAppExecDir=$HOME/cylc-run/${SuiteName}/share/fcm_make/build-scm/bin

#------------------------------------------------------------------------
# 4.0 Set up scm debugging job |
#------------------------------------------------------------------------
echo ’’
echo " Setting up SCM debug directory for ${AppName}.${AppRunNumber} in Rose suite ${SuiteName}"

#------------------------------------------------------------------------
# 4.1 Create manual run directory |
#------------------------------------------------------------------------
cd $HOME
if test -d ${ManAppDir} ; then
echo " Run directory ${ManAppDir} already exists"
else
echo " Creating linux run directory ${ManAppDir}"
mkdir -p ${ManAppDir}
fi

#------------------------------------------------------------------------
# 4.2 Copy UMUI namelists to run directory |

36 c Crown Copyright 2015



UMDP: C09
The Single Column Model

#------------------------------------------------------------------------
cd ${ManAppDir}
cp ${RoseAppRunDir}/SHARED ./ 2>/dev/null
cp ${RoseAppRunDir}/CNTLATM ./ 2>/dev/null
cp ${RoseAppRunDir}/CNTLALL ./ 2>/dev/null
cp ${RoseAppRunDir}/SCM_SET ./ 2>/dev/null
cp ${RoseAppRunDir}/SIZES ./ 2>/dev/null
cp ${RoseAppRunDir}/IOSCNTL ./ 2>/dev/null

echo " Copied UM namelists to run directory"

#------------------------------------------------------------------------
# 4.3 Set symbolic link to executable from SCM run directory |
#------------------------------------------------------------------------
if test -h ${ManAppDir}/um-scm.exe ; then
rm ${ManAppDir}/um-scm.exe
fi

ln -s ${RoseAppExecDir}/um-scm.exe um-scm.exe

#------------------------------------------------------------------------
# 4.4 Set up idb initialisation file (.gdbinit) for GDB-mode |
#------------------------------------------------------------------------
if test -e $HOME/.gdbinit ; then
echo
echo " Modifying $HOME/.gdbinit for SCM debugging"
grep ’#IDB Initialisation settings for SCM Debugging (GDB mode)’ $HOME/.gdbinit 1>/dev/null 2>&1

if [ $? -eq 0 ] ; then

# Initialisation file has debug settings so edit them


sed -e "/set env VN/ c\set env VN ${VN}" \
-e "/set env JOBDIR/ c\set env JOBDIR ${ManAppDir}" \
-e "/set env IOSCNTL/ c\set env IOSCNTL ${ManAppDir}/IOSCNTL" \
-e "/set env PRINT_STATUS/ c\set env PRINT_STATUS ${PRINT_STATUS}" \
-e "/set env UNIT57/ c\set env UNIT57 ${SPECTRAL_FILE_DIR}/" \
-e "/set env UNIT80/ c\set env UNIT80 ${SPECTRAL_FILE_DIR}/" \
< $HOME/.gdbinit > $HOME/.gdbinit.new
mv $HOME/.gdbinit.new $HOME/.gdbinit
else
sed -e ’1 i\#IDB Initialisation settings for SCM Debugging (GDB mode)’ \
-e ’1 i\#========================================================’ \
-e "1 i\set env VN ${VN}" \
-e "1 i\set env JOBDIR ${ManAppDir}" \
-e "1 i\set env IOSCNTL ${ManAppDir}/IOSCNTL" \
-e "1 i\set env PRINT_STATUS ${PRINT_STATUS}" \
-e "1 i\set env UNIT57 ${SPECTRAL_FILE_DIR}/" \
-e "1 i\set env UNIT80 ${SPECTRAL_FILE_DIR}/" \
-e "1 i\shell ulimit -a" \
-e "1 i\alias src \"source\"" \
< $HOME/.gdbinit > $HOME/.gdbinit.new
mv $HOME/.gdbinit.new $HOME/.gdbinit
fi
else
echo " Creating IDB initialisation file (.gdbinit) for SCM debugging"
touch ${HOME}/.gdbinit

printf "
#IDB Initialisation settings for SCM Debugging (GDB mode)
#========================================================
set env VN ${VN}
set env JOBDIR ${ManAppDir}
set env IOSCNTL ${ManAppDir}/IOSCNTL
set env PRINT_STATUS ${PRINT_STATUS}
set env UNIT57 ${SPECTRAL_FILE_DIR}/
set env UNIT80 ${SPECTRAL_FILE_DIR}/
shell ulimit -a
alias src \"source\"\n" >> $HOME/.gdbinit

fi
chmod 755 $HOME/.gdbinit

echo ’’
echo " ${AppName}.${AppRunNumber} in ${SuiteName} setup for debugging"

37 c Crown Copyright 2015



UMDP: C09
The Single Column Model

echo " Run debugger within emacs (via Tools) using command:"
echo ’’
echo " idb ${ManAppDir}/um-scm.exe"
echo ’’

exit

C Diagnostics listings

This appendix lists the diagnostics currently available from the single column model. It lists which time and
domain profiles they are output with, what the array has been multiplied or divided by and the diagnostics
packages they are available from. It also lists the equivalent STASH code where available.

sname STASH
lname Units Profiles
(General) equiv.
u Zonal wind m/s t_avg, d_all 0,002
v Meridional wind m/s t_avg, d_all 0,003
theta Potential temperature K t_avg, d_all 0,004
q Specific humidity kg/kg t_avg, d_wet 0,010
w Vertical velocity m/s t_avg, d_all 0,150
rho_r2 Density*r*r after timestep kg/m t_avg, d_all 0,253
rho_only Density after timestep kg/m3 t_avg, d_all
p_rho Pressure on rho levels Pa t_avg, d_all 0,407
p_theta Pressure on theta levels Pa t_avg, d_all 0,408
h_theta Height of model theta levels m t_avg, d_all 15,101
h_rho Height of model rho levels m t_avg, d_all 15,102
T Temperature K t_avg, d_all 30,111
rh Relative humidity % t_avg, d_wet 30,113
rh2 Relative humidity over liquid water % t_avg, d_wet
sum_p_col Sum of theta-level pressures Pa t_acc, d_sl
tatmos Mean column temperature K t_acc_div, d_sl,
sum_p_col
qatmos Mean column specific humidity kg/kg t_acc_div, d_sl,
sum_p_col
aerosol Murk aerosol concentration µg/kg t_avg, d_wet
tracerXX Concentration of tracer kg/kg t_avg, d_all

Table 32: General diagnostics package


sname STASH
lname Units Profiles
(Increments) equiv.
dt_total Total increment to T ✛ K/tstep t_avg, d_all 30,181
dq_total Total increment to q ✛ (kg/kg)/tstep t_avg, d_wet 30,182
dqcl_total Total increment to qcl ✛ (kg/kg)/tstep t_avg, d_wet 30,183
dqcf_total Total increment to qcf ✛ (kg/kg)/tstep t_avg, d_wet 30,184
du_total Total increment to u ✛ (m/s)/tstep t_avg, d_all 30,185
dv_total Total increment to v ✛ (m/s)/tstep t_avg, d_all 30,186
dw_total Total increment to w ✛ (m/s)/tstep t_avg, d_all 30,187
dbcf_total Total increment to bulk cf ✛ fraction/tstep t_avg, d_wet
dcfl_total Total increment to cfl ✛ fraction/tstep t_avg, d_wet
dcff_total Total increment to cff ✛ fraction/tstep t_avg, d_wet
du_geo Geostrophic forcing increment to u ✛ (m/s)/tstep t_avg, d_all
dv_geo Geostrophic forcing increment to v ✛ (m/s)/tstep t_avg, d_all

Table 33: Increment diagnostics package.

38 c Crown Copyright 2015



UMDP: C09
The Single Column Model

sname STASH
lname Units Profiles
(Land) equiv.
tsoildeep Deep soil temperatures K t_avg, d_soilt 0,020
canopy_gb Canopy water content kg/m2 t_avg, d_sl 0,022
snowdepth Snow depth kg/m2 t_avg, d_sl 0,023
soilmoistunfroz Unfrozen soil moisture content kg/m2 t_avg, d_soilm 0,214
soilmoistfroz Frozen soil moisture content kg/m2 t_avg, d_soilm 0,215
snomlt_surf_htf Snowmelt heatflux (boundary layer scheme) † W/m2 t_avg, d_sl 3,258
gpp Gross primary productivity kgC /m2 /s t_mult, d_land, 3,261
oneKsecday
npp Net primary productivity kgC /m2 /s t_mult, d_land, 3,262
oneKsecday
resp_p Plant respiration kg/m2 /s t_mult, d_land, 3,263
oneKsecday
soil_evap Soil evapotranspiration kg/m2 /day t_mult, d_sl, 3,296
sec_day
can_evap Canopy evaporation kg/m2 /day t_mult, d_sl, 3,297
sec_day
tstartl Tile surface temp K t_avg, d_tile 3,316
snomlt_sub_htf Snow melt heat flux into sub-surface W/m2 t_avg, d_land n/a
soilmoist Soil moisture content kg/m2 t_avg, d_sl 8,208
soilmoistlay Layer soil moisture content kg/m2 t_avg, d_soilm 8,223
snomlt_hyd Snow melt (hydrology scheme) kg/m2 /day t_mult, d_land, 8,231
sec_day
snomlt_bl Snow melt (boundary layer scheme) kg/m2 /day t_mult, d_land, n/a
sec_day
thro_fall Throughfall kg/m2 /day t_mult, d_land, 8,233
sec_day
surf_roff Surface runoff kg/m2 /day t_mult, d_land, 8,234
sec_day
Sub_roff Sub-surface runoff kg/m2 /day t_mult, d_land, 8,235
sec_day
surf_ht_flux_ld Net downward heat flux into land fraction W/m2 t_avg, d_sl n/a
stoma_cond Stomatal conductance m/s t_avg, d_sl n/a
shf_tile Tile sensible heat flux W/m2 t_avg, d_tile 3,290
t1p5m_tile Tile 1.5m temperature K t_avg, d_tile 3,328
lhf_tile Tile latent heat flux W/m2 t_avg, d_tile 3,330

Table 34: Land diagnostics package.

sname STASH
lname Units Profiles
(Sea) equiv.
sea_ice_htf Heat flux through sea ice † W/m2 t_avg, d_sl 3,256
sice_mlt_htf Heat flux due to melting sea ice † W/m2 t_avg, d_sl 3,257
surf_ht_flux_si Net downward heat flux into sea frctn † W/m2 t_avg, d_sl 3,338
sea_roughness Sea surface roughness length m t_avg, d_sl n/a

Table 35: Sea diagnostics package.

39 c Crown Copyright 2015



UMDP: C09
The Single Column Model

sname STASH
lname Units Profiles
(Surface) equiv.
surf_ht_flux Net downward heat flux at surface † W/m2 t_avg, d_sl 3,202
u10m Zonal 10m wind † m/s t_avg, d_sl 3,209
v10m Meridional 10m wind † m/s t_avg, d_sl 3,210
wspd10m 10m wind speed † m/s t_avg, d_sl 3,227
wdrn10m 10m wind direction † degs t_avg, d_sl n/a
gust10m 10m Gust † m/s t_avg, d_sl 3,463
lat_ht Surface latent heat flux † W/m2 t_avg, d_sl 3,234
t1p5m 1.5m temperature † K t_avg, d_sl 3,236
t1p5m_min Min 1.5m temperature † K t_min, d_sl n/a
t1p5m_max Max 1.5m temperature † K t_max, d_sl n/a
q1p5m 1.5m specific humidity † kg/kg t_avg, d_sl 3,237
rh1p5m Relative humidity at 1.5m † % t_avg, d_sl 3,245
rhw1p5m Relative humidity wrt H2 O at 1.5m † W/m2 t_avg, d_sl n/a
td1p5m 1.5m dewpoint temperature † W/m2 t_avg, d_sl 3,250
tl1p5m 1.5m liquid temperature † K t_avg, d_sl 3,254
qt1p5m 1.5m total water kg water/kg air † kgH2 0 /kgAIR t_avg, d_sl 3,255
vis1p5m 1.5m visibility † m t_avg, d_sl 3,281
pfog1p5m Probability of fog at 1.5m † - t_avg, d_sl 3,282
pmist1p5m Probability of mist at 1.5m † - t_avg, d_sl 3,283
pvisthresh Probability of vis LT threshold † - t_avg, d_vis n/a
visnop1p5m 1.5m visibility outside precip † m t_avg, d_sl 3,247
vislsp1p5m 1.5m visibility in LS precip † m t_avg, d_sl 3,284
viscp1p5m 1.5m visibility in conv precip † m t_avg, d_sl 3,285
sublim Sublimation from lying snow or sea ice kg/m2 /day t_mult, d_sl, 3,298
sec_day
z0m Roughness length for momentum m t_avg, d_sl 0,026
z0h Effective roughness length for heat m t_avg, d_sl 3,027
z0m_eff Effective roughness length for momentum m t_avg, d_sl

Table 36: Surface diagnostics package.

sname STASH
lname Units Profiles
(LS Cloud) equiv.
lowcld Low cloud fraction † fraction t_avg, d_sl 9,203
medcld Medium cloud fraction † fraction t_avg, d_sl 9,204
highcld High cloud fraction † fraction t_avg, d_sl 9,205
tcarndm Total cloud amount (random overlap) † fraction t_avg, d_sl 9,216
tcamxrn Total cloud amount (max. random) † fraction t_avg, d_sl 9,217
lyrcldfreq Layer cloud frequency indicator † - t_avg, d_wet 9,226
rhcpt Critical relative humidity † % t_avg, d_wet 9,228
rhaftcld Relative humidity after main cloud † % t_avg, d_wet 9,229
combca_ls Combined cloud amount in each layer † fraction t_avg, d_wet 9,231

Table 37: LS Cloud diagnostics package.

40 c Crown Copyright 2015



UMDP: C09
The Single Column Model

sname STASH
lname Units Profiles
(PC2) equiv.
dt_swpc2 SW heating rate incl PC2 K/tstep t_acc, d_all 1,181
dt_lwpc2 LW heating rate incl PC2 K/tstep t_acc, d_all 2,181
sw2pc2 SW heating rate incl PC2 K/day t_mult, d_all, 1,181
ntspday
lw2pc2 LW heating rate incl PC2 K/day t_mult, d_all, 2,181
ntspday
dt_pc2ck Temperature increment pc2 checks ✛ K/tstep t_avg, d_all 4,141
dq_pc2ck Specific humidity increment PC2 checks ✛ (kg/kg)/tstep t_avg, d_wet 4,142
dqcl_pc2ck QCL increment PC2 checks ✛ (kg/kg)/tstep t_avg, d_wet 4,143
dqcf_pc2ck QCF increment PC2 checks ✛ (kg/kg)/tstep t_avg, d_wet 4,144
dbcf_pc2ck Bulk cloud fraction increment PC2 checks ✛ fraction/tstep t_avg, d_wet 4,152
dcfl_pc2ck Liquid cloud fraction increment PC2 checks ✛ fraction/tstep t_avg, d_wet 4,153
dcff_pc2ck Ice cloud fraction increment PC2 checks ✛ fraction/tstep t_avg, d_wet 4,154
dt_pc2turb Temperature increment PC2 turbulence ✛➃ K/tstep t_avg, d_all 4,161
dq_pc2turb Specific humidity increment PC2 turbulence ✛➃ (kg/kg)/tstep t_avg, d_wet 4,162
dqcl_pc2turb QCL increment PC2 turbulence ✛➃ (kg/kg)/tstep t_avg, d_wet 4,163
dbcf_pc2turb Bluk cloud fraction increment PC2 turbulence ✛➃ fraction/tstep t_avg, d_wet 4,172
dcfl_pc2turb Liquid cloud fraction increment PC2 turbulence ✛➃ fraction/tstep t_avg, d_wet 4,173
dt_pc2init Temperature increment PC2 init ✛ K/tstep t_inst, d_all 16,161
dq_pc2init Specific humidity increment PC2 init ✛ (kg/kg)/tstep t_inst, d_wet 16,162
dqcl_pc2init QCL increment PC2 init ✛ (kg/kg)/tstep t_inst, d_wet 16,163
dqcf_pc2init QCF increment PC2 init ✛ (kg/kg)/tstep t_inst, d_wet 16,164
dbcf_pc2init Bulk cloud frac increment PC2 init ✛ fraction/tstep t_inst, d_wet 16,172
dcfl_pc2init Liquid cloud frac increment PC2 init ✛ fraction/tstep t_inst, d_wet 16,173
dcff_pc2init Frozen cloud frac increment PC2 init ✛ fraction/tstep t_inst, d_wet 16,174
t_timen Temperature at start of timestep K t_inst, d_all
q_timen Vapour at start of timestep kg/kg t_inst, d_wet
qcl_timen Liquid at start of timestep kg/kg t_inst, d_wet
th_timen Potential temperature at start of timestep K t_inst, d_all
dt_earliest Q_star vapour incs from atmos_phys1 ✛ K/tstep t_inst, d_all
dq_earliest Q_star vapour incs from atmos_phys1 ✛ (kg/kg)/tstep t_inst, d_wet
dqcl_earliest QCL_inc liq water incs atmos_phys1 ✛ (kg/kg)/tstep t_inst, d_wet
th_n1_afterpc2 Theta at end of timestep after pc2 K t_inst, d_all
q_n1_afterpc2 Q at end of timestep after pc2 kg/kg t_inst, d_wet
qcl_n1_afterpc2 QCL at end of timestep after pc2 kg/kg t_inst, d_wet
dt_pc2forc PC2 T increment response to forcing ✛ K/tstep t_inst, d_all
dq_pc2forc PC2 q increment response to forcing ✛ (kg/kg)/tstep t_inst, d_wet
dqcl_pc2forc PC2 qcl increment response to forcing ✛ (kg/kg)/tstep t_inst, d_wet
dbcf_pc2forc PC2 bulk cf increment response to forcing ✛ fraction/tstep t_inst, d_wet
dcfl_pc2forc PC2 cfl increment response to forcing ✛ fraction/tstep t_inst, d_wet
dcff_pc2forc PC2 cff increment response to forcing ✛ fraction/tstep t_inst, d_wet
dt_pc2initchk Temperature increment PC2 init+chks ✛ K/tstep t_inst, d_all
dq_pc2initchk Specific humidity increment PC2 init+chks ✛ (kg/kg)/tstep t_inst, d_wet
dqcl_pc2initchk QCL increment PC2 init+chks ✛ (kg/kg)/tstep t_inst, d_wet
dqcf_pc2initchk QCF increment PC2 init+chks ✛ (kg/kg)/tstep t_inst, d_wet
dbcf_pc2initchk Bulk cloud fraction increment PC2 init+chks ✛ fraction/tstep t_inst, d_wet
dcfl_pc2initchk Liquid cloud fraction increment PC2 init+chks ✛ fraction/tstep t_inst, d_wet
dcff_pc2initchk Frozen cloud fraction increment PC2 init+chks ✛ fraction/tstep t_inst, d_wet

Table 38: PC2 diagnostics package.

41 c Crown Copyright 2015



UMDP: C09
The Single Column Model

sname STASH
lname Units Profiles
(LS Precip) equiv.
ls_rain3d Rainfall rate out of model levels kg/m2 /s t_mult, d_wet, 4,222
sec_day
ls_snow3d Snowfall rate out of model levels kg/m2 /s t_mult, d_wet, 4,223
sec_day
ls_water_scool Supercooled liquid water content kg/kg t_avg, d_sl 4,224
ls_rain_scool Supercooled rain out of model levels kg/m2 /s t_avg, d_wet 4,225
rainfrac3d Rain fraction out of model levels fraction t_avg, d_wet 4,227

Table 39: LS Precipitation diagnostics package.

sname STASH
lname Units Profiles
(Convection) equiv.
ccb_z Convective cloud base height (weighted average) m t_div, d_sl, cca
ccb_pa Convective cloud base pressure (weighted average) Pa t_div, d_sl, cca 5,207
cct_z Convective cloud top height (weighted average) m t_div, d_sl, cca
cct_pa Convective cloud top pressure (weighted average) Pa t_div, d_sl, cca 5,208
cct Convective cloud top level of highest convective layer Model level t_avg, d_sl
ccb Convective cloud base level of highest convective layer Model level t_avg, d_sl
lcbase Convective cloud base level of lowest convective layer Model level t_avg, d_sl
lctop Convective cloud top level of lowest convective layer Model level t_avg, d_sl
t_afterconv Temperature after convection K t_avg, d_all 5,209
up_massflux Updraught mass flux Pa/s t_avg, d_all 5,250
down_massflux Downdraught mass flux Pa/s t_avg, d_all 5,251
entrain_up Updraught entrainment rate /s t_avg, d_all 5,252
detrain_up Updraught detrainment rate /s t_avg, d_all 5,253
entrain_dwn Downdraught entrainment rate /s t_avg, d_all 5,254
detrain_dwn Downdraught detrainment rate /s t_avg, d_all 5,255
uw_dp X_comp of stress from deep convection kg/m/s2 t_avg, d_all 5,258
vw_dp Y_comp of stress from deep convection kg/m/s2 t_avg, d_all 5,259
uw_shall X_comp of stress from shallow convection kg/m/s2 t_avg, d_all 5,260
vw_shall Y_comp of stress from shallow convection kg/m/s2 t_avg, d_all 5,261
ind_shallow Indicator for shallow convection Indicator t_inst, d_point 5,270
ind_deep Indicator for deep convection Indicator t_inst, d_point 5,269
ind_cumulus Indicator for cumulus convection Indicator t_inst, d_point 5,270
ind_midconv Indicator for mid-level convection Indicator t_inst, d_point 5,272
ntml Top level of surface mixed layer Model level t_inst, d_point 5,273
ntpar Top level of initial parcel ascent Model level t_inst, d_point 5,274
freeze_lev Freezing level Model level t_inst, d_point 5,275
kterm_deep Deep convection termination level Model level t_inst, d_point 5,276
precip_deep Deep convective precipitation kg/m2 /s t_inst, d_sl 5,277
precip_shall Shallow convective precipitation kg/m2 /s t_inst, d_sl 5,278
precip_mid Mid level convective precipitation kg/m2 /s t_inst, d_sl 5,279
precip_cong Congestus convective precipitation kg/m2 /s t_inst, d_sl 5,280
cca Convective cloud amount Fraction t_avg, d_all 5,212
ccw Convective cloud water kg/kg t_avg, d_wet 5,213
lcca Convective cloud amount at base of lowest convective Fraction t_avg, d_sl
cloud layer (no anvil)
wstar Sub-cloud convective velocity scale m/s t_avg, d_sl

Table 40: Convection diagnostics package.

42 c Crown Copyright 2015



UMDP: C09
The Single Column Model

sname STASH
lname Units Profiles
(Convection) equiv.
ind_congest Indicator for congestus convection Indicator t_inst, d_point 5,310
wthvs wthetav flux at surface Km/s t_avg, d_sl
cclwp Convective cloud water path ‡ kg/m2 t_avg, d_sl 0,016
cca_2d 2D convective cloud amount Fraction t_avg, d_sl
deep_flag History of deep convection t_avg, d_sl
past_precip History of convective precip kg/m2 t_avg, d_sl
past_conv_ht History of convective depth m t_avg, d_sl
t_cdiag Temperature cond_diag K t_inst, d_wet
q_cdiag q cond_diag kg/kg t_inst, d_wet
buoy_undil Parcel buoyancy -undilute K t_inst, d_wet
t_parc_undil Undilute parcel temperature K t_inst, d_wet
ql_parc Parcel water kg/kg t_inst, d_wet
k_plume Model level for parcel start Model level t_inst, d_point
qw_plume Initial parcel water kg/kg t_inst, d_point
sl_plume Initial parcel energy J t_inst, d_point
delthvu CAPE from conv_diag J t_inst, d_point
z_lcl LCL height m t_inst, d_point
cin Undilute parcel CIN m2 /s2 t_inst, d_point
cape Undilute parcel CAPE m2 /s2 t_inst, d_point
conv_rain_3d Convective rainfall flux kg/m2 /s t_avg, d_wet 5,227
conv_snow_3d Convective snowfall flux kg/m2 /s t_avg, d_wet 5,228
up_halfmassflux Updraught mass flux on half levs ➅ Pa/s t_avg, d_all 5,249
buoy_dil Parcel buoyancy - dilute ➂ K t_inst, d_wet
t_parc_dil Dilute parcel temperature ➂ K t_inst, d_wet
ql_parc_dil Parcel water dilute plume ➂ kg/kg t_inst, d_wet
sl_parc Parcel energy ➂ K t_inst, d_wet
qw_parc Total parcel water ➂ kg/kg t_inst, d_wet
entrain_frac Entrainment fraction ➂ Fraction t_inst, d_wet
column_rh Column integrated RH ❖ t_inst, d_point
column_rh_bl Column integrated RH in BL ❖ t_inst, d_point
column_q Column integrated q ❖ t_inst, d_point
column_q_bl Column integrated q in BL ❖ t_inst, d_point
qsat_c qsaturation on convective points ❖ t_inst, d_wet
clf_limited_deep Indicator for CFL limited deep Indicator t_inst, d_point
clf_limited_mid Indicator for CFL limited mid Indicator t_inst, d_point
ent_coef entrainment coefficient t_inst, d_point
z_lcl_nlcl LCL height at nlcl m t_inst, d_point
dt_conv_dd dT/dt from conv DD K/s t_avg, d_all 5,198
dq_conv_dd dq/dt from conv DD (kg/kg)/s t_avg, d_all 5,199
dqsat_dt dqsat_dt ➆ K(m/s) t_inst, d_wet
wthetal wthetal ➆ K(m/s) t_inst, d_wet
wqt wqt ➆ kg/kg (m/s) t_inst, d_wet
wqr wqr on uv levels ➆ kg/kg (m/s) t_inst, d_wet
precip_prod precip production on theta levels ➆ /s t_inst, d_wet
zcld Depth of cloud layer ➆ m t_inst, d_point
wh wh on model levels ➆ K (m/s) t_inst, d_wet
wql wql flux in convective cloud ➆ t_inst, d_wet
mb_cb cloud base mass flux ➆ m/s t_inst, d_point
mb_new_cb revised cloud base mass flux ➆ m/s t_inst, d_point
wstar_up wstar_up ➆ m/s t_inst, d_point
wthetal_cb wthetal at cloud base ➆ K m/s t_inst, d_point

Table 40: Convection diagnostics package. Continued ...

43 c Crown Copyright 2015



UMDP: C09
The Single Column Model

sname STASH
lname Units Profiles
(Convection) equiv.
wqt_cb wqt at cloud base ➆ kg/kg (m/s) t_inst, d_point
wql_cb wql at cloud base ➆ kg/kg (m/s) t_inst, d_point
wqr_inv wqr at inversion ➆ kg/kg (m/s) t_inst, d_point
dthetav_cb dthetav across cloud base ➆ K t_inst, d_point
dtheta_cb dtheta across cloud base ➆ K t_inst, d_point
drv_cb drv across cloud base ➆ kg/kg t_inst, d_point
wthetavl_m_cb wthetavl on lower side of cloud base ➆ km/s t_inst, d_point
wqt_inv wqt at inversion ➆ kg/kg m/s t_inst, d_point
wthetal_inv wthetal at inversion ➆ kg/kg m/s t_inst, d_point
dwqldz dql/dz on model levels ➆ kg/kg s t_inst, d_wet
qlup qlup on model levels ➆ kg/kg t_inst, d_wet
wup wup on model levels ➆ m/s t_inst, d_wet
wthetavl wthetavl on model levels ➆ K m/s t_inst, d_wet
wthetav wthetav on model levels ➆ K m/s t_inst, d_wet
fw_func updraught velocity similarity function, fw ➆ t_inst, d_wet
g_func mass flux similarity function, g ➆ t_inst, d_wet
k_func flux eddy diffusivity, k ➆ t_inst, d_wet
f0_func f0_func ➆ t_inst, d_wet
f1_func f1_func ➆ t_inst, d_wet
ftheta_func ftheta_func ➆ t_inst, d_wet
k_hfunc k_hfunc ➆ t_inst, d_wet
fng_hfunc fng_hfunc ➆ t_inst, d_wet
b_hfunc b_hfunc ➆ t_inst, d_wet
fw_hfunc fw_hfunc ➆ t_inst, d_wet
g_hfunc g_hfunc ➆ t_inst, d_wet
fql_func fql_func ➆ t_inst, d_wet
gql_func gql_func ➆ t_inst, d_wet

Table 40: Convection diagnostics package. Continued ...

sname STASH
lname Units Profiles
(B.Layer) equiv.
bl_type_1 Boundary layer type: stable † indicator t_avg, d_sl 3,305
bl_type_2 Boundary layer type: Sc over stable † indicator t_avg, d_sl 3,306
bl_type_3 Boundary layer type: well mixed † indicator t_avg, d_sl 3,307
bl_type_4 Boundary layer type: decoup Sc not over Cu † indicator t_avg, d_sl 3,308
bl_type_5 Boundary layer type: decoup Sc over Cu † indicator t_avg, d_sl 3,309
bl_type_6 Boundary layer type: cumulus capped † indicator t_avg, d_sl 3,310
bl_type_7 Boundary layer type: shear driven † indicator t_avg, d_sl 3,340
bl_alltypes Boundary layer types † - t_inst, d_sl 3,476
bl_depth Boundary layer depth (zh) † m t_avg, d_sl 0,025
rib Richardson number (lowest layer) - t_avg, d_sl 3,208
ftl Turbulent sensible heat flux W/m2 t_avg, d_bl 3,216
taux Wind stress x N/m2 t_avg, d_bl 3,219
tauy Wind stress y N/m2 t_avg, d_bl 3,220
fqt_bl Sensible moisture flux † kg/m2 /s t_avg, d_bl 3,222
fqt Turbulent moisture flux kg/m2 /s t_avg, d_bl 3,222
thv_env Environment virtual temperature + gz/cp † K t_avg, d_wet n/a
thv_par Parcel virtual temperature + gz/cp † K t_avg, d_wet n/a
Ri_bl Richardson Number † - t_avg, d_bl 3,468

Table 41: Boundary layer diagnostics package.

44 c Crown Copyright 2015



UMDP: C09
The Single Column Model

sname STASH
lname Units Profiles
(B.Layer) equiv.
ustar Surface friction velocity † m/s t_avg, d_bl 3,465
sl Liquid/frozen water static energy (IN) † K t_avg, d_bl n/a
qw Total water content (IN) † kg/kg t_avg, d_bl n/a
taux_grad Gradient part of u stress † kg/m/s2 t_avg, d_bl n/a
taux_nongrad Non-gradient part of u stress † kg/m/s2 t_avg, d_bl n/a
tauy_grad Gradient part of v stress † kg/m/s2 t_avg, d_bl n/a
tauy_nongrad Non-gradient part of v stress † kg/m/s2 t_avg, d_bl n/a
grad_ftl Down gradient flux of TL † W/m2 t_avg, d_bl n/a
surf_ng_ftl Surface driven non-gradient flux of TL † W/m2 t_avg, d_bl n/a
grad_fqw Down gradient flux of QW † kg/m2 /s t_avg, d_bl n/a
surf_ng_fqw Surface driven non-gradient flux of QW † kg/m2 /s t_avg, d_bl n/a
f2_ftl FTL: f2 term † W/m2 t_avg, d_bl n/a
f2_fqw FQW: f2 term † kg/m2 /s t_avg, d_bl n/a
fSc_ftl FTL: fSc term † W/m2 t_avg, d_bl n/a
fSc_fqw FQW: fSc term † kg/m2 /s t_avg, d_bl n/a
momdif Diffusivity of momentum † m2 /s t_avg, d_bl 3,471
htdiff Diffusivity of heat † m2 /s t_avg, d_bl 3,472
km_local Diffusivity of momentum (local) † m2 /s t_avg, d_bl 3,503
kh_local Diffusivity of heat (local) † m2 /s t_avg, d_bl 3,504
km_surf Diffusivity of momentum (surface) † m2 /s t_avg, d_bl 3,505
kh_surf Diffusivity of heat (surface) † m2 /s t_avg, d_bl 3,506
km_top Diffusivity of momentum (top) † m2 /s t_avg, d_bl 3,507
kh_top Diffusivity of heat (top) † m2 /s t_avg, d_bl 3,508
dscbase Base of decoupled layer m t_avg, d_sl 3,360
sccldbase Stratocumulus cloud base m t_avg, d_sl 3,361
entr_sml SML-top entrainment rate m/s t_avg, d_sl 3,362
entr_bl BL-top entrainment rate m/s t_avg, d_sl 3,363
dsiems_sml SML-top d_ctei t_avg, d_sl
dsiems BL top d_ctei t_avg, d_sl
k_ctei_sml SML top ctei parameter t_avg, d_sl
k_ctei BL-top ctei parameter t_avg, d_sl
chi_s_sml SML top chi_s parameter t_avg, d_sl
chi_s BL-top chi_s parameter t_avg, d_sl
db_top SML inversion strength m2 /s3 t_avg, d_sl
db_bl BL-top inversion strength t_avg, d_sl
qcl_ic_top BL-top in-cloud water content t_avg, d_sl
zh Boundary layer depth after B.layer m t_avg, d_sl 3,025
ftl_surf Surface sensible heat flux from B.layer W/m2 t_avg, d_sl 3,217
fqt_surf Surface sensible moisture flux from B.layer kg/m2 /s t_avg, d_sl 3,223
zht Turbulent mixing height after B.layer † m t_avg, d_sl 3,304
wb_mix Buoyancy flux if a mixed layer m2 /s3 t_avg, d_bl
wb_end Final estimate of buoyancy flux m2 /s3 t_avg, d_bl
TKE BL diagnostic of turbulent kinetic energy m2 /s t_avg, d_bl 3,473
dt_fric T increment from turbulence dissipation K t_avg, d_bl 3,188
sl_ga Gradient-adjusted SL K t_avg, d_bl
zh_loc_dd ZH found from Ri under DynDiag m t_avg, d_sl
dbdz Buoyancy gradient in Ri t_avg, d_bl 3,469
dvdz Shear in Ri t_avg, d_bl 3,470
elm Mixing length for momentum m t_avg, d_bl 3,501
zhpar Height of top of parcel ascent m t_avg, d_sl 3,359
sml_disc_inv Indicator for subgrid SML inversion Indicator t_inst, d_point
dsc_disc_inv Indicator for subgrid DSC inversion Indicator t_inst, d_point

Table 41: Boundary layer diagnostics package. Continued ...

45 c Crown Copyright 2015



UMDP: C09
The Single Column Model

sname STASH
lname Units Profiles
(B.Layer) equiv.
wb_ng Non-gradinet buoyancy flux t_avg, d_bl 3,140
cf_nl non-local cloud fraction t_avg, d_bl
cape_scu CAPE t_avg, d_sl
zlcl_scu Z_LCL t_avg, d_sl
zhpar_scu ZHPAR t_avg, d_sl
sm non-dim diffusion coefficient for momentum m2 /s t_avg, d_bl 3,138
sh non-dim diffusion coefficient for heat m2 /s t_avg, d_bl 3,139
tke_shr_prod shear production of TKE m2 /s3 t_avg, d_bl 3,135
tke_boy_prod buoyancy production of TKE m2 /s3 t_avg, d_bl 3,136
tke_dissp dissipation of TKE m2 /s3 t_avg, d_bl 3,137
gamt_factor stability factor for gamt t_avg, d_bl
gamq_factor stability factor for gamt t_avg, d_bl
pdc_factor stability factor for pdc t_avg, d_bl
vt buoyancy parameter for heat t_avg, d_bl
vg buoyancy parameter for moisture t_avg, d_bl
grad_ri gradient Richardson number t_avg, d_bl 3,468
cf_trb cloud fraction by TKE scheme t_avg, d_bl 3,141
qi_trb condensed water by TKE scheme kg/kg t_avg, d_bl 3,142
sgm_trb PDF width by TKE scheme t_avg, d_bl 3,143
q1 normalized excessive moisture t_avg, d_bl
zh_loc ZH found from Ri m t_avg, d_sl 3,358
coupled Weakly coupled DSC Indicator t_avg, d_sl
svl_diff_frac Decoupling SVL fraction t_avg, d_sl
df_top radiative flux difference across BL top K m/s t_avg, d_sl
frad_lw Net LW radiative flux in BL K m/s t_avg, d_bl
h_pbl BL height by vertical profile of SL m t_avg, d_sl
dust_fluxXX BL flux of dust category XX m/s t_avg, d_bl
murk_flux BL flux of MURK m/s t_avg, d_bl
tracer_fluxXX BL flux of tracer XX m/s t_avg, d_bl
cg_fqw Counter gradient part of flux of QW kg/m2 /s t_avg, d_bl 3,133
cg_ftl Counter gradient part of flux of TL W/m2 t_avg, d_bl 3,132
cov_trb Correlation of thetal and qw (K kg/kg)2 t_avg, d_bl 0,073
qsq_trb Self covariance of qw (K kg/kg)2 t_avg, d_bl 0,072
tsq_trb Self covariance of thetal K2 t_avg, d_bl 0,071
e_trb Turbulent Kinetic Energy J/kg t_avg, d_bl 0,070
fb_surf buoyancy flux at the surface m2 /s3 t_avg, d_bl 3,467
dbdz Vertical gradient of buoyancy 1/(ms2 )m2 /s t_avg, d_bl
dqwdz Vertical gradient of QW 1/m t_avg, d_bl
dtldz Vertical gradient of TL K/m t_avg, d_bl
dzh_bl Inversion thickness after BL m t_avg, d_sl 3,364

Table 41: Boundary layer diagnostics package. Continued ...

46 c Crown Copyright 2015



UMDP: C09
The Single Column Model

sname STASH
lname Units Profiles
(Radiation) equiv.
dt_sw SW heating rate K/tstep t_acc, d_all 1,161
dt_lw LW heating rate minus PC2 K/tstep t_acc, d_all 2,161
sw2 SW heating rate K/day t_mult, d_all, 1,161
ntspday
lw2 LW heating rate minus PC2 K/day t_mult, d_all, 2,161
ntspday
surfsw Net surface SW flux W/m2 t_avg+̃, d_sl 1,201
surf_sw_b1 Net SW surface flux in band 1 W/m2 t_avg+̃, d_sl 1,204
is_toa Incoming solar radn (TOA) W/m2 t_avg+̃, d_sl 1,207
os_toa Outgoing solar radn (TOA) W/m2 t_avg+̃, d_sl 1,208
cs_os Clear-sky outgoing SW W/m2 t_avg+̃, d_sl 1,209
cs_surf_dnsw Clear-sky down SW flux W/m2 t_avg+̃, d_sl 1,210
cs_surf_upsw Clear-sky up SW flux W/m2 t_avg+̃, d_sl 1,211
re_strat Layer cld liq effective radius × layer cld weight - t_avg+̃, d_cloud 1,221
wgt_strat Layer cloud weight for microphysics - t_avg+̃, d_cloud 1,223
lwp_strat Layer cld liquid water path * weight kg/m2 t_avg+̃, d_cloud 1,224
re_conv Conv cloud liq re * conv cld weight - t_avg+̃, d_cloud 1,225
wgt_conv Conv cloud weight for microphysics - t_avg+̃, d_cloud 1,226
sw1rate SW heating rate all timestep K/tstep2 t_avg, d_all 1,232
dt_cssw Clear-sky SW heating rates K/s t_avg+̃, d_sl 1,233
surfsw_dn Total down SW flux W/m2 t_avg+̃, d_sl 1,235
surf_lw Net surface LW flux W/m2 t_avg+̃, d_sl 2,201
tca_lw Total cloud amount in LW rad fraction t_avg+̃, d_sl 2,204
olr_toa Outgoing LW W/m2 t_avg+̃, d_sl 2,205
cs_olr Clear-sky outgoing LW W/m2 t_avg+̃, d_sl 2,206
surf_dnlw Downward LW surface flux W/m2 t_avg+̃, d_sl 2,207
cs_surf_dnlw Clear-sky down LW flux W/m2 t_avg+̃, d_sl 2,208
dt_cslw Clear-sky LW heating rates K/s t_avg+̃, d_sl 2,233
surfsw_cor Corrected net surface SW flux W/m2 t_avg, d_sl 1,202
toasw_cor Corrected outgoing SW flux (TOA) W/m2 t_avg, d_sl 1,205
surfdir_cor Corrected direct surface SW flux W/m2 t_avg, d_sl 1,215
surfdif_cor Corrected diffuse surface SW flux W/m2 t_avg, d_sl 1,216
ls_qcl_rad Stratiform cloud liquid water kg/kg t_avg+̃, d_all 2,308
ls_qcf_rad Stratiform cloud ice water kg/kg t_avg+̃, d_all 2,309
cc_qcl_rad Convective cloud liquid water kg/kg t_avg+̃, d_all 2,310
cc_qcf_rad Convective cloud ice water kg/kg t_avg+̃, d_all 2,311
ls_cl_rad Stratiform liquid cloud fraction fraction t_avg+̃, d_all 2,312
ls_cf_rad Stratiform ice cloud fraction fraction t_avg+̃, d_all 2,313
ccal_rad Convective liquid cloud fraction fraction t_avg+̃, d_all 2,314
ccaf_rad Convective ice cloud fraction fraction t_avg+̃, d_all 2,315
dq_sw Specific humidity increment swrad ✛ (kg/kg)/tstep t_avg+̃, d_wet 1,182
dqcl_sw QCL increment swrad ✛ (kg/kg)/tstep t_avg+̃, d_wet 1,183
dbcf_sw Bulk cloud fraction increment swrad ✛ fraction/tstep t_avg+̃, d_wet 1,192
dcfl_sw Liquid cloud fraction increment swrad ✛ fraction/tstep t_avg+̃, d_wet 1,193
dq_lw Specific humidity increment lwrad ✛ (kg/kg)/tstep t_avg+̃, d_wet 2,182
dqcl_lw QCL increment lwrad ✛ (kg/kg)/tstep t_avg+̃, d_wet 2,183
dbcf_lw Bulk cloud fraction increment lwrad ✛ fraction/tstep t_avg+̃, d_wet 2,192
dcfl_lw Liquid cloud fraction increment lwrad ✛ fraction/tstep t_avg+̃, d_wet 2,193
Table 42: Radiation diagnostics package. +̃ indicates the only_radsteps keyword.

47 c Crown Copyright 2015



UMDP: C09
The Single Column Model

sname STASH
lname Units Profiles
(Grav. Wave Drag) equiv.
qw_stress_u Mtn Drag: full u stress N/m2 t_inst, d_all 6,201
qw_stress_v Mtn Drag: full v stress N/m2 t_inst, d_all 6,202
qw_satn_stress_u Mtn Drag: gw u stress N/m2 t_inst, d_all 6,223
qw_satn_stress_v Mtn Drag: gw v stress N/m2 t_inst, d_all 6,224
qw_wake_- Mtn Drag: wake u stress N/m2 t_inst, d_all 6,227
stress_u
qw_wake_- Mtn Drag: wake v stress N/m2 t_inst, d_all 6,228
stress_v
qw_satn_acc_u Mtn Drag: gw u acc m/s2 t_inst, d_all 6,207
qw_satn_acc_v Mtn Drag: gw v acc m/s2 t_inst, d_all 6,208
qw_wake_acc_u Mtn Drag: wake u acc m/s2 t_inst, d_all 6,231
qw_wake_acc_v Mtn Drag: wake v acc m/s2 t_inst, d_all 6,232
qw_u_in Mtn Drag: low-level u m/s t_inst, d_sl 6,214
qw_v_in Mtn Drag: low-level v m/s t_inst, d_sl 6,215
qw_nsq_in Mtn Drag: low-level nsq /m2 t_inst, d_sl 6,216
qw_fr Mtn Drag: low-level froude num t_inst, d_sl 6,217
qw_bl_depth Mtn Drag: blocked layer depth m t_inst, d_sl 6,218

Table 42: Gravity Wave Drag diagnostics package.

sname STASH
lname Packages Units Profiles
(Multiples) equiv.
dqcl_cinh QCL inc: conv inhom ✛ Incs, Conv (kg/kg)/tstep t_avg, d_wet 5,163
dqcf_cinh QCF inc: conv inhom ✛ Incs, Conv (kg/kg)/tstep t_avg, d_wet 5,164
dbcf_cinh Bulk cloud frac inc: conv inhom ✛ Incs, Conv fraction/tstep t_avg, d_wet 5,172
dcfl_cinh Liq cloud frac inc: conv inhom ✛ Incs, Conv fraction/tstep t_avg, d_wet 5,173
dcff_cinh Froz cloud frac inc: conv inhom ✛ Incs, Conv fraction/tstep t_avg, d_wet 5,174
dt_conv T_incr_diagnostic ✛ Incs, Conv K/tstep t_avg, d_all 5,181
dth_conv Convective increment - theta ✛ Incs, Conv K/tstep t_mult, d_all, n/a
sec_day
dq_conv Q increment convection ✛ Incs, Conv (kg/kg)/tstep t_avg, d_wet 5,182
du_conv U increment convection ✛ Incs, Conv (m/s)/tstep t_avg, d_all 5,185
dv_conv V increment convection ✛ Incs, Conv (m/s)/tstep t_avg, d_all 5,186
dqcl_conv QCL increment convection ✛ Incs, Conv (kg/kg)/tstep t_avg, d_wet 5,183
dqcf_conv QCF increment convection ✛ Incs, Conv (kg/kg)/tstep t_avg, d_wet 5,184
dbcf_conv Bulk cloud frac increment convection ✛ Incs, Conv fraction/tstep t_avg, d_wet 5,192
dcfl_conv Liquid cloud frac increment convection ✛ Incs, Conv fraction/tstep t_avg, d_wet 5,193
dcff_conv Frozen cloud frac increment convection ✛ Incs, Conv fraction/tstep t_avg, d_wet 5,194
dt_lsr Temperature increment, large-scale rain ✛ Incs, LSP K/tstep t_avg, d_all 4,181
dq_lsr Specific humidity increment, large-scale rain ✛ Incs, LSP (kg/kg)/tstep t_avg, d_all 4,182
dqcl_lsr QCL increment, large-scale rain ✛ Incs, LSP (kg/kg)/tstep t_avg, d_all 4,183
dqcf_lsr QCF increment, large-scale rain ✛ Incs, LSP (kg/kg)/tstep t_avg, d_all 4,184
dbcf_lsr Bulk cloud frac increment, large-scale rain ✛ Incs, LSP fraction/tstep t_avg, d_all 4,192
dcfl_lsr Liq cloud frac increment, large-scale rain ✛ Incs, LSP fraction/tstep t_avg, d_all 4,193
dcff_lsr Froz cloud frac increment, large-scale rain ✛ Incs, LSP fraction/tstep t_avg, d_all 4,194
dt_pc2blls Temperature inc PC2+bdy layer+ls cld †✛❀ Incs, BL K/tstep t_avg, d_all 3/9,181
Table 43: Diagnostics accessed from multiple packages.

48 c Crown Copyright 2015



UMDP: C09
The Single Column Model

sname STASH
lname Packages Units Profiles
(Multiples) equiv.
dq_pc2blls Specific humidity inc PC2+bdy layer+ls cld †✛❀ Incs, BL (kg/kg)/tstep t_avg, d_wet 3/9,182
dqcl_pc2blls QCL increment PC2+bdy layer+ls cld †✛❀ Incs, BL (kg/kg)/tstep t_avg, d_wet 3/9,183
dqcf_pc2blls QCF increment PC2+bdy layer+ls cld †✛❀ Incs, BL (kg/kg)/tstep t_avg, d_wet 3/9,184
du_bl U wind increment bdy layer †✛ Incs, BL (m/s)/tstep t_avg, d_all 3,185
dv_bl V wind increment bdy layer †✛ Incs, BL (m/s)/tstep t_avg, d_all 3,186
dlwt_bl Liquid water temp increment bdy layer †✛ Incs, BL K/tstep t_avg, d_all 3,189
tqinc_bl Total (liquid) water increment bdy layer †✛ Incs, BL kg/kg t_avg, d_all 3,190
dbcf_bl Bulk cloud fraction increment bdy layer †✛ Incs, BL fraction/tstep t_avg, d_wet 3,192
dcfl_bl Liquid cloud fraction increment bdy layer †✛ Incs, BL fraction/tstep t_avg, d_wet 3,193
dcff_bl Frozen cloud fraction increment bdy layer †✛ Incs, BL fraction/tstep t_avg, d_wet 3,194
dt_vertadv Temperature increment from vertical advec- ➀✛ Incs, Forc K/tstep t_avg, d_all n/a
tion
dq_vertadv Humidity increment from vertical advection ➀✛ Incs, Forc (kg/kg)/tstep t_avg, d_wet n/a
dqcl_vertadv QCL increment from vertical advection ➀✛ Incs, Forc (kg/kg)/tstep t_avg, d_wet n/a
dqcf_vertadv QCF increment from vertical advection ➀✛ Incs, Forc (kg/kg)/tstep t_avg, d_wet n/a
dt_obsforc Temperature increment from observational ➁✛ Incs, Forc K/tstep t_avg, d_all n/a
forcing
du_obsforc U increment from observational forcing ➁✛ Incs, Forc (m/s)/tstep t_avg, d_all n/a
dv_obsforc V increment from observational forcing ➁✛ Incs, Forc (m/s)/tstep t_avg, d_all n/a
dw_obsforc W increment from observational forcing Incs, Forc kg/kg t_avg, d_all n/a
dq_obsforc Humidity increment from observational forc- ➁✛ Incs, Forc (kg/kg)/tstep t_avg, d_wet n/a
ing
dt_totforc Total Temperature increment from s_forcng ♦✛ Incs, Forc K/tstep t_avg, d_all n/a
du_totforc Total u increment from s_forcng ♦✛ Incs, Forc (m/s)/tstep t_avg, d_all n/a
dv_totforc Total v increment from s_forcng ♦✛ Incs, Forc (m/s)/tstep t_avg, d_all n/a
dq_totforc Total Humidity increment from s_forcng ♦✛ Incs, Forc (kg/kg)/tstep t_avg, d_wet n/a
dqcl_totforc Total QCL increment from s_forcng ♦✛ Incs, Forc (kg/kg)/tstep t_avg, d_wet n/a
dqcf_totforc Total QCF increment from s_forcng ♦✛ Incs, Forc (kg/kg)/tstep t_avg, d_wet n/a
sens_ht Surface sensible heat flux Gen, Surf W/m2 t_avg, d_sl 3,217
qcf Cloud ice content Gen, LSC kg/kg t_avg, d_wet 0,012
qcl Cloud water content Gen, LSC kg/kg t_avg, d_wet 0,254
acf Area cloud fraction Gen, LSC fraction t_avg, d_wet 0,265
bcf Bulk cloud fraction Gen, LSC fraction t_avg, d_wet 0,266
layer_cloud Layer cloud amount Gen, LSC fraction t_avg, d_wet n/a
cfl Liquid cloud fraction Gen, LSC fraction t_avg, d_wet 0,267
cff Frozen cloud fraction Gen, LSC fraction t_avg, d_wet 0,268
ls_rain_inst Large-scale rainfall rate Gen, LSP kg/m2 /s t_inst, d_sl 4,203
ls_rain Large-scale rainfall rate Gen, LSP kg/m2 /day t_mult,d_sl, 4,203
sec_day
ls_snow_inst Large-scale snowfall rate Gen, LSP kg/m2 /s t_inst, d_sl 4,204
ls_snow Large-scale snowfall rate Gen, LSP kg/m2 /day t_mult,d_sl, 4,204
sec_day

Table 43: Diagnostics accessed from multiple packages. Continued ...

49 c Crown Copyright 2015



UMDP: C09
The Single Column Model

sname STASH
lname Packages Units Profiles
(Multiples) equiv.
conv_rain_inst Convective rainfall Gen, Conv kg/m2 /s t_inst, d_sl 5,205
conv_rain Convective rainfall Gen, Conv kg/m2 /day t_mult, d_sl 5,205
sec_day
conv_snow_inst Convective snowfall Gen, Conv kg/m2 /s t_inst, d_sl 5,206
conv_snow Convective snowfall Gen, Conv kg/m2 /day t_mult, d_sl 5,206
sec_day
cclwp2rad CCLWP passed to radiation Gen, Conv kg/m2 t_avg, d_sl 0,016
cca2rad CCA passed to radiation Gen, Conv fraction t_avg, d_all 0,211
ccw2rad CCW passed to radiation ➄ Gen, Conv kg/kg t_avg, d_wet
w_adv Advective vertical velocity Gen, Conv m/s t_avg, d_all 0,258
tstar Surface temperature Gen, Surf K t_avg, d_sl 0,024
pstar Surface pressure Gen, Surf Pa t_avg, d_sl 0,409
tot_rain_inst Total rainfall rate Gen, Conv kg/m2 /s t_inst, d_sl 5,214
LSP
tot_rain Total rainfall rate Gen, Conv kg/m2 /day t_mult, d_sl 5,214
LSP sec_day
tot_snow_inst Total snowfall rate Gen, Conv kg/m2 /s t_inst, d_sl 5,215
LSP
tot_snow Total snowfall rate Gen, Conv kg/m2 /day t_mult, d_sl 5,215
LSP sec_day
tot_precip_inst Total precipitation rate Gen, Conv kg/m2 /s t_inst, d_sl 5,216
LSP
tot_precip Total precipitation rate Gen, Conv kg/m2 /day t_mult, d_sl 5,216
LSP sec_day
tot_precip_avg Precipitation rate Gen, Conv kg/m2 /s t_avg, d_sl 5,216
LSP
tot_precip_acc Accumulated Precipitation Gen, Conv kg/m2 /s t_avg, d_sl n/a
LSP
lwrate_day LW heating rate Gen, Rad K/day t_mult, d_allxtra 2,232
ntspday
lwrate_step LW heating rate Gen, Rad K/tstep t_avg, d_allxtra 2,232
ntspday
lwrate_acc Accumulated LW heating rate across Gen, Rad K/tstep t_acc, d_allxtra 2,232
Dumping period ×dumps
down_surf_sw_b1 Downward SW radn in band 1 Rad, Surf W/m2 t_avg, d_sl n/a
lwp Liquid water path † LSC, BL kg/m2 t_avg, d_sl n/a
iwp Ice water path † LSC, BL kg/m2 t_avg, d_sl n/a
lca1p5m 1.5m layer cloud amount † LSC, Surf fraction t_avg, d_sl n/a
qcl1p5m 1.5m cloud water † LSC, Surf kg/kg t_avg, d_sl n/a
dq_qpos_for Specific humidity adjustment to LS forcing ✛ Incs, Forc (kg/kg)/tstep t_avg, d_wet n/a
to maintain qlimit
dq_qpos Q inc to prevent q < qlimit ✛ Incs, Forc (kg/kg)/tstep t_avg, d_wet n/a
dqcl_qpos Qcl inc to prevent -ve qcl ✛ Incs, Forc (kg/kg)/tstep t_avg, d_wet n/a
dqcf_qpos Qcf inc to prevent -ve qcf ✛ Incs, Forc (kg/kg)/tstep t_avg, d_wet n/a
w2p w2 Simpson&Wiggert Incs, Conv (m/s)2 t_avg, d_all 5,196
wp w Simpson&Wiggert Incs, Conv m/s t_avg, d_all 5,197
ls_u_inc Large-scale u-wind forcing tendency Incs, Forc (m/s)/day t_inst, d_all n/a
ls_v_inc Large-scale v-wind forcing tendency Incs, Forc (m/s)/day t_inst, d_all n/a
ls_w_inc Large-scale w-wind forcing tendency Incs, Forc (m/s)/day t_inst, d_all n/a
bg_t Background temperature Incs, Forc K t_inst, d_all n/a
bg_q Background specific humidity Incs, Forc kg/kg t_inst, d_all n/a
bg_u Background u-wind Incs, Forc m/s t_inst, d_all n/a
bg_v Background v-wind Incs, Forc m/s t_inst, d_all n/a
bg_w Background w-wind Incs, Forc m/s t_inst, d_all n/a

Table 43: Diagnostics accessed from multiple packages. Continued ...

50 c Crown Copyright 2015



UMDP: C09
The Single Column Model

Notes on diagnostic listings


† Diagnostic occurs within ATMOS _ PHYSICS 2 substepping.

‡ Diagnostic is not updated by convection when conv_mode=1


♦ Diagnostic includes specfied forcing and any additional effects, i.e. vertical advection,
wind relaxation.
✛ The output from this diagnostic may indicate the units without the “per timestep” part.
❀ The PC2 component of this increment is only applicable when PC2 is on, when PC2 is
off, the increment is only due to the boundary layer and large-scale cloud.
❖ Diagnostic deprecated
➀ Diagnostic available with interactive vertical advection (l_vertadv=true).
➁ Diagnostic available with observational forcing (obs=true)
➂ Diagnostic available with dilute parcel options (obs=true)
➃ Diagnostic available when PC2 uses diagnostic shallow convective cloud
➄ Diagnostic available with CCRad
➅ Diagnostic available with CMT
➆ Diagnostic available with convection turbulence scheme [unsupported]

51 c Crown Copyright 2015



UMDP: C09
The Single Column Model

References
Bechtold, P. , Redelsperger, J.-L. , Beau, I. , Blackburn, M. , Brinkop, J.-Y. , S.and Grandpeix, Grant, A. ,
Gregory, D. , Guichard, F. , Hoff, C. , and Ioannidou, E. , 2000. A GCSS model intercomparison for a
tropical squall line observed during TOGA-COARE. II: Intercomparison of single-column models and a cloud-
resolving model. Q.J.R Meteorol. Soc., 126:865–888.
(Referenced on page 2.)

Buckley, E. and Warrilow, D.A. , 1988. Derivation of land surface parameter datasets for use in Met. O. 20
GCM. Met O 20 Internal Note 81, UK Met Office.
(Referenced on page 12.)

Essery, R. , Best, M. , and Cox, P. , 2001. MOSES 2.2 technical documentation. Hadley Centre Technical
Note, HCTN 30, Met Office, Exeter, UK.
(Referenced on page 12.)

Oort, A.H. , 1983. Global atmospheric circulation statistics, 1958-1973. NOAA Professional Paper 14, National
Oceanic and Atmospheric Administration, Washington.
(Referenced on page 4.)

Randall, D.A. and Cripe, D.G. , 1999. Alternative methods for specification of observed forcing in single-column
models and cloud system models. Journal of Geophysical Research, 104(D20):24,527–24,545.
(Referenced on page 1.)

Redelsperger, J.-L. , Brown, P.R.A. , Guichard, F. , Hoff, C. , Kawasima, M. , Lang, S. , Montmerle, T. ,


Nakamura, K. , Saito, K. , Seman, C. , Tao, W.K. , and Donner, L.J. , 2000. A GCSS model intercomparison
for a tropical squall line observed during TOGA-COARE. I: Cloud-resolving models. Q.J.R Meteorol. Soc.,
126:823–863.
(Referenced on page 2.)

Warrilow, D.A. , Sangster, A.B. , and Slingo, A. , 1986. Modelling of land surface processes and their influence
on European Climate. Dynamical Climatology Technical Note 38, UK Met Office.
(Referenced on page 2.)

52 c Crown Copyright 2015

You might also like