What’s new¶
0.7.1 (2023-04-03)¶
Bug fixes¶
Fix
Mesh.from_polygons
and unpin Shapely to add support for Shapely 2.0 (PR/219). By Pascal BourgaultImplement workaround for setup conda problem (PR/229). By Raphael Dussin
Update CI and doc - fix for DataArrays (PR/230). By Pascal Bourgault
Fix ci/cd badge for build status (PR/231). By Pierre Manchon
Update CI for Micromamba environments (PR/233). By Trevor James Smith
Fix error in test with Shapely 2.0 (PR/251). By David Huard
New features¶
Add util to build tripolar grid (PR/228). By Raphael Dussin
Documentation¶
Document installation options for ESMpy (PR/241). By Matthew Plough
Internal changes¶
Modernize the package configuration / publish to PyPI (PR/248). By Filipe Fernandes
0.7.0 (2022-12-16)¶
Bug fixes¶
Fix bug in util.grid_global where grid centers could go beyond 180 degrees (GH/181). By David Huard
New features¶
Support both [-180, 180] and [0, 360] conventions in grid_global (GH/149). By David Huard
Documentation¶
Fix API doc build (PR/194). By David Huard
Include conservative_normed into the notebook comparing regridding algorithms. By David Huard
Fix typos (PR/191). By Jemma Stachelek
Copy-editing (PR/178, PR/179). By RichardScottOZ
Internal changes¶
0.6.3 (29-06-2022)¶
Bug fixes¶
Spatial coordinates of ds_out are kept within the regridder and transferred to the regridded DataArray or Dataset (PR/175). By Pascal Bourgault
Added numba as an explicit dependency to fix installation with conda (PR/168). By Pascal Bourgault
Internal changes¶
Use cf-xarray to guess missing CF coordinates before extracting bounds (PR/147). By Pascal Bourgault
0.6.2 (23-11-2021)¶
Bug fixes¶
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 (PR/135). By Pascal Bourgault
SpatialAverager
did not compute the same weights asRegridder
when source cell areas were not uniform (PR/128). By David HuardRefactor of how the regridding is called internally, to fix a bug with dask and sparse (PR/135). By Pascal Bourgault
Internal changes¶
Deprecation of
regrid_numpy
andregrid_dask
is scheduled for 0.7.0. All checks on shape, array layout and numba support are now done at call time, rather then at computation time (PR/135).
0.6.1 (23-09-2021)¶
Note that this version creates very large dask task graphs that can affect performance for large grids.
Internal changes¶
Weights are now stored in a
xr.DataArray
backed bysparse.COO
, which allows to pass them as an argument to thexr.apply_ufunc
and decrease memory usage when using dask. By Pascal BourgaultNew dependency sparse replacing
scipy
.
0.6.0 (07-08-2021)¶
New features¶
Add the
skipna
andna_threshold
options to deal with masks over non-spatial dimensions (PR/29). This is useful when, for example, masks vary over time. By Stéphane RaynaudAdd
unmapped_to_nan
argument 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 (PR/94). By Martin Schupfner
Bug fixes¶
0.5.3 (04-12-2021)¶
Bug fixes¶
Fix regression regarding support for non-CF-compliant coordinate names (PR/73). By Sam Levang
Infer bounds dimension name using cf-xarray (PR/78). By Pascal Bourgault
Do not regrid variables that are not defined over horizontal dimensions (PR/79). By Pascal Bourgault
Ensure locstream dimension name is consistent with ds_out (PR/81). By Mattia Almansi
Documentation¶
Add release instructions (PR/75). By David Huard
Update Zenodo DOI badge
0.5.2 (01-20-2021)¶
Bug fixes¶
0.5.1 (01-11-2021)¶
Documentation¶
Update installation instructions to mention that PyPi only holds xesmf up to version 0.3.0.
New features¶
Regridded xarray.Dataset now preserves the name and attributes of target coordinates (PR/60)
Bug fixes¶
Fix doc build for API/Regridder (PR/61)
0.5.0 (11-11-2020)¶
Breaking changes¶
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
New features¶
Create ESMF.Mesh objects from shapely.polygons (PR/24). 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. (PR/24) By Pascal Bourgault
Automatic detection of coordinates and computation of vertices based on cf-xarray. (PR/49) By Pascal Bourgault
Bug fixes¶
Fix serialization bug when using dask’s distributed scheduler (PR/39). By Pascal Bourgault.
Internal changes¶
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.
0.4.0 (01-10-2020)¶
The git repo is now hosted by pangeo-data (https://github.com/pangeo-data/xESMF)
Breaking changes¶
By default, weights are not written to disk, but instead kept in memory.
Installation requires ESMPy 8.0.0 and up.
New features¶
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 (PR/3). By David Huard and Raphael Dussin
Added documentation discussion how to compute weights from a shell using MPI, and reuse from xESMF (PR/12). 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 (PR/1). By Raphael Dussin
0.3.0 (06-03-2020)¶
New features¶
Add support for ESMF.LocStream (#81) By Raphael Dussin
0.2.2 (07-10-2019)¶
New features¶
Add option to allow degenerated grid cells (#61) By Jiawei Zhuang
0.2.0 (04-08-2019)¶
Breaking changes¶
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.
New features¶
Lazy evaluation on dask arrays (uses
xarray.apply_ufunc()
anddask.array.map_blocks()
)Automatic looping over variables in an xarray Dataset
Add tutorial notebooks on those new features
0.1.2 (03-08-2019)¶
This release mostly contains internal clean-ups to facilitate future development.
New features¶
Deprecates regridder.A in favor of regridder.weights
Speed-up test suites by using coarser grids
Use parameterized tests when appropriate
Fix small memory leaks from ESMF.Grid
Properly assert ESMF enums
0.1.1 (31-12-2017)¶
Initial release. By Jiawei Zhuang