Introduction
This short tutorial walks you through the steps of building the AnEn C++ program on NCAR Cheyenne Supercomputers.
Building AnEn
Several things to be noted before we carry on:
- Most of the dependencies are already available on Cheyenne, so I’m going to load them directly.
Boost
, however, is not available, so I tellcmake
to build it for me. - I will be installing
PAnEn
into a user space folder after the successful building. You can change the argumentCMAKE_INSTALL_PREFIX
. - Notice the argument
CMAKE_INSTALL_RPATH
. This is needed because the modules are not in system path. When we install programs,cmake
by default removes build-time run path, so we need to specify the run-time path for install and where the executable should be looking for libraries.
# Download the source files
wget https://github.com/Weiming-Hu/AnalogsEnsemble/archive/master.zip
# Unzip the tarball
unzip master.zip
# Go to the source folder
cd AnalogEnsemble-master
# Clean modules
module purge
# Load required modules
module load gnu/9.1.0 netcdf/4.7.3 ncarenv/1.3 cmake/3.16.4 eccodes/2.12.5
# Carry an out-of-tree build
mkdir build
cd build
# Generate build system
cmake -DCMAKE_INSTALL_PREFIX=../../release -DBUILD_BOOST=ON -DCMAKE_PREFIX_PATH="$NCAR_ROOT_ECCODES;$NETCDF" -DCMAKE_INSTALL_RPATH="$NCAR_ROOT_ECCODES/lib;$NETCDF/lib" ..
# Build
make -j 16
# Test
make test
# Instal
make install
# Show help message
cd ../../release/bin
./anen
If you log out and log back in, you need to at least load the GNU module for anen
to work.
module load gnu/9.1.0
If you encountered any problems, please open a ticket here.
Comments