Skip navigation
NASA Logo, National Aeronautics and Space Administration
Modeling Guru Banner
Currently Being Moderated

Compile and Run GEOS CTM  on discover

VERSION 8  Click to view document history
Created on: May 3, 2018 10:49 AM by Jules Kouatchou - Last Modified:  May 9, 2018 4:32 PM by Jules Kouatchou

The GEOS Chemistry Transport Model (CTM) integrates one configurable CTM with options for running any chemistry module currently available within the GEOS GCM code base. It uses the GEOS Earth System Modeling Framework (ESMF) infrastructure (MAPL, the "History" component and the  "ExtData" component) and the GEOS advection component (AdvCore) to drive the GEOS Chemistry component (that includes options for the Global Modeling Initiative (GMI), the Global Ozone Chemistry Aerosol Radiation and Transport (GOCART), GEOS-Chem, etc.).



Components of GEOS CTM

The main components of GEOS CTM are:


  • AdvCore: the transport component which source code is part of the GEOS directory FVdycoreCubed_GridComp/.
  • Chemistry: the GEOS Chemistry component which contains all the options for chemistry models available in GEOS GCM, such as GOCART, GMI, GEOS-Chem, etc. The entire GEOS GEOSchem_GridComp/ defines this component.
  • Diffusion: component where various diffusion methods are implemented.
  • Convection: component where various convection methods are implemented.
  • GEOS CTM Cinderella: a component which primary role is to provide services to the other components. For instance, it will compute the courant numbers and mass fluxes (using the winds and pressure) for AdvCore.


Directory Structure


The basic directory structure of the code is:







The GEOS-5 CTM Cinderella component (used to derived variables) is included in the file:





Configuration Options

Five "Chemistry" options are available:


  1. TRacers (default)
  3. GMI Chemistry
  4. GEOS-Chem
  5. Idealized Passive Tacers



Forcing Data

GEOS CTM uses the following forcing data:



GEOS CTM can use forcing data from any source as long as a specicic set of meteological fields is available or fields can easily be derived.



How to Compile GEOS CTM?

To compile the code, go to the directory:




and issue the command (for a parallel compilation):




The executable, GEOSctm.x,  will be generated and made available in the directory:





How to Run GEOS CTM?

Whenever you want to start a new experiment or you desire to change the model configuration options, it is important to run the setup scripts available at:






Run the script by issuing the command:





You will answer a series of questions to determine the model configuration (horizontal resolution, type of Chemistry, driving dataset, etc.) you are interested in. In addition, you will provide your working directory (where you will run your experiment).


The setup script will automatically generate configuration files and run scripts in your working directory. The main ones are:


CAP.rc:                            file containing information on start date & time, end date & time of job segment, 
                                       duration of job segment, stop date & time of entire experiment.

HISTORY.rc:                      file for selecting the type of diagnostics to be produced

ctm_run.j:                         SLURM script for submitting the job

RC/                                   contains all the resource files needed to drive the model

CTM_GridComp.rc:            file for turning on/off Convection, Diffusion  and for selecting the type of meteorological 
                                         driving (MERRA or MERRA2) 

GEOSCTM.rc:                     file for setting model parameters

MERRA2_ExtData.rc.tmpl:  file needed by ExtData to read external data files

Before submitting, create the file:


cap_restart:      ASCII file containing (single line) starting the date (YYYYMMDD) and time (HHMMSS) 
                        of the job segment in the format: YYYYMMDD HHMMSS

and then issue the command:


qsub ctm_run.j



At run time, the following directories will be created:


holding/:         location where output files are moved to after a successful run.
restart/:          location of restart files generated by the model
scratch/:         temporary directory used to keep necessary files while the code is running



Making Code Modifications






Comments (0)

Bookmarked By (0)

More Like This

  • Retrieving data ...
USAGov logo NASA Logo -