The step-by-step guide for setup environments on Cheyenne to build and run GSI, OOPS, WRF and FV3.

Step-by-step guide


Check out GSI code (may takes a while, depends on the speed of connection)

check out and build GSI code
xinzhang/JEDI> git clone https://your_username@bitbucket.org/jcsda/gsi.git

xinzhang/JEDI> cd gsi/

JEDI/gsi> git submodule init
Submodule 'fix' (git@bitbucket.org:jcsda/fix) registered for path 'fix'
Submodule 'libsrc' (git@bitbucket.org:jcsda/external-libs) registered for path 'libsrc'

JEDI/gsi> git submodule update
Cloning into 'fix'...
remote: Counting objects: 332, done.
remote: Compressing objects: 100% (235/235), done.
remote: Total 332 (delta 102), reused 320 (delta 96)
Receiving objects: 100% (332/332), 961.58 MiB | 357.00 KiB/s, done.
Resolving deltas: 100% (102/102), done.
Checking connectivity... done.
Submodule path 'fix': checked out 'd13e5a23dde538ceefedc39746b029878ee6ff60'
Cloning into 'libsrc'...
remote: Counting objects: 896, done.
remote: Compressing objects: 100% (630/630), done.
remote: Total 896 (delta 263), reused 890 (delta 260)
Receiving objects: 100% (896/896), 5.57 MiB | 1.59 MiB/s, done.
Resolving deltas: 100% (263/263), done.
Checking connectivity... done.
Submodule path 'libsrc': checked out '8fa69e1fd011b658de6cd2e9f08cf1ad77566f4f'


JEDI/gsi> mkdir build


JEDI/gsi> cd build


gsi/build> setenv FC mpif90


gsi/build> cmake -DBUILD_CORELIBS=ON -DUSE_WRF=OFF -DBUILD_GLOBAL=ON ..


gsi/build> make -j4

Download and build boost C++ library (Boost C++ Library)

download and build boost c++ lib
xinzhang/JEDI> wget https://dl.bintray.com/boostorg/release/1.65.1/source/boost_1_65_1.tar.gz

xinzhang/JEDI> tar tvf boost_1_65_1.tar.gz

xinzhang/JEDI> cd boost_1_65_1

JEDI/boost_1_65_1> ./bootstrap.sh --prefix=`pwd` --with-toolset=intel-Linux

JEDI/boost_1_65_1> ./b2 install

Download and build Eigen C++ template library (Eigen C++ template library)

download and build Eigen C++ template lib
xinzhang/JEDI> wget https://bitbucket.org/eigen/eigen/get/3.3.4.tar.gz

xinzhang/JEDI> tar xvzf 3.3.4.tar.gz

xinzhang/JEDI> cd eigen-eigen-5a0156e40feb

JEDI/eigen-eigen-5a0156e40feb> mkdir build

JEDI/eigen-eigen-5a0156e40feb> cd build

eigen-eigen-5a0156e40feb/build> cmake -DCMAKE_INSTALL_PREFIX=../../eigen ..

eigen-eigen-5a0156e40feb/build> make install

Check out OOPS code

check out and build OOPS code
xinzhang/JEDI> git clone https://github.com/JCSDA/OOPS


xinzhang/JEDI> mkdir build




cd build


OOPS/build> ecbuild --build=debug -DBOOST_ROOT=$BOOST_ROOT -DBoost_NO_SYSTEM_PATHS=ON -DLAPACK_PATH=$LAPACK_PATH -DEIGEN3_PATH=${EIGEN3_INCLUDE_DIR} ..


make VERBOSE=1 -j4