Multi-Physics Problem (MPP) library is a standalone library that solves biophysics problems relevant to global land surface models (LSMs).
- Mac
- Git
- C and Fortran compiler
- CMake
- PETSc
- Message Passing Interface
- Clone PETSc and check out the supported version.
cd <directory-of-choice>
git clone https://bitbucket.org/petsc/petsc petsc
cd petsc
git checkout v3.16.2
- Configure PETSc. (Detailed PETSc installation instructions are available here)
2.1. Set PETSc installation location and architecture
export PETSC_DIR=$PWD
export PETSC_ARCH=<user-defined>
2.2. Set compilers
# Set compilers
export CC=<Parallel-C-compiler>
export CXX=<Parallel-C++-compiler>
export FC=<Parallel-Fortran-compiler>
export MPIEXCE=<Path-to-mpiexec>
export BLAS_DIR=<Path-to-BLAS-dir>
On Mac OS X, one can set BLAS_DIR
to /System/Library/Frameworks/Accelerate.framework/Versions/Current/Accelerate
2.3. Run configure
./configure \
--with-cc=$CC \
--with-cxx=$CXX \
--with-fc=$FC \
--with-mpiexec=$MPIEXEC \
--with-blas-lapack-lib=$BLAS_DIR
- Build PETSc
make PETSC_DIR=$PETSC_DIR PETSC_ARCH=$PETSC_ARCH all
- Test PETSc installation
make PETSC_DIR=$PETSC_DIR PETSC_ARCH=$PETSC_ARCH test
- Clone MPP repository from github.com.
cd <directory-of-choice>
git clone https://github.com/MPP-LSM/MPP
- Configure MPP
cd MPP
make CC=$CC CXX=$CXX FC=$FC config
- Build MPP (add
SKIP_PETSC_TESTS=yes
if building on a node that cannot run tests)
make CC=$CC CXX=$CXX FC=$FC install
- Run MPP tests
make CC=$CC CXX=$CXX FC=$FC test
Bisht, G., Riley, W. J., Hammond, G. E., and Lorenzetti, D. M., Development and evaluation of a variably saturated flow model in the global E3SM Land Model (ELM) version 1.0, Geosci. Model Dev., 11, 4085-4102, https://doi.org/10.5194/gmd-11-4085-2018, 2018
Bisht, G., & Riley, W. J. (2019). Development and verification of a numerical library for solving global terrestrial multi‐physics problems. Journal of Advances in Modeling Earth Systems, 11. https://doi.org/10.1029/2018MS001560