Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions doc/whats-new.rst
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,9 @@ Bug Fixes
``np.isclose`` by default to handle accumulated floating point errors from
slicing operations. Use ``exact=True`` for exact comparison (:pull:`11035`).
By `Ian Hunt-Isaak <https://github.com/ianhi>`_.
- Ensure the :py:class:`~xarray.groupers.SeasonResampler` preserves the datetime
unit of the underlying time index when resampling (:issue:`11048`,
:pull:`11049`). By `Spencer Clark <https://github.com/spencerkclark>`_.

Documentation
~~~~~~~~~~~~~
Expand Down
10 changes: 9 additions & 1 deletion xarray/groupers.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
from collections import defaultdict
from collections.abc import Hashable, Mapping, Sequence
from dataclasses import dataclass, field
from functools import partial
from itertools import chain, pairwise
from typing import TYPE_CHECKING, Any, Literal, cast

Expand All @@ -40,6 +41,7 @@
Bins,
DatetimeLike,
GroupIndices,
PDDatetimeUnitOptions,
ResampleCompatible,
Self,
SideOptions,
Expand All @@ -61,6 +63,11 @@
RESAMPLE_DIM = "__resample_dim__"


def _construct_timestamp_as_unit(unit: PDDatetimeUnitOptions, **kwargs) -> pd.Timestamp:
"""Construct a pandas.Timestamp object with a specific resolution."""
return pd.Timestamp(**kwargs).as_unit(unit)


