Met Office / Oxford Rotating Annulus Laboratory Simulation (MORALS)

Current code version: 150506 (14th revision)

Researchers interested in obtaining the code should send an email to [at]
Please address all queries and comments to this address as well.

MORALS is a suite of computer programs used to integrate the Navier-Stokes, heat, and mass continuity equations for a Boussinesq, viscous, incompressible, thermally conducting fluid contained in a cylindrical rotating annulus. For overviews of the annulus experiment see Hide & Mason (1975), Hignett (1985), and Read et al. (1992). The model is well-established as a quantitatively accurate model of dynamical behaviour in the rotating annulus, at least in regular and weakly vacillating regimes (Read et al., 1997). MORALS is written in a mixture of Fortran 77 and 90 and is designed to be run using Linux.

Laboratory annulus experiment, Schematic diagram of the differentially-heated thermal annulus (numbers are typical)

Technical details

The programs integrate these equations over time in a 2D (axisymmetric) or a fully 3D configuration using cylindrical polar coordinates. There are four prognostic variables: three velocity directions u (radial), v (azimuthal), and w (vertical), and temperature T. A fifth field required in the prognostic equations is kinetic pressure \Pi=P/\rho_0 (pressure scaled by the density at a reference temperature), which is diagnostic and is calculated from the other four fields using a Poisson equation. The Boussinesq approximation is used, where constant density \rho=\rho_0 is set in all terms except where it is multiplied by the gravitational acceleration g. The model is non-hydrostatic.

MORALS is a finite difference model, with fields discretized on a staggered Arakawa C grid with non-uniform grid spacing in the radial and vertical directions to resolve the boundary layers. The time-stepping is accurate to O(\delta t^2), where \delta t is the model timestep, using a Leapfrog scheme with Robert-Asselin filter. At the moment the 3D model can be run with at least 32 (radial) x 128 (azimuthal) x 32 (vertical) grid points, and the 2D model can be run with at least 96 (radial ) x 96 (vertical) grid points. In the model's standard configuration (the 'differentially-heated thermal annulus') the cylinders are maintained at constant temperatures, the fluid rotates at constant angular velocity, fluid velocities go to zero on all the boundaries, and there is no temperature gradient across the top and bottom boundaries.

Full instructions on how to run the code are contained in the README file in the distribution itself. MORALS continues to be an active research code so everything on this page should be considered 'work in progress'.

Research using the model

Most research using this model has been with the differentially-heated thermal annulus configuration. In this configuration it has been used to study baroclinic instability, flow regime characterisation, fluid properties of laboratory flow regimes, comparisons with laboratory experiments, chaotic flow regimes, wave-mean flow energy exchanges, numerical advection schemes, and most recently data assimilation, ensemble prediction, inertia-gravity waves, and eddy parameterization schemes.

In other configurations it has been used with internal heating to study isolated vortices in giant planet atmospheres, with a radial barrier to study western boundary currents, and with time-varying cylinder temperatures to study synchronization phenomena.

Example output

Below are some example plots made using the 3D model and data analysis scripts. The model is set up with inner and outer cylinders at radii a = 2.5 cm and b = 8.0 cm, fluid depth d = 14.0 cm, rotation rate Ω=0.72 rad s-1, and inner and outer cylinder temperatures of 18 and 22{\circ}C. The fluid properties were set to simulate a mixture of 17% glycerol and 83% water by volume. The resolution of the model was 24 radial x 64 azimuthal x 24 vertical grid points, and was run for 13500 s of simulated time. With this configuration the flow regime is wavenumber 3 amplitude vacillation.

Flow fields at the end of the run, shown as horizontal sections through the annulus near (or at) mid-height

Horizontal velocity vector field, z-component of relative vorticity

Horizontal divergence, Temperature (relative to 22\circC)

Diagnostic quantities

Time series of Nusselt number at the inner cylinder: The regular oscillation tells us that the flow regime is amplitude vacillation.

Amplitude of the (dominant) wavenumber three temperature mode as a function of time: Found by taking a Fourier transform of the temperature field at mid-height/mid-radius.

Amplitudes of the azimuthal wave modes in the temperature field at the end of the run: The dominant wavenumber is three, and its harmonics are also strong.

Installation and prerequisites


To extract the .tgz archive, issue the following command at the Linux prompt:

gzip -dc morals.tgz | tar xvf -

where is the version number. This command will extract the directory morals/ and its subdirectories to the current directory.


