Running GEOS-Chem

From Geos-chem
Jump to: navigation, search

Previous | Next | Getting Started with GEOS-Chem

  1. Minimum system requirements
  2. Downloading source code
  3. Downloading data directories
  4. Creating run directories
  5. Configuring runs
  6. Compiling
  7. Running
  8. Output files
  9. Visualizing and processing output
  10. Coding and debugging
  11. Further reading


This page presents the basic information needed to run GEOS-Chem as well as how to verify a successful run and reuse a run directory.

Important things to know before you submit your run

  1. Please be aware of several options available for speeding up your GEOS-Chem simulations. See our Speeding up GEOS-Chem page for more information.
  2. The initial restart files do not reflect the actual atmospheric state and should only be used to "spin up" the model. In other words, they should be used as initial values in an initialization simulation to generate more accurate initial conditions for your production runs. See this wiki post for more information.
  3. Prior to running with GEOS-FP met fields, please be aware of several caveats regarding that data stream. See the GEOS-FP wiki page for more information.

Pre-run checklist

Prior to running GEOS-Chem, always run through the following checklist to ensure everything is set up properly.

  1. Your Unix run-time environment contains a netCDF library installation
  2. Your run directory contains the executable geos
  3. You have looked through and set all configurable settings in the following files:
    1. input.geos (general simulation settings)
    2. HEMCO_Config.rc (emissions settings)
    3. HISTORY.rc (diagnostic output settings)
  4. You have a run script (see below)
  5. Your run script has the proper environment variables defined for OpenMP parallelization
  6. You have enough memory and computational cores available

How to run GEOS-Chem

You can run GEOS-Chem locally from within your run directory (interactively) or by submitting your run to your cluster's job scheduler.

Running Interactively

If your computer system allows interactive computational sessions, then you can run GEOS-Chem interactively. This is useful if you need to run short simulations for debugging or testing.

NOTE: If you are working with GEOS-Chem on the Amazon Web Services cloud computing platform, then you can always run GEOS-Chem interactively, because you will not be sharing your computational environment with other users. See for more information.

To run GEOS-Chem interactively in your terminal window,

First, make sure that you have set the proper Unix environment variables for GEOS-Chem in your interactive session.

Then navigate to your run directory and type:


You may also send the GEOS-Chem output to a log file by using:

./ > GC.log

You may send the GEOS-Chem output to a log file and to your screen using:

./ 2>&1 | tee GC.log

Running as a Batch Job

You can then submit your GEOS-Chem simulation to your local cluster's queue using a simple script. For example:


# Load your environment settings
source ~/.bashrc

# Declare that we would like to run GEOS-Chem with 16 cores
# (change this for your system)

# Max out the stack memory for the simulation.
# If your system has less than 500 MB then it should still
# give you the max amount available, which should be sufficient.
export OMP_STACKSIZE=500m

# Run the GEOS-Chem executable, and pipe output to a log file
./ >> GC.log

A sample run script can also be found in the GEOS-Chem Unit Tester. This run script is set up for the SLURM scheduler and can be submitted using the command sbatch If your cluster utilizes a different job schedule, you may create your own run script or modify the sample run script as needed.

Verifying a Successful Run

There are several ways to verify that your run was successful.

  1. The following output can be found at the end of your GEOS-Chem log file:
    ************** E N D O F G E O S -- C H E M **************
  2. NetCDF files (GEOSChem.*.nc4) are present in the run directory directory.
  3. Your scheduler log (e.g. output from SLURM) does not contain any obvious errors.

If your run stopped with an error, please the following resources:

Submitting consecutive runs

Please note: As of October 2019, the GCST is actively investigating differences in model output when running single vs multi-segmented runs. Any issues found will be addressed as soon as possible to minimize these differences.

Often, users will split long simulations into several smaller simulations to stay within their cluster's computational limits. When doing so, make sure you follow these guidelines to minimize differences in model output:

1. Turn off setting initial stratospheric H2O mixing ratios in input.geos for all runs after your initial run to ensure you use H2O concentrations (found in the restart file) from the previous run:

   => Set initial glob MRs:---
      => strat. H2O?      : F

2. Make sure GC_RESTART and HEMCO_RESTART options are set to true in HEMCO_Config.rc.

To ensure you restart files are read and species concentrations are properly initialized, you may check your GEOS-Chem log file for the following output:
  R E S T A R T   F I L E   I N P U T

  Min and Max of each species in restart file [mol/mol]:
  Species   1,       NO: Min = 1.000000003E-30  Max = 1.560991691E-08
  Species   2,       O3: Min = 3.135925075E-09  Max = 9.816152669E-06
  Species   3,      PAN: Min = 3.435056848E-25  Max = 1.222619450E-09
Actual values may differ. If you see "Use background = ..." for most/all species, that suggests your restart file was not found. To avoid using the wrong restart file make sure to use time cycle flag EY in HEMCO_Config.rc to only use a restart file for the exact simulation date.

Previous | Next | Getting Started with GEOS-Chem