GEOS-Chem Adjoint Model

From Geos-chem
Jump to navigation Jump to search

Adjoint and Data Assimilation Working Group

Contact information

Adjoint Working Group Co-Chairs Kevin Bowman and Dylan Jones
Adjoint Model Scientist Daven Henze
GC adjoint support team Yanko Davila, Nicolas Bousserez
Adjoint Working Group email list geos-chem-adjoint@seas.harvard.edu
To subscribe to email list Send email to geos-chem-adjoint-join@seas.harvard.edu
To unsubscribe from email list Send email to geos-chem-adjoint-leave@seas.harvard.edu

Historical Development

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 version released

Previous GEOS-Chem adjoint versions released

Summary of Main Adjoint Code Supported Features

Features

  • Meteorological fields
    • GEOS-3 needs testing
    • GEOS-4
    • GEOS-5
  • model resolution
    • 4 x 5
    • 2 x 2.5
    • Nested Asia and NA
  • Forward model processes
    • convection
    • advection
    • 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)
    • aerosols
      • inorganic aerosol thermodynamics with RPMARES
      • inorganic aerosol thermodynamics with ISORROPIA in progress
      • sulfate chemistry
      • BC
      • SOA, Dust, sea salt needs doing
      • aerosol surface area feedbacks needs updating
      • aerosol optical feedbacks needs doing
    • emissions
      • all standard emissions included
  • Simulation modes
    • full chemistry
    • tagged CO
    • tagged Ox
    • CH4
    • offline aerosols (for BC and dust only)
    • CO2
  • 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)
  • Other
    • 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

Daven Henze


Resources

User's guide

A user's guide v35 is available. User's Guide v35

Previous version v32-v33 available at User's Guide v32

Code flowchart

Meemong Lee has created a detailed flowchart of the inverse model code structure. http://adjoint.colorado.edu/~daven/gcadj_std/flowchart.pdf

Plotting tools

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 GITLAB, a web interface connected to a GIT server located at adjoint.colorado.edu. You can access GITLAB at http://adjoint.colorado.edu:8080 after your account is created. Here is our Quick Start Guide.

Even if your office mate has a copy of the code, the best way to obtain the model is to get an 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.

Using GIT gives the users the ability to change the code and commit their changes without affecting the main repository hosted at adjoint.colorado.edu. Users can work with their tuned versions of the code and even create their own tags because GIT acts as a local repository. When ready to submit your update to the comunity just send Daven Henze your patch and we'll take care of the rest.

Quick guide to GIT

As of version 34 we started using git versioning system. We recommend first taking a look at GIT manual to get a general feel for how this tools works (e.g., GIT Documentation or GIT Manual Page).


Useful GIT commands:

Initial download:

git clone ssh://git@adjoint.colorado.edu:2222/yanko.davila/gcadj_std.git

Status of project vs the current repository:

git status

Check difference of files (differences have colors for easy reading)

git diff --word-diff=color <wildcard> [<wildcard>] <path>/foo_mod.f

Checkout specific version

git checkout <wildcard>

Replacing a file with the newest version from the repository:

git checkout origin/master -- <path>/foo_mod.f

Merging changes in a file: (Reference)

git merge -m <wildcard> 

Comitting

git commit -a

Tagging a version

git tag -a TAGNAME

Deleting a tag

git tag -d TAGNAME
git push origin :refs/tags/TAGNAME

Saving changes to repository

git push

Saving tags to repository

git push --tags

List the history of a file:

git log -- <path>/foo_mod.f

Add a file to the repository

git add <file_name>

Delete a file from the repository

git rm <file_name>

Determine current version

git show HEAD [ | grep commit]

Download remote changes, rewind your local branch, then replays all your changes over the top of your current branch one by one, until you’re all up to date.

git pull --rebase

There are several wildcards that you can use on git for example:
"origin/master" - Latest version on the repository
"HEAD" - Latest version as of your last download
"v33i" - Specific TAG, find all tag names on GitLab
"32d5c926e" - Specific COMMIT, find all commit numbers on GitLab

