@@ -21,33 +21,35 @@ v0.14.1 (unreleased)
21
21
Breaking changes
22
22
~~~~~~~~~~~~~~~~
23
23
24
- - Broken compatibility with cftime < 1.0.3.
25
- By `Deepak Cherian <https://github.com/dcherian >`_.
24
+ - Broken compatibility with ``cftime < 1.0.3 `` . By `Deepak Cherian <https://github.com/dcherian >`_.
26
25
27
- .. note ::
26
+ .. warning ::
28
27
29
28
cftime version 1.0.4 is broken
30
29
(`cftime/126 <https://github.com/Unidata/cftime/issues/126 >`_);
31
30
please use version 1.0.4.2 instead.
32
31
33
- - All leftover support for dates from non-standard calendars through netcdftime, the
32
+ - All leftover support for dates from non-standard calendars through `` netcdftime `` , the
34
33
module included in versions of netCDF4 prior to 1.4 that eventually became the
35
- cftime package, has been removed in favor of relying solely on the standalone
36
- cftime package (:pull: `3450 `).
34
+ ` cftime < https://github.com/Unidata/cftime/ >`_ package, has been removed in favor of relying solely on
35
+ the standalone `` cftime `` package (:pull: `3450 `).
37
36
By `Spencer Clark <https://github.com/spencerkclark >`_.
38
37
39
38
New Features
40
39
~~~~~~~~~~~~
41
40
42
- - Added the ``fill_value `` option to :py:meth: `~xarray.DataArray.unstack ` and
43
- :py:meth: `~xarray.Dataset.unstack ` (:issue: `3518 `).
41
+ - Added the ``max_gap `` kwarg to :py:meth: `DataArray.interpolate_na ` and
42
+ :py:meth: `Dataset.interpolate_na `. This controls the maximum size of the data
43
+ - Added the ``fill_value `` option to :py:meth: `DataArray.unstack ` and
44
+ :py:meth: `Dataset.unstack ` (:issue: `3518 `, :pull: `3541 `).
44
45
By `Keisuke Fujii <https://github.com/fujiisoup >`_.
45
46
- Added the ``max_gap `` kwarg to :py:meth: `~xarray.DataArray.interpolate_na ` and
46
47
:py:meth: `~xarray.Dataset.interpolate_na `. This controls the maximum size of the data
47
48
gap that will be filled by interpolation. By `Deepak Cherian <https://github.com/dcherian >`_.
48
49
- :py:meth: `Dataset.drop_sel ` & :py:meth: `DataArray.drop_sel ` have been added for dropping labels.
49
50
:py:meth: `Dataset.drop_vars ` & :py:meth: `DataArray.drop_vars ` have been added for
50
- dropping variables (including coordinates). The existing ``drop `` methods remain as a backward compatible
51
+ dropping variables (including coordinates). The existing :py:meth: `Dataset.drop ` &
52
+ :py:meth: `DataArray.drop ` methods remain as a backward compatible
51
53
option for dropping either labels or variables, but using the more specific methods is encouraged.
52
54
(:pull: `3475 `)
53
55
By `Maximilian Roos <https://github.com/max-sixty >`_
@@ -58,71 +60,71 @@ New Features
58
60
methods is encouraged.
59
61
(:pull: `3459 `)
60
62
By `Maximilian Roos <https://github.com/max-sixty >`_
61
- - :py:meth: `Dataset.transpose ` and :py:meth: `DataArray.transpose ` now support an ellipsis (`... `)
63
+ - :py:meth: `Dataset.transpose ` and :py:meth: `DataArray.transpose ` now support an ellipsis (`` ... ` `)
62
64
to represent all 'other' dimensions. For example, to move one dimension to the front,
63
- use `.transpose('x', ...) `. (:pull: `3421 `)
65
+ use `` .transpose('x', ...) ` `. (:pull: `3421 `)
64
66
By `Maximilian Roos <https://github.com/max-sixty >`_
65
- - Changed `xr.ALL_DIMS ` to equal python's `Ellipsis ` (`... `), and changed internal usages to use
66
- `... ` directly. As before, you can use this to instruct a `groupby ` operation
67
- to reduce over all dimensions. While we have no plans to remove `xr.ALL_DIMS `, we suggest
68
- using `... `. (:pull: `3418 `)
67
+ - Changed `` xr.ALL_DIMS `` to equal python's `` Ellipsis `` (`` ... ` `), and changed internal usages to use
68
+ `` ... `` directly. As before, you can use this to instruct a `` groupby ` ` operation
69
+ to reduce over all dimensions. While we have no plans to remove `` xr.ALL_DIMS ` `, we suggest
70
+ using `` ... ` `. (:pull: `3418 `)
69
71
By `Maximilian Roos <https://github.com/max-sixty >`_
70
- - :py:func: `~ xarray.dot `, and :py:func: ` ~xarray. DataArray.dot ` now support the
71
- `dims=... ` option to sum over the union of dimensions of all input arrays
72
+ - :py:func: `xarray.dot `, and :py:meth: ` DataArray.dot ` now support the
73
+ `` dims=... ` ` option to sum over the union of dimensions of all input arrays
72
74
(:issue: `3423 `) by `Mathias Hauser <https://github.com/mathause >`_.
73
75
- Added new :py:meth: `Dataset._repr_html_ ` and :py:meth: `DataArray._repr_html_ ` to improve
74
- representation of objects in jupyter . By default this feature is turned off
75
- for now. Enable it with :py:meth: ` xarray.set_options(display_style="html") `.
76
+ representation of objects in Jupyter . By default this feature is turned off
77
+ for now. Enable it with `` xarray.set_options(display_style="html") ` `.
76
78
(:pull: `3425 `) by `Benoit Bovy <https://github.com/benbovy >`_ and
77
79
`Julia Signell <https://github.com/jsignell >`_.
78
80
- Implement `dask deterministic hashing
79
81
<https://docs.dask.org/en/latest/custom-collections.html#deterministic-hashing> `_
80
82
for xarray objects. Note that xarray objects with a dask.array backend already used
81
83
deterministic hashing in previous releases; this change implements it when whole
82
- xarray objects are embedded in a dask graph, e.g. when :meth: `DataArray.map ` is
84
+ xarray objects are embedded in a dask graph, e.g. when :py: meth: `DataArray.map ` is
83
85
invoked. (:issue: `3378 `, :pull: `3446 `, :pull: `3515 `)
84
86
By `Deepak Cherian <https://github.com/dcherian >`_ and
85
87
`Guido Imperiale <https://github.com/crusaderky >`_.
86
- - Add the documented-but-missing :py:meth: `xarray.core.groupby. DatasetGroupBy.quantile `.
88
+ - Add the documented-but-missing :py:meth: `DatasetGroupBy.quantile `.
87
89
(:issue: `3525 `, :pull: `3527 `). By `Justus Magin <https://github.com/keewis >`_.
88
90
89
91
Bug fixes
90
92
~~~~~~~~~
91
93
- Ensure an index of type ``CFTimeIndex `` is not converted to a ``DatetimeIndex `` when
92
- calling :py:meth: `Dataset.rename ` (also :py:meth: `Dataset.rename_dims `
93
- and :py:meth: `xr.Dataset.rename_vars `). By `Mathias Hauser <https://github.com/mathause >`_
94
- (:issue: `3522 `).
95
- - Fix a bug in `set_index ` in case that an existing dimension becomes a level variable of MultiIndex. (:pull: `3520 `)
96
- By `Keisuke Fujii <https://github.com/fujiisoup >`_.
97
- - Harmonize `_FillValue `, `missing_value ` during encoding and decoding steps. (:pull: `3502 `)
94
+ calling :py:meth: `Dataset.rename `, :py:meth: `Dataset.rename_dims ` and :py:meth: `Dataset.rename_vars `.
95
+ By `Mathias Hauser <https://github.com/mathause >`_. (:issue: `3522 `).
96
+ - Fix a bug in :py:meth: `DataArray.set_index ` in case that an existing dimension becomes a level
97
+ variable of MultiIndex. (:pull: `3520 `). By `Keisuke Fujii <https://github.com/fujiisoup >`_.
98
+ - Harmonize ``_FillValue ``, ``missing_value `` during encoding and decoding steps. (:pull: `3502 `)
98
99
By `Anderson Banihirwe <https://github.com/andersy005 >`_.
99
100
- Fix regression introduced in v0.14.0 that would cause a crash if dask is installed
100
101
but cloudpickle isn't (:issue: `3401 `) by `Rhys Doyle <https://github.com/rdoyle45 >`_
101
102
- Fix grouping over variables with NaNs. (:issue: `2383 `, :pull: `3406 `).
102
103
By `Deepak Cherian <https://github.com/dcherian >`_.
103
- - Use dask names to compare dask objects prior to comparing values after computation.
104
+ - Make alignment and concatenation significantly more efficient by using dask names to compare dask
105
+ objects prior to comparing values after computation. This change makes it more convenient to carry
106
+ around large non-dimensional coordinate variables backed by dask arrays. Existing workarounds involving
107
+ ``reset_coords(drop=True) `` should now be unnecessary in most cases.
104
108
(:issue: `3068 `, :issue: `3311 `, :issue: `3454 `, :pull: `3453 `).
105
109
By `Deepak Cherian <https://github.com/dcherian >`_.
106
- - Sync with cftime by removing `dayofwk=-1 ` for cftime>=1.0.4.
107
- By `Anderson Banihirwe <https://github.com/andersy005 >`_.
110
+ - Add support for cftime>=1.0.4. By `Anderson Banihirwe <https://github.com/andersy005 >`_.
108
111
- Rolling reduction operations no longer compute dask arrays by default. (:issue: `3161 `).
109
112
In addition, the ``allow_lazy `` kwarg to ``reduce `` is deprecated.
110
113
By `Deepak Cherian <https://github.com/dcherian >`_.
111
- - Fix :py:meth: `xarray.core.groupby.DataArrayGroupBy.reduce ` and
112
- :py:meth: `xarray.core.groupby.DatasetGroupBy.reduce ` when reducing over multiple dimensions.
114
+ - Fix :py:meth: `GroupBy.reduce ` when reducing over multiple dimensions.
113
115
(:issue: `3402 `). By `Deepak Cherian <https://github.com/dcherian/ >`_
114
116
- Allow appending datetime and bool data variables to zarr stores.
115
117
(:issue: `3480 `). By `Akihiro Matsukawa <https://github.com/amatsukawa/ >`_.
116
118
117
119
Documentation
118
120
~~~~~~~~~~~~~
119
- - Fix leap year condition in example ( http://xarray.pydata.org/en/stable/examples/monthly-means.html)
120
- by `Mickaël Lalande <https://github.com/mickaellalande >`_.
121
+ - Fix leap year condition in ` monthly means example < http://xarray.pydata.org/en/stable/examples/monthly-means.html >`_.
122
+ By `Mickaël Lalande <https://github.com/mickaellalande >`_.
121
123
- Fix the documentation of :py:meth: `DataArray.resample ` and
122
- :py:meth: `Dataset.resample ` and explicitly state that a
124
+ :py:meth: `Dataset.resample ` — explicitly state that a
123
125
datetime-like dimension is required. (:pull: `3400 `)
124
126
By `Justus Magin <https://github.com/keewis >`_.
125
- - Update the terminology page to address multidimensional coordinates. (:pull: `3410 `)
127
+ - Update the :ref: ` terminology ` page to address multidimensional coordinates. (:pull: `3410 `)
126
128
By `Jon Thielen <https://github.com/jthielen >`_.
127
129
- Fix the documentation of :py:meth: `Dataset.integrate ` and
128
130
:py:meth: `DataArray.integrate ` and add an example to
@@ -186,15 +188,15 @@ Breaking changes
186
188
(:issue: `3222 `, :issue: `3293 `, :issue: `3340 `, :issue: `3346 `, :issue: `3358 `).
187
189
By `Guido Imperiale <https://github.com/crusaderky >`_.
188
190
189
- - Dropped the `drop=False ` optional parameter from :meth: `Variable.isel `.
191
+ - Dropped the `` drop=False `` optional parameter from :py :meth: `Variable.isel `.
190
192
It was unused and doesn't make sense for a Variable. (:pull: `3375 `).
191
193
By `Guido Imperiale <https://github.com/crusaderky >`_.
192
194
193
- - Remove internal usage of `collections.OrderedDict `. After dropping support for
194
- Python <=3.5, most uses of `OrderedDict ` in Xarray were no longer necessary. We
195
- have removed the internal use of the `OrderedDict ` in favor of Python's builtin
196
- `dict ` object which is now ordered itself. This change will be most obvious when
197
- interacting with the `attrs ` property on the Dataset and DataArray objects.
195
+ - Remove internal usage of :py:class: `collections.OrderedDict `. After dropping support for
196
+ Python <=3.5, most uses of `` OrderedDict ` ` in Xarray were no longer necessary. We
197
+ have removed the internal use of the `` OrderedDict ` ` in favor of Python's builtin
198
+ `` dict ` ` object which is now ordered itself. This change will be most obvious when
199
+ interacting with the `` attrs `` property on Dataset and DataArray objects.
198
200
(:issue: `3380 `, :pull: `3389 `). By `Joe Hamman <https://github.com/jhamman >`_.
199
201
200
202
New functions/methods
@@ -220,15 +222,15 @@ Enhancements
220
222
- Added a ``GroupBy.dims `` property that mirrors the dimensions
221
223
of each group (:issue: `3344 `).
222
224
223
- - Speed up :meth: `Dataset.isel ` up to 33% and :meth: `DataArray.isel ` up to 25% for small
225
+ - Speed up :py: meth: `Dataset.isel ` up to 33% and :py :meth: `DataArray.isel ` up to 25% for small
224
226
arrays (:issue: `2799 `, :pull: `3375 `). By
225
227
`Guido Imperiale <https://github.com/crusaderky >`_.
226
228
227
229
Bug fixes
228
230
~~~~~~~~~
229
231
- Reintroduce support for :mod: `weakref ` (broken in v0.13.0). Support has been
230
- reinstated for :class: `DataArray ` and :class: `Dataset ` objects only. Internal xarray
231
- objects remain unaddressable by weakref in order to save memory
232
+ reinstated for :py: class: `~xarray. DataArray ` and :py: class: `~xarray. Dataset ` objects only.
233
+ Internal xarray objects remain unaddressable by weakref in order to save memory
232
234
(:issue: `3317 `). By `Guido Imperiale <https://github.com/crusaderky >`_.
233
235
- Line plots with the ``x `` or ``y `` argument set to a 1D non-dimensional coord
234
236
now plot the correct data for 2D DataArrays
@@ -238,7 +240,7 @@ Bug fixes
238
240
- The default behaviour of reducing across all dimensions for
239
241
:py:class: `~xarray.core.groupby.DataArrayGroupBy ` objects has now been properly removed
240
242
as was done for :py:class: `~xarray.core.groupby.DatasetGroupBy ` in 0.13.0 (:issue: `3337 `).
241
- Use `xarray.ALL_DIMS ` if you need to replicate previous behaviour.
243
+ Use `` xarray.ALL_DIMS ` ` if you need to replicate previous behaviour.
242
244
Also raise nicer error message when no groups are created (:issue: `1764 `).
243
245
By `Deepak Cherian <https://github.com/dcherian >`_.
244
246
- Fix error in concatenating unlabeled dimensions (:pull: `3362 `).
@@ -325,7 +327,7 @@ New functions/methods
325
327
326
328
- xarray can now wrap around any
327
329
`NEP18 <https://www.numpy.org/neps/nep-0018-array-function-protocol.html >`_ compliant
328
- numpy-like library (important: read notes about NUMPY_EXPERIMENTAL_ARRAY_FUNCTION in
330
+ numpy-like library (important: read notes about `` NUMPY_EXPERIMENTAL_ARRAY_FUNCTION `` in
329
331
the above link). Added explicit test coverage for
330
332
`sparse <https://github.com/pydata/sparse >`_. (:issue: `3117 `, :issue: `3202 `).
331
333
This requires `sparse>=0.8.0 `. By `Nezar Abdennur <https://github.com/nvictus >`_
0 commit comments