GEOS GCM Quick Start: Difference between revisions

Add email address
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
This page describes the minimum steps required to build and run GEOS GCM on NCCS discover and NAS pleiades.  '''You should successfully complete the steps in these instructions before doing anything more complicated.  Also, it is helpful to read this page in its entirety before starting.'''   
This page describes the minimum steps required to build and run GEOS GCM on NCCS discover and NAS pleiades.  '''You should successfully complete the steps in these instructions before doing anything more complicated.  Also, it is helpful to read this page in its entirety before starting.'''   
If you have any issues or questions, please email the GMAO SI Team at siteam_AT_gmao.gsfc.nasa.gov


'''Back to [[Documentation for GEOS GCM v10]]'''
'''Back to [[Documentation for GEOS GCM v10]]'''
Line 11: Line 13:
In your <code>.bashrc</code> or <code>.tcshrc</code> or other rc file add a line:
In your <code>.bashrc</code> or <code>.tcshrc</code> or other rc file add a line:


==== NCCS (SLES11) ====
==== NCCS ====
 
module use -a /discover/swdev/gmao_SIteam/modulefiles-SLES11
 
==== NCCS (SLES12) ====


  module use -a /discover/swdev/gmao_SIteam/modulefiles-SLES12
  module use -a /discover/swdev/gmao_SIteam/modulefiles-SLES12
Line 35: Line 33:
  module load GEOSenv
  module load GEOSenv


which obtains the latest <code>git</code>, <code>CMake</code>, and <code>manage_externals</code> modules.
which obtains the latest <code>git</code>, <code>CMake</code>, and <code>mepo</code> modules.


== Cloning the Model ==
== Cloning the Model ==
Line 43: Line 41:
You can then clone the model with:
You can then clone the model with:


  git clone -b v10.12.4 git@github.com:GEOS-ESM/GEOSgcm.git
  git clone -b v10.17.0 git@github.com:GEOS-ESM/GEOSgcm.git


