{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,5,19]],"date-time":"2026-05-19T07:12:07Z","timestamp":1779174727162,"version":"3.51.4"},"reference-count":38,"publisher":"Association for Computing Machinery (ACM)","issue":"4","license":[{"start":{"date-parts":[[2008,7,1]],"date-time":"2008-07-01T00:00:00Z","timestamp":1214870400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/100000001","name":"National Science Foundation","doi-asserted-by":"publisher","award":["OCE-0205590"],"award-info":[{"award-number":["OCE-0205590"]}],"id":[{"id":"10.13039\/100000001","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/100000001","name":"National Science Foundation","doi-asserted-by":"publisher","award":["OCE-0530867"],"award-info":[{"award-number":["OCE-0530867"]}],"id":[{"id":"10.13039\/100000001","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Math. Softw."],"published-print":{"date-parts":[[2008,7,15]]},"abstract":"<jats:p>The Open\/ADF tool allows the evaluation of derivatives of functions defined by a Fortran program. The derivative evaluation is performed by a Fortran code resulting from the analysis and transformation of the original program that defines the function of interest. Open\/ADF has been designed with a particular emphasis on modularity, flexibility, and the use of open source components. While the code transformation follows the basic principles of automatic differentiation, the tool implements new algorithmic approaches at various levels, for example, for basic block preaccumulation and call graph reversal. Unlike most other automatic differentiation tools, Open\/ADF uses components provided by the Open\/AD framework, which supports a comparatively easy extension of the code transformations in a language-independent fashion. It uses code analysis results implemented in the OpenAnalysis component. The interface to the language-independent transformation engine is an XML-based format, specified through an XML schema. The implemented transformation algorithms allow efficient derivative computations using locally optimized cross-country sequences of vertex, edge, and face elimination steps. Specifically, for the generation of adjoint codes, Open\/ADF supports various code reversal schemes with hierarchical checkpointing at the subroutine level. As an example from geophysical fluid dynamics, a nonlinear time-dependent scalable, yet simple, barotropic ocean model is considered. OpenAD\/F's reverse mode is applied to compute sensitivities of some of the model's transport properties with respect to gridded fields such as bottom topography as independent (control) variables.<\/jats:p>","DOI":"10.1145\/1377596.1377598","type":"journal-article","created":{"date-parts":[[2008,7,22]],"date-time":"2008-07-22T09:04:05Z","timestamp":1216717445000},"page":"1-36","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":94,"title":["OpenAD\/F"],"prefix":"10.1145","volume":"34","author":[{"given":"Jean","family":"Utke","sequence":"first","affiliation":[{"name":"Argonne National Laboratory"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Uwe","family":"Naumann","sequence":"additional","affiliation":[{"name":"RWTH Aachen University"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Mike","family":"Fagan","sequence":"additional","affiliation":[{"name":"Rice University"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Nathan","family":"Tallent","sequence":"additional","affiliation":[{"name":"Rice University"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Michelle","family":"Strout","sequence":"additional","affiliation":[{"name":"Colorado State University"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Patrick","family":"Heimbach","sequence":"additional","affiliation":[{"name":"Massachusetts Institute of Technology"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Chris","family":"Hill","sequence":"additional","affiliation":[{"name":"Massachusetts Institute of Technology"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Carl","family":"Wunsch","sequence":"additional","affiliation":[{"name":"Massachusetts Institute of Technology"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2008,7]]},"reference":[{"key":"e_1_2_1_1_1","unstructured":"ACTS. 2007. Adjoint compiler technology and standards project. http:\/\/www.autodiff.org\/ACTS."},{"key":"e_1_2_1_2_1","unstructured":"ADIC. 2007. http:\/\/www.mcs.anl.gov\/adicserver."},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","unstructured":"Aho A. Sethi R. and Ullman J. 1986. Compilers. Principles Techniques and Tools. Addison-Wesley Reading MA.","DOI":"10.5555\/6448"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.5555\/1760988.1761057"},{"key":"e_1_2_1_5_1","volume-title":"Eds","author":"Berz M.","year":"1996","unstructured":"Berz, M., Bischof, C., Corliss, G., and Griewank, A., Eds. 1996. Computational Differentiation: Techniques, Applications, and Tools. Proceedings Series. SIAM, Philadelphia, PA."},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.5555\/1213040"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.5555\/571034"},{"key":"e_1_2_1_8_1","volume-title":"Eds","author":"Corliss G.","year":"1991","unstructured":"Corliss, G. and Griewank, A., Eds. 1991. In Proceedings of Automatic Differentiation: Theory, Implementation, and Application. SIAM, Philadelphia, PA."},{"key":"e_1_2_1_9_1","unstructured":"Faure C. and Papegay Y. 1997. Odyss\u00e9e version 1.6: The user's reference manual. Tech. rep. Sophia Antipolis Projet SAFIR. http:\/\/www.inria.fr\/recherche\/equipes\/safir.en.html."},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/293686.293695"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.5555\/335134"},{"key":"e_1_2_1_12_1","volume-title":"Proceedings of Automatic Differentiation: Theory, Implementation, and Application. SIAM, 126--135","author":"Griewank A.","unstructured":"Griewank, A. and Reese, S. 1991. On the calculation of Jacobian matrices by the Markovitz rule. In Proceedings of Automatic Differentiation: Theory, Implementation, and Application. SIAM, 126--135."},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.future.2004.11.009"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.future.2004.11.010"},{"key":"e_1_2_1_15_1","unstructured":"Hovland P. Naumann U. and Norris B. 2002. An XML-based platform for semantic transformation of numerical programs. In Software Engineering and Applications (SEA'02) M. Hamza Ed. ACTA Press Anaheim CA 530--538."},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1175\/1520-0426(2003)020<1685:BTAACV>2.0.CO;2"},{"key":"e_1_2_1_17_1","article-title":"Construction of the adjoint MIT ocean general circulation model and application to Atlantic heat transport variability","volume":"104","author":"Marotzke J.","year":"1999","unstructured":"Marotzke, J., Giering, R., Zhang, K., Stammer, D., Hill, C., and Lee, T. 1999. Construction of the adjoint MIT ocean general circulation model and application to Atlantic heat transport variability. J. Geophys. Resear. 104, C12, 29, 529--29, 547.","journal-title":"J. Geophys. Resear."},{"key":"e_1_2_1_18_1","article-title":"A finite-volume, incompressible Navier Stokes model for studies of the ocean on parallel computers","volume":"102","author":"Marshall J.","year":"1997","unstructured":"Marshall, J., Adcroft, A., Hill, C., Perelman, L., and Heisey, C. 1997. A finite-volume, incompressible Navier Stokes model for studies of the ocean on parallel computers. J. Geophys. Resear. 102, C3, 5,753--5,766.","journal-title":"J. Geophys. Resear."},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.5555\/571034.571070"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10107-003-0456-9"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","unstructured":"Naumann U. 2006. Optimal Jacobian accumulation is NP-complete. Math. Prog. published online at www.springerlink.com. 10.1007\/s10107-006-0042-z","DOI":"10.1007\/s10107-006-0042-z"},{"key":"e_1_2_1_22_1","doi-asserted-by":"crossref","unstructured":"Naumann U. and Gottschling P. 2003. Simulated annealing for optimal pivot selection in Jacobian accumulation. In Stochastic Algorithms: Foundations and Applications A. Albrecht and K. Steinh\u00f6fel Eds. Lecture Notes in Computer Science vol. 2827. Springer 83--97.","DOI":"10.1007\/978-3-540-39816-5_8"},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1007\/11428831_42"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1109\/SCAM.2004.8"},{"key":"e_1_2_1_25_1","unstructured":"NEOS. 2007. Network enhanced optimization server. http:\/\/www-neos.mcs.anl.gov\/."},{"key":"e_1_2_1_26_1","unstructured":"OpenAD. 2007. http:\/\/www.mcs.anl.gov\/OpenAD."},{"key":"e_1_2_1_27_1","unstructured":"OpenMP. 2007. http:\/\/www.openmp.org."},{"key":"e_1_2_1_28_1","first-page":"C9","article-title":"The global ocean circulation and transports during 1992 -- 1997, estimated from ocean observations and a general circulation model","volume":"107","author":"Stammer D.","year":"2002","unstructured":"Stammer, D., Wunsch, C., Giering, R., Eckert, C., Heimbach, P., Marotzke, J., Adcroft, A., Hill, C., and Marshall, J. 2002. The global ocean circulation and transports during 1992 -- 1997, estimated from ocean observations and a general circulation model. J. Geophys. Resear. 107, C9, 3118.","journal-title":"J. Geophys. Resear."},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1007\/11758549_79"},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/1108792.1108810"},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-28438-9_11"},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.jss.2006.02.038"},{"key":"e_1_2_1_33_1","volume-title":"Proceedings of Software Engineering and Applications (SEA'03)","author":"Utke J.","unstructured":"Utke, J. and Naumann, U. 2003. Software technological issues in automatizing the semantic transformation of numerical programs. In Proceedings of Software Engineering and Applications (SEA'03), M. Hamza, Ed. ACTA Press, Anaheim, CA, 417--422."},{"key":"e_1_2_1_34_1","volume-title":"Proceedings of Software Engineering and Applications (SEA'04)","author":"Utke J.","unstructured":"Utke, J. and Naumann, U. 2004. Separating language dependent and independent tasks for the semantic transformation of numerical programs. In Proceedings of Software Engineering and Applications (SEA'04), M. Hamza, Ed. ACTA Press, Anaheim, CA, 552--558."},{"key":"e_1_2_1_35_1","unstructured":"Utke J. and Naumann U. 2006. OpenAD\/F: User manual. Tech. rep. Argonne National Laboratory. http:\/\/www.mcs.anl.gov\/openad\/."},{"key":"e_1_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1145\/355586.364791"},{"key":"e_1_2_1_37_1","volume-title":"Discrete Inverse and State Estimation Problems: With Geophysical Fluid Applications","author":"Wunsch C.","unstructured":"Wunsch, C. 2006. Discrete Inverse and State Estimation Problems: With Geophysical Fluid Applications. Cambridge University Press, Cambridge, UK."},{"key":"e_1_2_1_38_1","doi-asserted-by":"crossref","unstructured":"Wunsch C. and Heimbach P. 2007. Practical global oceanic state estimation. Physica D. To appear. 230 197--208.","DOI":"10.1016\/j.physd.2006.09.040"}],"container-title":["ACM Transactions on Mathematical Software"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1377596.1377598","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1377596.1377598","content-type":"application\/pdf","content-version":"vor","intended-application":"syndication"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1377596.1377598","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,11,18]],"date-time":"2025-11-18T09:32:24Z","timestamp":1763458344000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1377596.1377598"}},"subtitle":["A Modular Open-Source Tool for Automatic Differentiation of Fortran Codes"],"short-title":[],"issued":{"date-parts":[[2008,7]]},"references-count":38,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2008,7,15]]}},"alternative-id":["10.1145\/1377596.1377598"],"URL":"https:\/\/doi.org\/10.1145\/1377596.1377598","relation":{},"ISSN":["0098-3500","1557-7295"],"issn-type":[{"value":"0098-3500","type":"print"},{"value":"1557-7295","type":"electronic"}],"subject":[],"published":{"date-parts":[[2008,7]]},"assertion":[{"value":"2000-11-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2007-07-01","order":2,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2008-07-01","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}