Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

In order to build the MOAB-TempestRemap stack with parallel MPI launch support, we suggest the following list of commands. First define an installation prefix directory where the stack of library, includes and tools will be installed. Let us call this as the $INSTALL_PREFIX environment variable.

Dependencies

Before getting started, for your architecture of choice, whether that is your laptop or a LCF machine, create a list of following compatible environment variables that can be used to build the stack.

  1. MPI-enabled C, C++, and Fortran compiler wrappers that are exported in the local environment as $CC, $CXX, and $FC.
  2. Next, verify installations of dependent libraries such as $HDF5_DIR and $NETCDF_DIR that have been compiled with MPI support using the $CC, $CXX, $FC compilers.
  3. Get Eigen3 package from the webpage and untar to the $INSTALL_PREFIX/eigen3 directory with the following command
    a. Download: wget https://bitbucket.org/eigen/eigen/get/3.3.7.tar.gz  OR  curl https://bitbucket.org/eigen/eigen/get/3.3.7.tar.gz -O
    b. Move: mv eigen-eigen* $INSTALL_PREFIX/eigen3

Build

To get the entire stack working correctly, we need to find parallel-enabled dependency installations for HDF5 and NetCDF that are built with MPI library support for the current architecture, with C, C++, Fortran compilers provided as $CC, $CXX, and $FC. Let us refer to these installations as $HDF5_DIR and $NETCDF_DIR respectively.

  1. TempestRemap

    a. Clone repository: `git clone https://github.com/ClimateGlobalChange/tempestremap.git tempestremap`
    b. Create build dir: cd tempestremap && mkdir build
    c. Generate configure script: autoreconf -fi
    d. Go to build dir: cd build
    e. Configure: ` ../configure --prefix=$INSTALL_PREFIX/tempestremap --with-netcdf=$NETCDF_DIR --with-hdf5=$HDF5_DIR CCDIR CC=$CC CXX=$CXX CXXFLAGS$CXX CXXFLAGS="-g -O2"`
    f. Build and install: make all && make install

    At the end of this series of steps, the TempestRemap libraries and tools (GenerateCSMesh, GenerateICOMesh, GenerateOverlapMesh, GenerateOfflineMap among others) will be installed in $INSTALL_PREFIX directory.

  2. MOAB

    a. Clone repository: git  git clone https://bitbucket.org/fathomteam/moab.git moab
    b. Create build dir: cd  cd moab && mkdir build
    c. Generate configure script: autoreconf  autoreconf -fi
    d. Go to build dir: cd  cd build

    e. Configure:

    `

     ../configure --prefix=$INSTALL_PREFIX/moab --with-mpi --with-tempestremap=$INSTALL_PREFIX/tempestremap --with-netcdf=$NETCDF_DIR --with-hdf5=$HDF5_

    DIR CC

    DIR CC=$CC FC=$FC F77=$FC CXX=

    $CXX CXXFLAGS

    $CXX CXXFLAGS="-g -O2" --with-eigen3=$INSTALL_PREFIX/

    eigen3`

    eigen3

    f. Build and install: make  make all && make install