Difference between revisions of "GEOS-Chem Adjoint v33"

From Geos-chem
Jump to: navigation, search
m (Mover error checking for O3 assimilation (adj33_002))
m (Mover error checking for O3 assimilation (adj33_002))
Line 35: Line 35:
 
:the code crashes in "input_adj_mod.f" when doing the checking of observation settings (see line 2027 in my code). It is apparently due to "IDCSPEC_ADJ", which is not allocated/defined yet at the time the program executes those lines. I'm skipping these checks for now then. Note: The code crashes also when using "TES_O3_OBS" instead of "SCIA_DAL_NO2_OBS", so it is not related to what I implemented apparently.
 
:the code crashes in "input_adj_mod.f" when doing the checking of observation settings (see line 2027 in my code). It is apparently due to "IDCSPEC_ADJ", which is not allocated/defined yet at the time the program executes those lines. I'm skipping these checks for now then. Note: The code crashes also when using "TES_O3_OBS" instead of "SCIA_DAL_NO2_OBS", so it is not related to what I implemented apparently.
  
For the <tt>TES_O3_OBS</tt> simulation, the O3 species must be defined as an observed species as part of the cost function in <tt>input.gcadj</tt> to that ozone adjoint sensitivities can be accrued in the TES ozone observation operator.  To ensure that this happens, the following block of code has been moved from <tt>input_adj_mod.f</tt> to subroutine <tt>INIT_CSPEC_ADJ</tt> in <tt>adj_arrays_mod.f</tt>, as it can only be called after the <tt>CSPEC</tt> variables have been initialized.  
+
The following block of code has been moved from <tt>input_adj_mod.f</tt> to subroutine <tt>INIT_CSPEC_ADJ</tt> in <tt>adj_arrays_mod.f</tt>, as it can only be called after the <tt>CSPEC</tt> variables have been initialized.  
  
 
  #elif defined ( TES_O3_OBS )  
 
  #elif defined ( TES_O3_OBS )  

Revision as of 21:40, 6 January 2012

What's new in this version

Updates to forward model

Bug fixes in forward model

Trap for negative CRUTES in rpmares_mod.f (adj33_001)

Despite the setting of negative roots to zero, sometimes the code still ends up with negative CRUTES. Trap for it here to prevent mysterious crashing later.

--Daven 14:58, 6 January 2012 (EST)

Updated lightning parameterization and fix for cloud-top-height algorithm (v9-01-01)

Updates to a6_read_mod.f and lightning_nox_mod.f. Details in Lee's description: http://people.seas.harvard.edu/~ltmurray/LNOx.v9-01-01.Release.Notes.pd

--Daven 15:18, 6 January 2012 (EST)

Fix for GEIA emissions scaling factor over Botswana (v9-01-02h)

Updates to scale_anthro_mod.f. See GEOS-Chem_v9-01-02#Fix_for_GEIA_emissions_scaling_factor_over_Botswana

--Daven 16:16, 6 January 2012 (EST)

TINY parameter in convection_mod.f (v8-03-02)

Update to convection_mod.f GEOS-Chem_v8-03-02#TINY_parameter_in_convection_mod.f

--Daven 16:16, 6 January 2012 (EST)


Updates to adjoint model

Bug fixes in adjoint model

Mover error checking for O3 assimilation (adj33_002)

Nicolas Bousserez wrote:

the code crashes in "input_adj_mod.f" when doing the checking of observation settings (see line 2027 in my code). It is apparently due to "IDCSPEC_ADJ", which is not allocated/defined yet at the time the program executes those lines. I'm skipping these checks for now then. Note: The code crashes also when using "TES_O3_OBS" instead of "SCIA_DAL_NO2_OBS", so it is not related to what I implemented apparently.

The following block of code has been moved from input_adj_mod.f to subroutine INIT_CSPEC_ADJ in adj_arrays_mod.f, as it can only be called after the CSPEC variables have been initialized.

#elif defined ( TES_O3_OBS ) 
     ! Since the O3 obs operators will pass adjoints back 
     ! to CSPEC via CSPEC_AFTER_CHEM_ADJ, we need to make sure that 
     ! these species are listed as observed species
     FOUND = .FALSE.
     DO N = 1, NOBS_CSPEC

        IF ( TRIM( NAMEGAS( IDCSPEC_ADJ(N) ) ) == 'O3' ) THEN
           FOUND = .TRUE.
        ENDIF

     ENDDO
     IF ( .not. FOUND ) THEN

        CALL ERROR_STOP( ' Need to list O3 as observed species',
    &                    ' input_adj_mod ' )
     ENDIF
#endif

--Daven 16:38, 6 January 2012 (EST)

Previous issues now resolved in v33

Previous issues now resolved in v32

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 v33