Creating GEOS-Chem run directories

From Geos-chem
Revision as of 18:18, 19 March 2015 by Bmy (Talk | contribs) (Editing the CopyRunDirs.input file)

Jump to: navigation, search

On this page we show you how to use the GEOS-Chem Unit Tester to generate fresh copies of run directories for your GEOS-Chem simulations.

Downloading the GEOS-Chem unit tester

First, make sure that your system has these software packages installed. (Most of these come standard with your Unix-based operating system.)

Next, clone the GEOS-Chem unit tester package with the command:

   git clone -b v10-01-public git://git.as.harvard.edu/bmy/GEOS-Chem-UnitTest UT

This will create a copy of the GEOS-Chem Unit Tester package in a directory named UT for short.

The option

   -b v10-01-public

specifies which branch of the GEOS-Chem Unit Tester that you would like to download. Branches in the GEOS-Chem unit tester correspond to each internal version of GEOS-Chem (i.e. the states of the code for which we run 1-month benchmark simulations), as well as the publicly-released versions. Most likely, you will want to download the v10-01-public branch of the GEOS-Chem Unit Tester, which corresponds to the public release of GEOS-Chem v10-01.

--Bob Y. 13:36, 19 March 2015 (EDT)

Editing the CopyRunDirs.input file

Once you have downloaded the GEOS-Chem Unit Tester to your disk space, switch to the perl/ directory:

   cd UT/perl

In this directory there is a Perl script named gcCopyRunDirs that you will use to generate fresh copies of GEOS-Chem run directories. This script uses an input file named CopyRunDirs.input, which is also located in the perl directory.

Your CopyRunDirs.input file will look like this:

#------------------------------------------------------------------------------
#                  GEOS-Chem Global Chemical Transport Model                  !
#------------------------------------------------------------------------------
#BOP
#
# !DESCRIPTION: Input file that specifies configuration for creating and
#  copying a run directory from the UnitTester. 
#\\
#\\
# !REMARKS:  
#  Customize the run directory for your system by specifying these values:
#  -------------------------------------------------------------------
#  VERSION     : A tag used to identify this Unit Test (e.g. v10-01h)
#  DESCRIPTION : A short description of this file's run dir copy configuration
#  COPY_PATH   : Local path where run directory will be copied to
#  DATA_ROOT   : Root GEOS-Chem data directory
#  HEMCO_ROOT  : Root directory where HEMCO emissions data files are stored 
#  RUN_ROOT    : Unit test run directories are subdirectories of RUN_ROOT
#  RUN_DIR     : Individual unit test run directory path
#  PERL_DIR    : Unit Test perl script directory (i.e. this directory)
#  COPY_CMD    : Unix copy command with optional tags
#
# !REVISION HISTORY:
#  18 Mar 2015 - R. Yantosca - Initial version
#  19 Mar 2015 - E. Lundgren - Simplify content for only copying run dirs
#EOP
#------------------------------------------------------------------------------
#
# !INPUTS:
#
   VERSION     : v10-01h
   DESCRIPTION : Create run directory from UnitTest
   COPY_PATH   : /home/{USER}/GC/rundirs
   DATA_ROOT   : /as/data/geos/ExtData
   HEMCO_ROOT  : {DATAROOT}/HEMCO
   RUN_ROOT    : /home/{USER}/UT/runs
   RUN_DIR     : {RUNROOT}/{RUNDIR}
   PERL_DIR    : /home/{USER}/UT/perl
   COPY_CMD    : cp -rfL
#
# !RUNS:
#  Specify the debugging runs that you want to perform below.
#  You can deactivate runs by commenting them out with "#".
#
#--------|-----------|------|------------|------------|------------|---------|
# MET    | GRID      | NEST | SIMULATION | START DATE | END DATE   | EXTRA?  |
#--------|-----------|------|------------|------------|------------|---------|
  geosfp   2x25        -      Hg           2013070100   2013070101   -
  geos5    2x25        -      Hg           2005070100   2005070101   -
  geosfp   4x5         -      fullchem     2013070100   2013070101   -
  geos4    4x5         -      Hg           2005070100   2005070101   -
  geos4    4x5         -      CH4          2005070100   2005070101   -
  geosfp   4x5         -      Hg           2013070100   2013070101   -
  geosfp   4x5         -      POPs         2013070100   2013070101   -
!END OF RUNS:
#EOP
#------------------------------------------------------------------------------

NOTE: Lines starting with a # character will be treated as comments.

The CopyRunDirs.input file has a layout that is very similar to the GEOS-Chem Unit Tester input files. (These are the files named UnitTest.input, etc.) Like the GEOS-Chem Unit Tester input files, CopyRunDirs.input is composed of an !INPUTS section and a !RUNS section, both of which are described below.

The INPUTS section

Under the !INPUTS: section, you can customize the directory paths and other options for your system. As seen above, most of these inputs are self-explanatory.

Option DescriptionMet field type
VERSION An ID tag that will be added to all log files and output files.
DESCRIPTION A short (1-sentence) description of what features are being validated by this unit test.
COPY_PATH Specifies the root directory on your disk server where copies of the GEOS-Chem run directories will be created.
DATA_ROOT Specifies the path for your root-level data directory.
HEMCO_ROOT Specifies the top-level path for the HEMCO data directory tree.
  • The {DATAROOT} token in HEMCO_ROOT will be replaced with the value you specify for RUN_ROOT option. Leave this as-is.
RUN_ROOT Specifies the top-level unit test run directories. Leave this as-is.
PERL_DIR Specifies the directory where the unit test Perl scripts are found.
  • Leave this as-is.
COPY_CMD Specifies the command used to copy run directories from the GEOS-Chem Unit Tester to COPY_PATH.
  • The default setting is cp -rfL. This will create a new copy of the directory, even if the prior copy exists.
  • The -L option to the cp will create "hard" copies of files that are linked to other files.

--Bob Y. 14:03, 19 March 2015 (EDT)

The RUNS section

The layout of the !RUNS section is identical to #Debugging_with_the_GEOS-Chem_unit_tester#The_RUNS_section in the GEOS-Chem Unit Tester input files. This allows you to copy and paste text from one or more GEOS-Chem Unit Tester input files into CopyRunDirs.input.

For example, the following line:

#
# !RUNS:
#  Specify the debugging runs that you want to perform below.
#  You can deactivate runs by commenting them out with "#".
#
#--------|-----------|------|------------|------------|------------|---------|
# MET    | GRID      | NEST | SIMULATION | START DATE | END DATE   | EXTRA?  |
#--------|-----------|------|------------|------------|------------|---------|
  geosfp   2x25        -      Hg           2013070100   2013070101   -

will tell the gcCopyRunDirs script to create a run directory for a GEOS-Chem simulation using:

You can add as many entries to the !RUNS section as you wish. Simply cut and paste from one of the existing GEOS-Chem Unit Test input files (these are usually named UnitTest.input, etc.).