Here is the foward model documentation of git.

Backward compatibility (CVS)

For people using old version of the code we still have active our CVS repository, but note that the latest version on CVS is v33i-patch2. Here you can find our Quick Guide to CVS

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:

  • (v35) Deposition based cost function. Fabien Paulot, Harvard; Daven Henze and Yanko Davila, CU Boulder.
  • (v34) Implementation of the sensitivity to reaction rate constants. Developers: Hyungmin Lee, CU Boulder; Thomas ; Fabien Paulot (Harvard); Daven Henze, CU Boulder and Yanko Davila, CU Boulder.
  • (v34) ISOROPIA II adjoint. Developer: Shannon Capps, EPA.
  • (v34) Off-diagonal covariance error matrices implementation. Developers: Nicolas Bousserez, CU Boulder; Kumaresh; Yanko Davila, CU Boulder.
  • (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: Hyung-Min Lee, CU Boulder.
  • (v32) CH4 adjoint. Developer: Kevin Wecht, Harvard University
  • (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.

Citation of the appropriate journal articles for mature developments is also encouraged, as well as considering aspects of co-authorship for the forward model.

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; CO2 fluxes inversion (CMS project); general adjoint code maintenance Nicolas Bousserez
CU Boulder Sensitivity of nitrate deposition over Antarctica including stratospheric tracers Hyung-Min Lee
CU Boulder GEOS-Chem Research Carl Husmann
Harvard Methane Kevin Wecht, wecht [at] fas.harvard.edu
Harvard Smoke Emissions in SE Asia Patrick Kim, kim68 [at] fas.harvard.edu
Harvard Methane from GOSAT Alex Turner, aturner [at] fas.harvard.edu
Purdue University Methane (SICAMACHY, AIRS and IASI) Jinyun Tang
MIT Aircraft emissions Jamin Koo
MIT Air quality, aircraft emissions and sensitivities Bogdan V. Constantin
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 [1] (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
Peking University Inverse modeling of Hg sources over east Asia Huanhuan Wang
IAP.CAS CO2 assimilation Chen
Purdue University Feedback between terrestrial ecosystem processes and atmospheric co2 signals Qing Zhu
Purdue University Feedback between aquatic ecosystem processes and atmospheric CH4 signals Zeli Tan
University of Toronto Sensitivity of ozone and reactive nitrogen to precursor emissions Thomas Walker
University of Toronto Adjoint analysis for carbon monoxide Zhe Jiang
University of Toronto Sensitivity of ozone and CO to precursor emissions Cynthia Whaley
Georgia Tech / US EPA ISORROPIA adjoint development; NH3 assimilation; cloud droplet sensitivities 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
University of Wisconsin CO2 assimilation and forecast & Temperature profile retrieval Wenguang Bai
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 Kelley Wells, Dylan Millet
University of Minnesota & CU Boulder Inverse modeling of N2O sources Dylan Millet, Daven Henze
Tsinghua University Inverse modeling of anthropogenic emissions over East Asia Qiang Zhang
UCLA Constrain black carbon emission Ling Qi
UCLA source attribution of ozone in the western U.S. Mei Gao
NUS Effects of emissions on ozone Ren Tianyang

Publications

Journal Articles

  • In press or sumbitted
    • 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, JGR, in press.
    • Kharol, S., R. V. Martin, S. Philip, S. Vogel, D. K. Henze, D. Chen, Y. Wang, Q. Zhang, C. L. Heald, Persistent Sensitivity of Asian Aerosol to Emissions of Nitrogen Oxides, GRL, in press.
    • Koo, J., Q. Wang, D. K. Henze, I. A. Waitz, S.R.H. Barrett, Spatial sensitivities of human health risk to intercontinental and high-altitude pollution, Atmos. Environ, in press.
    • L. Zhu, D. K. Henze, K. E. Cady-Pereira, M. W. Shephard, M. Luo, R. W. Pinder, J. O. Bash, G. Jeong, Constraining U.S. ammonia emissions using TES remote sensing observations and the GEOS-Chem adjoint model, JGR, in press.
    • Paulot, F., D. J. Jacob and D. K. Henze, Sources and processes contributing to nitrogen deposition in biodiversity hotspots worldwide, submitted.
    • Singh, K., A. Sandu, Variational Chemical Data Assimilation with Approximate Adjoints, submitted.
    • Xu, X., J. Wang, D. K. Henze, W. Qu, M. Kopacz, Constraints on Aerosol Sources Using GEOS-Chem Adjoint and MODIS Radiances, and Evaluation with Multi-sensor (OMI, MISR) data, submitted.
  • 2012
    • Bowman, K. W., and D. K. Henze, Attribution of direct ozone radiative forcing to spatially-resolved emissions, Geophys. Res. Lett., 39, L22704, doi:10.1029/2012GL053274. GRL Editor's highlight, Science Daily, KGNU radio interview.
    • 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, Environ. Sci. Technol., 46, 9511 - 9518, dx.doi.org/10.1021/es301993s.
    • Karydis, V. A., S. L. Capps, R. H. Moore, A. Russell, D. K. Henze, and A. Nenes, Using a global aerosol model adjoint to unravel the footprint of spatially-distributed emissions on cloud droplet number and cloud albedo, Geophys. Res. Lett., 39, L24804, doi:10.1029/2012GL053346.
    • 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, 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, online.
    • Paulot, F., D. K. Henze, and P. O. Wennberg, Impact of the isoprene photochemical cascade on tropical ozone, Atmos. Chem. Phys., 12, 1307-1325, online.
    • Singh, K. and A. Sandu, 2012: Variational chemical data assimilation with approximate adjoints. Computers and Geosciences, 40, 10-18.
    • Turner, A., D. K. Henze, R. V. Martin, and A. Hakami, The spatial extent of source influences on modeled column concentrations of short-lived species, Geophys. Res. Lett., 39, L12806, doi:10.1029/2012GL051832.
    • 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, Impacts of midlatitude precursor emissions and local photochemistry on ozone abundances in the Arctic, J. Geophys. Res.,117, D01305 doi:10.1029/2011JD016370.
    • 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, Geophys. Res. Lett., 39, L08802.
    • 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., 12, 1823-1832, online.
  • 2011
    • Jiang, Z., D. B. A. Jones, M. Kopacz, J. Liu, D. K. Henze, and C. Heald, 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.
    • 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.
    • Kopacz, M., D. L. Mauzerall, J. Wang, E. M. Leibensperger, D. K. Henze, and K. Singh, Origin and radiative forcing of black carbon transported to the Himalayas and Tibetan Plateau, Atmos. Chem. Phys., 11, 2837-2852 online.
  • 2010
    • 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), Atoms. Chem. Phys., 10, 855-876, online.
    • 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.
    • 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
    • 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
  • 2009
    • Eller, P., K. Singh, A. Sandu, K. Bowman, D. K. Henze, and M. Lee (2009), Implementation and evaluation of an array of chemical solvers in a global chemical transport model, Geosci. Mod. Devel., 2, 185-207. online
    • 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, Atoms. Chem. Phys., 9, 5877-5903, online.
    • 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., 114, D04305, doi:10.1029/2007JD009264.
    • Pye, H. O. T., H. Liao, S. Wu, L. J. Mickely, D. J. Jacob, D. K. Henze, and J. H. Seinfeld (2009), Effect of changes in climate and emissions on future sulfate-nitrate-ammonium aerosol levels in the United States, J. Geophys. Res., 114, D01205, doi:10.1029/2008JD010701.
    • 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.
  • 2007
    • Henze, D. K., A. Hakami and J. H. Seinfeld (2007), Development of the adjoint of GEOS-Chem, Atmos. Chem. Phys., 7, 2413-2433.

Conference proceedings

  • 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