Frequently asked questions about GEOS-Chem

From Geos-chem
Jump to navigation Jump to search

On this page we shall answer some commonly asked questions about GEOS-Chem.

Basic information about GEOS-Chem

For new users

--Bob Yantosca (talk) 17:45, 2 January 2019 (UTC)

Science questions

Where can I find information about ...

--Bob Yantosca (talk) 17:45, 2 January 2019 (UTC)

Technical issues

--Bob Yantosca (talk) 17:45, 2 January 2019 (UTC)

Parallelization issues

--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

Please see our Running GEOS-Chem wiki page.

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:

  1. File I/O errors
  2. Abnormal exits
  3. 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.

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:

  1. stdout
  2. 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)