anemoi-datasets 0.5.20__py3-none-any.whl → 0.5.21__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- anemoi/datasets/_version.py +2 -2
- anemoi/datasets/commands/grib-index.py +0 -3
- anemoi/datasets/commands/inspect.py +2 -2
- anemoi/datasets/create/__init__.py +1 -1
- anemoi/datasets/create/sources/forcings.py +1 -1
- anemoi/datasets/create/sources/grib.py +11 -173
- anemoi/datasets/create/writer.py +1 -1
- anemoi/datasets/data/misc.py +1 -1
- {anemoi_datasets-0.5.20.dist-info → anemoi_datasets-0.5.21.dist-info}/METADATA +4 -3
- {anemoi_datasets-0.5.20.dist-info → anemoi_datasets-0.5.21.dist-info}/RECORD +14 -14
- {anemoi_datasets-0.5.20.dist-info → anemoi_datasets-0.5.21.dist-info}/WHEEL +0 -0
- {anemoi_datasets-0.5.20.dist-info → anemoi_datasets-0.5.21.dist-info}/entry_points.txt +0 -0
- {anemoi_datasets-0.5.20.dist-info → anemoi_datasets-0.5.21.dist-info}/licenses/LICENSE +0 -0
- {anemoi_datasets-0.5.20.dist-info → anemoi_datasets-0.5.21.dist-info}/top_level.txt +0 -0
anemoi/datasets/_version.py
CHANGED
|
@@ -29,8 +29,6 @@ class GribIndexCmd(Command):
|
|
|
29
29
|
The command parser to which arguments are added.
|
|
30
30
|
"""
|
|
31
31
|
|
|
32
|
-
from anemoi.datasets.create.sources.grib_index import KEYS
|
|
33
|
-
|
|
34
32
|
command_parser.add_argument(
|
|
35
33
|
"--index",
|
|
36
34
|
help="Path to the index file to create or update",
|
|
@@ -52,7 +50,6 @@ class GribIndexCmd(Command):
|
|
|
52
50
|
command_parser.add_argument(
|
|
53
51
|
"--keys",
|
|
54
52
|
help="GRIB keys to add to the index, separated by commas. If the list starts with a +, the keys are added to default list.",
|
|
55
|
-
default=",".join(KEYS),
|
|
56
53
|
)
|
|
57
54
|
|
|
58
55
|
command_parser.add_argument(
|
|
@@ -401,7 +401,7 @@ class Version:
|
|
|
401
401
|
return
|
|
402
402
|
|
|
403
403
|
if self.build_flags is None:
|
|
404
|
-
print("🪫 Dataset not
|
|
404
|
+
print("🪫 Dataset not initialised")
|
|
405
405
|
return
|
|
406
406
|
|
|
407
407
|
build_flags = self.build_flags
|
|
@@ -426,7 +426,7 @@ class Version:
|
|
|
426
426
|
)
|
|
427
427
|
start = self.initialised
|
|
428
428
|
if self.initialised:
|
|
429
|
-
print(f"🕰️ Dataset
|
|
429
|
+
print(f"🕰️ Dataset initialised {when(start)}.")
|
|
430
430
|
if built and latest:
|
|
431
431
|
speed = (latest - start) / built
|
|
432
432
|
eta = datetime.datetime.now(datetime.timezone.utc).replace(tzinfo=None) + speed * (total - built)
|
|
@@ -1215,7 +1215,7 @@ class _InitAdditions(Actor, HasRegistryMixin, AdditionsMixin):
|
|
|
1215
1215
|
self.tmp_storage = build_storage(directory=self.tmp_storage_path, create=True)
|
|
1216
1216
|
self.tmp_storage.delete()
|
|
1217
1217
|
self.tmp_storage.create()
|
|
1218
|
-
LOG.info(f"Dataset {self.tmp_storage_path} additions
|
|
1218
|
+
LOG.info(f"Dataset {self.tmp_storage_path} additions initialised.")
|
|
1219
1219
|
|
|
1220
1220
|
def cleanup(self) -> None:
|
|
1221
1221
|
"""Clean up the temporary storage."""
|
|
@@ -25,7 +25,7 @@ def forcings(context: Any, dates: List[str], template: str, param: str) -> Any:
|
|
|
25
25
|
The context in which the function is executed.
|
|
26
26
|
dates : list
|
|
27
27
|
List of dates for which data is to be loaded.
|
|
28
|
-
template :
|
|
28
|
+
template : FieldList
|
|
29
29
|
Template for the data source.
|
|
30
30
|
param : str
|
|
31
31
|
Parameter for the data source.
|
|
@@ -17,9 +17,11 @@ from typing import Optional
|
|
|
17
17
|
from typing import Union
|
|
18
18
|
|
|
19
19
|
import earthkit.data as ekd
|
|
20
|
+
from anemoi.transform.fields import new_field_from_grid
|
|
21
|
+
from anemoi.transform.fields import new_fieldlist_from_list
|
|
20
22
|
from anemoi.transform.flavour import RuleBasedFlavour
|
|
23
|
+
from anemoi.transform.grids import grid_registry
|
|
21
24
|
from earthkit.data import from_source
|
|
22
|
-
from earthkit.data.indexing.fieldlist import FieldArray
|
|
23
25
|
from earthkit.data.utils.patterns import Pattern
|
|
24
26
|
|
|
25
27
|
from .legacy import legacy_source
|
|
@@ -27,169 +29,6 @@ from .legacy import legacy_source
|
|
|
27
29
|
LOG = logging.getLogger(__name__)
|
|
28
30
|
|
|
29
31
|
|
|
30
|
-
def _load(context: Any, name: str, record: Dict[str, Any]) -> tuple:
|
|
31
|
-
"""Load data from a given source.
|
|
32
|
-
|
|
33
|
-
Parameters
|
|
34
|
-
----------
|
|
35
|
-
context : Any
|
|
36
|
-
The context in which the function is executed.
|
|
37
|
-
name : str
|
|
38
|
-
The name of the data source.
|
|
39
|
-
record : dict of str to Any
|
|
40
|
-
The record containing source information.
|
|
41
|
-
|
|
42
|
-
Returns
|
|
43
|
-
-------
|
|
44
|
-
tuple
|
|
45
|
-
A tuple containing the data as a numpy array and the UUID of the HGrid.
|
|
46
|
-
"""
|
|
47
|
-
ds = None
|
|
48
|
-
|
|
49
|
-
param = record["param"]
|
|
50
|
-
|
|
51
|
-
if "path" in record:
|
|
52
|
-
context.info(f"Using {name} from {record['path']} (param={param})")
|
|
53
|
-
ds = from_source("file", record["path"])
|
|
54
|
-
|
|
55
|
-
if "url" in record:
|
|
56
|
-
context.info(f"Using {name} from {record['url']} (param={param})")
|
|
57
|
-
ds = from_source("url", record["url"])
|
|
58
|
-
|
|
59
|
-
ds = ds.sel(param=param)
|
|
60
|
-
|
|
61
|
-
assert len(ds) == 1, f"{name} {param}, expected one field, got {len(ds)}"
|
|
62
|
-
ds = ds[0]
|
|
63
|
-
|
|
64
|
-
return ds.to_numpy(flatten=True), ds.metadata("uuidOfHGrid")
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
class Geography:
|
|
68
|
-
"""This class retrieves the latitudes and longitudes of unstructured grids,
|
|
69
|
-
and checks if the fields are compatible with the grid.
|
|
70
|
-
|
|
71
|
-
Parameters
|
|
72
|
-
----------
|
|
73
|
-
context : Any
|
|
74
|
-
The context in which the function is executed.
|
|
75
|
-
latitudes : dict of str to Any
|
|
76
|
-
Latitude information.
|
|
77
|
-
longitudes : dict of str to Any
|
|
78
|
-
Longitude information.
|
|
79
|
-
"""
|
|
80
|
-
|
|
81
|
-
def __init__(self, context: Any, latitudes: Dict[str, Any], longitudes: Dict[str, Any]) -> None:
|
|
82
|
-
"""Initialize the Geography class.
|
|
83
|
-
|
|
84
|
-
Parameters
|
|
85
|
-
----------
|
|
86
|
-
context : Any
|
|
87
|
-
The context in which the function is executed.
|
|
88
|
-
latitudes : dict of str to Any
|
|
89
|
-
Latitude information.
|
|
90
|
-
longitudes : dict of str to Any
|
|
91
|
-
Longitude information.
|
|
92
|
-
"""
|
|
93
|
-
latitudes, uuidOfHGrid_lat = _load(context, "latitudes", latitudes)
|
|
94
|
-
longitudes, uuidOfHGrid_lon = _load(context, "longitudes", longitudes)
|
|
95
|
-
|
|
96
|
-
assert (
|
|
97
|
-
uuidOfHGrid_lat == uuidOfHGrid_lon
|
|
98
|
-
), f"uuidOfHGrid mismatch: lat={uuidOfHGrid_lat} != lon={uuidOfHGrid_lon}"
|
|
99
|
-
|
|
100
|
-
context.info(f"Latitudes: {len(latitudes)}, Longitudes: {len(longitudes)}")
|
|
101
|
-
assert len(latitudes) == len(longitudes)
|
|
102
|
-
|
|
103
|
-
self.uuidOfHGrid = uuidOfHGrid_lat
|
|
104
|
-
self.latitudes = latitudes
|
|
105
|
-
self.longitudes = longitudes
|
|
106
|
-
self.first = True
|
|
107
|
-
|
|
108
|
-
def check(self, field: Any) -> None:
|
|
109
|
-
"""Check if the field is compatible with the grid.
|
|
110
|
-
|
|
111
|
-
Parameters
|
|
112
|
-
----------
|
|
113
|
-
field : Any
|
|
114
|
-
The field to check.
|
|
115
|
-
"""
|
|
116
|
-
if self.first:
|
|
117
|
-
# We only check the first field, for performance reasons
|
|
118
|
-
assert (
|
|
119
|
-
field.metadata("uuidOfHGrid") == self.uuidOfHGrid
|
|
120
|
-
), f"uuidOfHGrid mismatch: {field.metadata('uuidOfHGrid')} != {self.uuidOfHGrid}"
|
|
121
|
-
self.first = False
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
class AddGrid:
|
|
125
|
-
"""An earth-kit.data.Field wrapper that adds grid information.
|
|
126
|
-
|
|
127
|
-
Parameters
|
|
128
|
-
----------
|
|
129
|
-
field : Any
|
|
130
|
-
The field to wrap.
|
|
131
|
-
geography : Geography
|
|
132
|
-
The geography information.
|
|
133
|
-
"""
|
|
134
|
-
|
|
135
|
-
def __init__(self, field: Any, geography: Geography) -> None:
|
|
136
|
-
"""Initialize the AddGrid class.
|
|
137
|
-
|
|
138
|
-
Parameters
|
|
139
|
-
----------
|
|
140
|
-
field : Any
|
|
141
|
-
The field to wrap.
|
|
142
|
-
geography : Geography
|
|
143
|
-
The geography information.
|
|
144
|
-
"""
|
|
145
|
-
self._field = field
|
|
146
|
-
|
|
147
|
-
geography.check(field)
|
|
148
|
-
|
|
149
|
-
self._latitudes = geography.latitudes
|
|
150
|
-
self._longitudes = geography.longitudes
|
|
151
|
-
|
|
152
|
-
def __getattr__(self, name: str) -> Any:
|
|
153
|
-
"""Get an attribute from the wrapped field.
|
|
154
|
-
|
|
155
|
-
Parameters
|
|
156
|
-
----------
|
|
157
|
-
name : str
|
|
158
|
-
The name of the attribute.
|
|
159
|
-
|
|
160
|
-
Returns
|
|
161
|
-
-------
|
|
162
|
-
Any
|
|
163
|
-
The attribute value.
|
|
164
|
-
"""
|
|
165
|
-
return getattr(self._field, name)
|
|
166
|
-
|
|
167
|
-
def __repr__(self) -> str:
|
|
168
|
-
"""Get the string representation of the wrapped field.
|
|
169
|
-
|
|
170
|
-
Returns
|
|
171
|
-
-------
|
|
172
|
-
str
|
|
173
|
-
The string representation.
|
|
174
|
-
"""
|
|
175
|
-
return repr(self._field)
|
|
176
|
-
|
|
177
|
-
def grid_points(self) -> tuple:
|
|
178
|
-
"""Get the grid points (latitudes and longitudes).
|
|
179
|
-
|
|
180
|
-
Returns
|
|
181
|
-
-------
|
|
182
|
-
tuple
|
|
183
|
-
The latitudes and longitudes.
|
|
184
|
-
"""
|
|
185
|
-
return self._latitudes, self._longitudes
|
|
186
|
-
|
|
187
|
-
@property
|
|
188
|
-
def resolution(self) -> str:
|
|
189
|
-
"""Get the resolution of the grid."""
|
|
190
|
-
return "unknown"
|
|
191
|
-
|
|
192
|
-
|
|
193
32
|
def check(ds: Any, paths: List[str], **kwargs: Any) -> None:
|
|
194
33
|
"""Check if the dataset matches the expected number of fields.
|
|
195
34
|
|
|
@@ -243,9 +82,8 @@ def execute(
|
|
|
243
82
|
context: Any,
|
|
244
83
|
dates: List[Any],
|
|
245
84
|
path: Union[str, List[str]],
|
|
246
|
-
latitudes: Optional[Dict[str, Any]] = None,
|
|
247
|
-
longitudes: Optional[Dict[str, Any]] = None,
|
|
248
85
|
flavour: Optional[Union[str, Dict[str, Any]]] = None,
|
|
86
|
+
grid_definition: Optional[Dict[str, Any]] = None,
|
|
249
87
|
*args: Any,
|
|
250
88
|
**kwargs: Any,
|
|
251
89
|
) -> ekd.FieldList:
|
|
@@ -255,9 +93,8 @@ def execute(
|
|
|
255
93
|
context (Any): The context in which the function is executed.
|
|
256
94
|
dates (List[Any]): List of dates.
|
|
257
95
|
path (Union[str, List[str]]): Path or list of paths to the GRIB files.
|
|
258
|
-
latitudes (Optional[Dict[str, Any]], optional): Latitude information. Defaults to None.
|
|
259
|
-
longitudes (Optional[Dict[str, Any]], optional): Longitude information. Defaults to None.
|
|
260
96
|
flavour (Optional[Union[str, Dict[str, Any]]], optional): Flavour information. Defaults to None.
|
|
97
|
+
grid_definition (Optional[Dict[str, Any]]): Grid definition config to create a Grid object.
|
|
261
98
|
*args (Any): Additional arguments.
|
|
262
99
|
**kwargs (Any): Additional keyword arguments.
|
|
263
100
|
|
|
@@ -270,9 +107,10 @@ def execute(
|
|
|
270
107
|
if flavour is not None:
|
|
271
108
|
flavour = RuleBasedFlavour(flavour)
|
|
272
109
|
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
110
|
+
if grid_definition is not None:
|
|
111
|
+
grid = grid_registry.from_config(grid_definition)
|
|
112
|
+
else:
|
|
113
|
+
grid = None
|
|
276
114
|
|
|
277
115
|
ds = from_source("empty")
|
|
278
116
|
dates = [d.isoformat() for d in dates]
|
|
@@ -295,8 +133,8 @@ def execute(
|
|
|
295
133
|
if kwargs and not context.partial_ok:
|
|
296
134
|
check(ds, given_paths, valid_datetime=dates, **kwargs)
|
|
297
135
|
|
|
298
|
-
if
|
|
299
|
-
ds =
|
|
136
|
+
if grid is not None:
|
|
137
|
+
ds = new_fieldlist_from_list([new_field_from_grid(f, grid) for f in ds])
|
|
300
138
|
|
|
301
139
|
if len(ds) == 0:
|
|
302
140
|
LOG.warning(f"No fields found for {dates} in {given_paths} (kwargs={kwargs})")
|
anemoi/datasets/create/writer.py
CHANGED
|
@@ -20,7 +20,7 @@ LOG = logging.getLogger(__name__)
|
|
|
20
20
|
class ViewCacheArray:
|
|
21
21
|
"""A class that provides a caching mechanism for writing to a NumPy-like array.
|
|
22
22
|
|
|
23
|
-
The is
|
|
23
|
+
The is initialised with a NumPy-like array, a shape and a list to reindex the first
|
|
24
24
|
dimension. The array is used to store the final data, while the cache is used to
|
|
25
25
|
temporarily store the data before flushing it to the array.
|
|
26
26
|
|
anemoi/datasets/data/misc.py
CHANGED
|
@@ -677,7 +677,7 @@ def _save_dataset(recipe: Dict[str, Any], zarr_path: str, n_workers: int = 1) ->
|
|
|
677
677
|
# Workers return (date, subset) tuples.
|
|
678
678
|
root = zarr.open(zarr_path, mode="a")
|
|
679
679
|
initialize_zarr_store(root, full_ds, recipe)
|
|
680
|
-
print("Zarr store
|
|
680
|
+
print("Zarr store initialised.", flush=True)
|
|
681
681
|
|
|
682
682
|
existing_dates = np.array(sorted(root["dates"]), dtype="datetime64[s]")
|
|
683
683
|
all_dates = full_ds.dates
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: anemoi-datasets
|
|
3
|
-
Version: 0.5.
|
|
3
|
+
Version: 0.5.21
|
|
4
4
|
Summary: A package to hold various functions to support training of ML models on ECMWF data.
|
|
5
5
|
Author-email: "European Centre for Medium-Range Weather Forecasts (ECMWF)" <software.support@ecmwf.int>
|
|
6
6
|
License: Apache License
|
|
@@ -225,9 +225,10 @@ Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
|
225
225
|
Classifier: Programming Language :: Python :: Implementation :: PyPy
|
|
226
226
|
Requires-Python: >=3.9
|
|
227
227
|
License-File: LICENSE
|
|
228
|
-
Requires-Dist: anemoi-transform>=0.1.
|
|
229
|
-
Requires-Dist: anemoi-utils[provenance]>=0.4.
|
|
228
|
+
Requires-Dist: anemoi-transform>=0.1.9
|
|
229
|
+
Requires-Dist: anemoi-utils[provenance]>=0.4.19
|
|
230
230
|
Requires-Dist: cfunits
|
|
231
|
+
Requires-Dist: numcodecs<0.16
|
|
231
232
|
Requires-Dist: numpy
|
|
232
233
|
Requires-Dist: pyyaml
|
|
233
234
|
Requires-Dist: semantic-version
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
anemoi/datasets/__init__.py,sha256=i_wsAT3ezEYF7o5dpqGrpoG4wmLS-QIBug18uJbSYMs,1065
|
|
2
2
|
anemoi/datasets/__main__.py,sha256=ErwAqE3rBc7OaNO2JRsEOhWpB8ldjAt7BFSuRhbnlqQ,936
|
|
3
|
-
anemoi/datasets/_version.py,sha256=
|
|
3
|
+
anemoi/datasets/_version.py,sha256=xzRAV3vnhRWoa5IGzmE1SpAqijHmFvxk2UzeNXSigRM,513
|
|
4
4
|
anemoi/datasets/grids.py,sha256=Hhj1aOXHvDjmI46M_UlLSjCs1qYqxH-uqd_kapDSdbU,18134
|
|
5
5
|
anemoi/datasets/testing.py,sha256=fy_JzavUwLlK_2rtXAT-UGUyo5gjyQW2y826zf334Wg,2645
|
|
6
6
|
anemoi/datasets/commands/__init__.py,sha256=O5W3yHZywRoAqmRUioAr3zMCh0hGVV18wZYGvc00ioM,698
|
|
@@ -11,10 +11,10 @@ anemoi/datasets/commands/copy.py,sha256=UlvW9YIlP7jwKAY7TikVAfhkrjaQ9Kkxqfx8jEut
|
|
|
11
11
|
anemoi/datasets/commands/create.py,sha256=5BXdPZMO-ZULBnEVgyeSS-IMy4p84HSyFVG855gqj3k,6598
|
|
12
12
|
anemoi/datasets/commands/finalise-additions.py,sha256=2LqU7ke3i-yRQbjkgldX6e2QlyE-tKqp0b6QOhJF19g,1985
|
|
13
13
|
anemoi/datasets/commands/finalise.py,sha256=-YtN9wFFDrM_i_V9YHoXZsajF3eAax-73Zsi4uHAFCI,1709
|
|
14
|
-
anemoi/datasets/commands/grib-index.py,sha256=
|
|
14
|
+
anemoi/datasets/commands/grib-index.py,sha256=H9snsk1w2tL6ObBhlHVxFXxCm5sB-eUGrX772G8Nb2s,3057
|
|
15
15
|
anemoi/datasets/commands/init-additions.py,sha256=2vMom5L38UvLLopzP2z-R_Fq31fU2uMvKXoDq5d8oI4,1931
|
|
16
16
|
anemoi/datasets/commands/init.py,sha256=5IKyJ_hJA4lLIbpT88XtcGzXccHLSGwSoqVSvVJGxPg,2852
|
|
17
|
-
anemoi/datasets/commands/inspect.py,sha256=
|
|
17
|
+
anemoi/datasets/commands/inspect.py,sha256=kaDHXP8Cv8PsGqEXUF5Yruf5OQHwOIkjCS0SNxMs6eg,26578
|
|
18
18
|
anemoi/datasets/commands/load-additions.py,sha256=zqmRherIHXb5WIB4cnAuCBEsxFJmUpGjafvm6RtQ7Co,2004
|
|
19
19
|
anemoi/datasets/commands/load.py,sha256=U1Y8qByjreu7H9WeX4G8-tyKsz48va10fkW1L4U4wWg,2034
|
|
20
20
|
anemoi/datasets/commands/patch.py,sha256=Q9FDabWxlvK1QaeH4D9zhNpoSGB4h7EliWgcV76iFBs,1599
|
|
@@ -22,7 +22,7 @@ anemoi/datasets/commands/publish.py,sha256=7YusLCWYdVLuexZzvyh8ztYoBOBzVmve3uJs-
|
|
|
22
22
|
anemoi/datasets/commands/scan.py,sha256=e5t_oxSi-II38TVQiMlWMJ8AZhDEBk5PcPD22DDbHfU,4008
|
|
23
23
|
anemoi/datasets/compute/__init__.py,sha256=hCW0QcLHJmE-C1r38P27_ZOvCLNewex5iQEtZqx2ckI,393
|
|
24
24
|
anemoi/datasets/compute/recentre.py,sha256=kwxDB8qpgOCFZSQJvjAmVcpH5zWsfk5FSoIureqNHd4,5915
|
|
25
|
-
anemoi/datasets/create/__init__.py,sha256=
|
|
25
|
+
anemoi/datasets/create/__init__.py,sha256=_aYkQ-5so9hBRW8rIj7Y-lQpn1ACY7PUpqadffsT0jU,50699
|
|
26
26
|
anemoi/datasets/create/check.py,sha256=FrgyZP3Xyx4qXHl8_ZfM31fgNhcxMqxlE5oLweMDGU0,10003
|
|
27
27
|
anemoi/datasets/create/chunks.py,sha256=kZV3dWoCuv3Bttc0wysJB7OPbXsD99exKyrrj4HGFwQ,4025
|
|
28
28
|
anemoi/datasets/create/config.py,sha256=xrSlaY2p5zssfLIt8A1CP9WwJReSXVWBMQM7bT1aFbU,13448
|
|
@@ -34,7 +34,7 @@ anemoi/datasets/create/source.py,sha256=xoV8uH_y6aBSE4_PWuy5w7Q7cX-tGm8e-2xC9flS
|
|
|
34
34
|
anemoi/datasets/create/testing.py,sha256=FzTSsbv_JBGViGrD1jT6z_T2yaA0KCrbJ3SCgp-rFPQ,2406
|
|
35
35
|
anemoi/datasets/create/typing.py,sha256=Hs2uDG8ZVtQ-Q-5I9-W0Pik2p1hZH5-JPVjpJXRXP7M,484
|
|
36
36
|
anemoi/datasets/create/utils.py,sha256=94JKPYcNSurA62yFAytW5dUFVz-r-fdwiPOkmu121pM,5572
|
|
37
|
-
anemoi/datasets/create/writer.py,sha256=
|
|
37
|
+
anemoi/datasets/create/writer.py,sha256=nZBJvYZ63g_c9FfL65bAeG10Y6bX2R7CgtZvY0kW3fI,2203
|
|
38
38
|
anemoi/datasets/create/zarr.py,sha256=N9PGGD-dYvcc97BZjLVWm5XQeYTiK9gwvhtreRiQzBI,9437
|
|
39
39
|
anemoi/datasets/create/filters/__init__.py,sha256=rhetUFPZKe-vwDIfMY33SbYrJMq909dUJRgBzuX6Q6E,901
|
|
40
40
|
anemoi/datasets/create/filters/empty.py,sha256=Dw1kUnAlFt6b5ds0kmrw9Gak09XjSqF8m1_MpHZNV9I,1013
|
|
@@ -78,8 +78,8 @@ anemoi/datasets/create/sources/anemoi_dataset.py,sha256=2xJJTmKlv87F_2ECMKeehaeW
|
|
|
78
78
|
anemoi/datasets/create/sources/constants.py,sha256=5O6d9tEuAmVjl5vNkNfmkaAjKXFlw1UjeueTsF1GZCI,1528
|
|
79
79
|
anemoi/datasets/create/sources/eccc_fstd.py,sha256=8HK38f444HcWMvBhooP0XqTfMXYoCbN_8G9RI_Ne5rc,659
|
|
80
80
|
anemoi/datasets/create/sources/empty.py,sha256=5mVIVRUwnBfE3zp-bvNA_imXCSpyds-4mewcI8HXAiY,1020
|
|
81
|
-
anemoi/datasets/create/sources/forcings.py,sha256=
|
|
82
|
-
anemoi/datasets/create/sources/grib.py,sha256=
|
|
81
|
+
anemoi/datasets/create/sources/forcings.py,sha256=PmcAd-nFZzILRxfvrptb45VLD9Nd2vjy0xeToeoKl1Y,1222
|
|
82
|
+
anemoi/datasets/create/sources/grib.py,sha256=QGAxX103bOQRef8WkamK8g4DGMoo9ATLUfawzYO-vTk,4210
|
|
83
83
|
anemoi/datasets/create/sources/grib_index.py,sha256=Pnm0RLga9lpD4MqVaZr7IqXMBlw1DtTIWZRfz7fq30Q,19026
|
|
84
84
|
anemoi/datasets/create/sources/hindcasts.py,sha256=_4880rgd4AsRxlDXVi6dkh8mlKXrz2i27btVlmlMFjY,2611
|
|
85
85
|
anemoi/datasets/create/sources/legacy.py,sha256=RJce-9TwmUUCFbgC8A3Dp61nSBfB8_lWti8WNoOMIcU,2652
|
|
@@ -122,7 +122,7 @@ anemoi/datasets/data/interpolate.py,sha256=-kSYwdjKH7zJtfITdbqdH6KyOFGVZDyHg4TaF
|
|
|
122
122
|
anemoi/datasets/data/join.py,sha256=ZEHOsCecKBkKKH-vki404Sm7r7cV368ECO7PXPpay3s,9212
|
|
123
123
|
anemoi/datasets/data/masked.py,sha256=giOvHLcGbLf6mZPqZjAxQd1kvydmkepDFh2EqchXLTQ,10213
|
|
124
124
|
anemoi/datasets/data/merge.py,sha256=SvQhJHf-C-Kn7hEjFqomienk-epPPjMtoccRNCJpMtw,8733
|
|
125
|
-
anemoi/datasets/data/misc.py,sha256=
|
|
125
|
+
anemoi/datasets/data/misc.py,sha256=6JOag2VJBJhz-eEEWL9F5nriEJyKz9aZL2P3FYcOSJo,20951
|
|
126
126
|
anemoi/datasets/data/missing.py,sha256=ogfVDponbs0bGHMxps32Fj_fq4gT26R70yEMco5gdK8,12593
|
|
127
127
|
anemoi/datasets/data/rescale.py,sha256=nGfJ5tWCncMJ7NMXkLbmt6z0ELrD6FxpbjJreQ3W91g,7004
|
|
128
128
|
anemoi/datasets/data/select.py,sha256=Xs6uOzJL0CoOGeWA_E5_ukr8Jav2kXbZ41vhk7Vr8PE,8277
|
|
@@ -134,9 +134,9 @@ anemoi/datasets/data/xy.py,sha256=-jWzYismrK3eI3YCKIBpU1BCmraRncmVn0_2IUY--lk,75
|
|
|
134
134
|
anemoi/datasets/dates/__init__.py,sha256=pEArHDQ7w5E0WC8Vvf9ypyKSdm6gnhoN9TmooITB7C4,13617
|
|
135
135
|
anemoi/datasets/dates/groups.py,sha256=IOveL6IyTXZwEdXZEnRAnpu9pINY95VN7LzcpLfJ09E,10105
|
|
136
136
|
anemoi/datasets/utils/__init__.py,sha256=hCW0QcLHJmE-C1r38P27_ZOvCLNewex5iQEtZqx2ckI,393
|
|
137
|
-
anemoi_datasets-0.5.
|
|
138
|
-
anemoi_datasets-0.5.
|
|
139
|
-
anemoi_datasets-0.5.
|
|
140
|
-
anemoi_datasets-0.5.
|
|
141
|
-
anemoi_datasets-0.5.
|
|
142
|
-
anemoi_datasets-0.5.
|
|
137
|
+
anemoi_datasets-0.5.21.dist-info/licenses/LICENSE,sha256=8HznKF1Vi2IvfLsKNE5A2iVyiri3pRjRPvPC9kxs6qk,11354
|
|
138
|
+
anemoi_datasets-0.5.21.dist-info/METADATA,sha256=wc23I3DuajyKdNV67zvhmAL8X5Uan-2ogszGdc9kVVs,16069
|
|
139
|
+
anemoi_datasets-0.5.21.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
|
|
140
|
+
anemoi_datasets-0.5.21.dist-info/entry_points.txt,sha256=yR-o-4uiPEA_GLBL81SkMYnUoxq3CAV3hHulQiRtGG0,66
|
|
141
|
+
anemoi_datasets-0.5.21.dist-info/top_level.txt,sha256=DYn8VPs-fNwr7fNH9XIBqeXIwiYYd2E2k5-dUFFqUz0,7
|
|
142
|
+
anemoi_datasets-0.5.21.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|