GEOS-Chem Adjoint v31: Difference between revisions

From Geos-chem
Jump to navigation Jump to search
m (New page: == Overview == PUBLIC RELEASE: 2011/02/23 This was the last version in which code updates were documented within the code itself. So so the header of <tt>inverse_driver.f</tt> for detail...)
 
 
(2 intermediate revisions by the same user not shown)
Line 2: Line 2:
PUBLIC RELEASE: 2011/02/23
PUBLIC RELEASE: 2011/02/23


This was the last version in which code updates were documented within the code itself.  So so the header of <tt>inverse_driver.f</tt> for details.   Below I just list the patches that made it into this version post release.  
*This was the last version in which code updates were documented within the code itself in the header of <tt>inverse_driver.f</tt>. In the future, updates and fixes will be documented via the wiki.  


*Next version: [[GEOS-Chem_Adjoint_v32]]
*Next version: [[GEOS-Chem_Adjoint_v32]]


--[[User:Daven|Daven]] 19:20, 6 January 2012 (EST)
== Updates and fixes (from <tt>inverse_driver.f</tt>) ==
 
!Revision 1.31  2011/02/23 00:08:47  daven
!UPDATES in forward model:
! - add diag59 (lz, 11/18/10)
! - GCv8-02-04: add EPA/NEI05.
!  - completely update scale_anthro_mod.f to GCv9-01-01
!  - completely update epa_nei_mod.f to GCv9-01-01
!  - add nei2005_anthro_mod.f to GCv9-01-01
! - completely update error_mod.f to GCv9-01-01
!
!BUG FIXES in forward model:
! - GCv8-02-03: Corrected_Bond_et_al_BC.2FOC_emissions
! - GCv8-02-04: Bug_fix_in_emfossil.f_for_0.5_x_0.666_nested_grid_tagged-CO_option
! - GCv8-03-02: Fix_for_EPA.2FNEI_2005_emissions
! - GCv8-03-02: Minor_fixes_in_gamap_mod.f
! - GCv9-01-01: Bug_fix_for_biofuels_in_EPA.2FNEI05
! - GCv?-??-??: Add scaling of aromatic emissions over the US. (hotp, 11/23/09)
! - GCv9-01-01: Important_bug_fixes_for_ship_emissions
! - GCv9-01-01: Fix_to_prevent_div-by-zero_in_sulfate_mod.f
! - GCv9-01-02: Double_counting_of_biofuel_emissions_over_Asia
! - GCv9-01-02: fix SET_TINDEX for ND17, 18, 38, 39 so that all wet diagnostics get written out (dkh, 02/16/11)
!
!UPDATES in adjoint model:
! - add LITR for iteration diagnostics (zhe, dkh, 02/04/11)
! - Make sure ITS_A_NEW_MONTH is true only once per month during adjoint,
!    which minimized i/o.  (dbm, 02/10/11)
! - now make run script copy the executable rather than move it, thus
!    avoiding exessive recompilation (dbm, 02/10/11)
! - update MOPITT obs operators to support v3 and v4 (zhe, 02/04/11)
! - now add support for nested grid with offline CO (zhe, 02/04/11)
! - now emit biomass burning emissions for offline CO throughout
!    the boundary layer (dbm, 02/10/11)
! - updated input.gcadj (dkh, 02/10/11)
!    - better distinction between tracers and species
!    - better distinction between observations and control parameters
!    - additional input flags and parameters to replace hard wired options
!      - ICS_SF_DEFAULT, EMS_SF_DEFAULT, EMS_ERROR, ICS_ERROR
!      - LTRAJ_SCALE, LITR, NSPAN, LMAX_OBS, LEMS_ABS
! - replace OPT_THIS_SPECIES with OPT_THIS_TRACER (dkh, 02/10/11)
! - allow for flux filling during adjoint advection LFILL_ADJ (jkoo, dkh, 02/11/11)
! - add TES_BLVRM flag for tes NH3 observation  (dkh, 02/14/11)
! - in lidort_mod (dkh, 01/27/11)
!    - use dry diameter of BC to estimate number concentration
!    - add BC mass absorption enhancement factor ABS_FAC
!    - use growth curve for sulfate wet size rather than H2O from rpmares
! - implent LEMS_ABS option to output sensitivities w.r.t emissions
!    rather than emissions scaling factors (dkh, 02/17/11)
! - enforce LMAX_OBS = T and NSPAN = 1 for FD_GLOB (dkh, 02/21/11)
!
!BUG FIXES in  adjoint model:
! - Missing a factor of 1d6 for the cspec_ppb case in CALC_ADJ_FORCE_FOR_SENSE (fgap, dkh, 02/03/11)
! - LVARTROP treated correctly (dkh, 01/26/11)
! - For LUNZIP = T, don't delete met files during forward run (zj, dkh, 07/30/10)
! - Convert units before and after transport to account for discrete <--> continuous
!    adjoint (jkoo, dkh,  02/14/11)
! - Set the min value of CSPEC checkpt arrays to be SMAL2 (dkh, 02/19/11)
! - update sulfate_adj_mod to account for Fix_to_prevent_div-by-zero_in_sulfate_mod.f (dkh, 02/19/11)
! - fix the FD_SPOT test (dkh, 02/21/11)
!  - now only make fdglob files if FD_GLOB, not if FD_SPOT
!  - now evaluate the adjoint on 1st and 2nd iterations, and halt model if users
!      asks for a third iteration in MAYBE_DO_GEOS_CHEM_ADJ
! - Force DAYS to be at least 1 to allow for simulations less than 1 day. (dkh, 02/22/11)
 
