Difference between revisions of "Compiling GEOS-Chem"

From Geos-chem
Jump to: navigation, search
(Which versions can use GNU Make and which can use CMake?)
 
(5 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
__FORCETOC__
 
__FORCETOC__
 
'''''[[HISTORY.rc_and_other_configuration_files|Previous]] | [[Compiling with CMake|Next]] | [[Getting Started with GEOS-Chem]]'''''
 
'''''[[HISTORY.rc_and_other_configuration_files|Previous]] | [[Compiling with CMake|Next]] | [[Getting Started with GEOS-Chem]]'''''
#[[Minimum system requirements for GEOS-Chem|Minimum system requirements]]
+
#[[Minimum system requirements for GEOS-Chem|Minimum system requirements (and software installation)]]
#[[Installing required software]]
+
 
#[[Configuring your computational environment]]
 
#[[Configuring your computational environment]]
 
#[[Downloading GEOS-Chem source code|Downloading source code]]
 
#[[Downloading GEOS-Chem source code|Downloading source code]]
Line 13: Line 12:
 
#[[Running GEOS-Chem|Running]]
 
#[[Running GEOS-Chem|Running]]
 
#[[GEOS-Chem output files|Output files]]
 
#[[GEOS-Chem output files|Output files]]
#[[Guide_to_visualization_and_analysis_tools_for_GEOS-Chem|Visualizing and processing output]]
+
#[[Python tools for use with GEOS-Chem]]
 
#[[GEOS-Chem_coding_and_debugging|Coding and debugging]]
 
#[[GEOS-Chem_coding_and_debugging|Coding and debugging]]
 
#[[GEOS-Chem_overview#Further_reading|Further reading]]
 
#[[GEOS-Chem_overview#Further_reading|Further reading]]
Line 25: Line 24:
 
#[[Compiling with CMake|CMake]]
 
#[[Compiling with CMake|CMake]]
  
At present, both GEOS-Chem "Classic" and GCHP use GNU Make.  CMake will soon replace GNU Make in both GEOS-Chem "Classic" and GCHP.
+
Starting in 13.0.0 both GEOS-Chem "Classic" and GCHP use CMake exclusively.
 
+
--[[User:Bmy|Bob Yantosca]] ([[User talk:Bmy|talk]]) 22:11, 20 December 2019 (UTC)
+
  
 
== Which versions can use GNU Make and which can use CMake? ==
 
== Which versions can use GNU Make and which can use CMake? ==
Line 67: Line 64:
  
 
|-valign="top" align="center"
 
|-valign="top" align="center"
|13.0.0 (release TBD) and later
+
|13.0.0 and later
 
|bgcolor="#FF0000"|'''NO'''
 
|bgcolor="#FF0000"|'''NO'''
 
|bgcolor="#00FF00"|'''YES'''
 
|bgcolor="#00FF00"|'''YES'''
Line 75: Line 72:
 
=== GCHP compatibility matrix ===
 
=== GCHP compatibility matrix ===
  
Unlike GEOS-Chem "Classic", GCHP will have a "hard" transition from GNU Make to CMake in 13.0.0:
+
Unlike GEOS-Chem "Classic", GCHP had a "hard" transition from GNU Make to CMake in 13.0.0:
  
 
{| border=1 cellpadding=5 cellspacing=0
 
{| border=1 cellpadding=5 cellspacing=0
Line 109: Line 106:
  
 
|-valign="top" align="center"
 
|-valign="top" align="center"
|13.0.0 (release TBD) and later
+
|13.0.0 and later
 
|bgcolor="#FF0000"|'''NO'''
 
|bgcolor="#FF0000"|'''NO'''
 
|bgcolor="#00FF00"|'''YES'''
 
|bgcolor="#00FF00"|'''YES'''

Latest revision as of 15:22, 4 August 2022

Previous | Next | Getting Started with GEOS-Chem

  1. Minimum system requirements (and software installation)
  2. Configuring your computational environment
  3. Downloading source code
  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


Overview

GEOS-Chem and GCHP use two build systems to compile source code files into an executable file:

  1. GNU Make
  2. CMake

Starting in 13.0.0 both GEOS-Chem "Classic" and GCHP use CMake exclusively.

Which versions can use GNU Make and which can use CMake?

GEOS-Chem "Classic" compatibility matrix

Some GEOS-Chem "Classic" versions are compatible with both CMake and GNU Make, as shown below.

GEOS-Chem "Classic" version Uses GNU Make? Uses CMake?
12.5.0 and prior YES NO
12.6.* YES YES
12.7.* YES YES
12.8.* YES YES
12.9.* YES YES
13.0.0 and later NO YES

GCHP compatibility matrix

Unlike GEOS-Chem "Classic", GCHP had a "hard" transition from GNU Make to CMake in 13.0.0:

GCHP version Uses GNU Make? Uses CMake?
12.5.0 and prior YES NO
12.6.* YES NO
12.7.* YES NO
12.8.* YES NO
12.9.* YES NO
13.0.0 and later NO YES

References

  1. GNU Make Manual
  2. Mecklenburg, Robert, Managing Projects with GNU Make, Third Edition,, O'Reilly and Associates, 2004.
  3. CMake FAQ by Liam Bindle
  4. CMake tutorial (cmake.org)
  5. Learn X in Y minutes (where X is CMake)



Previous | Next | Getting Started with GEOS-Chem