GEOS-Chem directory structure

From Geos-chem
Revision as of 18:11, 7 December 2020 by Bmy (Talk | contribs) (Created page with "== Code directory structure == The table below lists the directory structure in GEOS-Chem 12 along with descriptions of each subdirectory and its Makefile (if one is pres...")

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Code directory structure

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

Directory Description Is there a Makefile here?
Code Main-level directory for GEOS-Chem Yes, there are two:
  • Makefile is the main-level router makefile and it calls down to the makefile in GeosCore.
  • Makefile_header.mk defines compilation and linking commands for the Fortran-90 compilers. These commands are common to the makefiles in all subdirectories.
Code/GTMM Directory containing source code files for the Global Terrestrial Mercury Model (GTMM) simulation Yes, it compiles the code in GTMM and creates library file lib/libHg.a
Code/GeosCore Directory containing most GEOS-Chem modules and routines Yes, this is the main makefile for GEOS-Chem. It calls down to the makefiles in the other subdirectories. It then compiles the code in the GeosCore directory and creates the geos executable.
Code/GeosRad Directory containing source code files for the RRTMG radiative transfer model Yes, it compiles the code in GeosRad and creates library file lib/librad.a.
Code/GeosUtil Directory containing GEOS-Chem utility modules Yes, it compiles the code in GeosUtil and creates library file lib/libGeosUtil.a.
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.
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.
Code/KPP Main-level directory for the KPP chemical solver Yes, it calls down to the makefiles in the other KPP subdirectories.
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