GEOS-Chem Adjoint v33

From Geos-chem
Revision as of 06:28, 10 May 2012 by Daven (Talk | contribs) (Fix partition and kpp integrator adjoint (v33e))

Jump to: navigation, search



What's new in this version

GEOS-Chem Adjoint v33 contains the following major updates and improvements.

Feature Type Submitted by Version Status
Add TES O3 IRK observation operator Adjoint Update Daven Henze (CU Boulder) v33a Approved 13 Apr 2012
Fix wetdep adjoint Adjoint bug fix Daven Henze (CU Boulder) v33b Approved 20 Apr 2012
Fix checkpointing of aircraft SO2 emissions Adjoint bug fix Nicolas Bousserez (CU Boulder) v33c Approved 20 Apr 2012
Fix linoz adjoint Adjoint bug fix Nicolas Bousserez (CU Boulder) v33d Approved 07 May 2012
Adjoint stability and NH3 seasonality Adjoint bug fix and Forward model fix Nicolas Bousserez (CU Boulder) v33e Approved 09 May 2012

Updates to forward model

Bug fixes in forward model

Updates to adjoint model

Add TES O3 IRK (v33a)

Implemented observation operator for assimilation of TES O3 IRKs.

See benchmark results 33a_001

--Daven 19:03, 13 April 2012 (EDT)

Bug fixes in adjoint model

Fix wet deposition adjoint (v33b)

The adjoint was not properly handling evaporation. This fix helps make the adjoint of species such as NH3 better in a few locations where adjoints were diverging from forward model sensitivities by up to 50%.

See benchmark results 33a_002 vs 33b_002

--Daven 12:51, 20 April 2012 (EDT)

Fix checkpointing of aircraft SO2 emissions (v33c)

The SO2 aircraft emissions are distributed in the model based on a mapping from the 20 level inventory to the GEOS-Chem levels. This mapping depends upon the air masses in the models. The emissions are read in during the first hour of the month in the forward model, but on the last hour of the month in the adjoint. Thus they were being calculated inconsistently in the adjoint compared to the forward model. We now checkpoint these emissions rather than recalculate them

See benchmark results 33c_001 - 33c_004

--Daven 23:08, 7 May 2012 (EDT)

Fix linoz adjoint (v33d)

While the linoz routine is linear, and should be self-adjoint, it isn't exactly self-adjoint. For example, given initial forcings of STT_ADJ = 0d0 in every grid cell, it can generate non-zero values of STT_ADJ as output, which is incorrect.

In this update we use the discrete adjoint based upon reformulating the code to be consistent with the strat chem routine for the non-Ox species.

See benchmark results 33d_001 - 33c_007

--Daven 23:14, 7 May 2012 (EDT)

Fix partition and kpp integrator adjoint (v33e)

Several fixes were made to increase the numerical stability of the code

  • Change the filter to 1d-10 in partition_adj.f
  • Better error trapping in gckpp_adj_Integrator.f90 to prevent NaNs following a failed integration step during the adjoint

The bug fix from the forward model fixing the seasonality of the NH3 emissions over SE Asia has also been applied.

A few other small changes to improve performance were included in this update.

--Daven 02:26, 10 May 2012 (EDT)

Outstanding issues not yet resolved in v33