Estimating the Circulation & Climate of the Ocean
about ecco | products | model | automatic differentiation | news | publications | computing
home > automatic differentiation
+ automatic differentiation
 

 

TANGENT LINEAR AND ADJOINT CODE GENERATION VIA AUTOMATIC DIFFERENTIATION

(AD)

Automatic Differentiation (AD) is a technology for automatically augmenting computer programs, including arbitrarily complex simulations, with statements for the computation of derivatives (tangent linear, adjoint, Hessian, etc.), also known as sensitivities. AD tools in our context provide source-to-source transformation of a function, given as comouter code, to generate efficient and accurate (truncation-free) code for computing first, second and higher-order derivatives of the given function.

Since the mid-1990's, groups at MIT, SIO, JPL and GFDL have applied AD tools for generating tangent linear and adjoint code for ocean circulation and climate studies. The tools used comprised the Tangent linear and Adjoint Model Compiler (TAMC) as well as its successor, Transformation of Algorithms in Fortran (TAF). This system has so far been used in a practical way to study three broad classes of problems: (i) parameter sensitivity of the climate system, (ii) initial and boundary value sensitivity, and (iii) ocean state estimation (or data assimilation). A description of the implementation of AD in the context of the MITgcm is given in chapter 5 of the MITgcm Online Documentation.

The current ocean state estimation effort may be considered to be among the most complex inverse modeling exercises attempted to date. It has placed the ECCO consortium into a position to push the limits of AD, and given it experience and expertise to address questions as to where and how AD needs to be improved for large scale applications.

Efforts are currently under way to facilitate the access to, and considerably augment the power of existing AD tools through the development of an open-source tool OpenAD.
Here's an (incomplete) list of AD tools: