Difference between revisions of "GEOS-Chem directory structure"

From Geos-chem
Jump to: navigation, search
(Code directory structure)
(15 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Code directory structure ==
+
__FORCETOC__
 +
'''''[[Downloading GEOS-Chem source code|Previous]] | [[Downloading GEOS-Chem data directories|Next]] | [[Getting Started with GEOS-Chem]]'''''
 +
#[[Minimum system requirements for GEOS-Chem|Minimum system requirements )]]
 +
#[[Configuring your computational environment]]
 +
#[[Downloading GEOS-Chem source code|Downloading source code]]
 +
#*<span style="color:blue">'''GEOS-Chem directory structure'''</span>
 +
#[[Downloading GEOS-Chem data directories|Downloading data directories]]
 +
#[[Creating GEOS-Chem run directories|Creating run directories]]
 +
#[[GEOS-Chem configuration files|Configuring runs]]
 +
#[[Compiling GEOS-Chem|Compiling]]
 +
#[[Running GEOS-Chem|Running]]
 +
#[[GEOS-Chem output files|Output files]]
 +
#[[Python tools for use with GEOS-Chem]]
 +
#[[GEOS-Chem_coding_and_debugging|Coding and debugging]]
 +
#[[GEOS-Chem_overview#Further_reading|Further reading]]
  
=== 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).
+
This content has been migrated to the [https://geos-chem.readthedocs.io/en/latest/gcclassic_supplement/directory-structure.html '''GEOS-Chem Classic folder tree''' chapter of <tt>geos-chem.readthedocs.io</tt>].
  
{| border=1 cellspacing=0 cellpadding=5
 
|- bgcolor="#CCCCCC"
 
!width="300px"|Code in GEOS-Chem 13.0.0
 
!width="400px"|Description
 
!width="300px"|Location in prior versions
 
  
|-valign="top"
+
----
|<tt>src/GEOS-Chem</tt>
+
'''''[[Downloading GEOS-Chem source code|Previous]] | [[Downloading GEOS-Chem data directories|Next]] | [[Getting Started with GEOS-Chem]]'''''
|Main-level directory for GEOS-Chem
+
|<tt>GEOS-Chem</tt>
+
 
+
|-valign="top"
+
|<tt>src/GEOS-Chem/GTMM</tt>
+
|Directory containing source code files for the [[Global_Terrestrial_Mercury_Model|Global Terrestrial Mercury Model (GTMM)]] simulation
+
||<tt>src/GEOS-Chem/GTMM</tt>
+
 
+
|-valign="top"
+
|<tt>src/GEOS-Chem/GeosCore</tt>
+
|Directory containing most GEOS-Chem modules and routines
+
|<tt>src/GEOS-Chem/GeosCore</tt>
+
 
+
|-valign="top"
+
|<tt>src/GEOS-Chem/GeosRad</tt>
+
|Directory containing source code files for the [[Coupling_GEOS-Chem_with_RRTMG|RRTMG radiative transfer model]]
+
|<tt>src/GEOS-Chem/GeosRad</tt>
+
 
+
|-valign="top"
+
|<tt>src/GEOS-Chem/GeosUtil</tt>
+
|Directory containing GEOS-Chem utility modules
+
|<tt>GEOS-Chem/GeosUtil</tt>
+
 
+
|-valign="top"
+
|<tt>src/GEOS-Chem/Headers</tt>
+
|Directory containing module files with fixed parameters and derived-type definitions
+
|<tt>GEOS-Chem/Headers</tt>
+
 
+
|-valign="top"
+
|<tt>Code/Headers</tt>
+
|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 <tt>#include</tt> statement.  These have since been converted to F90 modules in order to facilitate [[GEOS-Chem HP]] development.
+
|Yes, it compiles the code in <tt>Headers</tt> and creates library file <tt>lib/libHeaders.a</tt>
+
 
+
|-valign="top"
+
|<tt>Code/History</tt>
+
|Directory containing module files to archive diagnostics from GEOS-Chem "Classic" simulations to netCDF file format
+
|Yes, it compiles the code in <tt>History</tt> and creates library file <tt>lib/libHistory.a</tt>
+
 
+
|-valign="top"
+
|<tt>Code/ISORROPIA</tt>
+
|Directory containing the unmodified [[ISORROPIA_II|ISORROPIA II]] source code files from Thanos Nenes and Havala Pye:
+
* <tt>isoropiaII_main_mod.F</tt>
+
|Yes, it compiles the code in <tt>ISOROPIA</tt> and creates library file <tt>lib/libIsoropia.a</tt>.
+
 
+
|-valign="top"
+
|<tt>src/GEOS-Chem/KPP</tt>
+
|Main-level directory for the [[KPP_solvers_FAQ|KPP chemical solver]]
+
|<tt>src/GEOS-Chem/KPP</tt>
+
 
+
|-valign="top"
+
|<tt>Code/KPP/fullchem</tt>
+
|Directory containing KPP source code files for the [[GEOS-Chem_chemistry_mechanisms#Mechanisms_for_GEOS-Chem_v11-02|Standard chemistry mechanism]]
+
|Yes, if you compile with <tt>CHEM=custom</tt>it compiles the code in <tt>KPP/Custom</tt> and creates library file <tt>lib/libKpp.a</tt>.
+
 
+
|-valign="top"
+
|<tt>Code/KPP/custom</tt>
+
|Directory containing KPP source code files for the [[GEOS-Chem_chemistry_mechanisms#Mechanisms_for_GEOS-Chem_v11-02|Standard chemistry mechanism]]
+
|Yes, if you compile with <tt>CHEM=custom</tt>it compiles the code in <tt>KPP/Custom</tt> and creates library file <tt>lib/libKpp.a</tt>.
+
 
+
|-valign="top"
+
|<tt>Code/KPP/int</tt>
+
|Directory containing the integrators (rosenbrock, runge-kutta, lsodes, etc.) for KPP
+
|No
+
 
+
|-valign="top"
+
|<tt>Code/KPP/Standard</tt>
+
|Directory containing KPP source code files for the [[GEOS-Chem_chemistry_mechanisms#Mechanisms_for_GEOS-Chem_v11-02|Standard chemistry mechanism]]
+
|Yes, it compiles the code in <tt>KPP/Standard</tt> and creates library file <tt>lib/libKpp.a</tt>.
+
 
+
|-valign="top"
+
|<tt>Code/KPP/Tropchem</tt>
+
|Directory containing KPP source code files for the [[GEOS-Chem_chemistry_mechanisms#Mechanisms_for_GEOS-Chem_v11-02l|Troposphere-only mechanism]]
+
|Yes, it compiles the code in <tt>KPP/Tropchem</tt> and creates library file <tt>lib/libKpp.a</tt>.
+
 
+
|-valign="top"
+
|<tt>Code/KPP/SOA_SVPOA</tt>
+
|Directory containing KPP source code files for the [[GEOS-Chem_chemistry_mechanisms#Mechanisms_for_GEOS-Chem_v11-02|SOA or SOA_SVPOA chemistry mechanisms]].
+
|Yes, it compiles the code in <tt>KPP/SOA_SVPOA</tt> and creates library file <tt>lib/libKpp.a</tt>.
+
 
+
|-valign="top"
+
|<tt>Code/NcdfUtil</tt>
+
|Directory containing source code files for netCDF I/O. This code is from Bob Yantosca's NcdfUtilities package
+
|Yes, it compiles the code in <tt>NcdfUtil</tt> and creates library file <tt>lib/libNcUtils.a</tt>.
+
 
+
|-valign="top"
+
|<tt>Code/NcdfUtil/perl</tt>
+
|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
+
 
+
|-valign="top"
+
|<tt>Code/ObsPack</tt>
+
|Directory containing the [[ObsPack diagnostic]] code.
+
*Introduced in [[GEOS-Chem 12#12.2.0|GEOS-Chem 12.2.0]]
+
|Yes, it compiles the code in <tt>ObsPack</tt> and creates the library file <tt>libObsPack.a</tt>
+
 
+
|-valign="top"
+
|<tt>Code/bin</tt>
+
|Directory where executable (<tt>geos</tt>, <tt>geostomas</tt>) files will be sent
+
|No
+
 
+
|-valign="top"
+
|<tt>Code/doc</tt>
+
|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.
+
 
+
|-valign="top"
+
|<tt>Code/help</tt>
+
|Directory containing GEOS-Chem help screen
+
|Yes, it prints the GEOS-Chem help screen to stdout
+
 
+
|-valign="top"
+
|<tt>Code/lib</tt>
+
|Directory where library (<tt>*.a</tt>) files will be created
+
|No
+
 
+
|-valign="top"
+
|<tt>Code/mod</tt>
+
|Directory where module (<tt>*.mod</tt>) files will be sent
+
|No
+
 
+
|}
+
 
+
=== HEMCO code structrure (version 3.0.0 and later) ===
+
 
+
{| border=1 cellspacing=0 cellpadding=5
+
|- bgcolor="#CCCCCC"
+
!width="300px"|Code in GEOS-Chem 13.0.0
+
!width="400px"|Description
+
!width="300px"|Location in prior versions
+
 
+
|-valign="top"
+
|<tt>Code/HEMCO</tt>
+
|Main-level directory for [[HEMCO]]
+
|Yes, it calls down to the makefiles in the other HEMCO subdirectories.
+
 
+
|-valign="top"
+
|<tt>Code/HEMCO/Core</tt>
+
|Directory containing HEMCO modules and routines for reading, storing, and updating data used for calculating emissions
+
|Yes, it compiles the code in <tt>HEMCO/Core</tt> and creates library file <tt>lib/libHCO.a</tt>.
+
 
+
|-valign="top"
+
|<tt>Code/HEMCO/Extensions</tt>
+
|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 <tt>HEMCO/Extensions</tt> and creates library file <tt>lib/libHCOX.a</tt>.
+
 
+
|-valign="top"
+
|<tt>Code/HEMCO/Interfaces</tt>
+
|Directory containing HEMCO modules and routines that provide the link between HEMCO and the model environment
+
|Yes, it compiles the code in <tt>HEMCO/Interfaces</tt> and creates library file <tt>lib/libHCOI.a</tt>.
+
 
+
|}
+

Revision as of 14:54, 4 August 2022

Previous | Next | Getting Started with GEOS-Chem

  1. Minimum system requirements )
  2. Configuring your computational environment
  3. Downloading source code
    • GEOS-Chem directory structure
  4. Downloading data directories
  5. Creating run directories
  6. Configuring runs
  7. Compiling
  8. Running
  9. Output files
  10. Python tools for use with GEOS-Chem
  11. Coding and debugging
  12. Further reading


This content has been migrated to the GEOS-Chem Classic folder tree chapter of geos-chem.readthedocs.io.



Previous | Next | Getting Started with GEOS-Chem