|
|
|
Next: 5.1 Some basic algebra
Up: manual
Previous: 4.4.3 Estimating Resource Requirements
Contents
Automatic differentiation (AD), also referred to as algorithmic
(or, more loosely, computational) differentiation, involves
automatically deriving code to calculate
partial derivatives from an existing fully non-linear prognostic code.
(see [23]).
A software tool is used that parses and transforms source files
according to a set of linguistic and mathematical rules.
AD tools are like source-to-source translators in that
they parse a program code as input and produce a new program code
as output.
However, unlike a pure source-to-source translation, the output program
represents a new algorithm, such as the evaluation of the
Jacobian, the Hessian, or higher derivative operators.
In principle, a variety of derived algorithms
can be generated automatically in this way.
The MITGCM has been adapted for use with the
Tangent linear and Adjoint Model Compiler (TAMC) and its successor TAF
(Transformation of Algorithms in Fortran), developed
by Ralf Giering ([20], [18,19]).
The first application of the adjoint of the MITGCM for sensitivity
studies has been published by [37].
[48,47] use the MITGCM and its adjoint
for ocean state estimation studies.
In the following we shall refer to TAMC and TAF synonymously,
except were explicitly stated otherwise.
TAMC exploits the chain rule for computing the first
derivative of a function with
respect to a set of input variables.
Treating a given forward code as a composition of operations -
each line representing a compositional element, the chain rule is
rigorously applied to the code, line by line. The resulting
tangent linear or adjoint code,
then, may be thought of as the composition in
forward or reverse order, respectively, of the
Jacobian matrices of the forward code's compositional elements.
Subsections
Next: 5.1 Some basic algebra
Up: manual
Previous: 4.4.3 Estimating Resource Requirements
Contents
mitgcm-support@dev.mitgcm.org
Copyright © 2002
Massachusetts Institute of Technology |
|
|