GEOS-Chem v8-01-01

From Geos-chem
Jump to: navigation, search

v8-01-01

PUBLIC RELEASE May 2008

What's new in this version

Contains everything in GEOS-Chem v7-04-13, with the following additions:

  1. Compatibility for GEOS-5 met fields.
  2. Now uses RPMARES instead of ISORROPIA
  3. Implements floating point error traps (e.g. to prevent division by zero) in a few critical places

Also note that we have implemented the fix for the Last year of GFED2 biomass emissions, (which is now 2006) into v8-01-01.

1-Year Benchmarks

We have done two 1-year benchmarks for GEOS-Chem v8-01-01:

Run0

The 3 models compared (and their colors on the plots) were:

Color Quantity Plotted Met Field Type Lightning algorithm A.T.E. algorithm Annual Mean OH
[105 molec/cm3]
Red v7-04-12 Run2 GEOS-4 4x5 near-land w/ OTD-LIS regional scaling ISORROPIA 12.816
Green v7-04-13 GEOS-4 4x5 updated non-near-land w/ OTD-LIS local scaling ISORROPIA 12.147
Blue v8-01-01 Run0 GEOS-5 4x5 updated non-near-land w/ OTD-LIS local scaling ISORROPIA 12.006
Black Observations        

NOTES for Run0:

  1. This benchmark uses the same input conditions and emissions as v7-04-13.
    • The only difference is that this benchmark was done w/ GEOS-5 met and v7-04-13 was done w/ GEOS-4 met.
  2. Use Run0 if you need to make a clean comparison between the GEOS-4 and GEOS-5 met fields.

We have archived the files for v8-01-01-geos5-Run0 into TARBALL (i.e. tar.gz) format to save disk space. To download the TARBALL containing all relevant files, type:

ftp ftp.as.harvard.edu
get gcgrid/geos-chem/1yr_benchmarks/v8-01-01/v8-01-01-geos5-Run0.tar.gz

And then to extract the data, type:

tar xvzf v8-01-01-geos5-Run0.tar.gz

The comparison plots will be in located in the output/pdf folder.

--Bob Yantosca (talk) 18:04, 20 June 2017 (UTC)

Run1

The 3 models compared (and their colors on the plots) were:

Color Quantity Plotted Met Field Type Lightning algorithm A.T.E. algorithm Annual Mean OH
[105 molec/cm3]
Red v7-04-13 GEOS-4 4x5 updated non-near-land w/ OTD-LIS local scaling ISORROPIA 12.147
Green v8-01-01 Run0 GEOS-5 4x5 updated non-near-land w/ OTD-LIS local scaling ISORROPIA 12.006
Blue v8-01-01 Run1 GEOS-5 4x5 updated non-near-land w/ OTD-LIS local scaling RPMARES 12.040
Black Observations        

NOTES for Run1:

  1. The only difference between Run0 and Run1 is that Run0 uses ISORROPIA and Run1 uses RPMARES to compute the aerosol thermodynamical equilibrium. We recently learned that ISORROPIA can return incorrect values at low RH.
    • Use Run0 if you need to make a clean comparison between ISORROPIA and RPMARES.

We have archived the files for v8-01-01-geos5-Run1 into TARBALL (i.e. tar.gz) format to save disk space. To download the TARBALL containing all relevant files, type:

ftp ftp.as.harvard.edu
get gcgrid/geos-chem/1yr_benchmarks/v8-01-01/v8-01-01-geos5-Run1.tar.gz

And then to extract the data, type:

tar xvzf v8-01-01-geos5-Run1.tar.gz

The comparison plots will be in located in the output/pdf folder.

--Bob Yantosca (talk) 18:05, 20 June 2017 (UTC)

Previous issues now resolved in GEOS-Chem v8-01-01

Post-release patches

