Skip to content

Building GOCART Standalone on Orion

William Jamieson edited this page Mar 9, 2021 · 1 revision

Building GOCART-Standalone on Orion

This is a complete guide to for building GOCART on Mississippi State HPC2's Orion Computer. This guide assumes one can log into Orion and that they are running the Bash shell.

Building Baselibs

In order to build GOCART, one currently needs to build the Baselibs for GEOS, and then load them into their environment. To do this first navigate to the directory you wish to clone and build the Baselibs in. Then run the following commands:

module load intel/2019.5 impi/2019.6 cmake/3.17.3 python/3.7.5 git/2.21.0
git clone -b v6.0.13 --recurse-submodules https://github.com/GEOS-ESM/ESMA-Baselibs.git
cd ESMA-Baselibs
export BASELIBS=<path for Baselibs install>
make -j4 install ESMF_COMM=intelmpi ESMF_COMPILER=intel BUILD=ESSENTIALS prefix=$BASELIBS | tee ~/Baselibs_Build.log

Finally, check that your install was successful by running:

make verify

Your result should match the following:

MKFILE_DIRNAME = ESMA-Baselibs
SUBDIRS = antlr gsl jpeg zlib szlib curl hdf4 hdf5 netcdf netcdf-fortran netcdf-cxx4 udunits2 nco cdo nccmp esmf gFTL gFTL-shared fArgParse pFUnit yaFyaml pFlogger FLAP hdfeos hdfeos5 SDPToolkit
BUILD_DAP = --disable-dap
GFORTRAN_VERSION_GTE_10 = 0
ALLOW_ARGUMENT_MISMATCH =
-------+---------+---------+--------------
Config | Install |  Check  |   Package
-------+---------+---------+--------------
  --   |   --    |   --    | antlr
  --   |   --    |   --    | gsl
  ok   |   ok    |   --    | jpeg
  ok   |   ok    |   --    | zlib
  ok   |   ok    |   --    | szlib
  --   |   --    |   --    | curl
  ok   |   ok    |   --    | hdf4
  ok   |   ok    |   --    | hdf5
  ok   |   ok    |   --    | netcdf
  ok   |   ok    |   --    | netcdf-fortran
  ok   |   ok    |   --    | netcdf-cxx4
  --   |   --    |   --    | udunits2
  --   |   --    |   --    | nco
  --   |   --    |   --    | cdo
  --   |   --    |   --    | nccmp
  ok   |   ok    |   --    | esmf
  ok   |   ok    |   --    | gFTL
  ok   |   ok    |   --    | gFTL-shared
  ok   |   ok    |   --    | fArgParse
  ok   |   ok    |   --    | pFUnit
  ok   |   ok    |   --    | yaFyaml
  ok   |   ok    |   --    | pFlogger
  ok   |   ok    |   --    | FLAP
  --   |   --    |   --    | hdfeos
  --   |   --    |   --    | hdfeos5
  --   |   --    |   --    | SDPToolkit
-------+---------+---------+--------------

Install mepo

mepo is a tool that we use to manage multiple repository projects. Note that mepo requires python 3 and a newer version of git. On Orion the simplest way to get python 3 is to make sure that the python/3.7.5 module is loaded (as we did above), while the simplest way to get a new enough version of git is to load the git/2.21.0 module.

To begin navigate to the folder you wish to install mepo into. Then clone mepo:

git clone https://github.com/GEOS-ESM/mepo.git

Then add mepo to your $PATH with:

export PATH=<path to mepo>/mepo:$PATH

We recommend adding this command to your .bashrc.

Building GOCART

First navigate to the directory you wish to clone and build GOCART in. Then run the following commands:

git clone --branch Aerosol_Test_App https://github.com/GEOS-ESM/GOCART.git
cd GOCART
mepo clone
mkdir build
cd build
cmake .. -DBASEDIR=$BASELIBS -DCMAKE_Fortran_COMPILER=ifort -DCMAKE_INSTALL_PREFIX=../install -DCMAKE_BUILD_TYPE=Release
make -j4 install

Note that if you wish to build with debugging flags, set -DCMAKE_BUILD_TYPE=Debug.