I am trying to regrid some of my latitude-longitude grid files to tripolar ocean grid and found that ESMF can be useful. However, I am finding it hard to install the same.


First download the esmf tar file from http://www.earthsystemmodeling.org/esmf_releases/public/ESMF_7_1_0r/reg/ESMF_Framework_Down.html

Then install netcdf library and gfortran compiler using

sudo apt-get install git tcsh pkg-config
sudo apt-get install gfortran
sudo apt-get install netcdf-bin libnetcdf-dev libnetcdff-dev
sudo apt-get install openmpi-bin libopenmpi-dev
sudo apt-get install libnetcdff-dev

Once you have the netcdf library and gfortran compiler in your /usr/local/lib and /usr/local/include You can check this also, login as root using

sudo -i

Then define the following environment variables

cd path_of_esmf_dir
export ESMF_DIR=path_of_esmf_dir
export ESMF_INSTALL_PREFIX=/usr/local/esmf
export ESMF_OS=Linux
export ESMF_NETCDF="local"
export ESMF_COMM=mpiuni
export ESMF_F90COMPILER=gfortran
export ESMF_NETCDF_INCLUDE=/usr/local/include
export ESMF_NETCDF_LIBS="-lnetcdf -lnetcdff"
export ESMF_NETCDF_LIBPATH=/usr/local/lib
export ESMF_BOPT=O3

Then run the following syntax to make the library ESMF

make all
make install
make installcheck

Now to install the ESMF python library

cd path_to_esmf_dir/addon/ESMpy/
python setup.py build --ESMFMKFILE=/usr/local/esmf/lib/libO3/Linux.gfortran.64.mpiuni.default/esmf.mk
python setup.py install

You can check the installation by

$ python 
>>> import ESMF

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.