xarray-contrib/cf-xarray

some errors about time happened when run pytest for cf-xarray in numpy2

weipeng1999 opened this issue · 2 comments

when i try to install the cf-xarray 0.9.4 for a python environment that have numpy2, the following errors about time happened. I am not sure weither those matter or not.
errors:

FAILED cf_xarray/tests/test_accessor.py::test_add_bounds[time2] - AssertionError: Left and right DataArray objects are not close
FAILED cf_xarray/tests/test_accessor.py::test_add_bounds[time] - AssertionError: Left and right DataArray objects are not close
FAILED cf_xarray/tests/test_helpers.py::test_vertices_to_bounds - AssertionError:

the whole pytest output:

============================================================================ test session starts =============================================================================
platform linux -- Python 3.12.5, pytest-8.3.2, pluggy-1.5.0
Matplotlib: 3.9.2
Freetype: 2.13.3
rootdir: /home/weipeng/pkgs/python-cf-xarray/src/cf-xarray-0.9.4
configfile: pyproject.toml
plugins: mpl-0.16.1, anyio-4.4.0, typeguard-4.3.0
collected 250 items

cf_xarray/tests/test_accessor.py ...s.............................................................................................F.F................................. [ 53%]
..................................................................                                                                                                     [ 79%]
cf_xarray/tests/test_coding.py ............                                                                                                                            [ 84%]
cf_xarray/tests/test_geometry.py ..................                                                                                                                    [ 91%]
cf_xarray/tests/test_helpers.py .F                                                                                                                                     [ 92%]
cf_xarray/tests/test_options.py .                                                                                                                                      [ 92%]
cf_xarray/tests/test_scripts.py .                                                                                                                                      [ 93%]
cf_xarray/tests/test_units.py .................                                                                                                                        [100%]

================================================================================== FAILURES ==================================================================================
___________________________________________________________________________ test_add_bounds[time2] ___________________________________________________________________________

dims = ('time2',)

    @pytest.mark.parametrize("dims", ["time2", "lat", "time", ["lat", "lon"]])
    def test_add_bounds(dims):
        ds = airds
        original = ds.copy(deep=True)

        expected = {}
        expected["lat"] = xr.concat(
            [
                ds.lat.copy(data=np.arange(76.25, 16.0, -2.5)),
                ds.lat.copy(data=np.arange(73.75, 13.6, -2.5)),
            ],
            dim="bounds",
        )
        expected["lon"] = xr.concat(
            [
                ds.lon.copy(data=np.arange(198.75, 325 - 1.25, 2.5)),
                ds.lon.copy(data=np.arange(201.25, 325 + 1.25, 2.5)),
            ],
            dim="bounds",
        )
        t0 = pd.Timestamp("2013-01-01")
        t1 = pd.Timestamp("2013-01-01 18:00")
        dt = "6h"
        dtb2 = pd.Timedelta("3h")
        expected["time"] = xr.concat(
            [
                ds.time.copy(data=pd.date_range(start=t0 - dtb2, end=t1 - dtb2, freq=dt)),
                ds.time.copy(data=pd.date_range(start=t0 + dtb2, end=t1 + dtb2, freq=dt)),
            ],
            dim="bounds",
        )
        expected["time2"] = expected["time"]
        expected["lat"].attrs.clear()
        expected["lon"].attrs.clear()
        expected["time"].attrs.clear()

        added = ds.copy(deep=False)
        added.coords["time2"] = ds.time
        added = added.cf.add_bounds(dims)
        if isinstance(dims, str):
            dims = (dims,)

        for dim in dims:
            name = f"{dim}_bounds"
            assert name in added.coords
            assert added[dim].attrs["bounds"] == name
>           assert_allclose(
                added[name].reset_coords(drop=True), expected[dim].transpose(..., "bounds")
            )