@dataclass(init=False)
class EncodedGroups:
"""
Expand Down Expand Up @@ -960,7 +967,8 @@ def factorize(self, group: T_Group) -> EncodedGroups:
datetime_class = type(first_n_items(group.data, 1).item())
else:
index_class = pd.DatetimeIndex
datetime_class = datetime.datetime
unit, _ = np.datetime_data(group.dtype)
datetime_class = partial(_construct_timestamp_as_unit, unit)

# these are the seasons that are present
unique_coord = index_class(
Expand Down
11 changes: 10 additions & 1 deletion xarray/tests/test_groupby.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
import xarray as xr
from xarray import DataArray, Dataset, Variable, date_range
from xarray.core.groupby import _consolidate_slices
from xarray.core.types import InterpOptions, ResampleCompatible
from xarray.core.types import InterpOptions, PDDatetimeUnitOptions, ResampleCompatible
from xarray.groupers import (
BinGrouper,
EncodedGroups,
Expand Down Expand Up @@ -3605,6 +3605,15 @@
gb = da.groupby(time=resampler).sum()
assert_identical(rs, gb)

def test_season_resampler_preserves_time_unit(
self, time_unit: PDDatetimeUnitOptions
):
time = date_range("2000", periods=12, freq="MS", unit=time_unit)
da = DataArray(np.ones(time.size), dims="time", coords={"time": time})
resampler = SeasonResampler(["DJF", "MAM", "JJA", "SON"])
rs = da.resample(time=resampler).sum()
assert rs.time.dtype == time.dtype

Check failure on line 3615 in xarray/tests/test_groupby.py

View workflow job for this annotation

GitHub Actions / ubuntu-latest | test-py311-bare-minimum

TestSeasonGrouperAndResampler.test_season_resampler_preserves_time_unit[us] AssertionError: assert dtype('<M8[ns]') == dtype('<M8[us]') + where dtype('<M8[ns]') = <xarray.DataArray 'time' (time: 3)> Size: 24B\narray(['2000-03-01T00:00:00.000000000', '2000-06-01T00:00:00.000000000',...0000000'], dtype='datetime64[ns]')\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01.dtype + where <xarray.DataArray 'time' (time: 3)> Size: 24B\narray(['2000-03-01T00:00:00.000000000', '2000-06-01T00:00:00.000000000',...0000000'], dtype='datetime64[ns]')\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01 = <xarray.DataArray (time: 3)> Size: 24B\narray([3., 3., 3.])\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01.time + and dtype('<M8[us]') = DatetimeIndex(['2000-01-01', '2000-02-01', '2000-03-01', '2000-04-01',\n '2000-05-01', '2000-06-01', '200... '2000-09-01', '2000-10-01', '2000-11-01', '2000-12-01'],\n dtype='datetime64[us]', freq='MS').dtype

Check failure on line 3615 in xarray/tests/test_groupby.py

View workflow job for this annotation

GitHub Actions / ubuntu-latest | test-py311-bare-minimum

TestSeasonGrouperAndResampler.test_season_resampler_preserves_time_unit[ms] AssertionError: assert dtype('<M8[ns]') == dtype('<M8[ms]') + where dtype('<M8[ns]') = <xarray.DataArray 'time' (time: 3)> Size: 24B\narray(['2000-03-01T00:00:00.000000000', '2000-06-01T00:00:00.000000000',...0000000'], dtype='datetime64[ns]')\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01.dtype + where <xarray.DataArray 'time' (time: 3)> Size: 24B\narray(['2000-03-01T00:00:00.000000000', '2000-06-01T00:00:00.000000000',...0000000'], dtype='datetime64[ns]')\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01 = <xarray.DataArray (time: 3)> Size: 24B\narray([3., 3., 3.])\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01.time + and dtype('<M8[ms]') = DatetimeIndex(['2000-01-01', '2000-02-01', '2000-03-01', '2000-04-01',\n '2000-05-01', '2000-06-01', '200... '2000-09-01', '2000-10-01', '2000-11-01', '2000-12-01'],\n dtype='datetime64[ms]', freq='MS').dtype

Check failure on line 3615 in xarray/tests/test_groupby.py

View workflow job for this annotation

GitHub Actions / ubuntu-latest | test-py311-bare-minimum

TestSeasonGrouperAndResampler.test_season_resampler_preserves_time_unit[s] AssertionError: assert dtype('<M8[ns]') == dtype('<M8[s]') + where dtype('<M8[ns]') = <xarray.DataArray 'time' (time: 3)> Size: 24B\narray(['2000-03-01T00:00:00.000000000', '2000-06-01T00:00:00.000000000',...0000000'], dtype='datetime64[ns]')\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01.dtype + where <xarray.DataArray 'time' (time: 3)> Size: 24B\narray(['2000-03-01T00:00:00.000000000', '2000-06-01T00:00:00.000000000',...0000000'], dtype='datetime64[ns]')\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01 = <xarray.DataArray (time: 3)> Size: 24B\narray([3., 3., 3.])\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01.time + and dtype('<M8[s]') = DatetimeIndex(['2000-01-01', '2000-02-01', '2000-03-01', '2000-04-01',\n '2000-05-01', '2000-06-01', '200... '2000-09-01', '2000-10-01', '2000-11-01', '2000-12-01'],\n dtype='datetime64[s]', freq='MS').dtype

Check failure on line 3615 in xarray/tests/test_groupby.py

View workflow job for this annotation

GitHub Actions / ubuntu-latest | test-py311-bare-min-and-scipy

TestSeasonGrouperAndResampler.test_season_resampler_preserves_time_unit[us] AssertionError: assert dtype('<M8[ns]') == dtype('<M8[us]') + where dtype('<M8[ns]') = <xarray.DataArray 'time' (time: 3)> Size: 24B\narray(['2000-03-01T00:00:00.000000000', '2000-06-01T00:00:00.000000000',...0000000'], dtype='datetime64[ns]')\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01.dtype + where <xarray.DataArray 'time' (time: 3)> Size: 24B\narray(['2000-03-01T00:00:00.000000000', '2000-06-01T00:00:00.000000000',...0000000'], dtype='datetime64[ns]')\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01 = <xarray.DataArray (time: 3)> Size: 24B\narray([3., 3., 3.])\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01.time + and dtype('<M8[us]') = DatetimeIndex(['2000-01-01', '2000-02-01', '2000-03-01', '2000-04-01',\n '2000-05-01', '2000-06-01', '200... '2000-09-01', '2000-10-01', '2000-11-01', '2000-12-01'],\n dtype='datetime64[us]', freq='MS').dtype

Check failure on line 3615 in xarray/tests/test_groupby.py

View workflow job for this annotation

GitHub Actions / ubuntu-latest | test-py311-bare-min-and-scipy

TestSeasonGrouperAndResampler.test_season_resampler_preserves_time_unit[ms] AssertionError: assert dtype('<M8[ns]') == dtype('<M8[ms]') + where dtype('<M8[ns]') = <xarray.DataArray 'time' (time: 3)> Size: 24B\narray(['2000-03-01T00:00:00.000000000', '2000-06-01T00:00:00.000000000',...0000000'], dtype='datetime64[ns]')\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01.dtype + where <xarray.DataArray 'time' (time: 3)> Size: 24B\narray(['2000-03-01T00:00:00.000000000', '2000-06-01T00:00:00.000000000',...0000000'], dtype='datetime64[ns]')\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01 = <xarray.DataArray (time: 3)> Size: 24B\narray([3., 3., 3.])\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01.time + and dtype('<M8[ms]') = DatetimeIndex(['2000-01-01', '2000-02-01', '2000-03-01', '2000-04-01',\n '2000-05-01', '2000-06-01', '200... '2000-09-01', '2000-10-01', '2000-11-01', '2000-12-01'],\n dtype='datetime64[ms]', freq='MS').dtype

Check failure on line 3615 in xarray/tests/test_groupby.py

View workflow job for this annotation

GitHub Actions / ubuntu-latest | test-py311-bare-min-and-scipy

TestSeasonGrouperAndResampler.test_season_resampler_preserves_time_unit[s] AssertionError: assert dtype('<M8[ns]') == dtype('<M8[s]') + where dtype('<M8[ns]') = <xarray.DataArray 'time' (time: 3)> Size: 24B\narray(['2000-03-01T00:00:00.000000000', '2000-06-01T00:00:00.000000000',...0000000'], dtype='datetime64[ns]')\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01.dtype + where <xarray.DataArray 'time' (time: 3)> Size: 24B\narray(['2000-03-01T00:00:00.000000000', '2000-06-01T00:00:00.000000000',...0000000'], dtype='datetime64[ns]')\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01 = <xarray.DataArray (time: 3)> Size: 24B\narray([3., 3., 3.])\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01.time + and dtype('<M8[s]') = DatetimeIndex(['2000-01-01', '2000-02-01', '2000-03-01', '2000-04-01',\n '2000-05-01', '2000-06-01', '200... '2000-09-01', '2000-10-01', '2000-11-01', '2000-12-01'],\n dtype='datetime64[s]', freq='MS').dtype

Check failure on line 3615 in xarray/tests/test_groupby.py

View workflow job for this annotation

GitHub Actions / ubuntu-latest | test-py313-no-numba

TestSeasonGrouperAndResampler.test_season_resampler_preserves_time_unit[us] AssertionError: assert dtype('<M8[ns]') == dtype('<M8[us]') + where dtype('<M8[ns]') = <xarray.DataArray 'time' (time: 3)> Size: 24B\narray(['2000-03-01T00:00:00.000000000', '2000-06-01T00:00:00.000000000',...0000000'], dtype='datetime64[ns]')\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01.dtype + where <xarray.DataArray 'time' (time: 3)> Size: 24B\narray(['2000-03-01T00:00:00.000000000', '2000-06-01T00:00:00.000000000',...0000000'], dtype='datetime64[ns]')\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01 = <xarray.DataArray (time: 3)> Size: 24B\narray([3., 3., 3.])\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01.time + and dtype('<M8[us]') = DatetimeIndex(['2000-01-01', '2000-02-01', '2000-03-01', '2000-04-01',\n '2000-05-01', '2000-06-01', '200... '2000-09-01', '2000-10-01', '2000-11-01', '2000-12-01'],\n dtype='datetime64[us]', freq='MS').dtype

Check failure on line 3615 in xarray/tests/test_groupby.py

View workflow job for this annotation

GitHub Actions / ubuntu-latest | test-py313-no-numba

TestSeasonGrouperAndResampler.test_season_resampler_preserves_time_unit[ms] AssertionError: assert dtype('<M8[ns]') == dtype('<M8[ms]') + where dtype('<M8[ns]') = <xarray.DataArray 'time' (time: 3)> Size: 24B\narray(['2000-03-01T00:00:00.000000000', '2000-06-01T00:00:00.000000000',...0000000'], dtype='datetime64[ns]')\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01.dtype + where <xarray.DataArray 'time' (time: 3)> Size: 24B\narray(['2000-03-01T00:00:00.000000000', '2000-06-01T00:00:00.000000000',...0000000'], dtype='datetime64[ns]')\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01 = <xarray.DataArray (time: 3)> Size: 24B\narray([3., 3., 3.])\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01.time + and dtype('<M8[ms]') = DatetimeIndex(['2000-01-01', '2000-02-01', '2000-03-01', '2000-04-01',\n '2000-05-01', '2000-06-01', '200... '2000-09-01', '2000-10-01', '2000-11-01', '2000-12-01'],\n dtype='datetime64[ms]', freq='MS').dtype

Check failure on line 3615 in xarray/tests/test_groupby.py

View workflow job for this annotation

GitHub Actions / ubuntu-latest | test-py313-no-numba

TestSeasonGrouperAndResampler.test_season_resampler_preserves_time_unit[s] AssertionError: assert dtype('<M8[ns]') == dtype('<M8[s]') + where dtype('<M8[ns]') = <xarray.DataArray 'time' (time: 3)> Size: 24B\narray(['2000-03-01T00:00:00.000000000', '2000-06-01T00:00:00.000000000',...0000000'], dtype='datetime64[ns]')\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01.dtype + where <xarray.DataArray 'time' (time: 3)> Size: 24B\narray(['2000-03-01T00:00:00.000000000', '2000-06-01T00:00:00.000000000',...0000000'], dtype='datetime64[ns]')\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01 = <xarray.DataArray (time: 3)> Size: 24B\narray([3., 3., 3.])\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01.time + and dtype('<M8[s]') = DatetimeIndex(['2000-01-01', '2000-02-01', '2000-03-01', '2000-04-01',\n '2000-05-01', '2000-06-01', '200... '2000-09-01', '2000-10-01', '2000-11-01', '2000-12-01'],\n dtype='datetime64[s]', freq='MS').dtype

Check failure on line 3615 in xarray/tests/test_groupby.py

View workflow job for this annotation

GitHub Actions / ubuntu-latest | test-py311-min-versions

TestSeasonGrouperAndResampler.test_season_resampler_preserves_time_unit[us] AssertionError: assert dtype('<M8[ns]') == dtype('<M8[us]') + where dtype('<M8[ns]') = <xarray.DataArray 'time' (time: 3)> Size: 24B\narray(['2000-03-01T00:00:00.000000000', '2000-06-01T00:00:00.000000000',...0000000'], dtype='datetime64[ns]')\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01.dtype + where <xarray.DataArray 'time' (time: 3)> Size: 24B\narray(['2000-03-01T00:00:00.000000000', '2000-06-01T00:00:00.000000000',...0000000'], dtype='datetime64[ns]')\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01 = <xarray.DataArray (time: 3)> Size: 24B\narray([3., 3., 3.])\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01.time + and dtype('<M8[us]') = DatetimeIndex(['2000-01-01', '2000-02-01', '2000-03-01', '2000-04-01',\n '2000-05-01', '2000-06-01', '200... '2000-09-01', '2000-10-01', '2000-11-01', '2000-12-01'],\n dtype='datetime64[us]', freq='MS').dtype

Check failure on line 3615 in xarray/tests/test_groupby.py

View workflow job for this annotation

GitHub Actions / ubuntu-latest | test-py311-min-versions

TestSeasonGrouperAndResampler.test_season_resampler_preserves_time_unit[ms] AssertionError: assert dtype('<M8[ns]') == dtype('<M8[ms]') + where dtype('<M8[ns]') = <xarray.DataArray 'time' (time: 3)> Size: 24B\narray(['2000-03-01T00:00:00.000000000', '2000-06-01T00:00:00.000000000',...0000000'], dtype='datetime64[ns]')\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01.dtype + where <xarray.DataArray 'time' (time: 3)> Size: 24B\narray(['2000-03-01T00:00:00.000000000', '2000-06-01T00:00:00.000000000',...0000000'], dtype='datetime64[ns]')\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01 = <xarray.DataArray (time: 3)> Size: 24B\narray([3., 3., 3.])\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01.time + and dtype('<M8[ms]') = DatetimeIndex(['2000-01-01', '2000-02-01', '2000-03-01', '2000-04-01',\n '2000-05-01', '2000-06-01', '200... '2000-09-01', '2000-10-01', '2000-11-01', '2000-12-01'],\n dtype='datetime64[ms]', freq='MS').dtype

Check failure on line 3615 in xarray/tests/test_groupby.py

View workflow job for this annotation

GitHub Actions / ubuntu-latest | test-py311-min-versions

TestSeasonGrouperAndResampler.test_season_resampler_preserves_time_unit[s] AssertionError: assert dtype('<M8[ns]') == dtype('<M8[s]') + where dtype('<M8[ns]') = <xarray.DataArray 'time' (time: 3)> Size: 24B\narray(['2000-03-01T00:00:00.000000000', '2000-06-01T00:00:00.000000000',...0000000'], dtype='datetime64[ns]')\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01.dtype + where <xarray.DataArray 'time' (time: 3)> Size: 24B\narray(['2000-03-01T00:00:00.000000000', '2000-06-01T00:00:00.000000000',...0000000'], dtype='datetime64[ns]')\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01 = <xarray.DataArray (time: 3)> Size: 24B\narray([3., 3., 3.])\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01.time + and dtype('<M8[s]') = DatetimeIndex(['2000-01-01', '2000-02-01', '2000-03-01', '2000-04-01',\n '2000-05-01', '2000-06-01', '200... '2000-09-01', '2000-10-01', '2000-11-01', '2000-12-01'],\n dtype='datetime64[s]', freq='MS').dtype

Check failure on line 3615 in xarray/tests/test_groupby.py

View workflow job for this annotation

GitHub Actions / ubuntu-latest | test-py313

TestSeasonGrouperAndResampler.test_season_resampler_preserves_time_unit[us] AssertionError: assert dtype('<M8[ns]') == dtype('<M8[us]') + where dtype('<M8[ns]') = <xarray.DataArray 'time' (time: 3)> Size: 24B\narray(['2000-03-01T00:00:00.000000000', '2000-06-01T00:00:00.000000000',...0000000'], dtype='datetime64[ns]')\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01.dtype + where <xarray.DataArray 'time' (time: 3)> Size: 24B\narray(['2000-03-01T00:00:00.000000000', '2000-06-01T00:00:00.000000000',...0000000'], dtype='datetime64[ns]')\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01 = <xarray.DataArray (time: 3)> Size: 24B\narray([3., 3., 3.])\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01.time + and dtype('<M8[us]') = DatetimeIndex(['2000-01-01', '2000-02-01', '2000-03-01', '2000-04-01',\n '2000-05-01', '2000-06-01', '200... '2000-09-01', '2000-10-01', '2000-11-01', '2000-12-01'],\n dtype='datetime64[us]', freq='MS').dtype

Check failure on line 3615 in xarray/tests/test_groupby.py

View workflow job for this annotation

GitHub Actions / ubuntu-latest | test-py313

TestSeasonGrouperAndResampler.test_season_resampler_preserves_time_unit[ms] AssertionError: assert dtype('<M8[ns]') == dtype('<M8[ms]') + where dtype('<M8[ns]') = <xarray.DataArray 'time' (time: 3)> Size: 24B\narray(['2000-03-01T00:00:00.000000000', '2000-06-01T00:00:00.000000000',...0000000'], dtype='datetime64[ns]')\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01.dtype + where <xarray.DataArray 'time' (time: 3)> Size: 24B\narray(['2000-03-01T00:00:00.000000000', '2000-06-01T00:00:00.000000000',...0000000'], dtype='datetime64[ns]')\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01 = <xarray.DataArray (time: 3)> Size: 24B\narray([3., 3., 3.])\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01.time + and dtype('<M8[ms]') = DatetimeIndex(['2000-01-01', '2000-02-01', '2000-03-01', '2000-04-01',\n '2000-05-01', '2000-06-01', '200... '2000-09-01', '2000-10-01', '2000-11-01', '2000-12-01'],\n dtype='datetime64[ms]', freq='MS').dtype

Check failure on line 3615 in xarray/tests/test_groupby.py

View workflow job for this annotation

GitHub Actions / ubuntu-latest | test-py313

TestSeasonGrouperAndResampler.test_season_resampler_preserves_time_unit[s] AssertionError: assert dtype('<M8[ns]') == dtype('<M8[s]') + where dtype('<M8[ns]') = <xarray.DataArray 'time' (time: 3)> Size: 24B\narray(['2000-03-01T00:00:00.000000000', '2000-06-01T00:00:00.000000000',...0000000'], dtype='datetime64[ns]')\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01.dtype + where <xarray.DataArray 'time' (time: 3)> Size: 24B\narray(['2000-03-01T00:00:00.000000000', '2000-06-01T00:00:00.000000000',...0000000'], dtype='datetime64[ns]')\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01 = <xarray.DataArray (time: 3)> Size: 24B\narray([3., 3., 3.])\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01.time + and dtype('<M8[s]') = DatetimeIndex(['2000-01-01', '2000-02-01', '2000-03-01', '2000-04-01',\n '2000-05-01', '2000-06-01', '200... '2000-09-01', '2000-10-01', '2000-11-01', '2000-12-01'],\n dtype='datetime64[s]', freq='MS').dtype

Check failure on line 3615 in xarray/tests/test_groupby.py

View workflow job for this annotation

GitHub Actions / ubuntu-latest | test-py311

TestSeasonGrouperAndResampler.test_season_resampler_preserves_time_unit[us] AssertionError: assert dtype('<M8[ns]') == dtype('<M8[us]') + where dtype('<M8[ns]') = <xarray.DataArray 'time' (time: 3)> Size: 24B\narray(['2000-03-01T00:00:00.000000000', '2000-06-01T00:00:00.000000000',...0000000'], dtype='datetime64[ns]')\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01.dtype + where <xarray.DataArray 'time' (time: 3)> Size: 24B\narray(['2000-03-01T00:00:00.000000000', '2000-06-01T00:00:00.000000000',...0000000'], dtype='datetime64[ns]')\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01 = <xarray.DataArray (time: 3)> Size: 24B\narray([3., 3., 3.])\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01.time + and dtype('<M8[us]') = DatetimeIndex(['2000-01-01', '2000-02-01', '2000-03-01', '2000-04-01',\n '2000-05-01', '2000-06-01', '200... '2000-09-01', '2000-10-01', '2000-11-01', '2000-12-01'],\n dtype='datetime64[us]', freq='MS').dtype

Check failure on line 3615 in xarray/tests/test_groupby.py

View workflow job for this annotation

GitHub Actions / ubuntu-latest | test-py311

TestSeasonGrouperAndResampler.test_season_resampler_preserves_time_unit[ms] AssertionError: assert dtype('<M8[ns]') == dtype('<M8[ms]') + where dtype('<M8[ns]') = <xarray.DataArray 'time' (time: 3)> Size: 24B\narray(['2000-03-01T00:00:00.000000000', '2000-06-01T00:00:00.000000000',...0000000'], dtype='datetime64[ns]')\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01.dtype + where <xarray.DataArray 'time' (time: 3)> Size: 24B\narray(['2000-03-01T00:00:00.000000000', '2000-06-01T00:00:00.000000000',...0000000'], dtype='datetime64[ns]')\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01 = <xarray.DataArray (time: 3)> Size: 24B\narray([3., 3., 3.])\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01.time + and dtype('<M8[ms]') = DatetimeIndex(['2000-01-01', '2000-02-01', '2000-03-01', '2000-04-01',\n '2000-05-01', '2000-06-01', '200... '2000-09-01', '2000-10-01', '2000-11-01', '2000-12-01'],\n dtype='datetime64[ms]', freq='MS').dtype

Check failure on line 3615 in xarray/tests/test_groupby.py

View workflow job for this annotation

GitHub Actions / ubuntu-latest | test-py311

TestSeasonGrouperAndResampler.test_season_resampler_preserves_time_unit[s] AssertionError: assert dtype('<M8[ns]') == dtype('<M8[s]') + where dtype('<M8[ns]') = <xarray.DataArray 'time' (time: 3)> Size: 24B\narray(['2000-03-01T00:00:00.000000000', '2000-06-01T00:00:00.000000000',...0000000'], dtype='datetime64[ns]')\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01.dtype + where <xarray.DataArray 'time' (time: 3)> Size: 24B\narray(['2000-03-01T00:00:00.000000000', '2000-06-01T00:00:00.000000000',...0000000'], dtype='datetime64[ns]')\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01 = <xarray.DataArray (time: 3)> Size: 24B\narray([3., 3., 3.])\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01.time + and dtype('<M8[s]') = DatetimeIndex(['2000-01-01', '2000-02-01', '2000-03-01', '2000-04-01',\n '2000-05-01', '2000-06-01', '200... '2000-09-01', '2000-10-01', '2000-11-01', '2000-12-01'],\n dtype='datetime64[s]', freq='MS').dtype

Check failure on line 3615 in xarray/tests/test_groupby.py

View workflow job for this annotation

GitHub Actions / macos-latest | test-py313

TestSeasonGrouperAndResampler.test_season_resampler_preserves_time_unit[us] AssertionError: assert dtype('<M8[ns]') == dtype('<M8[us]') + where dtype('<M8[ns]') = <xarray.DataArray 'time' (time: 3)> Size: 24B\narray(['2000-03-01T00:00:00.000000000', '2000-06-01T00:00:00.000000000',...0000000'], dtype='datetime64[ns]')\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01.dtype + where <xarray.DataArray 'time' (time: 3)> Size: 24B\narray(['2000-03-01T00:00:00.000000000', '2000-06-01T00:00:00.000000000',...0000000'], dtype='datetime64[ns]')\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01 = <xarray.DataArray (time: 3)> Size: 24B\narray([3., 3., 3.])\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01.time + and dtype('<M8[us]') = DatetimeIndex(['2000-01-01', '2000-02-01', '2000-03-01', '2000-04-01',\n '2000-05-01', '2000-06-01', '200... '2000-09-01', '2000-10-01', '2000-11-01', '2000-12-01'],\n dtype='datetime64[us]', freq='MS').dtype

Check failure on line 3615 in xarray/tests/test_groupby.py

View workflow job for this annotation

GitHub Actions / macos-latest | test-py313

TestSeasonGrouperAndResampler.test_season_resampler_preserves_time_unit[ms] AssertionError: assert dtype('<M8[ns]') == dtype('<M8[ms]') + where dtype('<M8[ns]') = <xarray.DataArray 'time' (time: 3)> Size: 24B\narray(['2000-03-01T00:00:00.000000000', '2000-06-01T00:00:00.000000000',...0000000'], dtype='datetime64[ns]')\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01.dtype + where <xarray.DataArray 'time' (time: 3)> Size: 24B\narray(['2000-03-01T00:00:00.000000000', '2000-06-01T00:00:00.000000000',...0000000'], dtype='datetime64[ns]')\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01 = <xarray.DataArray (time: 3)> Size: 24B\narray([3., 3., 3.])\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01.time + and dtype('<M8[ms]') = DatetimeIndex(['2000-01-01', '2000-02-01', '2000-03-01', '2000-04-01',\n '2000-05-01', '2000-06-01', '200... '2000-09-01', '2000-10-01', '2000-11-01', '2000-12-01'],\n dtype='datetime64[ms]', freq='MS').dtype

Check failure on line 3615 in xarray/tests/test_groupby.py

View workflow job for this annotation

GitHub Actions / macos-latest | test-py313

TestSeasonGrouperAndResampler.test_season_resampler_preserves_time_unit[s] AssertionError: assert dtype('<M8[ns]') == dtype('<M8[s]') + where dtype('<M8[ns]') = <xarray.DataArray 'time' (time: 3)> Size: 24B\narray(['2000-03-01T00:00:00.000000000', '2000-06-01T00:00:00.000000000',...0000000'], dtype='datetime64[ns]')\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01.dtype + where <xarray.DataArray 'time' (time: 3)> Size: 24B\narray(['2000-03-01T00:00:00.000000000', '2000-06-01T00:00:00.000000000',...0000000'], dtype='datetime64[ns]')\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01 = <xarray.DataArray (time: 3)> Size: 24B\narray([3., 3., 3.])\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01.time + and dtype('<M8[s]') = DatetimeIndex(['2000-01-01', '2000-02-01', '2000-03-01', '2000-04-01',\n '2000-05-01', '2000-06-01', '200... '2000-09-01', '2000-10-01', '2000-11-01', '2000-12-01'],\n dtype='datetime64[s]', freq='MS').dtype

Check failure on line 3615 in xarray/tests/test_groupby.py

View workflow job for this annotation

GitHub Actions / ubuntu-latest | test-py313-no-dask

TestSeasonGrouperAndResampler.test_season_resampler_preserves_time_unit[us] AssertionError: assert dtype('<M8[ns]') == dtype('<M8[us]') + where dtype('<M8[ns]') = <xarray.DataArray 'time' (time: 3)> Size: 24B\narray(['2000-03-01T00:00:00.000000000', '2000-06-01T00:00:00.000000000',...0000000'], dtype='datetime64[ns]')\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01.dtype + where <xarray.DataArray 'time' (time: 3)> Size: 24B\narray(['2000-03-01T00:00:00.000000000', '2000-06-01T00:00:00.000000000',...0000000'], dtype='datetime64[ns]')\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01 = <xarray.DataArray (time: 3)> Size: 24B\narray([3., 3., 3.])\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01.time + and dtype('<M8[us]') = DatetimeIndex(['2000-01-01', '2000-02-01', '2000-03-01', '2000-04-01',\n '2000-05-01', '2000-06-01', '200... '2000-09-01', '2000-10-01', '2000-11-01', '2000-12-01'],\n dtype='datetime64[us]', freq='MS').dtype

Check failure on line 3615 in xarray/tests/test_groupby.py

View workflow job for this annotation

GitHub Actions / ubuntu-latest | test-py313-no-dask

TestSeasonGrouperAndResampler.test_season_resampler_preserves_time_unit[ms] AssertionError: assert dtype('<M8[ns]') == dtype('<M8[ms]') + where dtype('<M8[ns]') = <xarray.DataArray 'time' (time: 3)> Size: 24B\narray(['2000-03-01T00:00:00.000000000', '2000-06-01T00:00:00.000000000',...0000000'], dtype='datetime64[ns]')\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01.dtype + where <xarray.DataArray 'time' (time: 3)> Size: 24B\narray(['2000-03-01T00:00:00.000000000', '2000-06-01T00:00:00.000000000',...0000000'], dtype='datetime64[ns]')\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01 = <xarray.DataArray (time: 3)> Size: 24B\narray([3., 3., 3.])\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01.time + and dtype('<M8[ms]') = DatetimeIndex(['2000-01-01', '2000-02-01', '2000-03-01', '2000-04-01',\n '2000-05-01', '2000-06-01', '200... '2000-09-01', '2000-10-01', '2000-11-01', '2000-12-01'],\n dtype='datetime64[ms]', freq='MS').dtype

Check failure on line 3615 in xarray/tests/test_groupby.py

View workflow job for this annotation

GitHub Actions / ubuntu-latest | test-py313-no-dask

TestSeasonGrouperAndResampler.test_season_resampler_preserves_time_unit[s] AssertionError: assert dtype('<M8[ns]') == dtype('<M8[s]') + where dtype('<M8[ns]') = <xarray.DataArray 'time' (time: 3)> Size: 24B\narray(['2000-03-01T00:00:00.000000000', '2000-06-01T00:00:00.000000000',...0000000'], dtype='datetime64[ns]')\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01.dtype + where <xarray.DataArray 'time' (time: 3)> Size: 24B\narray(['2000-03-01T00:00:00.000000000', '2000-06-01T00:00:00.000000000',...0000000'], dtype='datetime64[ns]')\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01 = <xarray.DataArray (time: 3)> Size: 24B\narray([3., 3., 3.])\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01.time + and dtype('<M8[s]') = DatetimeIndex(['2000-01-01', '2000-02-01', '2000-03-01', '2000-04-01',\n '2000-05-01', '2000-06-01', '200... '2000-09-01', '2000-10-01', '2000-11-01', '2000-12-01'],\n dtype='datetime64[s]', freq='MS').dtype

Check failure on line 3615 in xarray/tests/test_groupby.py

View workflow job for this annotation

GitHub Actions / macos-latest | test-py311

TestSeasonGrouperAndResampler.test_season_resampler_preserves_time_unit[us] AssertionError: assert dtype('<M8[ns]') == dtype('<M8[us]') + where dtype('<M8[ns]') = <xarray.DataArray 'time' (time: 3)> Size: 24B\narray(['2000-03-01T00:00:00.000000000', '2000-06-01T00:00:00.000000000',...0000000'], dtype='datetime64[ns]')\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01.dtype + where <xarray.DataArray 'time' (time: 3)> Size: 24B\narray(['2000-03-01T00:00:00.000000000', '2000-06-01T00:00:00.000000000',...0000000'], dtype='datetime64[ns]')\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01 = <xarray.DataArray (time: 3)> Size: 24B\narray([3., 3., 3.])\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01.time + and dtype('<M8[us]') = DatetimeIndex(['2000-01-01', '2000-02-01', '2000-03-01', '2000-04-01',\n '2000-05-01', '2000-06-01', '200... '2000-09-01', '2000-10-01', '2000-11-01', '2000-12-01'],\n dtype='datetime64[us]', freq='MS').dtype

Check failure on line 3615 in xarray/tests/test_groupby.py

View workflow job for this annotation

GitHub Actions / macos-latest | test-py311

TestSeasonGrouperAndResampler.test_season_resampler_preserves_time_unit[ms] AssertionError: assert dtype('<M8[ns]') == dtype('<M8[ms]') + where dtype('<M8[ns]') = <xarray.DataArray 'time' (time: 3)> Size: 24B\narray(['2000-03-01T00:00:00.000000000', '2000-06-01T00:00:00.000000000',...0000000'], dtype='datetime64[ns]')\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01.dtype + where <xarray.DataArray 'time' (time: 3)> Size: 24B\narray(['2000-03-01T00:00:00.000000000', '2000-06-01T00:00:00.000000000',...0000000'], dtype='datetime64[ns]')\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01 = <xarray.DataArray (time: 3)> Size: 24B\narray([3., 3., 3.])\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01.time + and dtype('<M8[ms]') = DatetimeIndex(['2000-01-01', '2000-02-01', '2000-03-01', '2000-04-01',\n '2000-05-01', '2000-06-01', '200... '2000-09-01', '2000-10-01', '2000-11-01', '2000-12-01'],\n dtype='datetime64[ms]', freq='MS').dtype

Check failure on line 3615 in xarray/tests/test_groupby.py

View workflow job for this annotation

GitHub Actions / macos-latest | test-py311

TestSeasonGrouperAndResampler.test_season_resampler_preserves_time_unit[s] AssertionError: assert dtype('<M8[ns]') == dtype('<M8[s]') + where dtype('<M8[ns]') = <xarray.DataArray 'time' (time: 3)> Size: 24B\narray(['2000-03-01T00:00:00.000000000', '2000-06-01T00:00:00.000000000',...0000000'], dtype='datetime64[ns]')\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01.dtype + where <xarray.DataArray 'time' (time: 3)> Size: 24B\narray(['2000-03-01T00:00:00.000000000', '2000-06-01T00:00:00.000000000',...0000000'], dtype='datetime64[ns]')\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01 = <xarray.DataArray (time: 3)> Size: 24B\narray([3., 3., 3.])\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01.time + and dtype('<M8[s]') = DatetimeIndex(['2000-01-01', '2000-02-01', '2000-03-01', '2000-04-01',\n '2000-05-01', '2000-06-01', '200... '2000-09-01', '2000-10-01', '2000-11-01', '2000-12-01'],\n dtype='datetime64[s]', freq='MS').dtype

Check failure on line 3615 in xarray/tests/test_groupby.py

View workflow job for this annotation

GitHub Actions / ubuntu-latest | test-py313-with-typing

TestSeasonGrouperAndResampler.test_season_resampler_preserves_time_unit[us] AssertionError: assert dtype('<M8[ns]') == dtype('<M8[us]') + where dtype('<M8[ns]') = <xarray.DataArray 'time' (time: 3)> Size: 24B\narray(['2000-03-01T00:00:00.000000000', '2000-06-01T00:00:00.000000000',...0000000'], dtype='datetime64[ns]')\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01.dtype + where <xarray.DataArray 'time' (time: 3)> Size: 24B\narray(['2000-03-01T00:00:00.000000000', '2000-06-01T00:00:00.000000000',...0000000'], dtype='datetime64[ns]')\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01 = <xarray.DataArray (time: 3)> Size: 24B\narray([3., 3., 3.])\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01.time + and dtype('<M8[us]') = DatetimeIndex(['2000-01-01', '2000-02-01', '2000-03-01', '2000-04-01',\n '2000-05-01', '2000-06-01', '200... '2000-09-01', '2000-10-01', '2000-11-01', '2000-12-01'],\n dtype='datetime64[us]', freq='MS').dtype

Check failure on line 3615 in xarray/tests/test_groupby.py

View workflow job for this annotation

GitHub Actions / ubuntu-latest | test-py313-with-typing

TestSeasonGrouperAndResampler.test_season_resampler_preserves_time_unit[ms] AssertionError: assert dtype('<M8[ns]') == dtype('<M8[ms]') + where dtype('<M8[ns]') = <xarray.DataArray 'time' (time: 3)> Size: 24B\narray(['2000-03-01T00:00:00.000000000', '2000-06-01T00:00:00.000000000',...0000000'], dtype='datetime64[ns]')\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01.dtype + where <xarray.DataArray 'time' (time: 3)> Size: 24B\narray(['2000-03-01T00:00:00.000000000', '2000-06-01T00:00:00.000000000',...0000000'], dtype='datetime64[ns]')\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01 = <xarray.DataArray (time: 3)> Size: 24B\narray([3., 3., 3.])\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01.time + and dtype('<M8[ms]') = DatetimeIndex(['2000-01-01', '2000-02-01', '2000-03-01', '2000-04-01',\n '2000-05-01', '2000-06-01', '200... '2000-09-01', '2000-10-01', '2000-11-01', '2000-12-01'],\n dtype='datetime64[ms]', freq='MS').dtype

Check failure on line 3615 in xarray/tests/test_groupby.py

View workflow job for this annotation

GitHub Actions / ubuntu-latest | test-py313-with-typing

TestSeasonGrouperAndResampler.test_season_resampler_preserves_time_unit[s] AssertionError: assert dtype('<M8[ns]') == dtype('<M8[s]') + where dtype('<M8[ns]') = <xarray.DataArray 'time' (time: 3)> Size: 24B\narray(['2000-03-01T00:00:00.000000000', '2000-06-01T00:00:00.000000000',...0000000'], dtype='datetime64[ns]')\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01.dtype + where <xarray.DataArray 'time' (time: 3)> Size: 24B\narray(['2000-03-01T00:00:00.000000000', '2000-06-01T00:00:00.000000000',...0000000'], dtype='datetime64[ns]')\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01 = <xarray.DataArray (time: 3)> Size: 24B\narray([3., 3., 3.])\nCoordinates:\n * time (time) datetime64[ns] 24B 2000-03-01 2000-06-01 2000-09-01.time + and dtype('<M8[s]') = DatetimeIndex(['2000-01-01', '2000-02-01', '2000-03-01', '2000-04-01',\n '2000-05-01', '2000-06-01', '200... '2000-09-01', '2000-10-01', '2000-11-01', '2000-12-01'],\n dtype='datetime64[s]', freq='MS').dtype


@pytest.mark.parametrize(
"chunk",
Expand Down
Loading