Difference between revisions of "GEOS-Chem directory structure"

From Geos-chem
Jump to: navigation, search
(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...")
 
(16 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]]
  
The table below lists the directory structure in [[GEOS-Chem 12]] along with descriptions of each subdirectory and its Makefile (if one is present).
 
  
{| border=1 cellspacing=0 cellpadding=5
+
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>].
|- bgcolor="#CCCCCC"
+
!width="200px"|Directory
+
!width="550px"|Description
+
!width="350px"|Is there a Makefile here?
+
  
|-valign="top"
 
|<tt>Code</tt>
 
|Main-level directory for GEOS-Chem
 
|Yes, there are two:
 
*<tt>Makefile</tt> is the main-level router makefile and it calls down to the makefile in <tt>GeosCore</tt>.
 
*<tt>Makefile_header.mk</tt> defines compilation and linking commands for the Fortran-90 compilers. These commands are common to the makefiles in all subdirectories.
 
  
|-valign="top"
+
----
|<tt>Code/GTMM</tt>
+
'''''[[Downloading GEOS-Chem source code|Previous]] | [[Downloading GEOS-Chem data directories|Next]] | [[Getting Started with GEOS-Chem]]'''''
|Directory containing source code files for the [[Global_Terrestrial_Mercury_Model|Global Terrestrial Mercury Model (GTMM)]] simulation
+
|Yes, it compiles the code in <tt>GTMM</tt> and creates library file <tt>lib/libHg.a</tt>
+
 
+
|-valign="top"
+
|<tt>Code/GeosCore</tt>
+
|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 <tt>GeosCore</tt> directory and creates the <tt>geos</tt> executable.
+
 
+
|-valign="top"
+
|<tt>Code/GeosRad</tt>
+
|Directory containing source code files for the [[Coupling_GEOS-Chem_with_RRTMG|RRTMG radiative transfer model]]
+
|Yes, it compiles the code in <tt>GeosRad</tt> and creates library file <tt>lib/librad.a</tt>.
+
 
+
|-valign="top"
+
|<tt>Code/GeosUtil</tt>
+
|Directory containing GEOS-Chem utility modules
+
|Yes, it compiles the code in <tt>GeosUtil</tt> and creates library file <tt>lib/libGeosUtil.a</tt>.
+
 
+
|-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>.
+
 
+
|-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>Code/KPP</tt>
+
|Main-level directory for the [[KPP_solvers_FAQ|KPP chemical solver]]
+
|Yes, it calls down to the makefiles in the other KPP subdirectories.
+
 
+
|-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
+
 
+
|}
+

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