Install ESMF
Download ESMF
ESMF 8.6.0 is available at:
The earlier releases of ESMF can be found at:
Install ESMF on kala (with GNU compiler)
Install step 2.1: Download ESMF 8.6.0:
cd $SKRIPS_DIR
wget https://github.com/esmf-org/esmf/archive/refs/tags/v8.6.0.zip
unzip v8.6.0.zip
mv esmf-8.6.0 esmf
Examine the bashrc file
Install step 2.2: In the ~/.bashrc_skrips file, we use the following ESMF
configurations:
# ESMF compile options
export ESMF_OS=Linux
export ESMF_COMM=openmpi
export ESMF_NETCDF=nc-config
export ESMF_OPENMP=OFF
export ESMF_LAPACK=internal
export ESMF_BOPT=g
export ESMF_ABI=64
export ESMF_COMPILER=gfortran
export ESMF_SITE=default
export ESMF_PIO=internal
export ESMF_LIB=$ESMF_DIR/lib/lib$ESMF_BOPT/$ESMF_OS.$ESMF_COMPILER.$ESMF_ABI.$ESMF_COMM.default/
export ESMF_MOD=$ESMF_DIR/mod/mod$ESMF_BOPT/$ESMF_OS.$ESMF_COMPILER.$ESMF_ABI.$ESMF_COMM.default/
export ESMFMKFILE=$ESMF_LIB/esmf.mk
export ESMF_TESTEXHAUSTIVE=ON
export ESMF_TESTMPMD=OFF
export ESMF_TESTHARNESS_ARRAY=RUN_ESMF_TestHarnessArray_default
export ESMF_TESTHARNESS_FIELD=RUN_ESMF_TestHarnessField_default
export ESMF_TESTWITHTHREADS=OFF
To install ESMF on a different machine, one must check if these options are in conflict with the system environment:
Note
ESMF_COMPILER=gfortran means I am using gfortran compiler.
ESMF_COMM=openmpi means I am using OpenMPI.
ESMF_TEST* options are used for testing the compiled ESMF libraries.
The explaination of other configurations is documented in ESMF user guide.
Compile ESMF
Install step 2.2: Compile ESMF:
cd $SKRIPS_DIR/esmf
# Check the information of necessary configurations
gmake info &> log.info
# Compile the code
gmake &> log.gmake
# If it is the first time ESMF is installed, make sure to test ESMF using::
gmake all_tests &> log.all_tests
If ESMF is successfully built, all the unit tests should pass. However, we can also compile the coupled code when a few unit tests are failed. On ESMF official website, some unit tests could also fail on specific machines. Currently we don’t know which specific tests must pass for the coupled code.
- More summaries of ESMF releases are available here:
https://earthsystemmodeling.org/release/platforms_8_6_0 https://earthsystemmodeling.org/static/releases.html