--[[User:Daven|Daven]] 19:29, 6 January 2012 (EST)


== Previous issues now resolved in v31 ==
== Previous issues now resolved in v31 ==
Line 21: Line 85:
==== Remove bug in <tt>SET_SF</tt> ====
==== Remove bug in <tt>SET_SF</tt> ====
Remove erroneous debugging code in <tt>subroutine SET_SF</tt> in <tt>inverse_mod.f</tt>. (dkh, 03/27/11)
Remove erroneous debugging code in <tt>subroutine SET_SF</tt> in <tt>inverse_mod.f</tt>. (dkh, 03/27/11)
== Outstanding issues not yet resolved in v31 ==
==== Compiling with ifort v11 ====
Nicolas Bousserez reported a [[Intel_Fortran_Compiler#Problem_with_IFORT_II_and_GEOS-Chem_adjoint|problem with compiling the GEOS-Chem adjoint with OpenMP under IFORT 11]].
==== Variable tropopause not supported ====
There is a bug in the forward model implementation of variable tropopause which can cause unstable adjoints.  Recommend turning off variable tropopause for all full chemistry adjoint runs until this is addressed.

Latest revision as of 00:40, 7 January 2012

Overview

PUBLIC RELEASE: 2011/02/23

  • This was the last version in which code updates were documented within the code itself in the header of inverse_driver.f. In the future, updates and fixes will be documented via the wiki.

Updates and fixes (from inverse_driver.f)

!Revision 1.31  2011/02/23 00:08:47  daven
!UPDATES in forward model:
! - add diag59 (lz, 11/18/10)
! - GCv8-02-04: add EPA/NEI05.
!   - completely update scale_anthro_mod.f to GCv9-01-01
!   - completely update epa_nei_mod.f to GCv9-01-01
!   - add nei2005_anthro_mod.f to GCv9-01-01
! - completely update error_mod.f to GCv9-01-01
!
!BUG FIXES in forward model:
! - GCv8-02-03: Corrected_Bond_et_al_BC.2FOC_emissions
! - GCv8-02-04: Bug_fix_in_emfossil.f_for_0.5_x_0.666_nested_grid_tagged-CO_option
! - GCv8-03-02: Fix_for_EPA.2FNEI_2005_emissions
! - GCv8-03-02: Minor_fixes_in_gamap_mod.f
! - GCv9-01-01: Bug_fix_for_biofuels_in_EPA.2FNEI05
! - GCv?-??-??: Add scaling of aromatic emissions over the US. (hotp, 11/23/09)
! - GCv9-01-01: Important_bug_fixes_for_ship_emissions
! - GCv9-01-01: Fix_to_prevent_div-by-zero_in_sulfate_mod.f
! - GCv9-01-02: Double_counting_of_biofuel_emissions_over_Asia
! - GCv9-01-02: fix SET_TINDEX for ND17, 18, 38, 39 so that all wet diagnostics get written out (dkh, 02/16/11)
!
!UPDATES in adjoint model:
! - add LITR for iteration diagnostics (zhe, dkh, 02/04/11)
! - Make sure ITS_A_NEW_MONTH is true only once per month during adjoint,
!     which minimized i/o.  (dbm, 02/10/11)
! - now make run script copy the executable rather than move it, thus
!     avoiding exessive recompilation (dbm, 02/10/11)
! - update MOPITT obs operators to support v3 and v4 (zhe, 02/04/11)
! - now add support for nested grid with offline CO (zhe, 02/04/11)
! - now emit biomass burning emissions for offline CO throughout
!     the boundary layer (dbm, 02/10/11)
! - updated input.gcadj (dkh, 02/10/11)
!    - better distinction between tracers and species
!    - better distinction between observations and control parameters
!    - additional input flags and parameters to replace hard wired options
!       - ICS_SF_DEFAULT, EMS_SF_DEFAULT, EMS_ERROR, ICS_ERROR
!       - LTRAJ_SCALE, LITR, NSPAN, LMAX_OBS, LEMS_ABS
! - replace OPT_THIS_SPECIES with OPT_THIS_TRACER (dkh, 02/10/11)
! - allow for flux filling during adjoint advection LFILL_ADJ (jkoo, dkh, 02/11/11)
! - add TES_BLVRM flag for tes NH3 observation  (dkh, 02/14/11)
! - in lidort_mod (dkh, 01/27/11)
!     - use dry diameter of BC to estimate number concentration
!    - add BC mass absorption enhancement factor ABS_FAC
!    - use growth curve for sulfate wet size rather than H2O from rpmares
! - implent LEMS_ABS option to output sensitivities w.r.t emissions
!    rather than emissions scaling factors (dkh, 02/17/11)
! - enforce LMAX_OBS = T and NSPAN = 1 for FD_GLOB (dkh, 02/21/11)
!
!BUG FIXES in  adjoint model:
! - Missing a factor of 1d6 for the cspec_ppb case in CALC_ADJ_FORCE_FOR_SENSE (fgap, dkh, 02/03/11)
! - LVARTROP treated correctly (dkh, 01/26/11)
! - For LUNZIP = T, don't delete met files during forward run (zj, dkh, 07/30/10)
! - Convert units before and after transport to account for discrete <--> continuous
!     adjoint (jkoo, dkh,  02/14/11)
! - Set the min value of CSPEC checkpt arrays to be SMAL2 (dkh, 02/19/11)
! - update sulfate_adj_mod to account for Fix_to_prevent_div-by-zero_in_sulfate_mod.f (dkh, 02/19/11)
! - fix the FD_SPOT test (dkh, 02/21/11)
!   - now only make fdglob files if FD_GLOB, not if FD_SPOT
!   - now evaluate the adjoint on 1st and 2nd iterations, and halt model if users
!       asks for a third iteration in MAYBE_DO_GEOS_CHEM_ADJ
! - Force DAYS to be at least 1 to allow for simulations less than 1 day. (dkh, 02/22/11)

--Daven 19:29, 6 January 2012 (EST)

Previous issues now resolved in v31

CO2 emissions update to allow for both monthly and years emissions

Update to co2_mod.f (dkh, 03/07/11)

Updates to lidort_mod.f

  • Reinstate NCOUNT in CALC_RF_FORCE so that aod files are made at the right time. (dkh, 03/27/11)
  • now check to make sure that MAXTHREADS matches JJPAR in lidort_mod.f (dkh, 03/27/11)

Update to Mie table

Update mie_mod.f to use finite difference values for adjoints. (dkh, 03/27/11)

Remove bug in SET_SF

Remove erroneous debugging code in subroutine SET_SF in inverse_mod.f. (dkh, 03/27/11)

Outstanding issues not yet resolved in v31

Compiling with ifort v11

Nicolas Bousserez reported a problem with compiling the GEOS-Chem adjoint with OpenMP under IFORT 11.

Variable tropopause not supported

There is a bug in the forward model implementation of variable tropopause which can cause unstable adjoints. Recommend turning off variable tropopause for all full chemistry adjoint runs until this is addressed.