GEOS-Chem Adjoint v35

From Geos-chem
Revision as of 16:06, 5 June 2022 by Daven (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Overview

What's new in this version

GEOS-Chem Adjoint v35 contains the following major updates and improvements:

Feature Type Submitted by Committed by Version Status
Add support for NEI2008 Emissions Forward Model Update Daven Henze (CU Boulder) Yanko Davila (CU Boulder) v35 Approved 24 Jul 2013
Fixed a bug in Henry's constant Forward Model Bug Fix Fabien Paulot (Harvard) Yanko Davila (CU Boulder) v35 Approved 24 Jul 2013
Prevent negative emissions over Canada Forward Model Bug Fix Fabien Paulot (Harvard), Christoph Keller Yanko Davila (CU Boulder) v35 Approved 24 Jul 2013
Add support for new deposition based cost functions Adjoint Model Update Fabien Paulot (Harvard), Daven Henze (CU Boulder) Yanko Davila (CU Boulder) v35 Approved 24 Jul 2013
Bug fix in grid_mod.F90 Forward Model Bug Fix Christoph Keller Yanko Davila (CU Boulder) v35a Approved 30 Oct 2013
Bug in ship CO emissions Forward Model Bug Fix Chris holmes Yanko Davila (CU Boulder) v35a Approved 30 Oct 2013
Bugs in ship emissions and non-local PBL mixing Forward Model Bug Fix Chris holmes Yanko Davila (CU Boulder) v35a Approved 30 Oct 2013
Eliminate several more array temporaries Forward Model Bug Fix GEOS-Chem Support Team Yanko Davila (CU Boulder) v35a Approved 30 Oct 2013
Implemented new ship emissions scheme Adjoint Model Update Daven Henze (CU Boulder), Yanko Davila (CU Boulder) Yanko Davila (CU Boulder) v35a Approved 30 Oct 2013
GFED2 8 Day Bug Fix Adjoint Model Bug Fix Li Zhang (CU Boulder) Yanko Davila (CU Boulder) v35c Approved 23 Jan 2014
Deposition Diagnostics Bug Fix Adjoint Model Bug Fix Juliet (CU Boulder) Yanko Davila (CU Boulder) v35c Approved 23 Jan 2014
Loose ANISO convergence Adjoint Model Bug Fix Shannon Capps (EPA) Yanko Davila (CU Boulder) v35c Approved 23 Jan 2014
Off Diagonal Covariance Bug Fix Adjoint Model Bug Fix Nicolas Bousseres (CU Boulder) Yanko Davila (CU Boulder) v35c Approved 23 Jan 2014
LBFGS allocation Fix Adjoint Model Bug Fix Alex Turner (Harvard) Yanko Davila (CU Boulder) v35c Approved 23 Jan 2014
Bug fix for 3-hourly GFED3 emissions Forward Model Bug Fix Christoph Keller Yanko Davila (CU Boulder) v35c Approved 23 Jan 2014
EDGAR v4.2 emissions for CH4 simulation Forward Model Update Kevin Wecht (Harvard) Yanko Davila (CU Boulder) v35d Approved 11 Apr 2014
Update anthropogenic scale factors through 2010 Forward Model Update Aaron van Donkelaar (Dalhousie) Yanko Davila (CU Boulder) v35d Approved 11 Apr 2014
Update GFED3 emissions to 2011 Forward Model Update Prasad Kasibhatla (Duke) Yanko Davila (CU Boulder) v35d Approved 11 Apr 2014
Update TOMS overhead O3 columns to 2010 Forward Model Update Jenny Fisher (U. Wollongong) Yanko Davila (CU Boulder) v35d Approved 11 Apr 2014
Added support for HTAP emissions inventory Forward Model Update Kateryna Lapina, Daven Henze, Yanko Davila (CU Boulder) Yanko Davila (CU Boulder) v35e Approved 10 Jul 2014
Emfossil Bug Fix Forward Model Update Yi Wang (CU Boulder) Yanko Davila (CU Boulder) v35e Approved 10 Jul 2014
Updated aerosols optical properties Forward Model Update Randall Martin Yanko Davila (CU Boulder) v35e Approved 10 Jul 2014
Fixed undefined variables and openMP problems Adjoint Model Bug Fix Collin Lee (Dalhousie), Bob Yantosca (Harvard) Yanko Davila (CU Boulder) v35f Approved 20 Aug 2014
Makefile sets FFLAGS and LINK automatically Adjoint Model Update Yanko Davila (CU Boulder) Yanko Davila (CU Boulder) v35f Approved 20 Aug 2014
Added support for GEOS FP meteorology Forward Model Update Lin Zhang Yanko Davila (CU Boulder) v35g Approved 26 Mar 2015
Added support for GEOS FP nested meteorology Forward Model Update Lin Zhang Yanko Davila (CU Boulder) v35h Approved 2 Jun 2015
Diagnostics Bug Fixes Forward Model Bug Fix Thomas Walker, Alex Turner Yanko Davila (CU Boulder) v35i Approved 16 Jun 2015
Add PM to Diag59 Forward Model Update Luke Reed, Daven Henze Yanko Davila (CU Boulder) v35i Approved 16 Jun 2015
Bug Fixes from v9-02 Forward Model Bug Fix Various Yanko Davila (CU Boulder) v35j Approved 19 Oct 2015
HTAP Bug Fixes Adjoint Model Bug Fix Luke Reed, Daven Henze Yanko Davila (CU Boulder) v35j Approved 19 Oct 2015
Observation Operators Updates Adjoint Model Update Martin Keller, Jiang Zhe Yanko Davila (CU Boulder) v35j Approved 19 Oct 2015
Model Updates from v9-02 Forward Model Update Various Yanko Davila (CU Boulder) v35k Approved 6 Apr 2016
Paranox DIV-BY-ZERO Forward Model Bug Fix Geert Vinken Yanko Davila (CU Boulder) v35l Approved 20 Apr 2017
WETSCAV Bug Forward Model Bug Fix Choi Jinkyul Yanko Davila (CU Boulder) v35l Approved 20 Apr 2017
Adjoint Bugs Adjoint Model Bug Fix Various Yanko Davila (CU Boulder) v35l Approved 20 Apr 2017
Dry-Wet Pressure Fix Forward Model Bug Fix Meemong Lee Yanko Davila (CU Boulder) v35m Approved 19 Jun 2017
Upper Atmosphere Sensitivities Bug Adjoint Model Bug Fix Daven Henze Yanko Davila (CU Boulder) v35m Approved 12 Jan 2018
Nested Code Fix Forward Model Bug Fix Zhen Qu, Daven Henze, Yanko Davila Yanko Davila (CU Boulder) v35n Approved 6 Aug 2018
Logarithmic Output Bug Fix Adjoint Model Bug Fix Daven Henze, Yanko Davila Yanko Davila (CU Boulder) v35n Approved 6 Aug 2018


- Updates to forward model

Add NEI2008 Emissions

Implemented NEI2008 Emissions Inventory

See benchmark results gcadj_std_v35 tests 003 and 023

--Yanko 15:28, 24 July 2013 (EDT)

EDGAR v4.2 emissions for CH4 simulation

Kevin Wecht has prepared EDGAR v4.2 emissions of methane for 2004-2008. See forward wiki.

--Yanko 15:15, 11 April 2014 (EDT)

Update anthropogenic scale factors through 2010

Annual anthropogenic scale factors will be extended to 2010 for U.S.A. and Canada. See forward wiki.

--Yanko 15:15, 11 April 2014 (EDT)

Update GFED3 emissions to 2011

Updated the GFED3 database to include data for 2011. See forward wiki.

--Yanko 15:15, 11 April 2014 (EDT)

Update TOMS overhead O3 columns to 2010

Jenny Fisher has updated to TOMS overhead O3 columns to account for years through December 2010. See forward wiki.

--Yanko 15:15, 11 April 2014 (EDT)

Added support for HTAP emissions inventory

A new module was developed in order to add support for HTAP emissions inventory. This update alongside some other small changes made possible the participation on the HTAP experiment . You can find more information about HTAP here.

--Yanko 16:03, 10 July 2014 (EDT)

Updated aerosols optical properties

Aerosols optical properties were updated to match the forward model v9-02q in which the user can specify the wavelenght (default 550nm). This updates also improves the representation of OC growth with RH and also made some correction to sulfate optics See forward wiki.

--Yanko 16:03, 10 July 2014 (EDT)

Added support for GEOS FP meteorology

Support for GEOS FP meteorology has been added. Nested support is on the way and will be supported very soon. See benchmark results gcadj_std_v35g tests

--Yanko 15:58, 26 March 2015 (EDT)

Added support for GEOS FP nested meteorology

Support for GEOS FP Nested meteorology has been added. Please note that this a ongoing project. We've added support for full chemistry, excluding the following for the NA domain: BRAVO, CAC, Natural NH3 (GEIA) and Volcano SO2 emissions are not yet supported. Offline CH4 is supported. Tagged CO requires revision of archived OH and O3 production and loss.

See benchmark results gcadj_std_v35h tests

--Yanko (talk) 04:19, 3 June 2015 (UTC)

Add PM to Diag59

Added PM Tracer concentration in ug/m3 to diagnostic 59.

--Yanko (talk) 20:45, 16 June 2015 (UTC)

Model Updates from v9-02

Fixed RO2+HO2 rate constant. See forward wiki.

Increase NO3 uptake by aerosol. See forward wiki.

Inhibition of N2O5 uptake by nitrate aerosol. See forward wiki.

RCP emissions scenarios. See forward wiki.

EDGAR v4.2 emissions for CH4 simulation. See forward wiki.

Update anthropogenic scale factors through 2010. See forward wiki.

Update GFED3 emissions to 2011. See forward wiki.

--Yanko (talk) 20:16, 6 April 2016 (UTC)


- Bug fixes in forward model

Fixed a bug in Henry's constant

Small error in the definition of the Henry's constant, which is used in the wet deposition routine. See forward wiki.

--Yanko 15:28, 24 July 2013 (EDT)

Prevent negative emissions over Canada

Found a nasty bug in CAC emissions. We should set the emissions to 0 when 2002 exceeds 2005 by more than a factor of three. See forward wiki.

--Yanko 15:28, 24 July 2013 (EDT)

Bug fix in grid_mod.F90

The sine of the last latitude edge (i.e. the north pole) is not calculated, which can cause problems for the regridding. See forward wiki.

--Yanko 14:38, 30 October 2013 (EDT)

Bug in ship CO emissions

EMEP ship emissions inventory was previously overwriting all ship CO emissions globally. See forward wiki.

--Yanko 19:02, 30 October 2013 (EDT)

Bugs in ship emissions and non-local PBL mixing

Ship NOx emissions with the ICOADS-AMVER inventory were 3.3 times too low, due to a NO2 vs. N molecular weight error. Emissions should be 5.0Tg(N)/yr. As a result, O3 and HNO3 concentrations were underestimated, especially over the N. Atlantic and N. Pacific. See forward wiki.

--Yanko 19:02, 30 October 2013 (EDT)

Eliminate several more array temporaries

In many areas of GEOS-Chem, we pass arrays as arguments from one routine to another. But if this is not done properly, it can cause GEOS-Chem to use an excessive amount of memory and take longer to run, especially at very fine resolutions. See forward wiki.

--Yanko 14:38, 30 October 2013 (EDT)

Bug fix for 3-hourly GFED3 emissions

Running with 3-hourly emissions from the first day of a month seems to work fine, but trying to start on any other day appears to cause a problem. See forward wiki.

--Yanko 17:11, 27 January 2014 (EST)

Emfossil Bug Fix

Fixed a bug on emfossil.f that made the model crash when ND49 diagnostic was turned on and NEI2005 emissions were used. If you want to see the changes on the code please find them here

--Yanko 16:03, 10 July 2014 (EDT)

Diagnostics Bug Fixes

AD32_an needs to be scaled by SCALESRCE (the number of emissions timesteps) in order to give the right quantity to the ND32 emissions diagnostic. Tropopause heights reported in the ND67 was high. See forward wiki.

--Yanko (talk) 20:45, 16 June 2015 (UTC)

Bug Fixes from v9-02

Included all relevant bug fixes from GEOS Chem v9-02. Here is a comprenhensive list of bug fixes included:

Bug fixes for MAP_A2A regridding algorithm. See forward wiki.

Parallelization error in routine DRYFLX See forward wiki.

Parallelization error in routine METERO See forward wiki.

Rewritten the arguments in routines FVDAS_CONVECT, HACK_CONV, and ARCONVTRAN so as to avoid creating array temporaries. See forward wiki.

Rewritten the arguments in routines GCAP_CONVECT and ARCONVTRAN so as to avoid creating array temporaries. See forward wiki.

Rewrite some argument definitions in routine DO_PJC_PFIX. See forward wiki.

Rewrite some argument definitions in routine SET_FLOATING_PRESSURE. See forward wiki.

Reactivate parallel DO loop in LINOZ_CHEMO3 See forward wiki.

Reactivate stratospheric P(Ox) in tagged Ox simulation See forward wiki.

Replace LD65 with LLTROP in tagged_ox_mod.F See forward wiki.

Reset NaNs in MOISTQ to zero See forward wiki.

Update molecular weight of sea salt tracers. See forward wiki.

Fixes for wetland emissions. See forward wiki.

Fix for bug in acetone photolysis pressure dependency See forward wiki.

--Yanko (talk) 21:40, 19 October 2015 (UTC)

Paranox DIV-BY-ZERO

In routine INTERPOLATE_LUT2 and its adjoint counterpart, there is a division JO1D / JNO2. But because JNO2 is a J-value, its value will go to zero at night. This will result in a div-by-zero error. See forward wiki.

--Yanko (talk) 17:40, 29 April 2017 (UTC)

WETSCAV Bug

ALPHA value is sometimes higher than 1 without the restriction. This leads to a gain in tracer mass at the lower levels in excess of what is coming from above. This makes optical depth too thick and causes photolysis to crash.

--Yanko (talk) 17:40, 29 April 2017 (UTC)

Dry-Wet Pressure Fix

Meemong Lee and Richard Weidner (JPL) issued a JPL Publication detailing a transport moisture fix. Their fix consists of (1) deriving dry surface pressures from GMAO moist surface pressures and specific humidity, and (2) replacing moist pressures with dry pressures throughout the model.

--Yanko (talk) 17:51, 19 June 2017 (UTC)

Nested Code Fix

Updated the compiler flags for the nested small domain (NESTED_SD) for China and North America. Fixed several bugs in the nested code.

--Yanko (talk) 17:24, 7 August 2018 (UTC)

- Updates to adjoint model

Add support for new deposition based cost functions

Added support for new deposition based cost functions.

See benchmark results gcadj_std_v35 tests 012 and 023

--Yanko 15:28, 24 July 2013 (EDT)

Implemented new ship emissions scheme

Implemented new ship emissions scheme matching forward model paranox module. Changes to the adjoint include, but are not limited to writing the adjoint of paranox and updating setemis_adj module.

See benchmark results gcadj_std_v35a tests

--Yanko 14:38, 30 October 2013 (EDT)

Makefile sets FFLAGS and LINK automatically

Makefile automatically selects the best guess for FFLAGS and LINK. With this new makefile user's won't have to edit the Makefile anymore. Makefile now uses the netcdf utilities to guess the flags. If you don't have netcdf installed on your system please refer to the forward model to install GEOS-Chem required libraries.

--Yanko 14:05, 22 August 2014 (EDT)

Observation Operators Updates

Fixed several bugs in TES, OMI and MOPITT observation operators. Dropped support for MOPITT v3 and v4. Added Support for MOPITT v5 and v6. Added covariance calculation for MOPPIT. Added flex diagnostics to TES HDF5 output. Updated OMI NO2 observation operator. Added OMI SO2 observation operator.

--Yanko (talk) 21:46, 20 October 2015 (UTC)


- Bug fixes in adjoint model

Small bug fix in wetscav_adj_mod.f

Fixed a small bug related to the ALPHA2 variable on WETDEP_ADJ subroutine in wetscav_adj_mod.f

--Yanko 15:28, 24 July 2013 (EDT)

GFED2 8 Day Bug Fix

GFED2 data was not read correctly in the backward calculation if the simulation include the first day of the year ( January 1st ). Because the last day of GFED2 data in December is Dec 27th, and the first day of January is 1st, so the gap is not 8 day.

--Yanko 15:25, 24 January 2014 (EST)

Deposition Diagnostics Bug Fix

Fix wetdep diagnostics 37, 38 and drydep 44, which previously did not include all species.

--Yanko 15:25, 24 January 2014 (EST)

Loose ANISO convergence

The convergence criteria for ANISO have been relaxed to allow for quicker calculations.

--Yanko 15:25, 24 January 2014 (EST)

Off Diagonal Covariance Bug Fix

Off diagonal covariance fix.

--Yanko 15:25, 24 January 2014 (EST)

LBFGS allocation Fix

LBFGS allocation fix, and also update to more recent implementation of the algorithm (v3.0).

--Yanko 15:25, 24 January 2014 (EST)

Fixed undefined variables and openMP problems

Fixed some undefined variables and some other minor issues on edgar_mod.f, inverse_mod.f, rpmares_adj_mod.f, time_mod.f, nei2008_anthro_mod.F90 and routines.f. Fixed the openMP loop in wet_settling, SALT_MASS was not declared as PRIVATE, due to this on every simulation the the values of coarse seasalt was different in the forward and adjoint run.

--Yanko 14:05, 22 August 2014 (EDT)

HTAP Bug Fixes

Fixed an openMP declaration and logical flags in SRCCO2_ADJ and SRCNH3_ADJ. Fixed wrong initialization of MEK_HTAP in htap_mod.f

--Yanko (talk) 21:40, 19 October 2015 (UTC)

Adjoint_Bugs
  • The variance for the logarithm of the scaling factors were computed incorrectly for the LOG optimization.
  • Aerosol biofuel emissions didn't turn off when biofuel is turned off in input.geos.
  • Fixed bug the caused GET_SPEC function to return “1” when the species name doesn’t match with any of the names in “NAMEGAS” array.
  • Only initialize OBS_THIS_SPECIES if a species is being observed.
  • Filter out small negative values without causing the code to crash.
  • In subroutine READ_IN_POPULATION in population_mod.f, the code only printed out warnings if the pop data isn't found or read in correctly.This was change to cause and error and stop the simulation.
  • REG_PARAM gamma doesn't have any impact if using off-diagonal error covariance calculation.
  • Updated Makefile to use flags to use avoid compile error when using big arrays for example with quarter degree resolution.
  • Fix initialization of RRATE_ADJ in chemistry_mod.f

--Yanko (talk) 17:40, 29 April 2017 (UTC)

Upper Atmosphere Sensitivities Bug

It has been brought to our attention that we had a bug that affected adjoint sensitivities in the upper atmosphere. This bug did not impact our tests of sensitivities of surface level concentrations or measurements with respect to emissions, but it does have an effect on sensitivities in the upper atmosphere that could accumulate and ultimately affect sensitivities with respect to emissions, particularly for longer simulations. The consequence was that NOx sensitivities in particular were being underestimated by significant (30-50%) amounts.

--Yanko (talk) 15:40, 12 January 2018 (UTC)

Logarithmic Output Bug Fix

Fixed bug that affected some cases of logarithmic output during initial conditions and emissions optimizations.

--Yanko (talk) 17:24, 7 August 2018 (UTC)