This page contains models that may be used to illustrate facets of data assimilation.
If you use or download any of these models we love to know about it. Please email r.brugge@rdg.ac.uk and let us know. Thank you.
Conditions of use
The software and documentation on this site are made available
for educational purposes and personal study only. They may be freely
distributed as long as the original source is
acknowledged. Copyright remains with the original authors.
The programs
The first six programs listed here contain links to code provided as part of the 2002 NATO ASI Summer School in data Assimilation, using a page for that school written by Amos Lawless.
- 4D-var double pendulum (Fortran 77, Ross Bannister)
- Numerical weather prediction models are complicated,
cumbersome, and require extensive resources to work. To
demonstrate the technique of 4d-Var, we resort to a very
simple physical system that has itself little to do with
atmospheric science - the double pendulum. Unlike a weather
prediction model, which could contain over a million degrees of
freedom, the double pendulum is described by just four
variables. These the are two angles and their time
rates of changes.
- The Cressman scheme (Matlab, Amos Lawless)
- This program is a very simple implementation of a basic Cressman scheme, to
illustrate how the scheme performs in areas of sparse and dense
observations.
- Effect of statistical analysis parameters (IDL/PV-Wave, Richard Swinbank)
- This set of routines allows the user to see how different settings of
the statistical parameters affect the final analysis, using
small one-dimensional optimal interpolation problems.
Three different routines are
provided, which are explained in the documentation. It is
also necessary to include the routines
plclose.pro and
plopen.pro in your directory, to enable printing of plots.
- Lorenz system (Matlab, A. Lawless, M. Martin and M. Wlasak)
- Several different assimilation schemes are coded for the
three-variable Lorenz system. For each of them identical twin
experiments can be run and compared for different assimilation
and observation parameters. The documentation provides a
series of suggested exercises. All the programs use the routine
menu_asl.m, which is an
altered version of the standard menu routine and must be
downloaded with the main programs.
Sequential schemes
4D-Var and incremental 4D-Var
- Oscillating system with sequential data assimilation schemes (Matlab, M. Martin & A. Lawless)
- Four sequential data assimilation schemes are implemented on
the oscillating system problem. The user can choose which data
assimilation scheme to use and can add random noise to the
observations. All inputs are through menu interfaces. The programs
use the routine
menu_asl.m, which is an
altered version of the standard menu routine and must be
downloaded with the main programs.
- Initialization (Matlab, Peter Lynch)
- This program illustrates the principle of linear and nonlinear normal
mode initialization on the swinging spring problem. The user can
compare how the two initializations perform as the parameters of the
problem are changed.
For more information on this problem, including a Java animation, see
Peter Lynch's Swinging Spring page.
- Inverse model of solar system dynamics (Fortran 77, Ross Bannister)
- Kepler's equation describes the classical motion of a mass in an inverse
square gravitational field. It provides a simple yet useful approximation to
the motion of the major planets of our solar system. It is useful to think of
solving Kepler's equation as a forward problem - given the six orbital
parameters of a planet, we can predict where the planet will be at a specific
time. The inverse problem asks the reverse question. Given a set of observed
positions, what are the six parameters?
The fortran code (plus user guide) provided here
will attempt to infer the six orbital parameters that are consistent optimally
with planetary observations.
- Oxford/RAL Spring School: Computer Exercises (Clive Rodgers)
- These are the exercises associated with Clive Rodgers' course on Inverse Methods. There are three versions:
- Matlab
- IDLbe IDL for big-endian machines
- IDLle IDL for little-endian machines
- The codes can be downloaded from here. The file needs to be gunzipped and then the files can be extracted (on a unix system using tar -xvf *.tar ).
- Irrotational Shallow Water Model (Fortran 90 - Amos Lawless)
- This is an incremental 4D-Var assimilation applied to a one-dimensional shallow water system for the flow of a fluid over an obstacle in the
absence of rotation. The nonlinear system can be modified to use either a Perturbation Forecast Model (PFM)
or a Tangent Linear Model (TLM) as the linearisation method.
- The code can be found
here. The documentation to run the model can be found
here.
- Eady model (Fortran 90 - Christine Johnson)
- The 2D Eady model is combined with 4D-Var data assimilation and tested on temperature field observations
taken at two different time intervals. The dynamics of the model interpolate through the observations in both
space and time, while filtering observational noise.
- The code can be found here, while detailed documentation about the model can be found
here.
You should look at the ReadME file for further information on installation of the code.
- The Heat Equation (Fortran 90 -- David Bailey)
- The heat equation is used to demonstrate an estimation of systematic and time correlated errors
from the variational data assimilation procedure. The improved method generates a correction term
which leads to an improved estimate of the system over a standard scheme.
- The code can be found here, and detailed documentation here.
The page's Web-Counter says that you are visitor number
since 7 September 2004 -- data provided via
www.digits.com