xESMF: Universal Regridder for Geospatial Data

xESMF is a Python package for regridding. It is

  • Powerful: It uses ESMF/ESMPy as backend and can regrid between general curvilinear grids with all ESMF regridding algorithms, such as bilinear, conservative and nearest neighbour.

  • Easy-to-use: It abstracts away ESMF’s complicated infrastructure and provides a simple, high-level API, compatible with xarray as well as basic numpy arrays.

  • Fast: It is faster than ESMPy’s original Fortran regridding engine in the serial case, and also supports dask for out-of-core, parallel computation.


How to ask for help

The GitHub issue tracker is the primary place for bug reports. If you hit any issues, I recommend the following steps:

  • First, search for existing issues. Other people are likely to hit the same problem and probably have already found the solution. You might also want to search issues in the original repository https://github.com/JiaweiZhuang/xESMF/issues.

  • For a new bug, please craft a minimal bug report with reproducible code. Use synthetic data or upload a small sample of input data (~1 MB) so I can quickly reproducible your error.

  • For platform-dependent problems (such as kernel dying and installation errors), please also show how to reproduce your system environment, otherwise we have no way to diagnose the issue. The best approach is probably finding an official Docker image that is closest to your OS (such as Ubuntu or CentOS), and build your Python environment starting with such an image, to see whether the error still exists. Alternatively you can select from public cloud images, such as Amazon Machine Images or Google Cloud Images. If the error only happens on your institution’s HPC cluster, please contact the system administrator for help.

For general “how-to” questions that are not bugs, you can also post on StackOverflow (ref: xarray questions).

How to support xESMF

Your support in any form will be appreciated. The easy ways (takes several seconds):

More advanced ways: