Adjoint and Data Assimilation Working Group
- 1 Contact information
- 2 Historical Development
- 3 Forward Model Code
- 4 Code Versions, Bug Fixes and Developments
- 5 Summary of Main Adjoint Code Supported Features
- 6 Resources
- 7 Distribution and Use
- 8 Crediting GEOS-Chem adjoint developers
- 9 Current GEOS-Chem Adjoint Research Projects (please add yours!)
- 10 Publications
|Adjoint Working Group Co-Chairs||Kevin Bowman and Dylan Jones|
|Adjoint Model Scientist||Daven Henze|
|Adjoint Co-Model Scientist/GC adjoint support team||Nicolas Bousserez|
|Adjoint Working Group email email@example.com|
|To subscribe to email list||Send email to firstname.lastname@example.org|
|To unsubscribe from email list||Send email to email@example.com|
Original work on the adjoint of GEOS-Chem v6 began in 2003, focusing on the adjoint of the offline aerosol simulation. By 2005, the adjoint was expanded to include a tagged CO simulation and a full chemistry simulation; an adjoint of GEOS-Chem v7 was also developed in the following years. Each of these branches of the adjoint code were been constructed in a hybrid fashion using a combination of automatic differentiation software (TAMC, KPP) and manual coding of both discrete and continuous adjoints. They shared many common elements yet had unique features for different applications.
During the summer of 2009, the existing branches were merged and updated to bring the adjoint into alignment with the latest release of GEOS-Chem, v8-02-01. This merged adjoint model is now the standard adjoint code into which all further development efforts will be placed.
Forward Model Code
The forward model on which the adjoint is based originally corresponded to GEOS-Chem v8-02-01. It was subsequently updated as follows:
- KPP solver for gas-phase chemistry (as in GCv8-02-03)
- Implement Bond 2007 BC/OC emissions (as in GCv8-02-02)
- Apply bug fixes from GCv8-02-02 listed here
- Apply bug fixes from GCv8-02-03 listed here
- Apply bug fixes from GCv8-02-04 listed here
All bug fixes and model updates were previous listed at the top of inverse_driver.f. We have now switched to documenting the code development cycle here in the wiki, see the following section.
Code Versions, Bug Fixes and Developments
Current GEOS-Chem adjoint versions under development
Previous GEOS-Chem adjoint versions released
Summary of Main Adjoint Code Supported Features
- Meteorological fields
- GEOS-3 needs testing
- model resolution
- 4 x 5
- 2 x 2.5
- Nested Asia and NA
- Forward model processes
- PBL mixing
- dry deposition
- wet deposition
- strat / trop exchange with LINOZ and new GMI strat chem (v9-01-03)
- NOy up fluxes (now replaced with new GMI strat chem)
- inorganic aerosol thermodynamics with RPMARES
- inorganic aerosol thermodynamics with ISORROPIA in progress
- sulfate chemistry
- SOA, Dust, sea salt needs doing
- aerosol surface area feedbacks needs updating
- aerosol optical feedbacks needs doing
- all standard emissions included
- Simulation modes
- full chemistry
- tagged CO
- tagged Ox
- offline aerosols (for BC and dust only)
- Observational Operators
- MOPITT CO column
- SCIAMACHY CO column
- AIRS CO column
- IMPROVE BC
- CASTNet (NH4+) needs updating
- GOME / SCIAMACHY NO2 column needs updating
- using KNMI retrieval (Henze)
- using Dalhousie retrieval (Shim)
- SCIAMACHY/OMI NO2
- using Dalhousie retrieval (Bousserez, Padmanabhan)
- TES NH3
- TES O3
- GOSAT CO2
- MLS O3 and TES CO2 in progress
- Control parameters
- Initial Conditions scaling factors (linear or log)
- Emissions scaling factors (linear or log)
- NH3, primary BC/OC, SO2: anthropogenic, natural, bioburn, biomass, ship
- NOx: soil, aircraft, anthropogenic, biofuel, bioburn
- Lightning NOx: injection height, yield in progress
- all other gas-phase tracers: anthropogenic, biofuel, bioburn
- Adjoint sensitivities
- w.r.t. all implemented control parameters
- w.r.t Reaction Rate Parameters
- w.r.t all emissions
- of AQ attainment metrics needs updating
- of spatiotemporally averaged species concentrations (e.g., arctic O3)
- Inverse Hessian approximation
- off-diagonal covariance matrices needs updating
- 3D-Var needs updating
Features may be qualified as:
- needs testing: an implemented feature that we haven't fully used yet
- needs updating: a feature developed with a previous branch that has yet to be updated to GEOS-Chem v8 and the merged adjoint
- needs doing: a feature nobody has tackled the adjoint of yet
- in progress: a feature currently under development
- in pipeline: a feature which has been submitted and awaiting integration into the CVS repository
Primary code developers
Monika Kopacz, Kumaresh Singh, Changsub Shim, Daven Henze
Adjoint model lead scientist
A user's guide is available. http://adjoint.colorado.edu/%7Edaven/gcadj_std/GC_adj_man.pdf
Meemong Lee has created a detailed flowchart of the inverse model code structure. http://adjoint.colorado.edu/~daven/gcadj_std/flowchart.pdf
Some IDL and MATLAB routines for plotting benchmark results. http://adjoint.colorado.edu/~daven/gcadj_std/tools.tar.gz
Background papers and presentations
Several articles and presentations (including a GC adjoint modeling clinic overview from IGC5) providing background information about adjoints. http://adjoint.colorado.edu/~daven/gcadj_std/adj_articles.tar.gz
Distribution and Use
Code for the adjoint is distributed through a CVS server located at adjoint.colorado.edu. Contact Daven Henze to obtain an account on the server.
Even if your office mate has a copy of the code, the best way to obtain the model is to get a CVS account for yourself and download a version from the repository. So please do not copy code directly from others or pass the code along to third parties. This vastly helps with tracking developments and keeping up with model updates.
Use of the adjoint model code follows standard practice for GEOS-Chem. It is expected that any developments that come of individual applications based on this community model will eventually be given back to the community by incorporation of new developments into the standard adjoint code. New development should be submitted to Daven Henze for inclusion in the standard adjoint model code.
Quick guide to CVS
We recommend first taking a look at CVS manual to get a general feel for how this tools works (e.g., http://cvsbook.red-bean.com/cvsbook.html).
Below are some command commands you may use for developing code and checking the status of code updates.
Obtain the latest code:
cvs checkout gcadj_std
Generate a list (modified_files.txt) of all the files in your local copy that differ from the current repository code:
cvs -q status | grep 'Status' | grep -v 'Up-to-date' > modified_files.txt
Determine the difference between your local copy of a file and the version that you originally checked out (i.e., see what you changed):
cvs diff foo_mod.f
Note: arguments such as a filename are optional. Without listing a specific file, cvs will run the command on all files in the current directory.
Determine the difference between your local copy of the code the current version in the repository (i.e., see both what you changed, and what has changed in the repository):
cvs diff -D "now" foo_mod.f
Merge your local file with the current repository version
cvs update foo_mod.f
Obtain a fresh copy of a file in the repository (without merging)
rm foo_mod.f cvs update foo_mod.f
Difference between the local repository and the tagged version “TAGNAME”
cvs diff -r TAGNAME (< file name > for specific file)
Difference between the two tagged versions “TAGNAME1” and “TAGNAME2” in the repository (shows modified files only):
cvs diff -N -c -r TAGNAME2 -r TAGNAME2 | grep "Index:" > output.txt
Please do not use the commit command, which is restricted to the GCadj support team (Daven Henze and Nicolas Bousserez).
Crediting GEOS-Chem adjoint developers
We aim to make distribution of adjoint model code as immediate as possible. A consequence is that many features may not yet be publicly documented. Therefore, giving code developers due credit is of utmost importance.
Authors of new additions to the standard code should be offered co-authorship on the first round of presentations and publications to come of their development. Features currently falling in this category and their developers are:
- (v32) MOPITT v5 CO observation operator. Developer: Zhe Jiang, University of Toronto.
- (v32) Dust adjoint. Developer: Xiaoguang (Richard) Xu, University of Nebraska Lincoln.
- (v32) Black carbon offline aerosol adjoint. Developer: Yuhao Mao (UCLA).
- (v32) Nested full chemistry adjoint. Developers: Zhe Jiang, University of Toronto; Daven Henze, CU Boulder.
- (v32) Stratospheric production / loss rate sensitivities. Developer: Hyungmin Lee, CU Boulder.
- (v32) CH4 adjoint. Developer: Kevin Wecht, Harvard University
- (v31) Asian nested grid for tagged CO. Developer: Zhe Jiang, University of Toronto.
- (v31) MOPITT CO v3 and v4 observation operators. Developer: Zhe Jiang, University of Toronto.
- (v29) LIDORT. Developer: Daven Henze, University of Colorado Boulder. Collaborator: Rob Spurr.
- (v28) CO2 adjoint. Developer: Daven Henze, University of Colorado Boulder. Collaborators: Ray Nassar, Kevin Bowman, Dylan Jones.
Overall, if you have any questions about authorship, even for a conference presentation, please contact Daven Henze.
Current GEOS-Chem Adjoint Research Projects (please add yours!)
|User Group||Description||Contact Person|
|CU Boulder||Aerosol precursors, CO2, O3; general adjoint code maintenance||Daven Henze|
|CU Boulder||Inverse modeling/optimization; general adjoint code maintenance||Nicolas Bousserez|
|Harvard||Methane||Kevin Wecht, wecht [at] fas.harvard.edu|
|Purdue University||Methane (SICAMACHY, AIRS and IASI)||Jinyun Tang|
|MIT||Aircraft emissions||Jamin Koo|
|Princeton||BC sensitivities, general adjoint code development||Monika Kopacz, mkopacz [at] princeton.edu|
|Dalhousie University||Lightning NOx emissions and impact on tropical ozone using the adjoint||Nicolas Bousserez (now at CU-Boulder)|
|Dalhousie University||Surface NOx emissions inversion using SCIAMACHY/OMI NO2 measurements||Akhila Padmanabhan akhila [at] dal.ca; Nicolas Bousserez  (now at CU-Boulder)|
|JPL||Microwave Limb Sounder (MLS) Ozone assimilation||Meemong Lee|
|JPL||TES ozone assimilation/attribution of ozone radiative forcing||Kevin Bowman|
|University of Edinburgh||Quantifying the impact of boreal forest fires on tropospheric oxidants over the Atlantic||Mark Parrington|
|US EPA||Integration with economic models for future emission inventory scenario development||Farhan Akhtar|
|Peking University||Satellite constraints on VOC emissions||May Fu|
|CU Boulder||Aerosol precursor emissions||Alex Turner|
|Purdue University||Feedback between terrestrial ecosystem processes and atmospheric co2 signals||Qing Zhu|
|University of Toronto||Sensitivity of ozone and reactive nitrogen to precursor emissions||Thomas Walker|
|University of Toronto||Adjoint analysis for carbon monoxide||Zhe Jiang|
|Georgia Tech||ISORROPIA adjoint development; inorganic aerosol precursors||Shannon Capps|
|Peking University||Source attributions of tropospheric ozone over North China||Jintai Lin|
|University of Wollongong||Sensitivity of ozone and adjoint analysis of CO over Australasia.||Rebecca Buchholz|
|University of Toronto||CO2 assimilation & transport model bias estimation||Martin Keller|
|Dalhousie University||Sensitivity of global PM2.5-induced mortality to emissions||Colin Lee|
|University of Leicester (UK)||Top-down estimates of Amazon isoprene emissions||Michael Barkley|
|Anyang University||Aerosol emission modeling in East Asia||Youn Seo Koo|
|Nanjing University||Inverse modeling of terrestrial ecosystem carbon flux||Hengmao Wang|
|Tsinghua University||Nested-gird simulations with the adjoint model||Nan Yang|
|University of Minnesota||Inverse modeling of VOC sources based on TES and IASI measurements||Dylan Millet|
- Wang, J., X. Xu, D. K. Henze, Q. Ji, S.-C. Tsay, J. Huang, Top-Down Estimate of Dust Emissions through Integration of MODIS and MISR Aerosol Retrievals with the GEOS-Chem adjoint model, submitted.
- Parrington, M., P. I. Palmer, D. K. Henze, D. W. Tarasick, E. J. Hyer, R. C. Owen, C. Clerbaux, K. W. Bowman, M. N. Deeter, E. M. Barratt, P.-F. Coheur, D. Hurtmans, M. George, and J. R. Worden (2012), The influence of boreal biomass burning emissions on the distribution of tropospheric ozone over North America and the North Atlantic during 2010, Atmos. Chem. Phys., 12, 2077-2098
- Bowman, K. W., and D. K. Henze, Attribution of direct ozone radiative forcing to spatially-resolved emissions, submitted.
- Paulot, F., D. K. Henze, and P. O. Wennberg (2012), Impact of the isoprene photochemical cascade on tropical ozone, Atmos. Chem. Phys., 12, 1307-1325, 2012.
- Henze, D. K., D. T. Shindell, F. Akhtar, R. J. D. Spurr, R. W. Pinder, D. Loughlin, M. Kopacz, K. Singh, and C. Shim, Spatially refined aerosol direct radiative forcing efficiencies, submitted.
- Turner, A., D. K. Henze, R. V. Martin, and A. Hakami, Modeled source influences on column concentrations of short-lived species, submitted.
- Jiang, Z., D. B. A. Jones, H. M. Worden, M. N. Deeter, D. K. Henze, J. Worden, and K. W. Bowman, Quantifying the impact of model biases in convective transport on inferred CO source estimates using multi-spectral CO retrievals from MOPITT, submitted.
- Wecht, K. J., D. J. Jacob, S. C. Wofsy, E. A. Kort, J. R. Worden, S. S. Kulawik, D. K. Henze, M. Kopacz, and V. H. Payne, Validation of TES methane with HIPPO aircraft observations: implications for inverse modeling of methane sources, Atmos. Chem. Phys. Discuss., 11, 27887-27911.
- Walker, T., D. B. A. Jones, M. Parrington, D. K. Henze, L. T. Murray, J. W. Bottenheim, K. Anlauf, J. R. Worden, K. W. Bowman, C. Shim, K. Singh, M. Kopacz, D. W. Tarasick, J. Davies, P. von der Gathen, and C. C. Carouge (2012), Impacts of midlatitude precursor emissions and local photochemistry on ozone abundances in the Arctic, J. Geophys. Res., doi:10.1029/2011JD016370.
- Jiang, Z., D. B. A. Jones, M. Kopacz, J. Liu, D. K. Henze, and C. Heald (2011), Quantifying the impact of model errors on top-down estimates of carbon monoxide emissions using satellite observations, J. Geophys. Res., 116, D15306, doi:10.1029/2010JD015282.
- Singh, K., A. Sandu, Variational Chemical Data Assimilation with Approximate Adjoints, submitted.
- Singh, K., Jardak, M., Sandu, A., Bowman, K., Lee, M., and Jones, D. (2010): Construction of non-diagonal background error covariance matrices for global chemical data assimilation, Geosci. Model Dev. Discuss., 3, 1783-1827, doi:10.5194/gmdd-3-1783-2010. http://www.geosci-model-dev-discuss.net/3/1783/2010/gmdd-3-1783-2010.html
- Kopacz, M., D. L. Mauzerall, J. Wang, E. M. Leibensperger, D. K. Henze, and K. Singh (2011), Origin and radiative forcing of black carbon transported to the Himalayas and Tibetan Plateau, Atmos. Chem. Phys., 11, 2837-2852, 2011. http://www.atmos-chem-phys.net/11/2837/2011/acp-11-2837-2011.html
- Kopacz, M., D.J. Jacob, J.A. Fisher, J. A. Logan, L. Zhang, I. A. Megretskaia, R. M. Yantosca, K. Singh, D. K. Henze, J. P. Burrows, M. Buchwitz, I. Khlystova, W. W. McMillan, J. C. Gille, D. P. Edwards, A. Eldering, V. Thouret, and P. Nedelec (2010): Global estimates of CO sources with high resolution by adjoint inversion of multiple satellite datasets (MOPITT, AIRS, SCIAMACHY, TES), Atmos. Chem. Phys., 10, 855-876. http://www.atmos-chem-phys.net/10/855/2010/acp-10-855-2010.pdf
- Kopacz, M., D. J. Jacob, D. K. Henze, C. L. Heald, D. G. Streets, and Q. Zhang (2009), A comparison of analytical and adjoint Bayesian inversion methods for constraining Asian sources of CO using satellite (MOPITT) measurements of CO columns, J. Geophys. Res., doi:0.1029/2007JD009264. http://acmg.seas.harvard.edu/publications/KopaczJGR2009_2007JD009264.pdf
- Henze, D. K., J. H. Seinfeld and D. T. Shindell (2009), Inverse modeling and mapping U.S. air quality influences of inorganic PM2.5 precursor emissions with the adjoint of GEOS-Chem, Atmos. Chem. Phys., 9, 5877-5903.
- Zhang, L., D. J. Jacob, M. Kopacz, D. K. Henze, K. Singh, and D. A. Jaffe (2009), Intercontinental source attribution of ozone pollution at western U.S. sites using an adjoint method, Geophys. Res. Lett., 36, L11810, doi:10.1029/2009GL037950
- Henze, D. K., A. Hakami and J. H. Seinfeld (2007), Development of the adjoint of GEOS-Chem, Atmos. Chem. Phys., 7, 2413-2433.
- Adjoint inversion of CO sources using combined MOPITT, SCIAMACHY and AIRS CO columns, presented by Monika Kopacz at the COSPAR Scientific Assembly, Montreal, July 18, 2008. http://acmg.seas.harvard.edu/presentations/powerpoints/mak2008/COSPAR_MKopacz_July2008.ppt
- Singh, K., P. Eller, A. Sandu, D. K. Henze, K. Bowman, M. Kopacz, and M. Lee (2009), Towards the construction of a standard geos-chem adjoint model, ACM High Performance Computing Conference.
- Kopacz, M., Mauzerall, D.L., Leibensperger, E.M., Wang, J., Henze, D.K., Singh, K., Shim, C. Identifying the origin and estimating the radiative forcing of BC in the Himalayas: an analysis using the global GEOS-Chem adjoint model, European Geophysical Union meeting, Vienna, May 4, 2010.
- Kopacz, M., Jacob, D.J., Fisher, J.A., Logan, J.A., Zhang, L., Megretskaia, I.A., Yantosca, R.M., Singh, K., Henze, D.K., Burrows, J.P., Buchwitz, M., Khlystova, I., McMillan, W.W., Gille, J.C., Edwards, D.P., Eldering, A., Thouret, V., Nedelec, P. Global estimates of CO sources with high resolution by adjoint inversion of multiple satellite datasets (MOPITT, AIRS, SCIAMACHY, TES), European Geophysical Union meeting, Vienna, May 7, 2010.
- Tang, J., Zhuang, Q. and Xiong, X. (2010), 4D-Var inversion of atmospheric methane fluxes by assimilating SCIAMACHY and AIRS satellite retrievals, AGU, Dec. 18, 2010, http:/web.ics.purdue.edu/~tang16/agu2010_tang.ppt
- Bousserez, N., R. V. Martin, K. W. Bowman, D.K. Henze, M. Kopacz, K. Singh, C. Shim, C. Wespes, Improving the lightning NOx source using satellite observations: a 4D-var analysis approach, AGU, Dec., 2010, http://myweb.dal.ca/nc689777/AGU_liNOx_poster_final.pdf