Configuration files

All GCHP run directories have default simulation-specific run-time settings that are set in the configuration files. This section gives an high-level overview of all run directory configuration files used at run-time in GCHP, as well as links to detailed descriptions if you wish to learn more.

Note

The many configuration files in GCHP can be overwhelming. However, you should be able to accomplish most if not all of what you wish to configure from one place in setCommonRunSettings.sh. That file is a bash script used to configure settings in other files from one place. Please get very familiar with the options in setCommonRunSettings.sh by reading through the configuration section of the file. Be conscientious about not updating the same setting elsewhere.


Configuration files

Detailed information about most of GCHP’s configuration file can be found in the following pages. You can also reach these pages by continuing with the “next” button in this user guide. See further down on this page for a high-level summary of all configuration files.


High-level summary

This high-level summary of GCHP configuration files gives a short description of each file.

CAP.rc

Controls parameters used by the highest level gridded component (CAP). This includes simulation run time information, name of the Root gridded component (GCHP), config filenames for Root and History, and toggles for certain MAPL logging utilities (timers, memory, and import/export name printing). Values are automatically set from settings in setCommonRunSetting.sh.

ESMF.rc

Controls the logging level of ESMF. By default this file specifies no log output for ESMF. See the file for available options you can set at run-time.

ExtData.rc

Config file for the MAPL ExtData component. Specifies input variable information, including name, regridding method, read frequency, offset, scaling, and file path. All GCHP imports must be specified in this file. Toggles at the top of the file enable MAPL ExtData debug prints and using most recent year if current year of data is unavailable. Default values may be used by specifying file path /dev/null.

GCHP.rc

Controls high-level aspects of the simulation, including grid type and resolution, core distribution, stretched-grid parameters, timesteps, and restart filename. Values are automatically set from settings in setCommonRunSettings.sh.

geoschem_config.yml

Primary config file for GEOS-Chem. Same file format as in GEOS-Chem Classic but containing only options relevant to GCHP. Some fields are automatically updated from settings in setCommonRunSettings.sh.

HEMCO_Config.rc

Contains emissions information used by HEMCO. Same function as in GEOS-Chem Classic except only HEMCO name, species, scale IDs, category, and hierarchy are used. Diagnostic frequency, file path, read frequency, and units are ignored, and are instead stored in GCHP config file ExtData.rc. All HEMCO variables listed in HEMCO_Config.rc for enabled emissions must also have an entry in ExtData.rc.

HEMCO_Diagn.rc

Contains information mapping HISTORY.rc diagnostic names to HEMCO containers. Same function as in GEOS-Chem Classic except that not all items in HEMCO_Diagn.rc will be output; only emissions listed in HISTORY.rc will be included in diagnostics. All GCHP diagnostics listed in HISTORY.rc that start with Emis, Hco, or Inv must have a corresponding entry in HEMCO_Diagn.rc.

HISTORY.rc

Config file for the MAPL History component. It configures diagnostic output from GCHP. There is an option in setCommonRunSettings.sh to auto-update this file based on settings configured there, including duration, frequency, and which collections to update.

input.nml

Namelist used in advection for domain stack size and stretched grid parameters. Users should not need to update this.

logging.yml

Config file for the NASA MAPL logger package included in GCHP for logging. This package uses a hierarchy of loggers, such as info, warnings, error, and debug, to extract non-GEOS-Chem information about GCHP runs and print it to log file allPEs.log. Use this file to debug problems with data inputs.

setCommonRunSettings.sh

This file is a bash script where you can set commonly changed run settings. It auto-updates other configuration files when it is sourced. It makes it easier to manage configuring GCHP since settings can be changed from one file rather than across multiple configuration files.