The Reduced Rank Square Root (RRSQRT) Kalman filter

Data assimilation tries to combine, in a nearly optimal fashion, two sources of information:

1. A large scale numerical model usually is capable of reproducing the larger patterns, but suffers from inaccurately known parameters or boundary conditions. More accurate input of the model often leads to improved performance of the numerical model. It is also possible that the accuracy of the model is deteriorated by some closure assumption or empiric formula which significantly simplifies the model.

2A. In-situ measurements are usually sparse in space or time. Typically, there are only 5 to 20 points in the area of interest where measurements are gathered. This excludes normal interpolation methods to find the values for points in between. However, the measurements are often quite accurate, thus accurate values are known at a few measurement locations. Even though there are often only relatively few measurements available the costs of obtaining these measurements are rather high, so the best possible use of these measurements has to be made.

2B. Remote sensing measurements usually are more extensive and cover the whole area of interest. However remote sensing equipment often does not measure directly the variable of interest, but some related quantity which is subsequently used to deduce the required information. For example, HF-radar measures the reflected radar signal, the Doppler shift of which contains information about the surface currents. For practical use of the information the surface currents have to be extrapolated downwards to recover the full current profile.

Kalman filtering

One way to solve many data assimilation problems, at least in principle, is by using the Kalman filter equations. This set of equations gives a recursive solution for assimilating measurements into a linear model. The algorithm uses a two step procedure. Based on the solution at the previous time with measurements, the model is first integrated to the next instance at which measurements are available. Subsequently, this prediction is corrected using the new measurements.

A disadvantage of the Kalman filter for large models are the huge computation times needed for the Kalman filter. For example, a model involving 60000 variables, for which the numerical simulation of one day takes 20 minutes, leads to a computation of roughly 2.3 years for the Kalman filter over the same one day period.

Speeding up the Kalman filter

The huge computational requirements of the 'full' Kalman filter for the large scale models used in many data assimilation applications has lead to the search for faster algorithms, which still preserve the advantages of the Kalman filter. Since, in the linear context the Kalman filter is an optimal estimator, all the approximations will be suboptimal. This provides a basis for comparison of these suboptimal schemes (SOS's). The loss of performance can be weighed gainst the increase in speed. Most suboptimal schemes have some parameter that controls the computational requirements and at the same time the loss in performance.

The RRSQRT algorithm

Here a new suboptimal scheme, the reduced rank square root (RRSQRT) filter, is proposed. The algorithm greatly reduces computation times, while still giving accurate results. The algorithm compares favorably to several other suboptimal schemes. The properties, among which the convergence to the optimal solution for large computation times, are studied. Also attention is given to non-linear aspects. Two extensions to the RRSQRT algorithm are proposed for use with nonlinear models. One is more accurate than the other at the expense of a factor two longer computation time. Both methods are relatively easy to implement.

Some examples in Matlab

 To illustrate the RRSQRT algorithm a set of MATLAB script is provided with an implementation of several SOS algorithms:

  1. The ensemble Kalman filter
  2. A EKF version of the RRSQRT filter
  3. A second order accurate version of the RRSQRT filter
  4. The POENKF version of the RRSQRT filter
  5. The COFFEE version of the RRSQRT filter
Most filters can also be run in a steady-state version and there is an option to use different models for the twin-experiments.

Several examples are provided with it:

  1. A double well model
  2. A simple oscillator model with 2 state variables
  3. The Lorenz model
  4. A 1-D shallow water model
  5. A 1-D advection diffusion model
  6. A 2-D advection diffusion model
  7. A model for the adaptive harmonic analysis of tides
  8. A 1-D model for current profiles with tides and wind-stress with several turbulence closure options

The new version of the Matlab programs has been revised almost completely. The programs now use stuctures for most of the data. It is now possible to modify most settings without editting the source. Also several new models have been added. The graphical frontend can now show the Kalman gain and standard deviations.

DOWNLOAD NOW! (Version 3.0 October 2003) gzipped tar-file 

Version 3.0 zip-file for windows users 

(Version 2.1 june 20 2000) 

version 1.0