Complete uninstallation of the distribution should be possible simply by deleting the root directory and all of its contents, as no files are created elsewhere on the filesystem.


  • To run the model you will need Linux, with tcsh installed. The model has been tested and runs on Ubuntu 7.10, 8.04, 10.04, and 12.04, Debian 3.1 and 4.0, and OpenSUSE 10.3. It has been tested without success on Mac OS X 10.5.6 and Windows Cygwin. If you are able to get it to work on a Mac please let us know how.
  • To compile the model in its current form you will need the Intel Fortran compiler (ifort). This compiler can be obtained from the Intel website; it requires a software licence for all but personal use (NB: academic use is not personal use). Versions 8.0.034, 10.1.018, 11.0.074, and 11.1.059 are known to produce stable compilations; no other versions have been tested. With some changes to shell scripts and makefiles it may be possible to compile using gfortran, but this has not been tested.
  • To use the data analysis plotting scripts you will need IDL (see below).
  • To edit the model you will require knowledge of Fortran and tcsh shell scripting. There are numerous Fortran reference manuals available on the internet, including the ifort compiler documentation for v11.1.

Contents of the .tgz file

The distribution contains the following:

  • Precompiled binary files for the 2D and 3D models.
  • Full source code for the 2D and 3D models.
  • Detailed user guide.
  • The two original technical reports describing the model (see below).
  • Some scripts for processing and analysing the output.

Most of the analysis scripts are written in the Interactive Data Language (IDL). Some input/output processing scripts are also supplied as Fortran programs. IDL is commercial software. If you do not own it and cannot obtain it, then you will need to adapt the scripts included with this distribution into your preferred language. The open-source GNU data language (GDL) may also work, as this has the same syntax as IDL, but we have not tried this. IDL is a high-level interactive language and its syntax is fairly straightforward to understand; it has many similarities with Fortran and Matlab in particular. IDL documentation is available here.

Model equations and boundary conditions

The 3D model solves the following equations in cylindrical (R,\phi,z) coordinates. In the 2D model all azimuthal derivatives are set to zero.

  1. Incompressible mass continuity equation:
  2. Heat equation:
  3. Navier-Stokes equations:
  4. The diffusion terms are
  5. The equation of state is
  6. Two other constitutive relations are used for viscosity and thermal diffusivity: Apart from these relations there are no sub grid-scale parameterizations.
  7. In the standard differentially-heated (horizontal temperature gradient) configuration the boundary conditions are

Papers using or updating MORALS

This list is almost certainly incomplete - additions are welcome.

Two original Met Office technical reports

(1) Farnell, L. & Plumb, R. A. (1975), Numerical integration of flow in a rotating annulus I: axisymmetric model, Occasional Note Met O 21 75/3, Geophysical Fluid Dynamics Laboratory, UK Meteorological Office. Unpublished technical report, 32 pages.

(2) Farnell, L. & Plumb, R.A. (1976), Numerical integration of flow in a rotating annulus II: three dimensional model, Occasional Note Met O 21 76/1, Geophysical Fluid Dynamics Laboratory, UK Meteorological Office. Unpublished technical report, 24 pages.

These describe the physics behind and structure of the 2D model (1975) and how the 2D model was extended to a 3D version (1976). These two reports are worth reading first, and are included in the distribution as they are unpublished and not available online.

Peer-reviewed journal articles and additional unpublished technical reports using the model:

(1) Hide, R. & Mason, P.J. (1978), On the Transition Between Axisymmetric and Non-Axisymmetric Flow in a Rotating Liquid Annulus Subject to a Horizontal Temperature Gradient, Geo. Astro. Fluid Dyn., 10, 121-156, 10.1080/03091927808242634.

(2) James, I.N., Jonas, P.R. & Farnell, L. (1981), A combined laboratory and numerical study of fully developed steady baroclinic waves in a cylindrical annulus, Q. J. R. Meteorol. Soc., 107, 51-78, 10.1002/qj.49710745104.

(3) Read, P.L. & Hide, R. (1983), Long-lived eddies in the laboratory and in the atmospheres of Jupiter and Saturn, Nature, 302, 126-129, 10.1038/302126a0.

(4) Hignett, P., White, A.A., Carter, R.D., Jackson, W.D.N. & Small, R.M., (1985), A comparison of laboratory measurements and numerical simulations of baroclinic wave flows in a rotating cylindrical annulus, Q. J. R. Meteorol. Soc., 111, 131-154, 10.1002/qj.49711146705.

(5) Read, P.L. (1985), Finite-amplitude, neutral baroclinic eddies and mean flows in an internally-heated rotating fluid: 1. Numerical simulations and quasi-geostrophic ''free modes'', Dyn. Atmos. Oceans, 9, 135-207, 10.1016/0377-0265(85)90003-X.

(6) Read, P.L. (1986a), Stable, baroclinic eddies on Jupiter and Saturn: A laboratory analog and some observational tests, Icarus, 65, 304-334, 10.1016/0019-1035(86)90141-7.

(7) Read, P.L. (1986b), Regimes of axisymmetric flow in an internally heated rotating fluid, J. Fluid Mech., 168, 255-289, 10.1017/S002211208600037X.

(8) White, A.A. (1986), Documentation of the finite difference schemes used by the Met. O 21 2D Navier-Stokes model, Geophysical Fluid Dynamics Laboratory, UK Meteorological Office, Internal Report Met. O 21 IR86/3.

