Frequently asked questions about GEOS-Chem
On this page we shall answer some commonly asked questions about GEOS-Chem.
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?
- Can I use GEOS-Chem on cloud-computing platforms?
- 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?
--Bob Yantosca (talk) 17:45, 2 January 2019 (UTC)
Science questions
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?
- Other chemistry simulations such as CO2, CH4, Hg, etc.?
- 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?
--Bob Yantosca (talk) 17:45, 2 January 2019 (UTC)
Technical issues
- How do I download the GEOS-Chem source code and run 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?
- Are there any numerical issues that I should be aware of?
- Do you have any tools that would help me debug GEOS-Chem more efficiently?
--Bob Yantosca (talk) 17:45, 2 January 2019 (UTC)
Parallelization issues
- 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?
--Bob Yantosca (talk) 17:45, 2 January 2019 (UTC)
High-Performance GEOS-Chem (GCHP)
Please see the GCHP main wiki page for information about GCHP.
Where can I get restart files for GEOS-Chem?
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.
--Bob Yantosca (talk) 16:24, 6 January 2017 (UTC)
Running GEOS-Chem
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.
If you are archiving many diagnostic quantities are a high temporal resolution (e.g. every hour), then this will increase the run time of your simulation. You can try saving out less diagnostic quantities, or archiving at a lower temporal resolution (e.g. every day).
GEOS-Chem errors
Please also see our Guide to GEOS-Chem error messages.
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 other areas of GEOS-Chem
- Technical errors
- Segmentation faults
- Array-out-of-bounds errors
- Out of memory 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.
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 Guide to GEOS-Chem error messages, 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 for assistance.
Where does GEOS-Chem error output get printed?
GEOS-Chem, like all Unix programs, sends its output to two streams:
- stdout
- stderr
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:
geos
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)