16
16
Callable ,
17
17
)
18
18
import warnings
19
- from typing_extensions import deprecated
20
- # from warnings import deprecated
21
19
22
20
23
21
import numpy as np
@@ -62,23 +60,9 @@ class Dataset:
62
60
Parameters
63
61
----------
64
62
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.
77
64
validate:
78
65
Optional validation of consistency of data arrays.
79
- dt:
80
- placeholder timestep
81
-
82
66
83
67
Notes
84
68
---------------
@@ -99,66 +83,13 @@ class Dataset:
99
83
100
84
"""
101
85
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
119
86
def __init__ (
120
87
self ,
121
88
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 ,
143
89
validate : bool = True ,
144
- dt : float = 1.0 ,
145
90
):
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
- )
160
91
self ._data_vars = self ._init_from_DataArrays (
161
- data , # type: ignore
92
+ data ,
162
93
validate = validate ,
163
94
)
164
95
self .plot = _DatasetPlotter (self )
@@ -172,9 +103,28 @@ def from_numpy(
172
103
geometry : Any | None = None ,
173
104
zn : NDArray [np .floating ] | None = None ,
174
105
dims : tuple [str , ...] | None = None ,
175
- validate : bool = True ,
176
106
dt : float = 1.0 ,
177
107
) -> 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
+ """
178
128
das = Dataset ._create_dataarrays (
179
129
data = data ,
180
130
time = time ,
@@ -184,27 +134,8 @@ def from_numpy(
184
134
dims = dims ,
185
135
dt = dt ,
186
136
)
187
-
188
137
return Dataset (das )
189
138
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
-
208
139
@staticmethod
209
140
def _create_dataarrays (
210
141
data : Any ,
0 commit comments