Frequently asked questions about GEOS-Chem
GEOS-Chem v11-02-final will also carry the designation GEOS-Chem 12.0.0. We are migrating to a purely numeric versioning system in order to adhere more closely to software development best practices. For a complete description of the new versioning system, please see our GEOS-Chem version numbering system wiki page.
On this page we shall answer some commonly asked questions about GEOS-Chem.
- 1 Basic information about GEOS-Chem
- 2 Where can I get restart files for GEOS-Chem?
- 3 Running GEOS-Chem
- 4 GEOS-Chem errors
Basic information about GEOS-Chem
For new users
- I am a GEOS-Chem new user. What is expected of me?
- On what types of machines can I run GEOS-Chem?
- What types of simulations can I run with GEOS-Chem?
- What is the horizontal resolution and vertical resolution of GEOS-Chem?
- Which meteorological data fields can be used by GEOS-Chem?
- To whom can I direct GEOS-Chem-related questions?
- What does the GEOS-Chem Steering Committee do?
- What do the GEOS-Chem Working Groups do?
- What does the GEOS-Chem Support Team do?
- I see that there are several GEOS-Chem email lists. How can I subscribe?
Where can I find information about ...
- the available chemical mechanisms in GEOS-Chem?
- the bromine chemistry mechanism in GEOS-Chem?
- the KPP chemical solver?
- the Linoz stratospheric ozone chemistry scheme?
- the stratospheric chemistry mechanism?
- offline chemistry simulations?
- emissions options in GEOS-Chem?
- the advection scheme in GEOS-Chem?
- the boundary layer mixing schemes in GEOS-Chem?
- the cloud convection schemes in GEOS-Chem?
- The Dry deposition and Wet deposition schemes in GEOS-Chem?
- GEOS-Chem nested grid simulations?
- How do I download the GEOS-Chem source code and run directories?
- How do I download the GEOS-Chem data directories?
- What should I do when I encounter an error while running GEOS-Chem?
- Do you have any information about GEOS-Chem performance and GEOS-Chem Scalability?
- Where can I learn more about the GEOS-Chem Makefiles?
- Is there a comprehensive list of GEOS-Chem bugs and how they were fixed?
- I am new to programming. Do you have any online resources or tutorials?
- Is there a recommended programming style that I should use?
- Are there any numerical issues or machine-dependent issues that I should be aware of?
- Do you have any tools that would help me debug GEOS-Chem more efficiently?
- How can I tell if a variable has to be declared with !$OMP PRIVATE or !$OMP SHARED?
- How many CPUs may I use for my GEOS-Chem simulation?
- Why is GEOS-Chem not using all the CPUs that I requested?
GEOS-Chem HP ("high-performance")
NOTE: At present GEOS-Chem HP (aka GCHP) is still in the "alpha" stage of development. If you are interested in assisting with GEOS-Chem HP development, then please contact the GEOS-Chem HP working group.
- What is GEOS-Chem HP?
- Can you give me an overview of GEOS-Chem HP?
- What are the hardware and software requirements for GEOS-Chem HP?
- How may I download the GEOS-Chem HP code and run directories?
- How do I compile GEOS-Chem HP?
- How do I run GEOS-Chem HP?
- Have users found any problems with GEOS-Chem HP?
Where can I get restart files for GEOS-Chem?
For GEOS-Chem v11-01 and higher versions
For instructions on how to obtain a set of sample restart files that you can use to spin up your own simulations, please see the Restart Files section of our GEOS-Chem basics wiki page.
For older versions
NOTE: This information will become obsolete for GEOS-Chem v11-01.
For your convenience, we have archived several run directories which contain the various input files and initial conditions (aka "restart files") for GEOS-Chem simulations. Please see Chapter 2.3: Downloading the GEOS-Chem run directories in the GEOS-Chem Online User's Guide for detailed downloading instructions.
In general, the GEOS-Chem Support Team does not have the resources to store restart files for multiple years. Please note:
- We have discontinued archiving GEOS-Chem run directories via TARBALL (*.tar.gz) files. You must use the Git version control software to download any of the GEOS-Chem run directories.
- You can always rename the restart file from one of the GEOS-Chem run directories with a run directory and just rename it (i.e. change restart.2x25.geos5.2005070100 to restart.2x25.geos5.2009070100.)
- For those of you who are running simulations with Secondary organic aerosols, please see this wiki post about the SOA restart file. This file archives the various quantities.
- Restart files are archived for each of the GEOS-Chem 1-year benchmark simulations. You can download any of these via anonymous FTP. However, these restart files are usually for simulations done at 4° x 5° resolution for model year 2005.
Also, we recommend that you do not use the restart files provided in the run directory to initialize any of your "production" GEOS-Chem simulations. You should "spin-up" GEOS-Chem for at least a year. Then you can use the restart file saved out from the "spin-up" run as the initial condition for your production run.
--Bob Y. 16:05, 22 March 2011 (EDT)
How long does GEOS-Chem take to run?
It depends on your particular computing environment. We have posted several timing results from GEOS-Chem 7-day time test simulations.
GEOS-Chem seems to be running too slowly. What can I do?
You should be aware of several compile-time options that will slow down GEOS-Chem. Use these options only for debugging, but not in your production runs.
Also, the following run-time options may also slow down GEOS-Chem:
- "Normal" diagnostics (e.g. saved out to the ctm.bpch file)
- The more diagnostic quantities you choose to archive, the more memory and disk I/O operations this will require.
- "Timeseries" diagnostics (ND48, ND49, ND50, ND51, ND51b)
- If you choose to archive many diagnostic quantities at hourly or bi-hourly intervals, then the increased memory and disk I/O usage can slow down GEOS-Chem.
To speed up GEOS-Chem, you can try to reduce the number of diagnostics that you are saving to disk.
Can I run two GEOS-Chem jobs simultaneously?
Timmy Francis wrote:
- I would like to know if I can run more than one executables (.geos) by renaming them as .geos1, .geos2 etc. For example using the same restart file, I want to run two simulations, one 'with chemistry' and the other 'without chemistry' after make and rename the executables to geos1 and geos2 and run these in two terminals. Will they interfere with each other and affect the result?
Bob Yantosca replied:
- I recommend creating separate run directories for each executable. You can place the identical restart file and input files into each run directory. Then in one run directory you can turn on chemistry in input.geos, and then in the other run directory, you turn off chemistry in input.geos. If you run the GEOS-Chem executables in two separate directories, you will ensure that one executable will not overwrite the files that the other executable creates.
- In theory, you should be able to run two simultaneous GEOS-Chem executables in two separate run directories. However, I don't know much about your particular machine. You might find that there is not enough memory to run two simulations at the same time. That is not a problem with GEOS-Chem, but with your system (and is something that the GEOS-Chem Support Team wouldn't be able to help you with).
- I would recommend talking with your local IT department to find out how much memory etc. is available to you, and if you would be able to run two simulations at the same time. I think a 4x5 full chemistry simulation takes 2-3 GB of memory, and a 2x2.5 simulation can take up to 8GB of memory.
Please also see our Common GEOS-Chem error messages wiki page.
GEOS-Chem died with an error. What can I do?
First, you should try to understand the type of error that has occurred. There are several different classes of errors, such as:
- File I/O errors
- Errors caused by incorrect input options
- Errors caused by missing data files
- Errors caused by corrupted data files
- Running GEOS-Chem at the wrong resolution for the data files
- Abnormal exits
- From the KPP chemical solver
- From the SMVGEAR chemical solver
- From other areas of GEOS-Chem
- Technical errors
Once you have understood the type of GEOS-Chem error that has occurred, you can take steps to fix it. In some cases, the fixes will be simple (i.e. selecting the proper option and starting over, or replacing missing or corrupted data files, etc.). In other cases, the error may be more difficult to diagnose (such as a convergence error in the chemical solver). In that case you may have to "dig in" to the code so that you can modify its behavior (e.g. modify convergence criteria, add error checks, etc.).
Try to isolate the error to a particular GEOS-Chem routine. You can use a debugger such as idb or Totalview, or you can turn on the ND70 debug printout option. (ND70 will print debug messages to the log file after key operations have been completed.) You may also try turning off operations (e.g. wet deposition, dry deposition, chemistry) one at a time in the input.geos file to isolate the error. Once you know where the error is occurring, try to print out values for a given grid box and tracer, either in the debugger or by adding PRINT statements to the code. You will gain great insight into what is happening by using this technique.
Try to determine if the error is persistent (i.e. if it always occurs at the same model time/date or if it occurs at different times and dates in the simulation). A persistent error could indicate a missing or corrupted data file, or a flaw in the scientific algorithm being used. Non-persistent errors (i.e. those that don't happen at the same model time and date) may indicate memory errors, such as array-out-of-bounds, segmentation faults, or that the code is using more memory than is available.
When you debug, we recommend that you recompile with the TRACEBACK=yes compiler option. This will print out the error stack, or list of routines that are called. The traceback output can often indicate where the error occurs.
If you still cannot determine the error from the traceback output, recompile with the BOUNDS=yes compiler option. This will check to see if an array is being accessed incorrectly
Please see our Common GEOS-Chem errors wiki page, which contains strategies for recognizing and fixing several commonly-encountered error conditions. If you still cannot determine the source of your error, please contact the GEOS-Chem Support Team and provide a detailed description of your error.
Where does GEOS-Chem error output get printed?
GEOS-Chem, like all Unix programs, sends its output to two streams:
The stdout stream
Most GEOS-Chem output will go to the stdout stream, which takes I/O from the Fortran WRITE and PRINT commands. If you run GEOS-Chem by just typing the executable name at the Unix prompt:
then the stdout stream will be printed to the terminal window. You can also redirect the stdout stream to a log file with the Unix redirect command:
geos > log
We recommend that you create GEOS-Chem log files so that you can reexamine the output from your run at a later time.
Most GEOS-Chem errors will be printed to stdout (and hence, to the log file). Most errors flagged by GEOS-Chem use a standard error message format, such as:
============================================================== GEOS-CHEM ERROR: No output scheduled on last day of run! STOP at IS_LAST_DAY_GOOD ("input_mod.f") ==============================================================
The stderr stream
The stderr stream takes I/O from various Unix system commands, including exit. If your GEOS-Chem run died as a result of a system problem (i.e. you ran up against a system time or memory limit, you are over disk quota, etc.), then the error message will more than likely go to stderr instead of stdout. As a result, these error messages will not be printed to the GEOS-Chem log file output.
If you use a queue system then the stderr output may be printed to a file. For example, if you submit a GEOS-Chem job to the SGE queue system, and your job script is named run.geos, SGE will send the stderr output to a file named run.geos.oXXXXX (where XXXXX is the job ID #).
--Bob Y. 15:44, 8 November 2010 (EST)