These instructional pages are based on the development in the book "Bennett, A. F., 2002: Inverse Modeling of the Ocean and Atmosphere. CambridgeUniversity Press, 234 pp. ISBN 0-521-81373-5", but is not a restatement of that material. Class overheads for the book (as well as errata) can be accessed from ftp.oce.orst.edu/dist/bennett/class/overheads. The author of these instructional pages assumes that you have Bennett (2002) as a reference. This site is intended to provide details omitted from the book due to space restrictions, solutions to some of the exercises, and additional detailed development for discrete, multidimensional and nonlinear extensions of the theory. The instructional track of this web site will use a hierarchy of models to illustrate key concepts of the assimilation exercise.

Available Lesson Modules
One-dimensional, linear convection equation
One-dimensional, nonlinear Korteweg-de Vries equation
Soon-To-Be-Released Lesson Modules
Two-dimensional, linear shallow water equations;
Two-dimensional, nonlinear shallow water equations (ADCIRC).
Module Descriptions
One-dimensional, linear convection equation
This model will be used to illustrate basic aspects of the assimilation algorithm in a framework that is uncluttered by multi-dimensional domains and nonlinearities:
(1)
where
is the concentration,
is the convection coefficient,
is time and
is space. Alternatively, (1) can be thought of as a wave propagation equation, where
is the displacement and
is the phase speed. This latter interpretation serves as a convenient starting point for the Korteweg-de Vries development in the next module.
In this module, several concepts that form the foundation for the intricate representer method will be addressed, including:
- definition of a cost functional with constant weights;
- development of the Euler-Lagrange equations and the corresponding adjoint and representer equations;
These will first be introduced in their continuous form, strictly for their instructive value. Next, these concepts will be revisited within the framework of the discretized governing equation: the governing equation will be discretized using a simple, Crank-Nicholson finite difference scheme. The module will then retrace the steps just performed in the continuous domain:
- development of the forward model using a Crank-Nicholson finite difference scheme;
- definition of a discrete cost functional with constant weights;
- development of the discrete Euler-Lagrange equations and the corresponding discrete adjoint and representer equations;
- solution of the discrete adjoint and representer equations to yield discrete adjoint and representer fields;
- calculation of the discrete optimal solution using the most straightforward (and computationally intensive) approach;
Thus far, the construction of the optimal solution has been formal in the sense that the optimal solution thus obtained is physically unrealizable and extremely expensive from a computational point of view. The module will thus turn its attention to obtaining a physical realizable solution:
- definition of a generalized cost functional with weights that are functions of space and time;
- efficient approaches to convolutions owing to the functional weights
Other techniques for accelerating the computations will be covered in later modules.
One-dimensional, nonlinear Korteweg-de Vries equation
The Korteweg-de Vries equation is used to model propagation of internal waves which propagate without change in form; these waves are known as "solitons." The essential difference between the wave propagation equation of Module 1 and the Korteweg-de Vries equation of this module is the presence of a nonlinear term and a dispersion term:
(2)
Here,
and
are coefficients of nonlinearity and dispersion, respectively; these depend on mean stratification and horizontal velocity.
The representer algorithm described in Module 1 is useful only for linear Euler-Lagrange equations, and so is not immediately useful here. Thus, this module discusses:
- the linearization of (2) using a tangent linearization scheme;
- the iterative solution of the linearized Euler-Lagrange equations;
- computation of coupling coefficients using the indirect approach;
- calculation of the optimal solution using the backward/forward sweep;
- techniques to aid convergence and some alternative linearization schemes;
Coming soon, several assimilation products will be illustrated, including:
- the optimal solution for various data arrays (moored data, drifting ship);
- comparison of the optimal solution with and without residuals in the governing equation;
- construction of representer fields using statistical simulation;
- significance test;
- reconstruction of residuals associated with the optimal solution;
- extension of the iterated representer algorithm to parameter estimation;
- analysis of conditioning of the inverse and redundancy of the observing system.
Two-dimensional, linear shallow water equations
This module expands upon the one-dimensional concepts developed in Module 1. The development presented there will be repeated here for the two-dimensional linear shallow water equations:
(3)
(4)
(5)
where
is the surface elevation,
is the bathymetric depth relative to the geoid,
are components of the horizontal velocity vector,
are damping coeficients,
is the coriolis parameter,
is the acceleration of gravity,
are the momentum forcing,
is time and
are Cartesian spatial coordinates.
The development here will parallel the development in Module 1, with special emphasis to the generalization required for multiple spatial dimensions. The initial development, for instructional purposes only, will follow from the continuous governing equations:
- definition of a cost functional with constant weights;
- development of the Euler-Lagrange equations and the corresponding adjoint and representer equations;
The shallow water equations will then be discretized using an explicit scheme on a Arakawa C-grid. The module will then retrace the steps just performed in the continuous domain:
- development of the forward model using a Crank-Nicholson finite difference scheme;
- definition of a discrete cost functional with constant weights;
- development of the discrete Euler-Lagrange equations and the corresponding discrete adjoint and representer equations;
- solution of the discrete adjoint and representer equations to yield discrete adjoint and representer fields;
- calculation of the discrete optimal solution using the most straightforward (and computationally intensive) approach;
Enhancements discussed already in Module 1 will be revisited here, in the multi-dimensional context:
- definition of a generalized cost functional with weights that are functions of space and time;
- efficient approaches to convolutions owing to the functional weights
- calculation of the optimal solution using the backward/forward sweep;
Finally, a technique for accelerating the calculations further is discussed and implemented:
- use of the iterated indirect representer scheme to avoid the necessity of calculating all of the representers.
Two-dimensional, nonlinear shallow water equations (ADCIRC)
This Module utilizes all of the techniques described in Modules 1-3. This is one of the models currently being integrated with the IOM. Explanations, detailed derivations, animations, and discussions of difficulties will be made available here as they are developed.