E           AssertionError: Left and right DataArray objects are not close
E
E           Differing values:
E           L
E               array([['2012-12-31T21:03:26.519066624', '2013-01-01T03:00:46.995808256'],
E                      ['2013-01-01T03:00:46.995808256', '2013-01-01T08:58:07.472549888'],
E                      ['2013-01-01T08:58:07.472549888', '2013-01-01T14:55:27.949291520'],
E                      ['2013-01-01T15:00:02.827198464', '2013-01-01T21:06:33.059753984']],
E                     dtype='datetime64[ns]')
E           R
E               array([['2012-12-31T21:00:00.000000000', '2013-01-01T03:00:00.000000000'],
E                      ['2013-01-01T03:00:00.000000000', '2013-01-01T09:00:00.000000000'],
E                      ['2013-01-01T09:00:00.000000000', '2013-01-01T15:00:00.000000000'],
E                      ['2013-01-01T15:00:00.000000000', '2013-01-01T21:00:00.000000000']],
E                     dtype='datetime64[ns]')

cf_xarray/tests/test_accessor.py:830: AssertionError
___________________________________________________________________________ test_add_bounds[time] ____________________________________________________________________________

dims = ('time',)

    @pytest.mark.parametrize("dims", ["time2", "lat", "time", ["lat", "lon"]])
    def test_add_bounds(dims):
        ds = airds
        original = ds.copy(deep=True)

        expected = {}
        expected["lat"] = xr.concat(
            [
                ds.lat.copy(data=np.arange(76.25, 16.0, -2.5)),
                ds.lat.copy(data=np.arange(73.75, 13.6, -2.5)),
            ],
            dim="bounds",
        )
        expected["lon"] = xr.concat(
            [
                ds.lon.copy(data=np.arange(198.75, 325 - 1.25, 2.5)),
                ds.lon.copy(data=np.arange(201.25, 325 + 1.25, 2.5)),
            ],
            dim="bounds",
        )
        t0 = pd.Timestamp("2013-01-01")
        t1 = pd.Timestamp("2013-01-01 18:00")
        dt = "6h"
        dtb2 = pd.Timedelta("3h")
        expected["time"] = xr.concat(
            [
                ds.time.copy(data=pd.date_range(start=t0 - dtb2, end=t1 - dtb2, freq=dt)),
                ds.time.copy(data=pd.date_range(start=t0 + dtb2, end=t1 + dtb2, freq=dt)),
            ],
            dim="bounds",
        )
        expected["time2"] = expected["time"]
        expected["lat"].attrs.clear()
        expected["lon"].attrs.clear()
        expected["time"].attrs.clear()

        added = ds.copy(deep=False)
        added.coords["time2"] = ds.time
        added = added.cf.add_bounds(dims)
        if isinstance(dims, str):
            dims = (dims,)

        for dim in dims:
            name = f"{dim}_bounds"
            assert name in added.coords
            assert added[dim].attrs["bounds"] == name
>           assert_allclose(
                added[name].reset_coords(drop=True), expected[dim].transpose(..., "bounds")
            )
E           AssertionError: Left and right DataArray objects are not close
E
E           Differing values:
E           L
E               array([['2012-12-31T21:03:26.519066624', '2013-01-01T03:00:46.995808256'],
E                      ['2013-01-01T03:00:46.995808256', '2013-01-01T08:58:07.472549888'],
E                      ['2013-01-01T08:58:07.472549888', '2013-01-01T14:55:27.949291520'],
E                      ['2013-01-01T15:00:02.827198464', '2013-01-01T21:06:33.059753984']],
E                     dtype='datetime64[ns]')
E           R
E               array([['2012-12-31T21:00:00.000000000', '2013-01-01T03:00:00.000000000'],
E                      ['2013-01-01T03:00:00.000000000', '2013-01-01T09:00:00.000000000'],
E                      ['2013-01-01T09:00:00.000000000', '2013-01-01T15:00:00.000000000'],
E                      ['2013-01-01T15:00:00.000000000', '2013-01-01T21:00:00.000000000']],
E                     dtype='datetime64[ns]')

