As part of the efforts in the CMDV project, interfaces to integrate the MOAB unstructured mesh library with the TempestRemap remapping tool have been undertaken. Detailed information on the algorithmic and implementation aspects of this effort have been written in a manuscript submitted to Geoscientific Model Development [1]. This work has led to the development of a new offline remapping tool called mbtempest
, which exposes the functionality to compute the supermesh or intersection mesh between two unstructured source and target component grids, in addition to using this supermesh for computing the remapping weights to project solutions between the grids. This functionality is part of the critical worflow with E3SM, where the generated remapping weights in the offline step are consumed by MCT at runtime to seamlessly transfer solution data between components (atm↔ocn, atm↔lnd, etc).
...
To get the entire (MOAB-TempestRemap) 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
TempestRemap
a.- Clone repository: `git clone https://github.com/ClimateGlobalChange/tempestremap.git tempestremap`
- Create build dir:
cd tempestremap && mkdir build
- Generate configure script:
autoreconf -fi
- Go to build dir:
cd build
- Configure:
../configure --prefix=$INSTALL_PREFIX/tempestremap --with-netcdf=$NETCDF_DIR --with-hdf5=$HDF5_DIR CC=$CC CXX=$CXX CXXFLAGS="-g -O2"
- 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/tempestremap
directory.
MOAB
a.- Clone repository: `git clone https://bitbucket.org/fathomteam/moab.git
- moab`
- Checkout feature branch:
git checkout vijaysm/tempest-master-API
- Create build dir:
cd moab && mkdir build
- Generate configure script:
autoreconf -fi
- Go to build dir:
cd build
- Configure:
../configure --prefix=$INSTALL_PREFIX/moab --with-mpi --with-tempestremap=$INSTALL_PREFIX/tempestremap --with-netcdf=$NETCDF_DIR --with-hdf5=$HDF5_DIR CC=$CC FC=$FC F77=$FC CXX=$CXX CXXFLAGS="-g -O2" --with-eigen3=$EIGEN3_DIR
- Build and install:
make all && make install
If steps (a)-(g) pass successfully, the MOAB libraries and tools, along with interfaces for TempestRemap will be installed in$INSTALL_PREFIX/moab
directory. The offline remapping weight computation tool,mbtempest
, will also be installed during this process and can then be used standalone to generate the weight files as needed.
A simpler, consolidated build process
...
We are currently working on a Python script to convert the MOAB h5m file to a SCRIP file to be consumed in E3SM directly. As a future task, we will also be investing effort into writing a SCRIP file in parallel through a custom I/O interface using PNetCDF.
References
1 Mahadevan, V. S., Grindeanu, I., Jacob, R., and Sarich, J.: Improving climate model coupling through a complete mesh representation: a case study with E3SM (v1) and MOAB (v5.x), Geosci. Model Dev. Discuss., https://doi.org/10.5194/gmd-2018-280, in review, 2018.