Skip to content

Commit f7da941

Browse files
committed
Remove support for list of numpy arrays from Dataset.__init__
1 parent f939a17 commit f7da941

File tree

9 files changed

+23
-104
lines changed

9 files changed

+23
-104
lines changed

mikeio/dataset/_dataset.py

Lines changed: 22 additions & 91 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,6 @@
1616
Callable,
1717
)
1818
import warnings
19-
from typing_extensions import deprecated
20-
# from warnings import deprecated
2119

2220

2321
import numpy as np
@@ -62,23 +60,9 @@ class Dataset:
6260
Parameters
6361
----------
6462
data:
65-
a sequence or mapping of numpy arrays
66-
By providing a mapping of data arrays, the remaining parameters are not needed
67-
time:
68-
a pandas.DatetimeIndex with the time instances of the data
69-
items:
70-
a list of ItemInfo with name, type and unit
71-
geometry:
72-
a geometry object e.g. Grid2D or GeometryFM2D
73-
zn:
74-
only relevant for Dfsu3d
75-
dims:
76-
named dimensions
63+
Data arrays used to create a dataset.
7764
validate:
7865
Optional validation of consistency of data arrays.
79-
dt:
80-
placeholder timestep
81-
8266
8367
Notes
8468
---------------
@@ -99,66 +83,13 @@ class Dataset:
9983
10084
"""
10185

102-
@overload
103-
@deprecated(
104-
"Supplying data as a list of numpy arrays is deprecated. Use Dataset.from_numpy instead"
105-
)
106-
def __init__(
107-
self,
108-
data: (Sequence[NDArray[np.floating]]),
109-
time: pd.DatetimeIndex | None = None,
110-
items: Sequence[ItemInfo] | None = None,
111-
geometry: Any = None,
112-
zn: NDArray[np.floating] | None = None,
113-
dims: tuple[str, ...] | None = None,
114-
validate: bool = True,
115-
dt: float = 1.0,
116-
): ...
117-
118-
@overload
11986
def __init__(
12087
self,
12188
data: (Mapping[str, DataArray] | Sequence[DataArray]),
122-
time: pd.DatetimeIndex | None = None,
123-
items: Sequence[ItemInfo] | None = None,
124-
geometry: Any = None,
125-
zn: NDArray[np.floating] | None = None,
126-
dims: tuple[str, ...] | None = None,
127-
validate: bool = True,
128-
dt: float = 1.0,
129-
): ...
130-
131-
def __init__(
132-
self,
133-
data: (
134-
Mapping[str, DataArray]
135-
| Sequence[DataArray]
136-
| Sequence[NDArray[np.floating]]
137-
),
138-
time: pd.DatetimeIndex | None = None,
139-
items: Sequence[ItemInfo] | None = None,
140-
geometry: Any = None,
141-
zn: NDArray[np.floating] | None = None,
142-
dims: tuple[str, ...] | None = None,
14389
validate: bool = True,
144-
dt: float = 1.0,
14590
):
146-
if not self._is_DataArrays(data):
147-
warnings.warn(
148-
"Supplying data as a list of numpy arrays is deprecated. Use Dataset.from_numpy",
149-
FutureWarning,
150-
)
151-
data = self._create_dataarrays(
152-
data=data,
153-
time=time,
154-
items=items,
155-
geometry=geometry,
156-
zn=zn,
157-
dims=dims,
158-
dt=dt,
159-
)
16091
self._data_vars = self._init_from_DataArrays(
161-
data, # type: ignore
92+
data,
16293
validate=validate,
16394
)
16495
self.plot = _DatasetPlotter(self)
@@ -172,9 +103,28 @@ def from_numpy(
172103
geometry: Any | None = None,
173104
zn: NDArray[np.floating] | None = None,
174105
dims: tuple[str, ...] | None = None,
175-
validate: bool = True,
176106
dt: float = 1.0,
177107
) -> Dataset:
108+
"""Create Dataset from list of NumPy arrays.
109+
110+
Parameters
111+
----------
112+
data:
113+
a sequence or mapping of numpy arrays
114+
time:
115+
a pandas.DatetimeIndex with the time instances of the data
116+
items:
117+
a list of ItemInfo with name, type and unit
118+
geometry:
119+
a geometry object e.g. Grid2D or GeometryFM2D
120+
zn:
121+
only relevant for Dfsu3d
122+
dims:
123+
named dimensions
124+
dt:
125+
placeholder timestep
126+
127+
"""
178128
das = Dataset._create_dataarrays(
179129
data=data,
180130
time=time,
@@ -184,27 +134,8 @@ def from_numpy(
184134
dims=dims,
185135
dt=dt,
186136
)
187-
188137
return Dataset(das)
189138

190-
@staticmethod
191-
def _is_DataArrays(data: Any) -> bool:
192-
"""Check if input is Sequence/Mapping of DataArrays."""
193-
if isinstance(data, (Dataset, DataArray)):
194-
return True
195-
if isinstance(data, Mapping):
196-
for da in data.values():
197-
if not isinstance(da, DataArray):
198-
raise TypeError("Please provide List/Mapping of DataArrays")
199-
return True
200-
if isinstance(data, Iterable):
201-
for da in data:
202-
if not isinstance(da, DataArray):
203-
return False
204-
# raise TypeError("Please provide List/Mapping of DataArrays")
205-
return True
206-
return False
207-
208139
@staticmethod
209140
def _create_dataarrays(
210141
data: Any,

mikeio/dfs/_dfs0.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,7 @@ def read(
176176
fitems = [self.items[it] for it in item_numbers]
177177
else:
178178
fitems = self.items
179-
ds = Dataset.from_numpy(fdata, time=ftime, items=fitems, validate=False)
179+
ds = Dataset.from_numpy(fdata, time=ftime, items=fitems)
180180

181181
# select time steps
182182
self._n_timesteps = dfs.FileInfo.TimeAxis.NumberOfTimeSteps

mikeio/dfs/_dfs1.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,6 @@ def read(
181181
items=items,
182182
dims=tuple(dims),
183183
geometry=self.geometry,
184-
validate=False,
185184
dt=self._timestep,
186185
)
187186

mikeio/dfs/_dfs2.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -249,7 +249,6 @@ def read(
249249
items=items,
250250
geometry=geometry,
251251
dims=dims,
252-
validate=False,
253252
)
254253

255254
def append(self, ds: Dataset, validate: bool = True) -> None:

mikeio/dfs/_dfs3.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -273,7 +273,6 @@ def read(
273273
items=items,
274274
geometry=geometry,
275275
dims=dims,
276-
validate=False,
277276
)
278277

279278
def append(self, ds: Dataset, validate: bool = True) -> None:

mikeio/dfsu/_dfsu.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -420,7 +420,6 @@ def read(
420420
items=item_infos,
421421
geometry=geometry,
422422
dims=dims,
423-
validate=False,
424423
dt=self.timestep,
425424
)
426425

mikeio/dfsu/_layered.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -369,7 +369,6 @@ def read(
369369
geometry=geometry,
370370
zn=data_list[0],
371371
dims=dims,
372-
validate=False,
373372
dt=self.timestep,
374373
)
375374
else:
@@ -379,7 +378,6 @@ def read(
379378
items=items,
380379
geometry=geometry,
381380
dims=dims,
382-
validate=False,
383381
dt=self.timestep,
384382
)
385383

mikeio/dfsu/_spectral.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -398,7 +398,6 @@ def read(
398398
items=items,
399399
geometry=geometry,
400400
dims=dims,
401-
validate=False,
402401
)
403402

404403
def _parse_geometry_sel(

tests/test_dataset.py

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -53,11 +53,6 @@ def ds3():
5353
return mikeio.Dataset.from_numpy(data=data, time=time, items=items)
5454

5555

56-
def test_list_of_numpy_deprecated() -> None:
57-
with pytest.warns(FutureWarning, match="from_numpy"):
58-
mikeio.Dataset([np.zeros(2)], pd.date_range("2000-1-2", freq="h", periods=2))
59-
60-
6156
def test_create_wrong_data_type_error():
6257
data = ["item 1", "item 2"]
6358

0 commit comments

Comments
 (0)