Tangent linear and Adjoint models

Adjoint Modeling

A typical question 'asked' of a model is:

what is the sensitivity of a large number of output parameters w.r.t. one (or a small number) of input parameters? For example the CO2 concentration in an atmospheric model is doubled and this 'projects' on to the myriad output parameters of the model.

But often a more useful question is to ask:

what is the sensitivity of a small number of output parameters w.r.t. a large number of input variables? For example, to what parameter in the model is the global-mean temperature at the surface of the earth most sensitive?

The former question can be answered by use of the tangent linear model or by Monte-Carlo approaches. The latter question can be answered using the adjoint of the tangent linear model and involves integration of it backwards in time to yield the sensitivity of some scalar function of the output parameters to input parameters.

Often one is more interested in the answer to the latter question but, unless the adjoint of the tangent linear model is available, it involves prohibitively many forward integrations, each one corresponding to a small change in one of the many input parameters.

CMI has put much effort on to the development of models that can be 'automatically differentiated'. MITgcm is one of the very few models that have sibling tangent-linear and adjoint codes. Moreover, they are maintained automatically using an automatic adjoint compiler.

Look here for details of our studies on Automatic Differentiation.

Applications of our adjoint techniques can be found here.

Technical web sites on AD are here: