Downloading data with the GEOS-Chem dry-run option
- Minimum system requirements
- Configuring your computational environment
- Downloading source code
- Downloading data directories
- Creating run directories
- Configuring runs
- Output files
- Visualizing and processing output
- Coding and debugging
- Further reading
- 1 Overview
- 2 Executing GEOS-Chem in dry-run mode
- 3 Downloading data from dry-run output
- 4 Further reading
The GEOS-Chem dry-run option will be available in GEOS-Chem 12.7.0 and later versions. This version should be released by mid-to-late January 2020 (pending successful benchmarking).
What is a GEOS-Chem dry-run?
A "dry-run" is a is a GEOS-Chem "Classic" simulation that steps through time, but does not perform computations or read data files from disk. Instead, a dry-run simulation prints a list of all data files that a regular GEOS-Chem simulation would have read. The dry-run output also denotes whether each data file was found on disk, or if it is missing.
Why should I perform a GEOS-Chem dry-run?
A GEOS-Chem dry-run is a good way for you to check if you have properly configured your computational environment. This is especially important if you are porting GEOS-Chem to run on a new computer system, or on the AWS cloud.
|Problem encountered in dry-run||What this can indicate|
|GEOS-Chem "Classic" does not compile||
|GEOS-Chem "Classic" compiles but does not run||
Once you have can successfully finished a GEOS-Chem dry-run, you can have confidence that GEOS-Chem can run on your system.
More importantly, output from the GEOS-Chem dry-run simulation can be used to download required met field and emissions data for a GEOS-Chem simulation (see next section).
What can I do with the output of a GEOS-Chem dry-run?
When you run GEOS-Chem in dry-run mode, you must pipe the output to a log file (as you would do for any other GEOS-Chem simulation). The log file containing dry-run output looks similar to a regular GEOS-Chem log file, but will also contain text such as:
... HEMCO: Opening /path/to/ExtData/HEMCO/EDGARv43/v2016-11/EDGAR_v43.BC.POW.0.1x0.1.nc ... HEMCO: REQUIRED FILE NOT FOUND /path/to/ExtData/HEMCO/EDGARv43/v2016-11/EDGAR_v43.BC.POW.0.1x0.1.nc ...
NOTE: /path/to/ExtData denotes the full pathname of the ExtData folder. This is the root of the directory tree containing all GEOS-Chem met fields and emissions data. This will of course be different on each system.
This text lets you know if GEOS-Chem was able to find each input file on disk or not. This information can be parsed by a Python script (download_data.py, which is included in each run directory) to produce:
- A unique list of required data files (with all duplicates removed). This can be useful for documentation purposes.
- A bash script that will download all MISSING data files from one of the GEOS-Chem data repositories:
- Compute Canada repository
- Amazon Web Services s3://gcgrid repository
In the following sections, we will describe the commands that are needed to execute a complete GEOS-chem dry-run workflow.
Which GEOS-Chem simulations can execute in dry-run mode?
Any of the supported GEOS-Chem "Classic" simulations (e.g. standard, benchmark, complexSOA, CH4, TransportTracers, etc.) can be executed in dry-run mode.
As of this writing (Jan 2020), GCHP cannot execute in dry-run mode. Dry-run functionality may be added in the future, but this will require modifications to the NASA MAPL software library. Because GCHP uses the same data files as GEOS-Chem "Classic", you can use a GEOS-Chem "Classic" dry-run to facilitate downloading met fields and emissions data for a GCHP simulation.
Executing GEOS-Chem in dry-run mode
Follow these steps to perform a GEOS-Chem dry-run:
(1) Create a run directory for the type of GEOS-Chem simulation that you wish to perform (e.g. geosfp_4x5_standard, merra2_2x25_tropchem, etc.. For detailed instructions, please see our our Creating run directories chapter.
(2) Change to the run directory (e.g. cd geosfp_4x5_standard, etc.) and compile GEOS-Chem as you normally would. For detailed instructions, please see our our Compiling chapter.
Downloading data from dry-run output