Bugs and fixes
On this page we list the GEOS-Chem bugs that users have recently encountered, and how to fix them.
- 1 Issues resolved in GEOS-Chem v8-02-05
- 2 Issues resolved in GEOS-Chem v8-02-04
- 3 Issues resolved in GEOS-Chem v8-02-03
- 4 Issues resolved in GEOS-Chem v8-02-02
- 5 Issues resolved in GEOS-Chem v8-02-01
- 6 Issues resolved in GEOS-Chem v8-01-04
- 7 Issues resolved in GEOS-Chem v8-01-03
- 8 Issues resolved in GEOS-Chem v8-01-02
- 9 Issues resolved in GEOS-Chem v8-01-01
- 10 Issues resolved in GEOS-Chem v7-04-13
- 11 Issues resolved in GEOS-Chem v7-04-10
- 12 ND05 diagnostic quantities zeroed unexpectedly
- 13 Bad GEOS-4 A6 met data causing segmentation fault
- 14 Too many levels in photolysis code
- 15 Negative tracer in routine WETDEP because of negative RH
- 16 Negative tracer in routine WETDEP
- 17 ISORROPIA and RPMARES
Issues resolved in GEOS-Chem v8-02-05
- Bug fix in AVGPOLE
- Bug fix in EMITHIGH (carbon_mod.f)
- Fix to prevent numerical overflow in EXP function
--Bob Y. 10:39, 12 January 2010 (EST)
Issues resolved in GEOS-Chem v8-02-04
- Memory issue with KPP
- Updated reactions in sulfate_mod.f
- Bug fix for EMEP ship emissions
- Minor fix for molecular weights in drydep_mod.f
- Bug fix in biomass_mod.f
- Minor bug fix in gamap_mod.f
- Fixes and updates in seasalt_mod.f
- Bug fix in emfossil.f for 0.5 x 0.666 nested grid tagged-CO option
- Bug fix in DIAG20 (diag_pl_mod.f)
- Div-by-zero error encountered in arsl1k.f
- Fix for diagnostic arrays in TPCORE
--Bob Y. 10:11, 12 January 2010 (EST)
Issues resolved in GEOS-Chem v8-02-03
- Several bug fixes in sulfate_mod.f
- Missing NOx data in S.E.-Asia
- Mis-calculation of Courant numbers in tpcore_fvdas_mod.f90
- Format problem in planeflight_mod.f
--Bob Y. 16:38, 11 January 2010 (EST)
Issues resolved in GEOS-Chem v8-02-02
- EPA/NEI inventory: reset other species to zero
- Scale factor for oceanic acetone for GEOS5 2x2.5 was fixed in GEOS-Chem v8-02-02.
- Bug with PRIVATE declaration in sulfate_mod.f
- Bug with online 2ndary aerosol
- Typo in HO2 uptake
--Bob Y. 16:40, 11 January 2010 (EST)
Issues resolved in GEOS-Chem v8-02-01
- Output selected tracers only for dry and wet deposition, convection and rain diagnotics
- On-the-fly regridding for 0.5x0.667 nested grids
- Bug with EMEP ship emissions for nested grids
- Bug in sulfate_mod.f to turn off biomass emissions
- Minor error in gamap_mod.f
- Bug fix for Streets emissions on 0.5x0.666 nested grid
--Bob Y. 09:55, 12 January 2010 (EST)
Issues resolved in GEOS-Chem v8-01-04
- Seg fault in GEOS-5 China nested grid simulation
- Error message in partition.f
- Erroneous O3 diagnostic (ND45)
- Post-Release Patches
--Bob Y. 09:58, 12 January 2010 (EST)
Issues resolved in GEOS-Chem v8-01-03
- TPCORE replaced with version based on GMI model
- Output of ND51 does not match output in the ctm.bpch file
- ND22 (J-value) diagnostic
- ND34 (biofuel emissions) diagnostic
- Change of location of calls to diagnostics in main.f
--Bob Y. 10:29, 12 January 2010 (EST)
Issues resolved in GEOS-Chem v8-01-02
- Quick fix for GEOS-5 optical depth
- Please see the discussion about this quick fix for the GEOS-5 optical depths.
- NOTE: if you are using GEOS-Chem v8-01-04 or higher with the reprocessed GEOS-5 met fields, then you do not need to use this quick fix.
- Corrected labeling of SOA quantities in carbon_mod.f
- Double-substitution error in GET_ALK
- Robustness fix for reading anthropogenic SO2 and NH3
- Minor bug in gasconc.f & calcrate.f
- Minor bug in emfossil.f
- Fix for mass balance of HNO3 and NIT
- Bug in ND43
- Problem w/ ND65 diagnostic and dynamic tropopause
- Albedo diagnostic in GEOS-4
- Pressure diagnostic : PS-PTOP vs. PEDGE
- Minor bug in log file output
--Bob Y. 10:29, 12 January 2010 (EST)
Issues resolved in GEOS-Chem v8-01-01
--Bob Y. 10:35, 12 January 2010 (EST)
Issues resolved in GEOS-Chem v7-04-13
--Bob Y. 10:49, 12 January 2010 (EST)
Issues resolved in GEOS-Chem v7-04-10
--Bob Y. 10:53, 12 January 2010 (EST)
ND05 diagnostic quantities zeroed unexpectedly
Helen McIntyre (firstname.lastname@example.org) wrote:
- I'm running the new and old versions of GEOS-Chem, and both seem to not output all the ND05 diagnostics correctly. There are 10 prod/loss diagnostics in this category, but only the 5th, 6th and 7th work. All the rest come out as zero.
- I've had a brief look though the code, and it seems that the ones that work are calculated in one part of the routine (sulfate_mod.f), and the zero ones in another (I don't know if this has anything to do with it).
- I've just done a 1 day run, with Geos-chem v8-01-01 at 4x5 resolution using GEOS-5 met fields. The old version I'm using is v7-02-04 and I get the same result.
- The 'ctm.bpch', 'geos.log' and 'input.geos' files from the v8-01-01 run can be found here: http://homepages.see.leeds.ac.uk/~lechlm/files/
Claire Carouge (email@example.com) replied:
- There are some problems in the calculations. For the 5th element of AD05 (in Fortran notations and not IDL), the diagnostic come from the value of L1 which is calculated line 1529 (v8-01-04):
L1 = ( SO20 - SO2_cd + PSO2_DMS(I,J,L) ) * RK1/RK
- But on line 1508, we have:
RK1 = 0.d0
- with the previous comment:
! For online runs, SMVGEAR deals w/ this computation, ! so we can simply set RK1 = 0 (rjp, bmy, 3/23/03)
- So L1 is always 0. I have no idea what RK1 is for, you may have to go into the physics/chemistry behind the code and we are not qualified to help you with it.
- The other values for AD05 are calculated in the routine CHEM_DMS and this routine is only called in an offline aerosol simulation (l. 545 in sulfate_mod.f).
- So my guess is that the ND05 diagnostic was designed for offline simulations and if you want it for online chemistry, you need to implement it.
Bad GEOS-4 A6 met data causing segmentation fault
Jesse Kenyon (firstname.lastname@example.org) wrote:
- In our runs of the GEOS-Chem model using GEOS4 data from 2006, we have run into a corrupt data problem that causes our runs to crash on rundate 20060913. We have been able to isolate this to bad values in the A6 files for the meridional wind (V component). Specifically, it appears two files contain bad data: 20060913.a6.4x5 and 20060915.a6.4x5. The bad data takes the form of unphysically huge values (e.g. 0.75553E+29), and occurs at many gridboxes on levels 6 and 7 of the 20060913 file and levels 18 and 19 of the 20060915 file. In both files, the bad data only occur for the 00 hour (06, 12, and 18 hours appear okay). We also checked the 20060914, 20060916, 20060917, 20060918, and 20060919.a6.4x5 files - they seem okay. A check of the U component wind on 09-13 and 09-15 shows no problems.
- For us, the problem manifested itself as a segmentation fault when trying to access address -21474836 of array qtmp in subroutine xtp in module tpcore_fdvas_mod.f90. The address was calculated from xmass which is calculated from wind and pressure in another subroutine (Init_press_fix). We know some folks at Harvard have been able to get beyond this rundate without crashing and suspect it might be due to a difference in computer system or compiler.
- We have not yet tried running with a "repaired" V wind, so cannot say for sure that there are no other problems in the A6 files besides V (or U which was also checked).
Philippe Le Sager (email@example.com) wrote:
- Thanks for reporting the issue. We had the exact same problem with GCAP once and the problem was solved by repairing the met field (a very bad value in U or V). Then Mike and Bastien got the exact same error with GEOS4, on the same day as you. My first idea was to test the met fields but I did not get any bad value. I just did a run with Bastien's inputs, and was not able to reproduce the crash. You just confirmed that the first idea was the good one: a bad met field.
- Since I seem to have a good met field and you do not, I check the met fields on the server this time. And I did find a problem with V for 20060913. Here are the output from test_met.pro (it gives min and max of each met fields):
at Harvard (internal disk): 20060913 000000 U -72.816071 144.557083 20060913 000000 V -67.133759 61.291386 on the server: 20060913 000000 U -72.816071 144.557083 20060913 000000 V -67.133759***************
- All others fields give the exact same min/max. There is a huge or NaN value in the file we put on the server. We do not understand how that happened, since files are simply copied from one location to the other. So we are still investigating the issue, checking the whole archive, and will let you know as soon as we replace it.
Bob Yantosca (firstname.lastname@example.org) wrote:
- I have fixed the bad A-6 data for 2006 -- 09/13, 09/14, 09/15, 09/16. For some reason the data in the FTP site was corrupt (bad values in the winds at a couple of GMT times) but the data on our internal disk (behind the firewall) was not. I just copied the relevant data files over and re-created the TAR file.
- Please obtain the new TAR file from:
ftp ftp.as.harvard.edu cd pub/geos-chem/data/GEOS_4x5.d/GEOS_4_v4/2006/09 get 09.tar.gz
--Bob Y. 15:40, 23 September 2008 (EDT)
Too many levels in photolysis code
Please see this discussion about the "Too many levels in photolysis code" error that can sometimes happen in the FAST-J photolysis code.
--Bob Y. 11:05, 12 January 2010 (EST)
Negative tracer in routine WETDEP because of negative RH
Fixes are available at ftp://ftp.as.harvard.edu/pub/geos-chem/patches/v8-01-01.
--phs 16:31, 6 June 2008 (EDT)
Negative tracer in routine WETDEP
Dylan Millet (email@example.com) wrote:
- I'm having a run die consistently at the same time (October 1, 2005; first time step of the month) in large-scale wetdep, with an STT element < 0.
- Platform: Linux cluster
- Threads: 8
- Version: v7-4-13 out of the box.
- GEOS4, 4x5, 30L, full chemistry
- IFORT 10.1
- In Section 6 (No Downward Precip) of wetscav_mod.f, subroutine safety is getting called.
WETDEP - STT < 0 at 1 1 29 for tracer 7 in area 6
- (First of all it seems odd to do wetdep for L=29, this is 63 km up). Have you seen anything like this? I ran for the whole year starting Jan 1 successfully until this point.
- ... By the way, the problem persists when I turn off chemistry altogether.
Philippe Le Sager (firstname.lastname@example.org) replied:
- I used your restart file and the same input.geos (w/ chemistry on and off). My code went thru without problem. I tried both Sun Studio and Ifort 9 compilers, and the later on two different machines (altix and ceres). I used v7-04-13 and v8-01-01. I never reproduced your error.
- We just got the new Ifort 10, and tried it too. I run v8-01-01 without an error. But when I tried v7-04-13, I finally reproduced your error, with the exact same negative values!
- In other words: the bug happens with IFort 10 and v7-04-13 only.
- Also, have a look at this recent development. This is not the reason for your bug (I tried v8 w/ ifort 10 and isorropia -like v7-04-13- and it did not crash), but using RPMARES instead of Isorropia may be a way to fix it.
- ... More about the Ifort 10 / v7-04-13 issue. When I wanted to debug with TotalView, I could not reproduce the bug anymore.... because I simply suppress any optimization. So, I did more test and found that if the default -O2 optimization is used, GEOS-Chem crashes. But it works fine with -O1. It is hard to tell what happens, since only the emissions step is done between reading the restart file and the crash.
- Bob and I will further test Ifort 10 for optimization on our machines. Maybe we will find something... For the time being, you may have to switch to -O1, at least for the run that crashes. You will find the optimization flag at the beginning of the Makefile.ifort.
Long story short: This appears to be an optimization issue with IFORT 10 and v7-04-13. Upgrading to GEOS-Chem v8-01-01 should solve this problem.
--Bmy 10:38, 17 April 2008 (EDT)
ISORROPIA and RPMARES
Please see the discussion about the bugs & fixes for ISORROPIA and RPMARES on the Code Developer's Forum for Aerosol thermodynamical equilibrium.
Also, if you are trying to run an aerosol-only simulation, then please see this discussion about a bug that manifested itself only after switching from ISORROPIA to RPMARES.
--Bob Y. 10:44, 26 June 2008 (EDT)