GEOS-Chem directory structure

From Geos-chem
Revision as of 19:52, 7 December 2020 by Bmy (Talk | contribs) (Code directory structure)

Jump to: navigation, search

Code directory structure

GEOS-Chem Code structure (13.0.0 and later versions)

The table below lists the directory structure in GEOS-Chem 12 along with descriptions of each subdirectory and its Makefile (if one is present).

Code in GEOS-Chem 13.0.0 Description Location in prior versions
src/GEOS-Chem Main-level directory for GEOS-Chem GEOS-Chem
src/GEOS-Chem/GTMM Directory containing source code files for the Global Terrestrial Mercury Model (GTMM) simulation src/GEOS-Chem/GTMM
src/GEOS-Chem/GeosCore Directory containing most GEOS-Chem modules and routines src/GEOS-Chem/GeosCore
src/GEOS-Chem/GeosRad Directory containing source code files for the RRTMG radiative transfer model src/GEOS-Chem/GeosRad
src/GEOS-Chem/GeosUtil Directory containing GEOS-Chem utility modules GEOS-Chem/GeosUtil
src/GEOS-Chem/Headers Directory containing module files with fixed parameters and derived-type definitions GEOS-Chem/Headers
Code/Headers Directory containing module files with fixed parameters and derived-type definitions
  • NOTE: In previous versions, these files were header files that were inlined via the #include statement. These have since been converted to F90 modules in order to facilitate GEOS-Chem HP development.
Yes, it compiles the code in Headers and creates library file lib/libHeaders.a
Code/History Directory containing module files to archive diagnostics from GEOS-Chem "Classic" simulations to netCDF file format Yes, it compiles the code in History and creates library file lib/libHistory.a
Code/ISORROPIA Directory containing the unmodified ISORROPIA II source code files from Thanos Nenes and Havala Pye:
  • isoropiaII_main_mod.F
Yes, it compiles the code in ISOROPIA and creates library file lib/libIsoropia.a.
src/GEOS-Chem/KPP Main-level directory for the KPP chemical solver src/GEOS-Chem/KPP
Code/KPP/fullchem Directory containing KPP source code files for the Standard chemistry mechanism Yes, if you compile with CHEM=customit compiles the code in KPP/Custom and creates library file lib/libKpp.a.
Code/KPP/custom Directory containing KPP source code files for the Standard chemistry mechanism Yes, if you compile with CHEM=customit compiles the code in KPP/Custom and creates library file lib/libKpp.a.
Code/KPP/int Directory containing the integrators (rosenbrock, runge-kutta, lsodes, etc.) for KPP No
Code/KPP/Standard Directory containing KPP source code files for the Standard chemistry mechanism Yes, it compiles the code in KPP/Standard and creates library file lib/libKpp.a.
Code/KPP/Tropchem Directory containing KPP source code files for the Troposphere-only mechanism Yes, it compiles the code in KPP/Tropchem and creates library file lib/libKpp.a.
Code/KPP/SOA_SVPOA Directory containing KPP source code files for the SOA or SOA_SVPOA chemistry mechanisms. Yes, it compiles the code in KPP/SOA_SVPOA and creates library file lib/libKpp.a.
Code/NcdfUtil Directory containing source code files for netCDF I/O. This code is from Bob Yantosca's NcdfUtilities package Yes, it compiles the code in NcdfUtil and creates library file lib/libNcUtils.a.
Code/NcdfUtil/perl Directory containing perl scripts from the NcdfUtilities package that can be used to generate Fortran code for defining, writing, and reading a netCDF file No
Code/ObsPack Directory containing the ObsPack diagnostic code. Yes, it compiles the code in ObsPack and creates the library file libObsPack.a
Code/bin Directory where executable (geos, geostomas) files will be sent No
Code/doc Directory where automatic documentation is built Yes, it calls the ProTeX script to create reference manuals (in PS and PDF formats) from the comments in GEOS-Chem module and routine headers.
Code/help Directory containing GEOS-Chem help screen Yes, it prints the GEOS-Chem help screen to stdout
Code/lib Directory where library (*.a) files will be created No
Code/mod Directory where module (*.mod) files will be sent No

HEMCO code structrure (version 3.0.0 and later)

Code in GEOS-Chem 13.0.0 Description Location in prior versions
Code/HEMCO Main-level directory for HEMCO Yes, it calls down to the makefiles in the other HEMCO subdirectories.
Code/HEMCO/Core Directory containing HEMCO modules and routines for reading, storing, and updating data used for calculating emissions Yes, it compiles the code in HEMCO/Core and creates library file lib/libHCO.a.
Code/HEMCO/Extensions Directory containing HEMCO modules and routines for calculating emissions that depend on meteorological input variables and/or non-linear parameterizations Yes, it compiles the code in HEMCO/Extensions and creates library file lib/libHCOX.a.
Code/HEMCO/Interfaces Directory containing HEMCO modules and routines that provide the link between HEMCO and the model environment Yes, it compiles the code in HEMCO/Interfaces and creates library file lib/libHCOI.a.