cf_xarray/tests/test_accessor.py:830: AssertionError
__________________________________________________________________________ test_vertices_to_bounds ___________________________________________________________________________

    def test_vertices_to_bounds() -> None:
        # 1D case
        ds = airds.cf.add_bounds(["lon", "lat", "time"])
        lat_c = cfxr.bounds_to_vertices(ds.lat_bounds, bounds_dim="bounds")
        lat_b = cfxr.vertices_to_bounds(lat_c, out_dims=("bounds", "lat"))
        assert_array_equal(ds.lat_bounds, lat_b)

        # Datetime
        time_c = cfxr.bounds_to_vertices(ds.time_bounds, bounds_dim="bounds")
        time_b = cfxr.vertices_to_bounds(time_c, out_dims=("bounds", "time"))
>       assert_array_equal(ds.time_bounds, time_b)

cf_xarray/tests/test_helpers.py:65:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.12/site-packages/numpy/_utils/__init__.py:85: in wrapper
    return fun(*args, **kwargs)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

args = (<built-in function eq>, <xarray.DataArray 'time_bounds' (time: 4, bounds: 2)>
array([['2012-12-31T21:03:26.519066624'...198464', '2013-01-01T21:06:33.059753984']],
      dtype='datetime64[ns]')
Dimensions without coordinates: time, bounds)
kwds = {'err_msg': '', 'header': 'Arrays are not equal', 'strict': False, 'verbose': True}

    @wraps(func)
    def inner(*args, **kwds):
        with self._recreate_cm():
>           return func(*args, **kwds)
E           AssertionError:
E           Arrays are not equal
E
E           Mismatched elements: 1 / 8 (12.5%)
E           Max absolute difference among violations: 274877906944
E            ACTUAL: array([['2012-12-31T21:03:26.519066624', '2013-01-01T03:00:46.995808256'],
E                  ['2013-01-01T03:00:46.995808256', '2013-01-01T08:58:07.472549888'],
E                  ['2013-01-01T08:58:07.472549888', '2013-01-01T14:55:27.949291520'],...
E            DESIRED: array([['2012-12-31T21:03:26.519066624', '2013-01-01T03:00:46.995808256'],
E                  ['2013-01-01T03:00:46.995808256', '2013-01-01T08:58:07.472549888'],
E                  ['2013-01-01T08:58:07.472549888', '2013-01-01T15:00:02.827198464'],...

/usr/lib/python3.12/contextlib.py:81: AssertionError
============================================================================== warnings summary ==============================================================================
../../../../../../usr/lib/python3.12/site-packages/xarray/core/duck_array_ops.py:33
  /usr/lib/python3.12/site-packages/xarray/core/duck_array_ops.py:33: DeprecationWarning: numpy.core.multiarray is deprecated and has been renamed to numpy._core.multiarray. The numpy._core namespace contains private NumPy internals and its use is discouraged, as NumPy internals can change without warning in any release. In practice, most real-world usage of numpy.core is to access functionality in the public NumPy API. If that is the case, use the public NumPy API. If not, you are using NumPy internals. If you would still like to access an internal attribute, use numpy._core.multiarray.normalize_axis_index.
    from numpy.core.multiarray import normalize_axis_index  # type: ignore[attr-defined]

../../../../../../usr/lib/python3.12/site-packages/xarray/core/nputils.py:7
  /usr/lib/python3.12/site-packages/xarray/core/nputils.py:7: DeprecationWarning: numpy.core.multiarray is deprecated and has been renamed to numpy._core.multiarray. The numpy._core namespace contains private NumPy internals and its use is discouraged, as NumPy internals can change without warning in any release. In practice, most real-world usage of numpy.core is to access functionality in the public NumPy API. If that is the case, use the public NumPy API. If not, you are using NumPy internals. If you would still like to access an internal attribute, use numpy._core.multiarray.normalize_axis_index.
    from numpy.core.multiarray import normalize_axis_index  # type: ignore[attr-defined]

../../../../../../usr/lib/python3.12/site-packages/metpy/calc/tools.py:11
  /usr/lib/python3.12/site-packages/metpy/calc/tools.py:11: DeprecationWarning: numpy.core.numeric is deprecated and has been renamed to numpy._core.numeric. The numpy._core namespace contains private NumPy internals and its use is discouraged, as NumPy internals can change without warning in any release. In practice, most real-world usage of numpy.core is to access functionality in the public NumPy API. If that is the case, use the public NumPy API. If not, you are using NumPy internals. If you would still like to access an internal attribute, use numpy._core.numeric.normalize_axis_index.
    from numpy.core.numeric import normalize_axis_index

cf_xarray/tests/test_accessor.py::test_wrapped_classes[resample-xrkwargs0-cfkwargs0-obj0]
cf_xarray/tests/test_accessor.py::test_wrapped_classes[resample-xrkwargs0-cfkwargs0-obj0]
cf_xarray/tests/test_accessor.py::test_wrapped_classes[resample-xrkwargs0-cfkwargs0-obj1]
cf_xarray/tests/test_accessor.py::test_wrapped_classes[resample-xrkwargs0-cfkwargs0-obj1]
cf_xarray/tests/test_accessor.py::test_wrapped_classes[resample-xrkwargs0-cfkwargs0-obj2]
cf_xarray/tests/test_accessor.py::test_wrapped_classes[resample-xrkwargs0-cfkwargs0-obj2]
cf_xarray/tests/test_accessor.py::test_wrapped_classes[resample-xrkwargs0-cfkwargs0-obj3]
cf_xarray/tests/test_accessor.py::test_wrapped_classes[resample-xrkwargs0-cfkwargs0-obj3]
  /usr/lib/python3.12/site-packages/xarray/core/groupby.py:508: FutureWarning: 'M' is deprecated and will be removed in a future version, please use 'ME' instead.
    index_grouper = pd.Grouper(

cf_xarray/tests/test_accessor.py::test_ancillary_variables_extra_dim
  /home/weipeng/pkgs/python-cf-xarray/src/cf-xarray-0.9.4/cf_xarray/tests/test_accessor.py:2078: UserWarning: Variables {'position_flag'} not found in object but are referred to in the CF attributes.
    assert_identical(ds.cf["X"], ds["x"])

cf_xarray/tests/test_geometry.py: 11 warnings
  /usr/lib/python3.12/site-packages/numpy/lib/_function_base_impl.py:5736: DeprecationWarning: __array_wrap__ must accept context and return_scalar arguments (positionally) in the future. (Deprecated NumPy 2.0)
    return conv.wrap(new, to_scalar=False)

cf_xarray/tests/test_geometry.py::test_reshape_unique_geometries
cf_xarray/tests/test_geometry.py::test_reshape_unique_geometries
  /usr/lib/python3.12/site-packages/xarray/core/variable.py:1891: DeprecationWarning: __array__ implementation doesn't accept a copy keyword, so passing copy=False failed. __array__ must implement 'dtype' and 'copy' keyword arguments.
    data[(..., *indexer)] = reordered

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
========================================================================== short test summary info ===========================================================================
FAILED cf_xarray/tests/test_accessor.py::test_add_bounds[time2] - AssertionError: Left and right DataArray objects are not close
FAILED cf_xarray/tests/test_accessor.py::test_add_bounds[time] - AssertionError: Left and right DataArray objects are not close
FAILED cf_xarray/tests/test_helpers.py::test_vertices_to_bounds - AssertionError:

and here is my python environment:

>>> python -m pip list                                                                                                                  (base)
Package                       Version
----------------------------- ------------------------------
absl-py                       2.1.0
agate                         1.12.0
agate-dbf                     0.2.3
agate-excel                   0.4.1
agate-sql                     0.7.2
agda_kernel                   0.64
alabaster                     1.0.0
annotated-types               0.7.0
anyio                         4.4.0
appdirs                       1.4.4
apsw                          3.46.1.0
arandr                        0.1.11
argcomplete                   3.4.0
argon2-cffi                   23.1.0
argon2-cffi-bindings          21.2.0
arrow                         1.3.0
astor                         0.8.1
asttokens                     2.4.1
async-lru                     2.0.4
async-timeout                 4.0.3
atpublic                      5.0
attrs                         23.2.1.dev0
autocommand                   2.2.2
autokey                       0.96.0
autopep8                      2.3.1
Babel                         2.15.0
beautifulsoup4                4.12.3
bleach                        6.1.0
blinker                       1.7.0
boolean.py                    4.0
Brotli                        1.1.0
brotlicffi                    1.1.0.0
btrfsutil                     6.10
build                         1.2.1
CacheControl                  0.14.0
cattrs                        23.2.3
certifi                       2024.7.4
cffi                          1.16.0
cftime                        1.6.4
chardet                       5.2.0
charset-normalizer            3.3.2
click                         8.1.7
cloudpickle                   2.2.1
cmp_version                   3.0.0
cockpit                       323
colorama                      0.4.6
comm                          0.2.2
contourpy                     1.3.0
coverage                      7.6.1
crit                          3.19
cryptography                  42.0.7
css-parser                    1.0.10
cssselect                     1.2.0
csvkit                        2.0.1
cycler                        0.12.1
Cython                        3.0.11
dask                          2024.4.1
dbfread                       2.0.7
dbus-python                   1.3.2
debugpy                       1.8.5+0.ga68a804f.dirty
decorator                     5.1.1
defusedxml                    0.7.1
dill                          0.3.8
distro                        1.9.0
dnspython                     2.6.1
docopt                        0.6.2
docstring-to-markdown         0.15
docutils                      0.21.2
entrypoints                   0.4
et_xmlfile                    1.1.0
evdev                         1.7.1
executing                     2.0.0
ezdxf                         1.3.0
fastjsonschema                2.20.0
faust-cchardet                2.1.19
feedparser                    6.0.11
filelock                      3.13.3
flake8                        7.1.1
Flask                         2.3.3
flexcache                     0.3
flexparser                    0.3.1
flufl.lock                    8.1.0
fonttools                     4.53.1
fortls                        3.1.2
fqdn                          1.5.1
fsspec                        2024.6.1
func_timeout                  4.3.5
furo                          2024.8.6
future                        1.0.0
gbinder-python                1.1.2
GDAL                          3.9.1
geomdl                        5.3.1
Glances                       4.1.2
gmpy2                         2.2.1
greenlet                      3.0.3
h11                           0.14.0
html2text                     2024.2.26
html5-parser                  0.4.12
html5lib                      1.1
httpcore                      1.0.5
httplib2                      0.22.0
httpx                         0.27.0
idna                          3.7
ifaddr                        0.2.0
imagesize                     1.4.1
importlib_metadata            7.2.1
inflate64                     1.0.0
inflect                       7.3.1
iniconfig                     2.0.0
installer                     0.7.0
ipykernel                     6.29.5
ipython                       8.26.0
isodate                       0.6.1
isoduration                   20.11.0
itsdangerous                  2.1.2
jaraco.context                5.3.0
jaraco.functools              4.0.2
jaraco.text                   4.0.0
jedi                          0.19.1
jeepney                       0.8.0
Jinja2                        3.1.4
joblib                        1.3.2
json5                         0.9.25
jsonpointer                   3.0.0
jsonschema                    4.23.0
jsonschema-specifications     2023.12.1
jupyter_client                8.6.2
jupyter-console               6.6.3
jupyter_core                  5.7.2
jupyter-events                0.10.0
jupyter_server                2.14.2
jupyterlab                    4.2.5
jupyterlab_pygments           0.3.0
jupyterlab_server             2.27.3
kconfiglib                    14.1.0
kiwisolver                    1.4.5
lark                          1.1.9
leather                       0.4.0
lensfun                       0.3.4
libfdt                        1.7.0
libtorrent                    2.0.10
libvirt-python                10.6.0
license-expression            30.3.1.dev0+gc20b3f6.d20240601
lightdm-gtk-greeter-settings  1.2.3
lineedit                      0.1.6
lit                           18.1.8.dev0
llvmlite                      0.43.0
locket                        1.0.0
lockfile                      0.12.2
lsprotocol                    2023.0.1
lxml                          5.3.0
lxml_html_clean               0.2.0
Mako                          1.3.5.dev0
Markdown                      3.7
markdown-it-py                3.0.0
MarkupSafe                    2.1.5
matplotlib                    3.9.2
matplotlib-inline             0.1.7
mccabe                        0.7.0
mdurl                         0.1.2
mechanize                     0.4.10
menulibre                     2.4.0
mercurial                     6.8.1
meson                         1.5.1
MetPy                         1.6.2
mistune                       3.0.2
moddb                         0.11.0
more-itertools                10.3.0
mpi4py                        3.1.5
mpmath                        1.3.0
msgpack                       1.0.5
mugshot                       0.4.3
multivolumefile               0.2.3
namcap                        3.5.2
nbclient                      0.10.0
nbconvert                     7.16.4
nbformat                      5.10.4
nest_asyncio                  1.6.0
netCDF4                       1.6.5
netifaces                     0.11.0
nftables                      0.1
notebook                      7.2.2
notebook_shim                 0.2.4
numba                         0.60.0
numpy                         2.0.1
obapps3                       0.2.5
oblogout                      0.3
olefile                       0.47
OpenCC                        1.1.8
openpyxl                      3.1.5
opt_einsum                    0+unknown
ordered-set                   4.1.0
orjson                        3.10.7
overrides                     7.7.0
OWSLib                        0.31.0
packaging                     24.1
pandas                        2.2.2
pandocfilters                 1.5.1
parsedatetime                 2.6
parso                         0.8.4
partd                         1.4.1
pdftotext                     2.2.2
pexpect                       4.9.0
pickleshare                   0.7.5
pillow                        10.4.0
Pint                          0.24.3
pip                           24.2
platformdirs                  4.2.2
pluggy                        1.5.0
ply                           3.11
pooch                         1.8.2
prettytable                   3.10.0
prometheus_client             0.20.0
prompt_toolkit                3.0.47
protobuf                      5.27.3
psutil                        6.0.0
psycopg2                      2.9.9
ptyprocess                    0.7.0
pulsemixer                    1.5.1
pure_eval                     0.2.3
pwquality                     1.4.5
py7zr                         0.22.0
pyalpm                        0.10.6
pybcj                         1.0.2
pybind11                      2.13.5
pycairo                       1.26.1
pychm                         0.8.6
pyclip                        0.7.0
pycodestyle                   2.11.1
pycparser                     2.22
pycriu                        3.19
pycryptodome                  3.20.0
pycryptodomex                 3.20.0
pydantic                      2.8.2
pydantic_core                 2.20.1
pyelftools                    0.31
pyflakes                      3.2.0
pygdbmi                       0.11.0.0
pygls                         1.3.1
Pygments                      2.18.0
PyGObject                     3.48.2
PyICU                         2.12
pyinotify                     0.9.6
pyOpenSSL                     24.2.1
pyparsing                     3.1.2
pypng                         0.20231004.0
pyppmd                        1.1.0
pyproj                        3.6.1
pyproject_hooks               1.1.0
PyQt5                         5.15.11
PyQt5_sip                     12.15.0
PyQt6                         6.7.1
PyQt6_sip                     13.8.0
PyQt6-WebEngine               6.7.0
pyrate-limiter                3.6.0
pyrsistent                    0.19.3
pyserial                      3.5
pyshp                         2.3.1
PySide6                       6.7.2
pyslvs                        22.7.0
pyslvs_ui                     22.7.0
PySocks                       1.7.1
pytest                        8.3.2
pytest-mpl                    0.16.1
python-dateutil               2.9.0
python-distutils-extra        2.39
python-json-logger            2.0.7
python-lsp-jsonrpc            1.1.2
python-lsp-server             1.12.0
python-magic                  0.4.27
python-slugify                8.0.4
python-xlib                   0.33
pytimeparse                   1.1.8
pytz                          2024.1
pyxdg                         0.28
PyYAML                        6.0.2
pyzmq                         25.1.2
pyzstd                        0.16.1
qrcode                        7.4.2
QScintilla                    2.14.1
QtPy                          2.4.1
radian                        0.6.13
ranger-fm                     1.9.3
rchitect                      0.4.7
referencing                   0.35.1
Reflector                     2023.6.28.0.36.1
regex                         2024.7.24
requests                      2.32.3
rfc3339_validator             0.1.4
rich                          13.8.0
rpds-py                       0.19.0
rrdtool                       0.1.10
ruamel.yaml                   0.18.6
ruamel.yaml.clib              0.2.8
schemdraw                     0.16
scikit-learn                  1.5.1
scipy                         1.14.1
scour                         0.38.2
screenkey                     1.5
seaborn                       0.13.2
selinux                       3.7
Send2Trash                    1.8.2
sentry-sdk                    2.13.0
setuptools                    69.5.1
setuptools-scm                8.1.0
sgmllib3k                     1.0.0
shapely                       2.0.4
shiboken6                     6.7.2
shiboken6-generator           6.7.2
six                           1.16.0
smbus                         1.1
sniffio                       1.3.1
snowballstemmer               2.2.0
soupsieve                     2.6
Sphinx                        8.0.2
sphinx_basic_ng               1.0.0b2
sphinx_rtd_theme              2.0.0
sphinxcontrib-applehelp       2.0.0
sphinxcontrib-devhelp         2.0.0
sphinxcontrib-htmlhelp        2.1.0
sphinxcontrib-jquery          4.1
sphinxcontrib-jsmath          1.0.1
sphinxcontrib-qthelp          2.0.0
sphinxcontrib-serializinghtml 2.0.0
SQLAlchemy                    1.4.52.dev0
stack_data                    0.6.3
sympy                         1.13.2
TBB                           0.2
tcping                        0.1.1rc1
text-unidecode                1.3
texttable                     1.7.0
threadpoolctl                 3.4.0
tinycss2                      1.3.0
tlp-ui                        1.6.5
toml                          0.10.2
tomli                         2.0.1
toolz                         0.12.1
tornado                       6.4.1
tqdm                          4.66.5
traitlets                     5.14.3
trash-cli                     0.24.5.26
tree-sitter                   0.22.3
trove-classifiers             2024.7.22
typeguard                     4.3.0
typing_extensions             4.12.2
tzdata                        2024.1
uc-micro-py                   1.0.3
ueberzug                      18.2.3
ujson                         5.10.0
unrardll                      0.1.7
uri-template                  1.3.0
urllib3                       1.26.19
validate-pyproject            0.19
wcwidth                       0.2.13
webcolors                     1.13
webencodings                  0.5.1
websocket-client              1.8.0
websockets                    12.0
Werkzeug                      3.0.1
wheel                         0.44.0
wxPython                      4.2.1
xarray                        2023.9.0
xlrd                          2.0.1
xxhash                        3.4.1
zeroconf                      0.132.2
zipp                          3.19.3.dev0+gc6a3339.d20240728
zstandard                     0.22.0

you've got an old version of xarray that doesn't really support numpy>=2.0. For that to work, you need at least xarray>=2024.06.0.

you've got an old version of xarray that doesn't really support numpy>=2.0. For that to work, you need at least xarray>=2024.06.0.

thanks, that works