Versions Compared

Key

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

...

This method is useful for quickly getting started with MOAB and TempestRemap interfaces, as the build is consistent with all third-party libraries (TPLs) available prebuilt with MPI enabled or disabled. For more extensive TPL support in Conda, use the E3SM-Unified conda package.

Building MOAB library with TPL dependencies

There are several option dependencies for MOAB. Features and tools get automatically built and enabled based on the dependencies when configuring the MOAB library.

  • MPI: MOAB supports the usage of both MPICH and OpenMPI based libraries configured externally to enable scalable mesh manipulation algorithms.

  • HDF5: To manage the data dependencies and to natively support parallel I/O, MOAB uses a native HDF5-based file format to represent the entire MOAB data model.

  • NetCDF: MOAB library optionally depends on the NetCDF libraries (C) to compile the ExodusII reader/writer. NetCDF is also required to process NetCDF4 format nc files for E3SM.

  • Parallel-NetCDF: MOAB library optionally depends on the parallel-NetCDF (pnetcdf) libraries to compile the support for parallel  reader and writer of NetCDF meshes and linear map weight files. This is a required dependency to enable parallel I/O of MPAS, SCRIP, ESMF and Exodus meshes as well.

  • Metis/ParMetis: MOAB can optionally use the Metis or ParMetis library for partitioning mesh files in an offline form through the mbpart tool. This may be useful to pre-partition the mesh a-priori apriori in offline remapping workflows.

  • Zoltan: Support for both offline and online partitioning through Zoltan (and its dependencies on Scotch, ParMetis etc) can be utilized through the partitioner tool and at runtime with appropriate file read options (PARTITION_METHOD=RCBZOLTAN;). This dynamic rebalancing is important to achieve good scalability when reading nc files. If reading parallel h5m files, we recommend using the offline partitioning tool with mbpart with -z RCB to use the Recursive Bisection geometric partitioner implementation in Zoltan.

  • TempestRemap: Provides support for both offline and online remapping of Climate field data on unstructured spherical meshes. Required dependency for all E3SM workflows.

  • Eigen3: A substitute for BLAS/LAPACK interfaces. However, if TempestRemap tools are to be built, this becomes a required dependency as we store the SparseMatrix internally on every task using the Eigen3 data-structures.

...

Configuring and building MOAB from source

First, clone the sources from the repository using the command

...