After the release of v8–01–01, some minor bugs and issues were discovered. Most of these involve numerical errors (i.e. computations that result in NaN's or underflow conditions). Other minor bugs are only relevant to a particular type of offline simulation. In any case, most of these issues have simple fixes.

Please see the following GEOS–Chem wiki pages for information about the following issues, and how to resolve them.

NOTE: As of November 2008, these post-release patches are now part of the standard GEOS-Chem v8-01-02 source code.

Fixes for the full-chemistry simulation

Fixes for offline simulations

Lines of code

For those of you who are curious as to how many lines of code are in this version of GEOS-Chem, here is a counting of code lines, comment lines, and blank lines. NOTE: These totals also accounts for the v8-01-01 post-release patches, while excluding many lines of obsolete code that had been commented out and slated for deletion.

Total number of files    :          217
Number of files searched :          217
Number of files skipped  :            0

Number of lines searched :       174177
Number of comment lines  :        77788
Number of blank lines    :        25981
Number of code lines     :        70408

Ratio: Comments/Code     :        1.1048176

Results were generated with IDL program linecount.pro by Bob Yantosca,

--Bob Y. 14:27, 8 August 2008 (EDT)

Bugs in ND47/ND65/ND45 in v8-01-01

NOTE: We are phasing out binary punch diagnostics output in GEOS-Chem v11-02, in favor of netCDF output.

Yuxuan Wang wrote:

I think I found a bug in code version v8-01-01. The bug involves the scale factors used for ND47 (24-hr avg output) and ND65 (24-hr chemical family production and loss rate). The bug occurs when users define ND45 time window to be less than 24 hours.
In diag3.f, the scale factors for ND47 and ND65 are CTOTH and CTO3. In diag_2pm.f, CTOTH and CTO3 are counters for the user-defined time window of ND45 output. In my simulation, for example, I defined ND45 time window to be from 12 to 16 (afternoon concentrations), so CTOTH and CTO3 record the number of afternoon hours in my run. However, ND47 and ND65 are accummulating for 24 hours, independent of the time window selected for ND45. At times when the code writes the diagnostics, ND47 and ND65 are scaled by CTOTH and CTO3 which are accumulating only for the afternoon hours. This incorrect scaling led to unrealistically high concentrations in ND47 and ND65.
I did a test simulation and found the bug did not affect the results if ND45 time-window are defined from 0 to 24 (i.e., 24-hr mean).
Related codes are:
----------in diag3.f-------------------
starting line 2616
      IF ( ND47 > 0 ) THEN
        CATEGORY = 'IJ-24H-$'
        UNIT     = 

        ! Now use SCALE_TMP instead of SCALEDYN
        SCALE_TMP = FLOAT( CTOTH ) + 1d-20

        ! Now account for undefined O3 concentration
        ! at first timestep (phs, 1/24/07)
        IF ( FIRST ) THEN
           SCALE_TMP3D = MAX( FLOAT( CTO3 )-1d0, 1d-20 )
        ELSE
           SCALE_TMP3D = FLOAT( CTO3 ) + 1d-20
        ENDIF
         ......

starting line 2799
     IF ( ND65 > 0 ) THEN
        CATEGORY = 'PORL-L=$'

        ! Note: P/L are defined at first time step, since
        ! they are computed after chemistry (phs, 3/6/07)
        SCALE_TMP3D = FLOAT( CTO3 ) + 1d-20
 
-----------in diag_2pm.f------------------------------------
starting line 68
     DO J = 1, JJPAR
     DO I = 1, IIPAR

        !-----------------------------
        ! ND45 -- mixing ratios
        !-----------------------------
        IF ( IS_ND45 ) THEN

           ! Archive if we fall w/in the local time limits
           IF ( LT(I) >= HR1_OTH .and. LT(I) <= HR2_OTH ) THEN
              LTOTH(I,J) = 1
              CTOTH(I,J) = CTOTH(I,J) + 1

              ! Counter for # of O3 boxes in the troposphere (phs, 1/24/07)
              DO L = 1, LD45
                 IF ( IS_ND45_O3 .and. ITS_IN_THE_TROP( I, J, L )) THEN
                    CTO3(I,J,L) = CTO3(I,J,L) + 1
                 ENDIF
              ENDDO

           ELSE
              LTOTH(I,J) = 0
           ENDIF
        ENDIF
Thank you for your attention!
Yuxuan

and Shiliang Wu also reported a bug when ND47 is turned on:

I recently had problem running GC (v7.4.13 if that matters) - It always crashed at the end of the run before writing the bpch file and the restart file. I tracked down and it looks something weird related to the diagnostic ND47 - I was able to reproduce the problem whenever ND47 is on but everything is OK when ND47 is off.

Philippe Le Sager wrote:

I found your problem. You cannot save ND45 with less level than ND47. Different tracers is ok:
  • ND45 and ND47 all tracers and all levels
    • runs fine
  • ND45 and ND47 all tracers, 5 levels for ND45 and all 23 for ND47
    • crashed after 2h simulation.
  • ND45 and ND47 all levels, 4 tracers for ND45 and all 43 for ND47
    • runs fine
We will either add a check to prevent L45 < L47 or modify the program to allow it in a next GC version.

We did modify the code. Philippe Le Sager replied:

I think I have fixed several diagnostic issues related to counters of time in the troposphere: ND45's O3, ND65, ND47 and ND20.
(1) When ND45 is not averaging over all time steps, these diagnostics should be correct now.
(2) The restriction on the number of levels for some diagnostics ( LDxx =< LD45 ) has been released.
You can temporarily find the updated routines in:
ftp://ftp.as.harvard.edu/pub/exchange/phs/ND_20_45_47_65_fixes
Please read carefully the README file, since one of the files has additional modifications scheduled for v8-01-03. This update will be part of v8-01-02.

--phs 17:33, 18 November 2008 (EST)

Outstanding issues not yet resolved in GEOS-Chem v8-01-01

Wrong MERGE.O3 filename specified in v8-01-01

Module global_o3_mod.F was removed from GEOS-Chem v10-01 and higher versions. Oxidant fields are now read in from netCDF files via the HEMCO emissions component.

Christopher Holmes wrote:

I just noticed a small inconsistency in v8-01-01. In global_o3_mod.f at line 118:
    #if   defined( GRIDREDUCED )
 
          ! Filename for 30-level model
          FILENAME = TRIM( DATA_DIR )                           //
         &           'sulfate_sim_200508/offline/MERGE.O3.30L.' //
         &           GET_NAME_EXT() // '.' // GET_RES_EXT()
   
    #else
When GRIDREDUCED is set with GEOS-5, then there are 47 layers, but on line 122, it is trying to read from a file that is named '30L'. I know that we aren't yet set up to do offline chemistry runs with GEOS-5 because the archived oxidant fields don't exist yet, but this will crop up when someone tries

--Bob Y. 14:28, 20 May 2008 (EDT)