+ automatic differentiation 
home 





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 sourcetosource transformation of a function, given as comouter code, to generate efficient and accurate (truncationfree) code for computing first, second and higherorder derivatives of the given function.
Since the mid1990'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. AD has 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 in 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 in the Earth sciences and beyond.
Efforts are currently under way to facilitate the access to, and considerably augment the power of existing AD tools through the development of an opensource tool OpenAD.
Here's an (incomplete) list of other AD tools:

