- The introduction of sparse, with numba under the hood, restricted input data to little-endian dtypes. For big-endian dtypes, xESMF will convert to little-endian, regrid and convert back (PR135). By Pascal Bourgault
SpatialAveragerdid not compute the same weights as
Regridderwhen source cell areas were not uniform (PR128). By David Huard
- Refactor of how the regridding is called internally, to fix a bug with dask and sparse (PR135). By Pascal Bourgault
Note that this version creates very large dask task graphs that can affect performance for large grids.
- Add the
na_thresholdoptions to deal with masks over non-spatial dimensions (PR29). This is useful when, for example, masks vary over time. By Stéphane Raynaud
unmapped_to_nanargument to regridder frontend. When True, this sets target cells outside the source domain to NaN instead of zero for all regridding methods except nearest neighbour (PR94). By Martin Schupfner
- Fix regression regarding support for non-CF-compliant coordinate names (PR73). By Sam Levang
- Infer bounds dimension name using cf-xarray (PR78). By Pascal Bourgault
- Do not regrid variables that are not defined over horizontal dimensions (PR79). By Pascal Bourgault
- Ensure locstream dimension name is consistent with ds_out (PR81). By Mattia Almansi
- Update installation instructions to mention that PyPi only holds xesmf up to version 0.3.0.
- Regridded xarray.Dataset now preserves the name and attributes of target coordinates (PR60)
- Deprecate esmf_grid in favor of Grid.from_xarray
- Deprecate esmf_locstream in favor of LocStream.from_xarray
- Installation requires numpy>=1.16 and cf-xarray>=0.3.1
- Create ESMF.Mesh objects from shapely.polygons (PR24). By Pascal Bourgault
- New class SpatialAverager offers user-friendly mechanism to average a 2-D field over a polygon. Includes support to handle interior holes and multi-part geometries. (PR24) By Pascal Bourgault
- Automatic detection of coordinates and computation of vertices based on cf-xarray. (PR49) By Pascal Bourgault
- Subclass ESMF.Mesh and create from_polygon method
- Subclass ESMF.Grid and ESMF.LocStream and create from_xarray methods.
- New BaseRegridder class, with support for Grid, LocStream and Mesh objects. Not all regridding methods are supported for Mesh objects.
- Refactor Regridder to subclass BaseRegridder.
The git repo is now hosted by pangeo-data (https://github.com/pangeo-data/xESMF)
- By default, weights are not written to disk, but instead kept in memory.
- Installation requires ESMPy 8.0.0 and up.
- The Regridder object now takes a weights argument accepting a scipy.sparse COO matrix, a dictionary, an xarray.Dataset, or a path to a netCDF file created by ESMF. If None, weights are computed and can be written to disk using the to_netcdf method. This weights parameter replaces the filename and reuse_weights arguments, which are preserved for backward compatibility (PR3). By David Huard and Raphael Dussin
- Added documentation discussion how to compute weights from a shell using MPI, and reuse from xESMF (PR12). By Raphael Dussin
- Add support for masks in :py:func`esmf_grid`. This avoid NaNs to bleed into the interpolated values. When using a mask and the conservative regridding method, use a new method called conservative_normed to properly handle normalization (PR1). By Raphael Dussin
All user-facing APIs in v0.1.x should still work exactly the same. That said, because some internal codes have changed a lot, there might be unexpected edge cases that break current user code. If that happens, you can revert to the previous version by pip install xesmf==0.1.2 and follow old docs.
This release mostly contains internal clean-ups to facilitate future development.