where <code>-b v10.12.4</code> refers to a release tag of GEOS GCM. Information on the various releases can be found on the [https://github.com/GEOS-ESM/GEOSgcm/releases Releases page].
where <code>-b v10.17.0</code> refers to a release tag of GEOS GCM. Information on the various releases can be found on the [https://github.com/GEOS-ESM/GEOSgcm/releases Releases page].


=== HTTPS Access ===
=== HTTPS Access ===
Line 51: Line 49:
GEOS can also be cloned via https with:
GEOS can also be cloned via https with:


   git clone -b v10.12.4 https://github.com/GEOS-ESM/GEOSgcm.git
   git clone -b v10.17.0 https://github.com/GEOS-ESM/GEOSgcm.git
 
But if you do this you *should* use the Mepo method of building GEOS below. This is due to restrictions in how <code>checkout_externals</code> works (it refers to the sub-repositories of GEOS with SSH urls).


== Building GEOS ==
== Building GEOS ==
Line 63: Line 59:
==== Develop Version of GEOS GCM ====
==== Develop Version of GEOS GCM ====


The user will notice two files in the main directory: <code>Externals.cfg</code> and <code>Develop.cfg</code>. The difference between these two is that <code>Externals.cfg</code> always refers to stable tested released subrepositories. The <code>Develop.cfg</code> points to the <code>develop</code> branch of <code>@GEOSgcm_GridComp</code> and <code>@GEOSgcm_App</code>. This is equivalent in the CVS days of the difference between a stable <code>Jason-X_Y</code> tag and the development <code>Jason-UNSTABLE</code> tag. In order to build the <code>Develop.cfg</code> version of the model with <code>parallel_build.csh</code> do:
<code>parallel_build.csh</code> provides a special flag for checking out the development branches of GEOSgcm_GridComp and GEOSgcm_App. If you run:


parallel_build.csh -develop
<pre>parallel_build.csh -develop</pre>
then <code>mepo</code> will run:


<pre>mepo develop GEOSgcm_GridComp GEOSgcm_App</pre>
==== Debug Version of GEOS GCM ====
==== Debug Version of GEOS GCM ====


To obtain a debug version, you can run <code>parallel_build.csh -debug</code> which will build with debugging flags. This will build in <code>build-Debug/</code> and install into <code>install-Debug/</code>.
To obtain a debug version, you can run <code>parallel_build.csh -debug</code> which will build with debugging flags. This will build in <code>build-Debug/</code> and install into <code>install-Debug/</code>.


==== Mepo Version of GEOS GCM ====
==== Debug Version of GEOS GCM ====


GEOS GCM will soon be transitioning from using <code>checkout_externals</code> to using [https://github.com/GEOS-ESM/mepo <code>mepo</code>], a GMAO-developed multi-repository management tool. If you wish to use it via <code>parallel_build.csh</code> you can run:
To obtain a debug version, you can run <code>parallel_build.csh -debug</code> which will build with debugging flags. This will build in <code>build-Debug/</code> and install into <code>install-Debug/</code>.
 
parallel_build.csh -mepo
 
along with any other flags you usually use (<code>-develop</code> and <code>-debug</code>).


=== Multiple Steps for Building the Model ===
=== Multiple Steps for Building the Model ===


The steps detailed below are essentially those that <code>parallel_build.csh</code> performs for you. Either method should yield identical builds.
The steps detailed below are essentially those that <code>parallel_build.csh</code> performs for you. Either method should yield identical builds.
==== Checkout externals ====
Using the <code>checkout_externals</code> command to compose the model is done by:
cd GEOSgcm
checkout_externals
====== Checking out develop ======
To use the <code>Develop.cfg</code> file, run:
checkout_externals -e Develop.cfg


==== Mepo ====
==== Mepo ====


To checkout the full model with the [https://github.com/GEOS-ESM/mepo <code>mepo</code>] tool, you run:
The GEOS GCM is comprised of a set of sub-repositories. These are managed by a tool called [https://github.com/GEOS-ESM/mepo mepo]. To clone all the sub-repos, you can run <code>mepo clone</code> inside the fixture:
 
mepo init
mepo clone


<pre>cd GEOSgcm
mepo clone</pre>
The first command initializes the multi-repository and the second one clones and assembles all the sub-repositories according to <code>components.yaml</code>
The first command initializes the multi-repository and the second one clones and assembles all the sub-repositories according to <code>components.yaml</code>


===== Checking out develop =====
==== Checking out develop branches of GEOSgcm_GridComp and GEOSgcm_App ====
 
To get development branches of GEOS GCM with <code>mepo</code> is different. <code>mepo</code> itself knows (via <code>components.yaml</code>) what the development branch of each subrepository is. The equivalent of <code>Develop.cfg</code> for <code>mepo</code> is to checkout the development branches of GEOSgcm_GridComp and GEOSgcm_App:
 
mepo develop GEOSgcm_GridComp GEOSgcm_App


This must be done after <code>mepo clone</code> as it is running a git command in each sub-repository.
To get development branches of GEOSgcm_GridComp and GEOSgcm_App (a la the <code>-develop</code> flag for <code>parallel_build.csh</code>, one needs to run the equivalent <code>mepo</code> command. As mepo itself knows (via <code>components.yaml</code>) what the development branch of each subrepository is, the equivalent of <code>-develop</code> for <code>mepo</code> is to checkout the development branches of GEOSgcm_GridComp and GEOSgcm_App:


<pre>mepo develop GEOSgcm_GridComp GEOSgcm_App</pre>
This must be done ''after'' <code>mepo clone</code> as it is running a git command in each sub-repository.
==== Build the Model ====
==== Build the Model ====


Line 452: Line 430:
'''Back to [[Documentation for GEOS GCM v10]]'''
'''Back to [[Documentation for GEOS GCM v10]]'''


Contact Matthew Thompson at GMAO with questions and comments
If you have any issues or questions, please email the GMAO SI Team at siteam_AT_gmao.gsfc.nasa.gov