Some numerical experiments with variable-storage quasi-Newton algorithms
Mathematical Programming: Series A and B
Recipes for adjoint code construction
ACM Transactions on Mathematical Software (TOMS)
Circumventing Storage Limitations in Variational Data Assimilation Studies
SIAM Journal on Scientific Computing
A personal supercomputer for climate research
SC '99 Proceedings of the 1999 ACM/IEEE conference on Supercomputing
Evaluating derivatives: principles and techniques of algorithmic differentiation
Evaluating derivatives: principles and techniques of algorithmic differentiation
Recomputations in reverse mode AD
Automatic differentiation of algorithms
OpenAD/F: A Modular Open-Source Tool for Automatic Differentiation of Fortran Codes
ACM Transactions on Mathematical Software (TOMS)
A methodology for the development of discrete adjoint solvers using automatic differentiation tools
International Journal of Computational Fluid Dynamics
Hi-index | 0.01 |
We describe computational aspects of automatic differentiation applied to global ocean circulation modeling and state estimation. The task of minimizing a cost function measuring the ocean simulation versus observation misfit is achieved through efficient calculation of the cost gradient w.r.t. a set of controls via the adjoint technique. The adjoint code of the parallel MIT general circulation model is generated using TAMC or its successor TAF. To achieve a tractable problem in both CPU and memory requirements, in the light of control flow reversal, the adjoint code relies heavily on the balancing of storing versus recomputation via the checkpointing method. Further savings are achieved by exploiting self-adjointness of part of the computation. To retain scalability of domain decomposition-based parallelism, hand-written adjoint routines are provided. These complement routines of the parallel support package to perform corresponding operations in reverse mode. The unique feature of the TAF tool which enables the dumping of the adjoint state and restart the adjoint integration is exploited to overcome batch execution limitations on HPC machines for large-scale ocean and climate simulations. Strategies to test the correctness of the adjoint-generated gradient are presented. The size of a typical adjoint application is illustrated for the case of the global ocean state estimation problem undertaken by the SIO-JPL-MIT Consortium "Estimating the Circulation and Climate of the Ocean" (ECCO). Results are given by way of example.