{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2024,7,16]],"date-time":"2024-07-16T18:37:38Z","timestamp":1721155058042},"reference-count":34,"publisher":"Association for Computing Machinery (ACM)","issue":"4","content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Math. Softw."],"published-print":{"date-parts":[[1998,12]]},"abstract":"Adjoint models are increasingly being developed for use in meteorology and oceanography. Typical applications are data assimilation, model tuning, sensitivity analysis, and determination of singular vectors. The adjoint model computes the gradient of a cost function with respect to control variables. Generation of adjoint code may be seen as the special case of differentiation of algorithms in reverse mode, where the dependent function is a scalar. The described method for adjoint code generation is based on a few basic principles, which permits the establishment of simple construction rules for adjoint statements and complete adjoint subprograms. These rules are presented and illustrated with some examples. Conflicts that occur due to loops and redefinition of variables are also discussed. Direct coding of the adjoint of a more sophisticated model is extremely time consuming and subject to errors. Hence, automatic generation of adjoint code represents a distinct advantage. An implementation of the method, described in this article, is the tangent linear and adjoint model compiler (TAMC).<\/jats:p>","DOI":"10.1145\/293686.293695","type":"journal-article","created":{"date-parts":[[2002,7,27]],"date-time":"2002-07-27T11:29:03Z","timestamp":1027769343000},"page":"437-474","update-policy":"http:\/\/dx.doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":581,"title":["Recipes for adjoint code construction"],"prefix":"10.1145","volume":"24","author":[{"given":"Ralf","family":"Giering","sequence":"first","affiliation":[{"name":"Max-Planck-Institut f\u00fcr Meteorologie"}]},{"given":"Thomas","family":"Kaminski","sequence":"additional","affiliation":[{"name":"Max-Planck-Institut f\u00fcr Meteorologie"}]}],"member":"320","published-online":{"date-parts":[[1998,12]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"crossref","volume-title":"Dependence Analysis for Supercomputing","author":"BANERJEE U.","DOI":"10.1007\/978-1-4684-6894-6"},{"key":"e_1_2_1_2_1","doi-asserted-by":"crossref","first-page":"317","DOI":"10.1016\/0304-3975(83)90110-X","article-title":"The complexity of partial derivatives","volume":"22","author":"BAUR W.","year":"1983","journal-title":"Theoretical Computer Science"},{"key":"e_1_2_1_3_1","doi-asserted-by":"crossref","first-page":"219","DOI":"10.1016\/0377-0265(89)90041-9","article-title":"The Kalman smoother for a linear quasi-geostrophic model of ocean circulation","volume":"13","author":"BENNET W.","year":"1989","journal-title":"Dynamics of Atmospheres and Oceans"},{"key":"e_1_2_1_4_1","volume-title":"Argonne National Laboratory, Argonne, Ill. To appear in IEEE Computational Science &","author":"BISCHOF C. H."},{"key":"e_1_2_1_5_1","doi-asserted-by":"crossref","first-page":"2794","DOI":"10.1063\/1.525186","article-title":"Sensitivity theory for nonlinear systems. Part I: Nonlinear functional analysis approach","volume":"22","author":"CACUCCI D.","year":"1981","journal-title":"Journal of Mathematical Physics"},{"key":"e_1_2_1_6_1","volume-title":"School of Information Sciences","author":"CHRISTIANSON B."},{"key":"e_1_2_1_7_1","doi-asserted-by":"crossref","first-page":"1329","DOI":"10.1002\/qj.49711347813","article-title":"Variational assimilation of meteorological observations with the adjoint vorticity equation Part II: Numerical results","volume":"113","author":"COURTIER P.","year":"1987","journal-title":"Quarterly Journal of the Royal Meteorological Society"},{"key":"e_1_2_1_8_1","doi-asserted-by":"crossref","first-page":"171","DOI":"10.1016\/0377-0265(89)90040-7","article-title":"Meteorological data assimilation for oceanographers. Part I: Description and theoretical framework","volume":"13","author":"GHIL M.","year":"1989","journal-title":"Dynamics of Atmospheres and Oceans"},{"key":"e_1_2_1_9_1","volume-title":"Users manual","author":"GIERING R."},{"key":"e_1_2_1_10_1","unstructured":"GIERING R. AND MAIER-REIMER E. 1997. Data assimilation into the Hamburg LSG OGCM with its adjoint model in prep. GIERING R. AND MAIER-REIMER E. 1997. Data assimilation into the Hamburg LSG OGCM with its adjoint model in prep."},{"key":"e_1_2_1_11_1","doi-asserted-by":"crossref","first-page":"13","DOI":"10.1080\/10556789208805503","article-title":"Automatic Differentiation and Iterative Processes","volume":"1","author":"GILBERT J.","year":"1992","journal-title":"Optimization Methods and Software"},{"key":"e_1_2_1_12_1","volume-title":"Mathematical Programming: Recent Developments and Applications","author":"GRIEWANK A."},{"key":"e_1_2_1_13_1","doi-asserted-by":"crossref","first-page":"35","DOI":"10.1080\/10556789208805505","article-title":"Achieving logarithmic growth of temporal and spatial complexity in reverse automatic differentiation","volume":"1","author":"GRIEWANK A.","year":"1992","journal-title":"Optimization Methods and Software"},{"key":"e_1_2_1_14_1","doi-asserted-by":"crossref","first-page":"5","DOI":"10.1016\/S0079-1946(97)81142-1","article-title":"Sensitivity of the seasonal cycle of CO2 at remote monitoring stations with respect to seasonal surface exchange fluxes determined with the adjoint of an atmospheric transport model","volume":"21","author":"KAMINSKI T.","year":"1996","journal-title":"Physics and Chemistry of the Earth"},{"key":"e_1_2_1_15_1","first-page":"75","volume-title":"Computational Differentiation: Techniques, Applications, and Tools","author":"KEARFOTT R."},{"key":"e_1_2_1_16_1","volume-title":"Program Flow Analysis: Theory and Applications","author":"KENNEDY K."},{"key":"e_1_2_1_17_1","doi-asserted-by":"crossref","first-page":"379","DOI":"10.1016\/0377-0265(89)90047-X","article-title":"Data assimilation into a numerical equatorial ocean model. Part I: The model and assimilation algorithm","volume":"13","author":"LONG R.","year":"1989","journal-title":"Dynamics of Atmospheres and Oceans"},{"key":"e_1_2_1_18_1","doi-asserted-by":"crossref","first-page":"413","DOI":"10.1016\/0377-0265(89)90048-1","article-title":"Data assimilation into a numerical equatorial ocean model. Part II: Assimilation experiments","volume":"13","author":"LONG R.","year":"1989","journal-title":"Dynamics of Atmospheres and Oceans"},{"key":"e_1_2_1_19_1","first-page":"C107","volume-title":"EGS 16th General Assembly","author":"F.","year":"1991"},{"key":"e_1_2_1_20_1","unstructured":"MAROTZKE J. ZHANG Q. GIERING R. STAMMER D. HILL C. AND LEE T. 1998. The Linearization and Adjoint of the MIT Ocean General Circulation Model. in prep. MAROTZKE J. ZHANG Q. GIERING R. STAMMER D. HILL C. AND LEE T. 1998. The Linearization and Adjoint of the MIT Ocean General Circulation Model. in prep."},{"key":"e_1_2_1_21_1","volume-title":"Fortran Library Manual--Mark 13","author":"NAG"},{"key":"e_1_2_1_23_1","doi-asserted-by":"crossref","first-page":"558","DOI":"10.3402\/tellusa.v45i5.15060","article-title":"Automatic differentiation in Odyss~e","volume":"45","author":"ROSTAING N.","year":"1993","journal-title":"Tellus"},{"key":"e_1_2_1_24_1","first-page":"257","volume-title":"Ocean Circulation Models: Combining Data and Dynamics","author":"SCHR TER"},{"key":"e_1_2_1_25_1","doi-asserted-by":"crossref","first-page":"925","DOI":"10.1175\/1520-0485(1993)023<0925:VAOGDI>2.0.CO;2","article-title":"Variational assimilation of GEOSAT data into an eddy-resolving model of the gulf-stream extension area","volume":"23","author":"SCHR TER","year":"1992","journal-title":"Journal of Physical Oceanography"},{"key":"e_1_2_1_27_1","first-page":"169","volume-title":"Automatic Differentiation of Algorithms: Theory, Implementation and Application","author":"TALAGRAND O."},{"key":"e_1_2_1_28_1","doi-asserted-by":"crossref","first-page":"1311","DOI":"10.1002\/qj.49711347812","article-title":"Variational assimilation of meteorological observations with the adjoint vorticity equation Part I: Theory","volume":"113","author":"TALAGRAND O.","year":"1987","journal-title":"Quarterly Journal of the Royal Meteorological Society"},{"key":"e_1_2_1_29_1","unstructured":"THACKER W. 1987. Three lectures on fitting numerical models to observations. Technical report GKSS Forschungszentrum Geesthacht GmbH Geesthacht Federal Republic of Germany. THACKER W. 1987. Three lectures on fitting numerical models to observations. Technical report GKSS Forschungszentrum Geesthacht GmbH Geesthacht Federal Republic of Germany."},{"key":"e_1_2_1_30_1","first-page":"191","volume-title":"Automatic Differentiation of Algorithms: Theory, Implementation and Application","author":"THACKER W."},{"key":"e_1_2_1_31_1","doi-asserted-by":"crossref","first-page":"1471","DOI":"10.1175\/1520-0485(1989)019<1471:AOCEAT>2.0.CO;2","article-title":"An optimal control\/adjoint equation approach to studying the ocean general circulation","volume":"19","author":"TZIPERMAN E.","year":"1989","journal-title":"Journal of Physical Oceanography"},{"key":"e_1_2_1_32_1","doi-asserted-by":"crossref","first-page":"1434","DOI":"10.1175\/1520-0485(1992)022<1434:ODAUAG>2.0.CO;2","article-title":"Ocean data analysis using a general circulation model, I, simulations","volume":"22","author":"TZIPERMAN E.","year":"1992","journal-title":"Journal of Physical Oceanography"},{"key":"e_1_2_1_33_1","doi-asserted-by":"crossref","first-page":"1458","DOI":"10.1175\/1520-0485(1992)022<1458:ODAUAG>2.0.CO;2","article-title":"Ocean data analysis using a general circulation model, II, North Atlantic model","volume":"22","author":"TZIPERMAN E.","year":"1992","journal-title":"Journal of Physical Oceanography"},{"key":"e_1_2_1_34_1","volume-title":"Workshop on Adjoint Applications in Dynamic Meterology","author":"WEBSTER S.","year":"1994"},{"issue":"8","key":"e_1_2_1_35_1","doi-asserted-by":"crossref","first-page":"1123","DOI":"10.1175\/1520-0469(1996)053<1123:GAFPPW>2.0.CO;2","article-title":"Generalized adjoint for physical processes with parameterized discontinuities: Part i: Basic issues and heuristic examples","volume":"53","author":"Q.","year":"1996","journal-title":"J. Atmospheric Sciences"},{"issue":"8","key":"e_1_2_1_36_1","doi-asserted-by":"crossref","first-page":"1143","DOI":"10.1175\/1520-0469(1996)053<1143:GAFPPW>2.0.CO;2","article-title":"Generalized adjoint for physical processes with parameterized discontinuities: Part ii: Vector formulations and matching conditions","volume":"53","author":"Q.","year":"1996","journal-title":"J. Atmospheric Sciences"}],"container-title":["ACM Transactions on Mathematical Software"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/293686.293695","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,12,31]],"date-time":"2022-12-31T10:04:34Z","timestamp":1672481074000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/293686.293695"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1998,12]]},"references-count":34,"journal-issue":{"issue":"4","published-print":{"date-parts":[[1998,12]]}},"alternative-id":["10.1145\/293686.293695"],"URL":"http:\/\/dx.doi.org\/10.1145\/293686.293695","relation":{},"ISSN":["0098-3500","1557-7295"],"issn-type":[{"value":"0098-3500","type":"print"},{"value":"1557-7295","type":"electronic"}],"subject":[],"published":{"date-parts":[[1998,12]]},"assertion":[{"value":"1998-12-01","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}