From cdc37552c786e23c001492ffa28ca2815ec0ca63 Mon Sep 17 00:00:00 2001 From: "Mads M. Pedersen" <mmpe@dtu.dk> Date: Fri, 21 Mar 2025 09:40:23 +0000 Subject: [PATCH] adapt to xarray v2025.03.0 where merge_attrs is moved from xarray.core.merge... --- py_wake/deficit_models/fuga.py | 5 ++++- py_wake/tests/test_utils/test_xarray_utils.py | 4 ++-- .../test_enginering_wind_farm_model.py | 8 ++++---- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/py_wake/deficit_models/fuga.py b/py_wake/deficit_models/fuga.py index 8b8af5ecc..5da7a62e6 100644 --- a/py_wake/deficit_models/fuga.py +++ b/py_wake/deficit_models/fuga.py @@ -11,7 +11,10 @@ from py_wake.utils.gradients import cabs from py_wake.utils.model_utils import DeprecatedModel import glob -from xarray.core.merge import merge_attrs +try: + from xarray.core.merge import merge_attrs +except ModuleNotFoundError: # pragma: no cover + from xarray.structure.merge import merge_attrs # Moved to xarray.structure in v2025.03.0 import warnings import os diff --git a/py_wake/tests/test_utils/test_xarray_utils.py b/py_wake/tests/test_utils/test_xarray_utils.py index da4adb893..f9f2b42c6 100644 --- a/py_wake/tests/test_utils/test_xarray_utils.py +++ b/py_wake/tests/test_utils/test_xarray_utils.py @@ -33,7 +33,7 @@ def test_add_ilk(ti, dims): def test_add_ilk_time(ti, dims): site = Hornsrev1Site() wt, wd, ws = np.arange(2), np.arange(100), np.arange(100) % 20 + 3 - t = pd.date_range("2000-01-01", freq="10T", periods=100) + t = pd.date_range("2000-01-01", freq="10min", periods=100) lw = site.local_wind(wt * 1000, wt * 0, wt * 0 + 70, wd, ws, time=t) lw.add_ilk('TI_ilk', ti) @@ -65,7 +65,7 @@ def test_add_ilk_wrong_dim(shape): def test_add_ilk_time_wrong_dim(shape): site = Hornsrev1Site() wt, wd, ws = np.arange(2), np.arange(100), np.arange(100) % 20 + 3 - t = pd.date_range("2000-01-01", freq="10T", periods=100) + t = pd.date_range("2000-01-01", freq="10min", periods=100) lw = site.local_wind(wt * 1000, wt * 0, wt * 0 + 70, wd, ws, time=t) with pytest.raises(ValueError): diff --git a/py_wake/tests/test_wind_farm_models/test_enginering_wind_farm_model.py b/py_wake/tests/test_wind_farm_models/test_enginering_wind_farm_model.py index d17089a3d..932bdcda0 100644 --- a/py_wake/tests/test_wind_farm_models/test_enginering_wind_farm_model.py +++ b/py_wake/tests/test_wind_farm_models/test_enginering_wind_farm_model.py @@ -364,7 +364,7 @@ def test_time_series_dates(): d = np.load(os.path.dirname(examples.__file__) + "/data/time_series.npz") wd, ws, ws_std = [d[k][:6 * 24] for k in ['wd', 'ws', 'ws_std']] ti = np.minimum(ws_std / ws, .5) - t = pd.date_range("2000-01-01", freq="10T", periods=24 * 6) + t = pd.date_range("2000-01-01", freq="10min", periods=24 * 6) wt = V80() site = Hornsrev1Site() site.ds['TI'] = xr.DataArray(ti, [('time', t)]) @@ -380,7 +380,7 @@ def test_time_series_dates(): def test_time_series_override_WS(): d = np.load(os.path.dirname(examples.__file__) + "/data/time_series.npz") wd, ws = [d[k][:6 * 24] for k in ['wd', 'ws']] - t = pd.date_range("2000-01-01", freq="10T", periods=24 * 6) + t = pd.date_range("2000-01-01", freq="10min", periods=24 * 6) WS_it = (np.arange(80) / 100)[:, na] + ws[na] wt = V80() site = Hornsrev1Site() @@ -395,7 +395,7 @@ def test_time_series_override_WS(): def test_time_series_override_WD(): d = np.load(os.path.dirname(examples.__file__) + "/data/time_series.npz") wd, ws = [d[k][:6 * 24] for k in ['wd', 'ws']] - t = pd.date_range("2000-01-01", freq="10T", periods=24 * 6) + t = pd.date_range("2000-01-01", freq="10min", periods=24 * 6) WD_it = (np.arange(80) / 100)[:, na] + wd[na] wt = V80() site = Hornsrev1Site() @@ -412,7 +412,7 @@ def test_time_series_override_TI(): d = np.load(os.path.dirname(examples.__file__) + "/data/time_series.npz") wd, ws, ws_std = [d[k][:6 * 24] for k in ['wd', 'ws', 'ws_std']] ti = np.minimum(ws_std / ws, .5) - t = pd.date_range("2000-01-01", freq="10T", periods=24 * 6) + t = pd.date_range("2000-01-01", freq="10min", periods=24 * 6) wt = V80() site = Hornsrev1Site() x, y = site.initial_position.T -- GitLab