Professional Documents
Culture Documents
Running The Unified Model in Idealised Mode
Running The Unified Model in Idealised Mode
Running The Unified Model in Idealised Mode
UM Version : 10.1
Last Updated : 2014-12-05 (for vn10.0)
Owner : Carol Halliwell
Contributors:
T. Davies, R. Forbes, B. Beare and C. Halliwell
Met Office
FitzRoy Road
Exeter
Devon EX1 3PB
United Kingdom
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: 033
Running the Unified Model in Idealised Mode
Contents
1 Introduction to the Idealised Problems 3
7 Idealised Namelist 20
7.1 General options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
7.2 Defining the vertical grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
7.3 Defining the orography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
7.4 Defining the surface characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
7.5 Defining the vertical profiles of temperature, moisture and wind . . . . . . . . . . . . . . . . . . . 23
7.6 Perturbing the initial fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
7.7 Defining the forcing for temperature, moisture and wind . . . . . . . . . . . . . . . . . . . . . . . 26
7.8 Other forcing options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
7.9 Miscellaneous options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Idealised configurations or problems have proved useful in the development of NWP and climate models. Such
environments help to focus on particular aspects of the model in controlled situations. A range of issues may
be addressed in such a framework.
• Testing and comparing alternative formulations.
• Finding coding errors, quality control.
• Numerical convergence in time and space.
• Accuracy.
• Efficiency.
• Grids and domains.
• Boundary conditions; upper, lower and lateral.
• Orographic effects.
• Parameter sensitivity.
• Understanding processes.
• Training in NWP and use of UM.
• Energy transfers and balance.
• Wave propagation
The Unified Model has several different idealised test environments. Here we describe some aspects of the full
3D idealised test environments for both global and limited area configurations of the Unified Model. The test
environment is really only a problem definition i.e. we prescribe initial data and other fields such as orography
at the start of a run and then run the model. There are options in the UM to switch off the physics or to
replace the full physics with simpler forcing. Using, for example, simple physics with no orography or surface
contrasts (smooth ball) gives the dynamical core tests where the (dry) model is run for several hundred days to
an equilibrium climate state. In this case, the initial conditions are irrelevant and the model can be spun up from
any sensible state. Alternatively, we can prescribe specific starting conditions and a simple orography to see
how the model flow develops in various situations which we discuss here.
The basic idea is to allow the user to define basic starting conditions for running the model. We have chosen to
start from any suitable input data (i.e. a UM dump) and then overwrite the chosen fields at the start. The user
chooses the type of surface, the vertical grid properties and the initial profile of data. Note that the user can
also choose to use part or all of the input dump data and in particular a LAM can be run from initial data and
boundaries supplied by an idealised global run. There are a large number of possible combinations of options
that could be run and not all possible configurations have been tested so please inform us of any errors found.
It is assumed that the user has a basic knowledge of how to set up and run the UM (See the UM Basic User
Guide, UMDP-000 ). To run the UM in idealised mode you will need:
• a UMUI job
• an idealised namelist
• a UM start dump
You may also need:
• vertical levels namelist
• radiation spectral files
• lateral boundary file
A large number of different options are available to set up the idealised model. Most of these options can be set
through the idealised namelist described in detail in section 7.
Set the model grid up in the UMUI as for a normal UM run. The model will require a UM dump with the
appropriate dimensions but will overwrite the data with the defined idealised state (unless you specify to keep
the dump values). Normally, a global dump is reconfigured to the required model grid specified in the UMUI.
You can of course then save your reconfigured file and begin your runs with it, to save having to reconfigure
every time.
To set up a model with more than 100 levels you will need to make appropriate changes in the code to increase
the maximum allowed number of vertical levels. Similarly, the maximum number of boundary layer levels allowed
is currently 30 and changes to the code are required if you want to run with more than this. (see Appendix A.1)
To set up a model domain with number of points on a row greater than 840 or number of rows greater than 570,
you will need a modset to increase the maximum allowed (see Appendix A.1).
If all the physics parametrizations are turned off, then the surface characteristics are irrelevant (i.e. sea/land).
However, if the boundary layer, surface exchange parametrization is turned on, then the surface does matter.
To run an idealised problem over a homogeneous surface, it is easiest to define the whole domain as sea. This
can be done by reconfiguring a new land/sea mask into the dump, or in the case of a limited area model, by
choosing a domain area that is wholly over the sea (e.g. Pacific Ocean), or using a aquaplanet model dump. If
there is land in the domain, then it will take the characteristics that are defined in the input dump. At present,
there is no functionality to define the land characteristics in the idealised namelist.
The surface can be made ”free slip” by setting L Free Slip to true in UMUI panel:
Atmosphere -> Scientific parameters and Sections
-> Model testing and running backwards
A number of different idealised orography options are available (mountain/ridge/plateau) or the orography in the
start dump can be used. There is also an option to grow the orography in time in order to let the model fields
adjust. Note that you can have orography over the sea (the model surface exchange parametrization just treats
sea points as having a certain set of characteristics.
From UM6.6 it is also possible to specify fixed roughness lengths for momentum, heat and moisture. See
Section 7.4
3.2.1 Introduction
The UM has a number of prognostic 3D variables including potential temperature, exner pressure, density, u, v
and w wind components and specific humidity. In the idealised setup there are a number of fields that can be
specified and the rest are derived or set to zero. There are a number of different options available to set vertical
profiles of
• potential temperature
• specific humidity
• horizontal wind components
The exner pressure is derived hydrostatically given a surface pressure and the density is calculated. Other
prognostic variables including the vertical wind component, cloud liquid water, ice/snow etc. are initially set to
zero.
Different profiles can be set by either choosing certain preset options, including the profile in the idealised
namelist (e.g. from observed data), or using the data from the start dump. For example, temperature profiles
include constant lapse rate, constant temperature or constant Brunt-Vaisala frequency. Water vapour options
include constant relative humidity. See the namelist parameter description in section 7 for more information.
There are also additional options to set up specific initial states with variations in the horizontal (e.g. deformation
front).
There are a number of different preset options to define the potential temperature field as well as options to
use a profile from the idealised namelist or to use the actual temperature field in the start dump. These options
include initiating with a constant potential temperature or constant Brunt Vaisala frequency. The complete list
can be seen in Section 7.5.1.
For a flat domain at sea level, the profile is the same everywhere. When orography is present, different options
are available to vary the initial field over hills and valleys. When the orography is equal to or above a specified
height (defined by hs in the namelist), the profile is interpolated in height. When the orography is below this
height, the profile is stretched.
There are options to set the specific humidity to zero (i.e. a dry model), to a constant relative humidity or to
a profile specified in the idealised namelist. The namelist data can either be specified as specific humidities
(qprofile option=9) or as relative humidities (qprofile option=8). In order to set the specific humidity field to
give either a constant relative humidity, or the relative humidities specified in the namelist profile, the saturated
specific humidity is required. This calculation needs both temperature and pressure (which has not yet been set)
so an initial hydrostatic pressure profile is calculated using the dry potential temperature for this purpose. Once
the appropriate specific humidity has been set, the pressure field is recalculated (see Section 3.2.5) using the
moist potential temperature. In theory this procedure should be iterated until convergence, but in practice the
procedure gives relative humidities within X% of the required value (due to the weak dependence of saturated
specific humidity on pressure).
There are several different options to define the initial horizontal wind fields in the horizontal and vertical.
The following vertical profiles of horizontal winds can be chosen
• Constant u and v wind in the vertical
• A change in u and v with height over three regions
– The user specifies the values of the horizontal wind at specific heights and these are interpolated
linearly onto the vertical levels to produce the wind profile.
• Horizontal winds as specified in the namelist
– There is a further option to use an alternative interpolation onto levels if orography is present.
• Use the horizontal winds from the start dump
The initial horizontal velocity can also vary in the horizontal. The options are
• Ramp u and v down towards the poles between specified latitudes.
– For use in global domain only (although code looks like it would work for any domain.)
• Deformation wind field
(a) Analytical form The initial pressure field is set up to be in hydrostatic balance with the temperature/moisture
fields The hydrostatic approximation can be written as:
∂p
+ ρg = 0 (1)
∂z
in z co-ordinates. This equation can be transformed to
∂Π g ∂z
+ =0 (2)
∂η Cp θv ∂η
in the η coordinate system, η(zs ) = 0, η(zT ) = 1, and Π is the Exner function (normalised pressure), defined as,
κ
p
Π= (3)
p0
while κ = CRp , R is the gas constant for unit mass of dry air, p0 = 1000mb is a reference pressure, and θv is the
moist potential temperature.
The density field is calculated from the temperature, moisture and pressure fields using the perfect gas law:
p p
ρ= = (4)
RT Rθv Π
The initial temperature and moisture fields can be perturbed by adding a random number field to the initial
fields. The magnitude of the perturbations and range of levels over which they are applied can be specified in
the idealised namelist. Different random number fields can be chosen for the temperature and moisture fields
by setting L perturb correlate tq to .false. See Section 7.6 for the namelist parameters.
It is possible to add ”bubbles” into the initial set up by adding a 3D temperature anomaly to the potential tem-
perature field (warm or cold). There are a number of options for different shaped bubbles and there is also the
option to saturate the bubble.
The method is to set up x,y,z functions containing the distance from the centre of the bubble, then apply a
function to generate the bubble amplitude at all points. This is then added to the model field. Currently, a
maximum of 3 bubbles can be added. (see Section 7.6 for namelist parameters)
The idealised model can be run in dry dynamical mode (i.e. no moisture, no physical parametrizations) by
setting the appropriate options in UMUI panel:
Atmosphere -> Scientific parameters and Sections
-> Model testing and running backwards
If the moisture/physics options are on, then most of the individual physics parametrization schemes can be
turned off individually:
• Convection
Can be turned off in the UMUI convection scheme panel (choose ”Convection turned off”).
• Gravity wave drag
Can be turned off in the UMUI gravity wave drag panel (choose ”Gravity wave drag not included”) [CHECK
THAT THIS IS ALLOWED AT UM6.6]
• Radiation
Can be turned off in the UMUI radiation scheme panel. (choose ”Run without radiation”)
• Cloud water condensation/evaporation
Can be turned off in the UMUI large scale cloud scheme panel.
• Microphysics
Can be turned off in the UMUI large scale precipitation scheme panel.
• Boundary layer
Can be turned off in the UMUI boundary layer scheme panel.
If you make any changes to the physics options, you may need to reconfigure the start dump and may need
some handedits depending on what ancillary fields are already in the dump and what is required. For untested
options, you may also need to make sure the various physics variables/parameters are set to sensible values.
• Modifying the roughness lengths for heat, moisture and momentum over sea
Specify constant roughness lengths for heat and moisture and momentum by setting L spec z0 to .true.
and specifying values (see Section 7.4)
• Turning off diabatic heating/cooling
Often, an idealised set up pushes some of the hardwired limits of the UM and this section identifies some of the
commonly reached limits and how to remove them.
• Maximum number of vertical levels
Hardwired to 100. Code changes are required to increase this limit (see Appendix A.1).
• Maximum number of horizontal grid points
Hardwired. A modset is required to increase these limits (See Appendix A.1)
• STASH diagnostics
The full range of UM diagnostics is available (dependent on which parametrization options are chosen etc.) and
can be set up in the same way as for a normal UM run in the UMUI STASH windows.
However, the initial data set up via the idealised namelist cannot currently be output. This is because the model
fields from the start dump are only overwritten at the start of the first timestep. Thus, if you ask for a DUMP or
STASH PP-output at T+0 you will get the original input dump, NOT the idealised data (unless you happen to be
running from a previously idealised start dump). If, for example, you want to run a LAM from an idealised global
subregion then run the global for at least 1 timestep before requesting the dump (note that you may need to
work in whole hours to make the lbc time information match in your runs). This restriction means that you can’t
get the initial idealised state out from the model, you can only get the model fields out after 1 timestep.
3.8 Miscellaneous
There are three options available for the lateral boundary conditions: bi-cyclic, east-west cyclic and forced
boundaries. This option is set up in the UMUI in panel
Atmosphere -> Model Resolution and Domain -> Horizontal
• Bi-Cyclic
Choose ”Limited Area (Cyclic boundary conditions - EW and NS)” in the UMUI.
• East-West Cyclic
Choose ”Limited Area (Cyclic boundary conditions - EW only)” in the UMUI panel. The north and south
boundaries are allowed to vary freely - there is no forcing and no wrap-around at these boundaries. (a
modset is required for this option to work correctly - see Appendix A.2)
• Forced/Fixed
Choose ”Limited Area (Classic style)” in the UMUI panel. The model can be run with forcing from a
lateral boundary file or with fixed forcing defined by the initial field, by setting the logical L fixed lbcs in the
idealised namelist. The fixed forcing option (L fixed lbcs=.true.) is the most commonly used option. In this
case, the model takes data from the initial conditions for the idealised run and copies them into the lateral
boundary arrays. The boundary data then remains fixed with the initial data throughout the run. The lbcs
should be turned on in the UMUI in panel:
Atmosphere -> Ancillary and input data files
-> Other ancillary files and lateral boundary file
-> Lateral boundary conditions
You can specify the rimwidth and weights for the lateral boundary conditions as in any normal LAM run.
You can set the model up to ignore the lbc file (a modset is required for this option to work correctly - see
Appendix A.2). Otherwise an appropriate lateral boundary file is required and this can be generated from
a global run for the limited area domain containing data for at least two times (i.e. the start and end of the
run). The lbc data is then overwritten with the initial conditions if L fixed lbcs=.true.
From UM version 6.1, a facility to force potential temperature, humidity and horizontal wind components (t,q,u,v)
from data in the idealised namelist has been introduced. Two homogeneous forcing options are available re-
ferred to as relaxation forcing and tendency forcing (or observation forcing). See Section 7.7 for the namelist
parameters.
The data specified in the namelist represents changes to the field over a specified time period and these incre-
ments are added to the model field for the specified time.
(Newtonian relaxation) The horizontal average of the field on each model level is first calculated to form an
”average” vertical profile. A fraction of the difference between the ”average” vertical profile and the reference
profile is then added to the model field at each point over a specified timescale so that (assuming no other
changes) the field will equal the reference profile after the specified time. For potential temperature, the forcing
equation is:
∆θ (θ − θ̄)
= (5)
∆t τ
where ∆θ is the change in θ in a model timestep ∆t, θ̄ is the horizontal average of theta across the domain and
τ is the relaxation timescale.
The sea surface latent heat and sensible heat fluxes can be overwritten with idealised fluxes by setting IdlSurf-
FluxSeaOption in the idealised namelist. There are currently three options: Zero fluxes, fixed constant fluxes
or a diurnal cycle. See Section 7.8
The damping layer is designed to damp gravity waves near the top of the rigid lid. The variables u, v, θ and qv
are relaxed back to a reference profile (subscript ref), controlled by the timescale τD . The reference profile is
set to the initial values by default. For example, for u, the damping tendency is given by:
∂u damp
1 z − zD
=− exp − 1 (u − uref ) z > zD
∂t τD HD
=0 otherwise (6)
In the idealised namelist, the damping layer is switched on via the logical L damp and controlling parameters:
DMPTIM= τ1D HDMP= HD , ZDMP= zD .
Other ways to reduce spurious reflection include stretching the grid in the upper part of the domain (i.e. increas-
ing layer depth with height). This acts to damp vertically propagating waves. To damp horizontally progagating
waves in limited area mode (with forced lateral boundaries) the ”rim width” for the boundary relaxation can be
increased. Alternatively the bi-cyclic model can be used so that there are no lateral boundaries.
See Section 7.8 for namelist parameters.
A geostrophic wind forcing is prescribed in the same way as the Met Office LEM, by applying a momentum
tendency:
∂u geo
= −f3 vg (z)
∂t
∂v geo
= f3 ug (z) (7)
∂t
where f3 is the vertical component of Coriolis and ug and vg the x and y components of geostrophic wind
respectively. In the idealised namelist, the geostrophic forcing is switched on via the logical L geo for and
controlling parameters u geo and v geo for geostrophic wind components which are constant in the vertical.
Alternatively, the bomex forcing has a vertical profile of ug and vg (activated by switch L bomex, described next).
The BOMEX case is a quasi-equilibrium trade shallow cumulus case which is described by Siebesma et al
2003. The same forcings as used in Siebesma et al 2003 are coded in the UM: subsidence, large scale cooling
and drying forcings, surface fluxes and geostrophic wind profile. It is switched on via the logical L bomex in the
idealised namelist.
Reference:
A. Pier Siebesma and Christopher S. Bretherton and Andrew Brown and Andreas Chlond and Joan Cuxart and
Peter G. Duynkerke and Hongli Jiang and Marat Khairoutdinov and David Lewellen and Chin-Hoh Moeng and
Enrique Sanchez and Bjorn Stevens and and David E. Stevens, 2003: A Large Eddy Simulation Intercomparison
Study of Shallow Cumulus Convection, Journal of Atmospheric Sciences, 60,1201-1219
This is a standard problem set up to compare the dynamics of different models. It consists of an East-West
cyclic LAM with westerly flow over an idealised hill. See Appendix B.1 for an example idealised namelist.
References:
Schär, C., D. Leuenberger, O. Fuhrer, D. Lüthi, and C. Girard, 2002: A new terrain-following vertical coordinate
formulation for atmospheric prediction models. Mon. Wea. Rev., 130, 2459-2480.
Klemp, J. B., Skamarock, W. C., Fuhrer, O., 2003: Numerical Consistency of Metric Terms in Terrain-Following
Coordinates Mon. Wea. Rev., 131, 1229-1239.
This is a setup commonly used in Cloud Resolving Models to study tropical convection. It is usually run with
a bi-cyclic domain with forced radiative cooling in the troposphere and initial random surface temperature per-
turbations. tforce option should be set to 1 and a cooling rate (K/day) can be specified in the namelist. The
cooling is applied up to 400 hPa and then ramped down to zero at 200 hPa. L perturb t should also be set to
true with an appropriate magnitude of perturbation (defining the maximum temperature perturbation applied to
model level 1). See Appendix B.2 for an example idealised namelist and for more information on setting up this
experiment contact carol.halliwell@metoffice.gov.uk
5.3 Monsoon
5.5 SCANIA
The L pressure balance logical is used to set up the SCANIA problem. A number of different configurations for
this idealised problem are:
1. u and f = constant
Set f plane > -89.0 in idealised namelist.
Not sensible for global configurations.
2. Horizontal cosine jet of width 2×ujet width (in degrees) centred at ujet lat with pressure balance.
Set ujet lat and ujet width.
3. Horizontal cosine squared jet of width 2×ujet width centred at ujet lat with pressure balance.
Set ujet lat and ujet width and r plane > -89.0 (any value).
4. u = constant and variable f
Do NOT set f plane or ujet lat in idealised namelist.
Not recommended for Global since u 6= 0 at poles.
NOTE: If L trivial trigs is .true. (LAM only) then balance is in Cartesian geometry on an f plane and both u and v
values used. If you are interested in setting up this idealised problem, please contact terry.davies@metoffice.gov.uk
for further information.
This idealised configuration has an horizontal deformation wind field and east-west upper-level jet in thermal
wind balance with a north-south horizontal temperature gradient. It can be used to study fronts and frontogen-
esis/frontolysis. It must be run with the fixed boundary LAM option. See Appendix B.3 for an example idealised
namelist.
The deformation field option is chosen by setting uv horizfn number=3 in the idealised namelist. A pure stretch-
ing deformation field which is irrotational and non-divergent can be represented by a streamfunction,
ψ = −Kxy (8)
where ud is the horizontal wind component in the x-direction (zonal) and vd is the horizontal wind component
in the y-direction (meridional). The magnitude of the deformation field can be set to vary in the vertical using
idealised namelist arrays u in and height u in. For example the deformation field can be set to be constant from
the surface to 5 km and then reduced linearly with height to zero at the tropopause.
Increments are made to the pressure field so that the wind and pressure field are in geostrophic balance.
where u~d = (ud , vd ). Since the basic state deformation flow is symmetrical, the front cannot be referred to as a
cold or warm front.
For frontogenesis to occur there needs to be a north-south temperature gradient and zonal jet in thermal wind
balance. Appropriate temperature and wind fields are calculated and added to the initial model state after the
initial temperature and deformation wind fields have been initialised. The maximum wind speed in the jet and
the height of the maximum are specified. The jet consists of a westerly wind (i.e. along the x-axis) increasing
linearly with height from zero at the surface to a maximum at the tropopause and decreasing to zero at a
specified height above the tropopause. In the meridional direction (i.e. the y-axis), the jet is defined by a cosine
function (from −π to +π) with a specified wavelength, scaled to have a value of one at the jet maximum dropping
to zero either side. The characteristics of the jet are controlled by the idealised namelist variable t horizfn data:
∂θ θf ∂ug
= (11)
∂y g ∂z
and added to the model potential temperature field. The pressure field is also updated so that the model is in
hydrostatic balance.
(a) (b)
Figure 1: Vertical cross sections of initial zonal mean: (a) potential temperature, (b) zonal wind for the baroclinic
lifecycle for a jet maximum of 50ms−1 and width 3000km.
From version 6.2, there is the option of a baroclinic lifecycle simulation (L baroclinic=.true. in idealised namelist).
The baroclinic lifecycle can be used to isolate the role of different physics (e.g. boundary layer diffusion) in
cyclone evolution, or for basic dynamics studies. The initial state is a zonal mean jet (Ubs ) given by:
Ujet sinh(mz/H) Ly Ly Ly
Ubs (y, z) = 1 − cos l y + z≤H − ≤y≤
2 sinh(m) 2 2 2
Ujet 1
z Ly Ly Ly
Ubs (y, z) = exp mS 2 1 − 1 − cos l y + z≥H − ≤y≤
2 H 2 2 2
Ubs = 0 otherwise (12)
where Ujet , m, l and Ly are the maximum jet wind speed, a vertical wavenumber, a horizontal wavenumber and
meridional width of the jet respectively. Typical parameter values are: m = 0.7, Ujet = 50ms−1 , Ly = 3000km,
2π
and l = L y
. Some of these parameters are controlled by the array t horizfn data in the idealised namelist. See
Appendix B.4 for more details. The jet with these parameters is plotted in Figure 1, along with the zonal mean
potential temperature in thermal wind balance with it. Superposed on the jet is an initial perturbation consisting
of a vortex with width Lx (typically 3000 km, close to the maximum Eady growth rate wavelength of 3400 km),
and maximum amplitude (A), typically 20 ms−1 at the tropopause, the amplitude decaying exponentially in the
vertical away from the tropopause. The upper vortex pattern (Uvort , Vvort ) is given by:
2πNtrop (z − H) y 2πr
Uvort = −Aexp sin z ≤ H r ≤ Lx /2
f0 L x r Lx
2πNstrat (H − z) y 2πr
Uvort = −Aexp sin z ≥ H r ≤ Lx /2
f0 L x r Lx
Uvort = 0 otherwise
r = ((x − x0 )2 + y 2 )0.5 (13)
2πNtrop (z − H) x − x0 2πr
Vvort = Aexp sin z ≤ H r ≤ Lx /2
f0 L x r Lx
2πNstrat (H − z) x − x0 2πr
Vvort = Aexp sin z ≥ H r ≤ Lx /2
f0 L x r Lx
Vvort = 0 otherwise (14)
where f0 , Lx , r, A and x0 are the Coriolis parameter, width of vortex in x direction, radial distance from the
centre of vortex, amplitude of vortex, and location of the vortex centre in the x direction relative to the centre
of the domain respectively. f0 = 1.19 × 10−4 s−1 , x0 = −5, 000km, Lx = 3000km, A = 20ms−1 . The large
amplitude of the upper level vortex is designed to trigger rapid cyclogenesis. This is in contrast to normal mode
initialisation which tends to give slower initial growth.
A reference potential temperature profile (θref ) is set in the idealised namelist and defined by:
θ0 2
θref (z) = z
N z≤H
g trop
θ0 2 Hθ0 2
θref (z) = (z − H) Nstrat + Ntrop z>H (15)
g g
where θ0 , g, Ntrop , Nstrat and H are the surface reference potential temperature, gravitational acceleration,
tropospheric Brunt-Väisällä frequency, stratospheric Brunt-Väisällä frequency and depth of the troposphere
N2
respectively. Ntrop = 1.16 × 10−2 s−1 , H = 9 km, S = Nstrat
2 = 4.
trop
Thermal wind balance is integrated horizontally to calculate a consistent potential temperature (θ) distribution
from the prescribed wind fields. The thermal wind balance is given by:
∂θ f0 θ0 ∂Vvort
=
∂x g ∂z
∂θ f0 θ0 ∂(Ujet + Uvort )
=− (16)
∂y g ∂z
Hydrostatic balance is then used to calculate the initial Exner pressure (π):
cR
∂π g p p T
=− ; π= ; θ= (17)
∂z cp θ p0 π
where p, p0 , R and cp are pressure, reference surface pressure, the ideal gas constant for dry air and the
specific heat capacity of air at constant pressure respectively. The sea surface temperature is typically uniform
at 290 K (theta surface in idealised namelist) and the initial potential temperature above the surface is adjusted
(by adding a constant to the potential temperature throughout the domain) so that the boundary layer is initially
neutral in the centre of the domain, stable to the south, and unstable to the north. Also the density is initialised
to its reference value.
The simulation is typically run for five days, giving a baroclinic wave lifecycle. In order to enforce a dry simulation,
the initial moisture field is set to zero (see Appendix B.4) and the latent heat flux should be set to zero. It is
possible to relax these changes in order to give a moist simulation. Also, at version 6.0 and 6.1 of the UM it was
found best to switch off the updating of the lateral boundary conditions after initialisation (see Appendix A.2) to
limit spurious perturbations entering from the Western boundary.
This is new from version 6.2 (L cyclone=.true. in idealised namelist). The same thermal wind balancing and
reference potential temperature is used as in the baroclinic lifecycle but with the winds prescribed as:
−2πNtrop z y 2πr
Ucyc = −Aexp sin r ≤ Lx /2
f0 L x r Lx
Ucyc = 0 otherwise
r = ((x − x0 )2 + y 2 )0.5 (18)
−2πNtrop z x − x0 2πr
Vcyc = Aexp sin r ≤ Lx /2
f0 L x r Lx
Vcyc = 0 otherwise (19)
This gives a warm core vortex in thermal wind balance with maximum winds near the surface decaying expo-
nentially in the vertical. The near surface potential temperatures are adjusted to make the boundary layer stably
stratified throughout the warm core. Bi-cyclic boundary conditions are also applied. The cyclone vortex can
then be left to decay (typically for 5 days) under the action of the boundary layer scheme and without moisture,
simulating the Ekman spin down process. Future developments could also include moist process to simulate
the growth of an idealised hurricane.
There are a very large number of possible combinations of options and not all combinations have been tested.
The code is written with flexibility in mind and not all options may be compatible with each other. Let us know
about any bugs you find !
7 Idealised Namelist
This section describes the parameters that can be set in the idealised namelist. The parameters are separated
into different categories: (1) General Options, (2) Defining the Vertical Grid, (3) Defining the Orography, (4)
Defining the Surface Characteristics, (5) Defining Temperature, Moisture and Wind Profiles, (6) Defining the
Temporal Forcing and (7) Miscellaneous Options. The parameters are of type LOGICAL if they begin with L .
Defaults options/values and units are also given.
Various vertical grid options are available. The number of levels is defined in the UMUI but the level spacing
is overwritten by the idealised code depending upon the chosen option. You need to specify the height of the
top of the domain (note that this may be modified slightly by the vertical grid set up routine depending on the
chosen option). There are additional variables to specify the characteristics of the big layers etc.
The following variables are used if tprofile number=9 or qprofile number=9 or uvprofile number=9. The 1D
profile data (tprofile data, q profile data, u profile data and v profile data) can be on any height levels (specified
by zprofile data and z uvprofile data) as the data is interpolated to the model vertical grid (however the data
must extend to the top of the model or beyond).
perturb magnitude q Real Maximum amplitude of the perturbations in the moisture field
(kg/kg) (default = 0.5e-3 kg/kg)
perturb type Integer 1 (default): random perturbations. This is the only option avail-
able at present
perturb height(2) Real ar- Minimum and maximum heights over which perturbations are
ray applied. (default = 0.0)
0 (default) no bubbles
1 Bubbles created using 3D Gaussian function. Spec-
ify magnitude and dimensions of each bubble via
idl bubble option(3) Integer parameters below.
2 Bubbles created using ”block” function Specify mag-
nitude and dimensions of each bubble via parame-
ters below.
idl bubble max(3) Real Maximum amplitude of bubble (K) (default = 1.0)
idl bubble height(3) Real Height of bubble centre (km) (default = 1000.0)
idl bubble xoffset(3) Real Bubble x-offset (normalised units: 0.5 = domain centre)(default
= 0.5)
idl bubble yoffset(3) Real Bubble x-offset (normalised units: 0.5 = domain centre)(default
= 0.5)
idl bubble width(3) Real Horizontal width of bubble (km) (default = 1000.0)
idl bubble depth(3) Real Depth of bubble (km) (default = 1000.0)
.false. (default)
L idl bubble saturate Logical
.true. set bubble to saturation.
.false. (default)
L geo for Logical
.true. activate geostrophic forcing
.false. (default)
L bomex Logical
.true. activate BOMEX shallow cumulus forcing
.false. (default)
.true. If true. then derive pressure/temperature field by ap-
plying geostrophic and hydrostatic relationships to
L pressure balance Logical
input wind field (SCANIA-type) - will overwrite tem-
perature profile choice. - in spherical geometry, v in
is ignored and set to zero.
ujet lat Real Latitude (degrees) at which input u-component has u in value
(default = -90.0)
ujet width Real If ujet lat > -89.0 then horizontal cosine jet of width 2*ujet width
(in deg) applied to pressure balance (default = 0.0)
8.1 Overview
The main body of the idealised code is called from the ATM STEP subroutine on the first timestep to set up
the vertical grid, orography and initial fields of potential temperature (theta), exner pressure, density, u, v, w and
moisture. Subroutines to regenerate the orography and level heights for growing orography are also called every
timestep throughout the growing period (if this option is turned on). The vertical grid eta values (eta theta levels
and eta rho levels) are set up in IDL CALC ETA LEVEL. The orography, defined by r theta level(i,j,0), is set
up in IDL SURFACE SETUP. The heights of the levels (r theta levels and r rho levels) are set up from the eta
values and the orography, r theta level(i,j,0) in IDL GENERATE GRID. The 3D fields are set up in IDL INITIAL -
DATA using arrays with large halos so that external halo values in LAMs can be set correctly for the lateral
boundary conditions. The model prognostics (theta, exner, rho, u, v and w) only have small halos (off x, off y)
and so other existing arrays with large halos are temporarily used as workspace to set up the initial fields in
IDL INITIAL DATA:
• u adv is used for u
• v adv is used for v
• w adv for exner rho levels
(Note: w adv(0:model levels) = exner rho levels1(1:model levels+1)
• q is used for q
• qcl is used for theta
• qcf is used for rho
After the fields are set up in IDL INITIAL DATA, the internal halos are set with a call to SET HALOS. If fixed
lateral boundaries have been chosen the routine COPY FIELD is used to copy the work arrays to the proper
prognostic arrays (e.g. qcl to theta). In IDL FIX LAM LBCS the lateral boundary arrays (holding the external halo
and internal rimwidth) are set from the work arrays and w, w adv, qcl and qcf are set to zero. The subroutine
IDL COPY LBC TEND copies the lateral boundary conditions into the lateral boundary tendency arrays and
these both remain fixed at the initial conditions for the whole of the model run. If fixed boundaries are not
chosen, then we still need to copy the work arrays to the correct prognostic arrays and set w, w adv, qcl and qcf
to zero, and this is done in IDL IDEAL SET FIELDS.
8.2 Pseudo-code
Subroutine ATMSTEP
IF (Initialise model with idealised data) THEN
CALL IDL_NI_INIT
IF (this is the first timestep) THEN
ENDIF
ELSE
END IF
ENDIF
ENDIF
ENDIF
ENDIF
END IF
For example, if you wish to run on more than 100 model levels changes should be made in the following include
file.
amaxsize.h Change MODEL LEVELS MAX and WET LEVELS MAX to a value larger, or the same as, the
number of levels you want to run on.
The maximum number of rows and the maximum row length can also be changed here by changing the values
of ROWS MAX and ROW LENGTH MAX respectively.
Likewise, if you wish to run on more than 50 boundary layer levels changes should be made in the following
include file.
cmaxsize.h Change max bl levels to a value larger, or the same as, the number of levels you want to run on.
When using fixed LAM boundary conditions the user needs to change the code so that subsequent updating of
the lateral boundary conditions is turned off after initialisation. This simply involves deleting the call to UPDATE -
LAM LBCS in ATM STEP.
B.1 Schar problem (flow over an idealised hill in an E-W cyclic domain)
&IDEALISE
! Idealised namelist for Schar-type problem (flow over a hill)
! To be run in E-W cyclic mode
&END
&IDEALISE
L_idealised_data = .true. ! Using UM in idealised mode
L_initialise_data=.true. ! Set up idealised initial conditions
surface_type=0 ! Flat surface
grid_number=10 ! use vertical levels namelist
height_domain=20000.0 ! height of domain
tprofile_number=9 ! defined by tprofile_data below
qprofile_number=9 ! defined by qprofile_data below
theta_surface=300.0 ! temperature (K) at sea-level
p_surface=100000.0 ! Pressure (Pa) at sea-level
u_in=0.0 ! initial u-component of wind
v_in=0.0 ! initial v-component of wind
height_u_in=3*0.0 ! used for horiz winds
first_constant_r_rho_level_new=48 ! need to include this (no default)
L_rotating = .false. ! Turn off Earth’s rotation
L_trivial_trigs=.true. ! Cartesian grid if true
f_plane=0.0 ! Set f plane to 0.0 latitude
! Perturbations
! Forcing
!=======================================================================
!
! Temperature and Humidity Initial Profiles
!
!=======================================================================
num_profile_data=33,
zprofile_data=0.0, 0.400000e+02, 0.164408e+03, 0.359008e+03,
0.567003e+03, 0.809578e+03, 0.109890e+04, 0.144166e+04,
0.183620e+04, 0.227366e+04, 0.274169e+04, 0.322844e+04,
0.372515e+04, 0.422678e+04, 0.473171e+04, 0.524149e+04,
0.576119e+04, 0.630004e+04, 0.687130e+04, 0.749048e+04,
0.817195e+04, 0.892497e+04, 0.975178e+04, 0.106492e+05,
0.116140e+05, 0.126487e+05, 0.137644e+05, 0.149776e+05,
0.163003e+05, 0.177281e+05, 0.192366e+05, 20692.,
23917.,
tprofile_data=300.0, 0.3e+03, 0.30001e+03, 0.300022e+03,
&END
&IDEALISE
! Idealised namelist for deformation frontogenesis
! To be run in Classic fixed boundary LAM mode
&END
&IDEALISE
!-----------------------------------------------------------------------
! Idealised namelist for baroclinic lifecycle
!-----------------------------------------------------------------------
L_idealised_data = .true.
L_initialise_data = .true.
surface_type = 0,
grid_number = 10 !
first_constant_r_rho_level_new = 1
theta_surface = 290.0,
tprofile_number = 1,
L_constant_dz = .false.,
! Reference potential temperature profile
! with troposphere up to 9km and stratosphere above.
dtheta_dz1 = 0.004, 0.016,
height_dz1 = 9000.0, 60000.0,
t_horizfn_data = 50.,3000000.,3000000.,-5000000.0,20.0,0.5,
! MOISTURE- Dry simulation
qprofile_number=8
num_profile_data=5
! Height of data points (metres)
zprofile_data= 0.0, 5000., 10000., 15000., 60000.,
! Relative humidity (%/100)
qprofile_data= 0.0, 0.0, 0.0, 0.0, 0.0,
! HORIZONTAL WIND
uvprofile_number = 1
uv_horizfn_number = 10
u_in = 0.0, 0.0, 0.0, 0.0
height_u_in = 5000., 10000., 60000.
v_in = 0.0, 0.0, 0.0, 0.0
! MISCELLANEOUS
p_surface = 100000.0,
L_fixed_lbcs = .true.
L_trivial_trigs = .true.
L_vert_Coriolis = .true.
L_rotating = .true.
L_initialise_data = .true.
f_plane = 55.
ff_plane = 0.0
! Baroclinic
L_baroclinic = .true.
! Cyclone (not on)
L_cyclone = .false.
! N.B The latent heat flux should be set to zero but
! IdlSurfFluxSeaOption = 1 will set both latent heat and sensible
&IDEALISE
!-----------------------------------------------------------------------
! Idealised namelist for cyclone vortex
!-----------------------------------------------------------------------
L_idealised_data = .true.
L_initialise_data = .true.
surface_type = 0,
grid_number = 10 ! 10=Use vertical grid defined in dump
first_constant_r_rho_level_new = 1
theta_surface = 290.0,
tprofile_number = 1,
L_constant_dz = .false.,
! Reference potential temperature profile
! with troposphere up to 9km and stratosphere above.
dtheta_dz1 = 0.004, 0.016,
height_dz1 = 9000.0, 60000.0,
! HORIZONTAL WIND
uvprofile_number = 1
uv_horizfn_number = 10
u_in = 0.0, 0.0, 0.0, 0.0
height_u_in = 5000., 10000., 60000.
v_in = 0.0, 0.0, 0.0, 0.0
! MISCELLANEOUS
p_surface = 100000.0,
L_fixed_lbcs = .true.
L_trivial_trigs = .true.
L_vert_Coriolis = .true.
L_rotating = .true.
L_initialise_data = .true.
f_plane = 55.
ff_plane = 0.0
! Baroclinic (not on)
L_baroclinic = .false.
! Cyclone
L_cyclone = .true.
&END