(9) Read, P.L. (1988), Finite amplitude, neutral baroclinic eddies and mean flows in an internally-heated rotating fluid: 2. Effects of spatially-varying static stability, Dyn. Atmos. Oceans, 11, 211-264, 10.1016/0377-0265(85)90003-X.

(10) Rayer, Q.G. (1994), A numerical investigation of the flow in a fully blocked differentially heated rotating fluid annulus, Int. J Mod. Phys. C, 5, 203-206, 10.1142/S0129183194000155.

(11) Read, P.L., Lewis, S.R., & Hide, R. (1997), Laboratory and numerical studies of baroclinic waves in an internally heated rotating fluid annulus: a case of wave / vortex duality?, J. Fluid Mech., 337, 155-191, 10.1017/S0022112097004837.

(12) Rayer, Q.G., Johnson, D.W. & Hide, R. (1998), Thermal convection in a rotating fluid annulus blocked by a radial barrier, Geo. Astro. Fluid Dyn., 87, 215-252, 10.1080/03091929808221148.

(13) Read, P.L., Thomas, N.P.J. & Risch, S.H. (2000), An Evaluation of Eulerian and Semi-Lagrangian Advection Schemes in Simulations of Rotating, Stratified Flows in the Laboratory. Part I: Axisymmetric Flow, Mon. Weather Rev., 128, 2835-2852, 10.1175/1520-0493(2000)128<2835:AEOEAS>2.0.CO;2.

(14) Read, P.L. (2003), A combined laboratory and numerical study of heat transport by baroclinic eddies and axisymmetric flows, J. Fluid Mech., 489, 301-323, 10.1017/S002211200300524X.

(15) Young, R.M.B. and Read, P.L. (2008), Flow transitions resembling bifurcations of the logistic map in simulations of the baroclinic rotating annulus, Physica D, 237, 2251-2262, 10.1016/j.physd.2008.02.014 [Erratum, 2011, Physica D, 240, 1911-1912, 10.1016/j.physd.2011.08.004.]

(16) Young, R.M.B. and Read, P.L. (2008), Breeding and predictability in the baroclinic rotating annulus using a perfect model Nonlinear Proc. Geophys., 15, 469-487, 10.5194/npg-15-469-2008. [Corrigendum, 2011, Nonlinear Proc. Geophys., 18, 359, 10.5194/npg-18-359-2011.]

(17) Keane, R.J., Read, P.L. & King, G.P. (2010), Effectiveness of stirring measures in an axisymmetric rotating annulus flow, Physica D, 239, 675-683. 10.1016/j.physd.2010.01.023.

(18) Pérez-Pérez, E., Read, P.L. & Moroz, I.M. (2010) Assessing eddy parameterization schemes in a differentially heated rotating annulus experiment, Ocean Modelling, 32, 118-131, 10.1016/j.ocemod.2009.11.003.

(19) Jacoby, T.N.L., Read, P.L., Williams, P.D. & Young, R.M.B. (2011), Generation of inertia-gravity waves in the rotating thermal annulus by a localised boundary layer instability, Geophysical and Astrophysical Fluid Dynamics, 105, 161-181, 10.1080/03091929.2011.560151.

(20) Maddison, J.R., Marshall, D.P, Pain, C.C. & Piggott, M.D. (2011), Accurate representation of geostrophic and hydrostatic balance in unstructured mesh finite element ocean modelling, Ocean Modelling, 39, 248, 10.1016/j.ocemod.2011.04.009.

(21) Young, R.M.B. & Read, P.L. (2013), Data assimilation in the laboratory using a rotating annulus experiment, Q. J. R. Meteorol. Soc., 139, 1488-1504, 10.1002/qj.2061.

(22) Young, R.M.B. (2014), The Lorenz energy cycle in simulated rotating annulus flows, Phys. Fluids, 26, 056602, 10.1063/1.4873921.

(23) Read, P.L., Pérez, E.P., Moroz, I.M. & Young, R.M.B. (2014), General Circulation of Planetary Atmospheres: Insights from Rotating Annulus and Related Experiments, in "Modeling Atmospheric and Oceanic Flows: Insights from Laboratory Experiments and Numerical Simulations", 9-44, Wiley/AGU, 10.1002/9781118856024.ch1.

(24) Young, R.M.B. & Read, P.L. (2016), Predictability of the thermally driven laboratory rotating annulus, Q. J. R. Meteorol. Soc., 142, 911-927, 10.1002/qj.2694.

(25) Wright, S., Su, S., Scolan, H., Young, R.M.B. & Read, P.L. (2017), Regimes of axisymmetric flow and scaling laws in a rotating annulus with local convective forcing, Fluids, 2, 41, 10.3390/fluids2030041

An additional paper describing an almost identical model (same equations, some similar methods, but it is a separate code) developed around the same time:

Williams, G.P. (1969), Numerical integration of the three-dimensional Navier-Stokes equations for incompressible flow, J. Fluid Mech., 37, 727-750, 10.1017/S002211206900084X.