Skip to content

Releases: pangeo-data/xESMF

v0.8

01 Sep 20:45
b08bb2e

Choose a tag to compare

This release of xESMF improves support for parallelization with dask: weights can now be computed in parallel, and those weights can be applied over chunks spanning the horizontal grid dimensions. Previously, computing weights in parallel was only possible using MPI, and datasets could only be chunked over non-spatial dimensions.

These new features are the outcome of Charles Gauthier' internship at Ouranos during the summer of 2023. Thanks to Charles for his hard work and sharp analysis, which led to a permanent position at Ouranos!

What's Changed

New Contributors

Full Changelog: v0.7.1...v0.8

v0.7.1

04 Apr 23:43
8c87d39

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.7.0...v0.7.1

v0.7.0

16 Dec 15:03
351026b

Choose a tag to compare

What's Changed

New features

  • Add option to grid_global to vary longitudes from 0 to 360 by @huard in #207
  • Modify the stop argument in arange to avoid coordinates going over the right bound by @huard in #206

Documentation

Fixes

  • Modify test so it works with xarray v2022-11 by @huard in #210
  • Constrain numba >= 0.55.2 to make sure xESMF works with numpy 1.22. by @huard in #205
  • Try importing esmpy (aliased to ESMF) for esmpy >= 8.4.0 fixes #212 by @raphaeldussin in #214

New Contributors

Full Changelog: v0.6.3...v0.7.0

v0.6.3

29 Jun 22:02
d48285b

Choose a tag to compare

Bug fixes

  • Spatial coordinates of ds_out are kept within the regridder and transferred to the regridded DataArray or Dataset (#175). By Pascal Bourgault
  • Added numba as an explicit dependency to fix installation with conda (#168). By Pascal Bourgault

Internal changes

  • Use cf-xarray to guess missing CF coordinates before extracting bounds (#147). By Pascal Bourgault

v0.6.2

23 Nov 14:18
899bcea

Choose a tag to compare

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. By @aulemahal in #135
  • SpatialAverager did not compute the same weights as Regridder when source cell areas were not uniform. By @huard in #128
  • Refactor of how the regridding is called internally, to fix a bug with dask and sparse. By @aulemahal in #135

Internal changes

  • Deprecation of regrid_numpy and regrid_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. By @aulemahal in #135

Relevant PRs

  • Fix SpatialAverager to account for variable input grid cells areas by @huard in #128
  • Add test checking that SpatialAverager does work with masked values by @huard in #130
  • Regrid dataset with dask variables by @aulemahal in #122
  • On-the-fly endianness conversion by @aulemahal in #125
  • Unpin shapely by @aulemahal in #134
  • Reduce dask task count, refactor regrid dispatch by @aulemahal in #135

Full Changelog: v0.6.1...v0.6.2

v0.6.1

23 Sep 14:30
d20e5d3

Choose a tag to compare

Internal changes

  • Weights are now stored in a xr.DataArray backed by sparse.COO, which allows to pass them as an argument to the xr.apply_ufunc and decrease memory usage when using dask.
  • New dependency sparse replacing scipy.

v0.6.0

08 Jul 15:09
a04300a

Choose a tag to compare

New features

  • Add the skipna and na_threshold options to deal with masks over non-spatial dimensions (#29). This is useful when, for example, masks vary over time. By Stéphane Raynaud.
  • Add 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 (#94). By Martin Schupfner.

v0.5.3

12 Apr 19:39
66b5721

Choose a tag to compare

Bug fixes

  • Fix regression regarding support for non-CF-compliant coordinate names (#73). By Sam Levang
  • Infer bounds dimension name using cf-xarray (#78). By Pascal Bourgault
  • Do not regrid variables that are not defined over horizontal dimensions (#79). By Pascal Bourgault
  • Ensure locstream dimension name is consistent with ds_out (#81). By Mattia Almansi

Documentation

  • Add release instructions (#75). By David Huard
  • Update Zenodo DOI badge

v0.5.2

25 Jan 20:19
0bae6dc

Choose a tag to compare

Bug fixes

  • Restore original behavior for lon/lat discovery, uses cf-xarray if lon/lat not found in dataset (#64)
  • Solve issue of dimension order in dataset (#53) with (#66)

v0.5.1

11 Jan 17:12
d9966db

Choose a tag to compare

  • Update installation instructions to mention that PyPi only holds xesmf up to version 0.3.0 (#59)
  • Regridded xarray.Dataset now preserves the name and attributes of target coordinates (#60)
  • Fix doc build for API/Regridder (#61)