anemoi-datasets 0.5.23__py3-none-any.whl → 0.5.25__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/finalise-additions.py +2 -1
- anemoi/datasets/commands/finalise.py +2 -1
- anemoi/datasets/commands/init-additions.py +2 -1
- anemoi/datasets/commands/load-additions.py +2 -1
- anemoi/datasets/commands/load.py +2 -1
- anemoi/datasets/create/__init__.py +24 -33
- anemoi/datasets/create/input/__init__.py +0 -20
- anemoi/datasets/create/sources/accumulations.py +7 -6
- anemoi/datasets/create/sources/grib.py +1 -1
- anemoi/datasets/create/sources/patterns.py +1 -1
- anemoi/datasets/data/dataset.py +29 -0
- anemoi/datasets/data/misc.py +74 -16
- anemoi/datasets/data/observations/__init__.py +316 -0
- anemoi/datasets/data/observations/legacy_obs_dataset.py +200 -0
- anemoi/datasets/data/observations/multi.py +64 -0
- anemoi/datasets/data/padded.py +227 -0
- anemoi/datasets/data/records/__init__.py +442 -0
- anemoi/datasets/data/records/backends/__init__.py +157 -0
- anemoi/datasets/data/subset.py +5 -0
- {anemoi_datasets-0.5.23.dist-info → anemoi_datasets-0.5.25.dist-info}/METADATA +3 -3
- {anemoi_datasets-0.5.23.dist-info → anemoi_datasets-0.5.25.dist-info}/RECORD +26 -20
- {anemoi_datasets-0.5.23.dist-info → anemoi_datasets-0.5.25.dist-info}/WHEEL +1 -1
- {anemoi_datasets-0.5.23.dist-info → anemoi_datasets-0.5.25.dist-info}/entry_points.txt +0 -0
- {anemoi_datasets-0.5.23.dist-info → anemoi_datasets-0.5.25.dist-info}/licenses/LICENSE +0 -0
- {anemoi_datasets-0.5.23.dist-info → anemoi_datasets-0.5.25.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
# (C) Copyright 2025 Anemoi contributors.
|
|
2
|
+
#
|
|
3
|
+
# This software is licensed under the terms of the Apache Licence Version 2.0
|
|
4
|
+
# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
|
|
5
|
+
#
|
|
6
|
+
# In applying this licence, ECMWF does not waive the privileges and immunities
|
|
7
|
+
# granted to it by virtue of its status as an intergovernmental organisation
|
|
8
|
+
# nor does it submit to any jurisdiction.
|
|
9
|
+
|
|
10
|
+
import json
|
|
11
|
+
import os
|
|
12
|
+
|
|
13
|
+
import numpy as np
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
class Backend:
|
|
17
|
+
def __init__(self, path, **kwargs):
|
|
18
|
+
self.path = path
|
|
19
|
+
self.kwargs = kwargs
|
|
20
|
+
|
|
21
|
+
def read(self, i, **kwargs):
|
|
22
|
+
raise NotImplementedError("Must be implemented in subclass")
|
|
23
|
+
|
|
24
|
+
def read_metadata(self):
|
|
25
|
+
raise NotImplementedError("Must be implemented in subclass")
|
|
26
|
+
|
|
27
|
+
def read_statistics(self):
|
|
28
|
+
raise NotImplementedError("Must be implemented in subclass")
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
class Npz1Backend(Backend):
|
|
32
|
+
def read(self, i, **kwargs):
|
|
33
|
+
path = os.path.join(self.path, "data", str(int(i / 10)), f"{i}.npz")
|
|
34
|
+
with open(path, "rb") as f:
|
|
35
|
+
return dict(np.load(f))
|
|
36
|
+
|
|
37
|
+
def read_metadata(self):
|
|
38
|
+
with open(os.path.join(self.path, "metadata.json"), "r") as f:
|
|
39
|
+
return json.load(f)
|
|
40
|
+
|
|
41
|
+
def read_statistics(self):
|
|
42
|
+
path = os.path.join(self.path, "statistics.npz")
|
|
43
|
+
dic = {}
|
|
44
|
+
for k, v in dict(np.load(path)).items():
|
|
45
|
+
key, group = k.split(":")
|
|
46
|
+
if group not in dic:
|
|
47
|
+
dic[group] = {}
|
|
48
|
+
dic[group][key] = v
|
|
49
|
+
return dic
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
class Npz2Backend(Backend):
|
|
53
|
+
def read(self, i, **kwargs):
|
|
54
|
+
path = os.path.join(self.path, "data_", str(int(i / 10)), f"{i}_.npz")
|
|
55
|
+
with open(path, "rb") as f:
|
|
56
|
+
return dict(np.load(f))
|
|
57
|
+
|
|
58
|
+
def read_metadata(self):
|
|
59
|
+
with open(os.path.join(self.path, "metadata.json"), "r") as f:
|
|
60
|
+
return json.load(f)
|
|
61
|
+
|
|
62
|
+
def read_statistics(self):
|
|
63
|
+
path = os.path.join(self.path, "statistics_.npz")
|
|
64
|
+
dic = {}
|
|
65
|
+
for k, v in dict(np.load(path)).items():
|
|
66
|
+
key, group = k.split(":")
|
|
67
|
+
if group not in dic:
|
|
68
|
+
dic[group] = {}
|
|
69
|
+
dic[group][key] = v
|
|
70
|
+
return dic
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
def backend_factory(backend, *args, **kwargs):
|
|
74
|
+
BACKENDS = dict(
|
|
75
|
+
npz1=Npz1Backend,
|
|
76
|
+
npz2=Npz2Backend,
|
|
77
|
+
)
|
|
78
|
+
return BACKENDS[backend](*args, **kwargs)
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
class WriteBackend(Backend):
|
|
82
|
+
def __init__(self, path, **kwargs):
|
|
83
|
+
super().__init__(path, **kwargs)
|
|
84
|
+
|
|
85
|
+
def write(self, i, data, **kwargs):
|
|
86
|
+
raise NotImplementedError("Must be implemented in subclass")
|
|
87
|
+
|
|
88
|
+
def write_metadata(self, metadata):
|
|
89
|
+
raise NotImplementedError("Must be implemented in subclass")
|
|
90
|
+
|
|
91
|
+
def write_statistics(self, statistics):
|
|
92
|
+
raise NotImplementedError("Must be implemented in subclass")
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
class Npz1WriteBackend(WriteBackend):
|
|
96
|
+
def write(self, i, data, **kwargs):
|
|
97
|
+
path = os.path.join(self.path, "data", str(int(i / 10)))
|
|
98
|
+
os.makedirs(path, exist_ok=True)
|
|
99
|
+
out_path = os.path.join(path, f"{i}.npz")
|
|
100
|
+
np.savez(out_path, **data)
|
|
101
|
+
|
|
102
|
+
def write_metadata(self, metadata):
|
|
103
|
+
from anemoi.datasets.create import json_tidy
|
|
104
|
+
|
|
105
|
+
os.makedirs(self.path, exist_ok=True)
|
|
106
|
+
with open(os.path.join(self.path, "metadata.json"), "w") as f:
|
|
107
|
+
json.dump(metadata, f, indent=2, default=json_tidy)
|
|
108
|
+
|
|
109
|
+
def write_statistics(self, statistics):
|
|
110
|
+
flatten = {}
|
|
111
|
+
for name, d in statistics.items():
|
|
112
|
+
assert isinstance(d, dict), f"Statistics for {name} must be a dict, got {type(d)}"
|
|
113
|
+
for k, v in d.items():
|
|
114
|
+
assert isinstance(
|
|
115
|
+
v, (int, float, np.ndarray)
|
|
116
|
+
), f"Statistics value for {k} in {name} must be int, float or ndarray, got {type(v)}"
|
|
117
|
+
flatten[k + ":" + name] = v
|
|
118
|
+
|
|
119
|
+
path = os.path.join(self.path, "statistics.npz")
|
|
120
|
+
np.savez(path, **flatten)
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
class Npz2WriteBackend(WriteBackend):
|
|
124
|
+
def write(self, i, data, **kwargs):
|
|
125
|
+
path = os.path.join(self.path, "data_", str(int(i / 10)))
|
|
126
|
+
os.makedirs(path, exist_ok=True)
|
|
127
|
+
out_path = os.path.join(path, f"{i}_.npz")
|
|
128
|
+
np.savez(out_path, **data)
|
|
129
|
+
|
|
130
|
+
def write_metadata(self, metadata):
|
|
131
|
+
from anemoi.datasets.create import json_tidy
|
|
132
|
+
|
|
133
|
+
os.makedirs(self.path, exist_ok=True)
|
|
134
|
+
with open(os.path.join(self.path, "metadata.json"), "w") as f:
|
|
135
|
+
json.dump(metadata, f, indent=2, default=json_tidy)
|
|
136
|
+
|
|
137
|
+
def write_statistics(self, statistics):
|
|
138
|
+
flatten = {}
|
|
139
|
+
for name, d in statistics.items():
|
|
140
|
+
assert isinstance(d, dict), f"Statistics for {name} must be a dict, got {type(d)}"
|
|
141
|
+
for k, v in d.items():
|
|
142
|
+
assert isinstance(
|
|
143
|
+
v, (int, float, np.ndarray)
|
|
144
|
+
), f"Statistics value for {k} in {name} must be int, float or ndarray, got {type(v)}"
|
|
145
|
+
flatten[k + ":" + name] = v
|
|
146
|
+
|
|
147
|
+
os.makedirs(self.path, exist_ok=True)
|
|
148
|
+
path = os.path.join(self.path, "statistics_.npz")
|
|
149
|
+
np.savez(path, **flatten)
|
|
150
|
+
|
|
151
|
+
|
|
152
|
+
def writer_backend_factory(backend, *args, **kwargs):
|
|
153
|
+
WRITE_BACKENDS = dict(
|
|
154
|
+
npz1=Npz1WriteBackend,
|
|
155
|
+
npz2=Npz2WriteBackend,
|
|
156
|
+
)
|
|
157
|
+
return WRITE_BACKENDS[backend](*args, **kwargs)
|
anemoi/datasets/data/subset.py
CHANGED
|
@@ -185,6 +185,11 @@ class Subset(Forwards):
|
|
|
185
185
|
n = self.indices[n]
|
|
186
186
|
return self.dataset[n]
|
|
187
187
|
|
|
188
|
+
def get_aux(self, n: FullIndex) -> NDArray[Any]:
|
|
189
|
+
assert n >= 0, n
|
|
190
|
+
n = self.indices[n]
|
|
191
|
+
return self.dataset.get_aux(n)
|
|
192
|
+
|
|
188
193
|
@debug_indexing
|
|
189
194
|
def _get_slice(self, s: slice) -> NDArray[Any]:
|
|
190
195
|
"""Get slice of data.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: anemoi-datasets
|
|
3
|
-
Version: 0.5.
|
|
3
|
+
Version: 0.5.25
|
|
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,7 +225,7 @@ 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.
|
|
228
|
+
Requires-Dist: anemoi-transform>=0.1.10
|
|
229
229
|
Requires-Dist: anemoi-utils[provenance]>=0.4.21
|
|
230
230
|
Requires-Dist: cfunits
|
|
231
231
|
Requires-Dist: numcodecs<0.16
|
|
@@ -241,7 +241,7 @@ Requires-Dist: prettytable; extra == "comparelam"
|
|
|
241
241
|
Requires-Dist: termcolor; extra == "comparelam"
|
|
242
242
|
Provides-Extra: create
|
|
243
243
|
Requires-Dist: cachetools; extra == "create"
|
|
244
|
-
Requires-Dist: earthkit-data[mars]
|
|
244
|
+
Requires-Dist: earthkit-data[mars]>=0.14; extra == "create"
|
|
245
245
|
Requires-Dist: earthkit-geo>=0.3; extra == "create"
|
|
246
246
|
Requires-Dist: earthkit-meteo>=0.3; extra == "create"
|
|
247
247
|
Requires-Dist: eccodes>=2.39.1; extra == "create"
|
|
@@ -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=hibncct7X-CdDhFODEyBCnGakn4Or9qoR57vQrzzv9g,513
|
|
4
4
|
anemoi/datasets/check.py,sha256=hbEMUurl2IjZbp56dBgOfAEsAmmgymgRM5ySaMJSTdk,2755
|
|
5
5
|
anemoi/datasets/grids.py,sha256=Hhj1aOXHvDjmI46M_UlLSjCs1qYqxH-uqd_kapDSdbU,18134
|
|
6
6
|
anemoi/datasets/testing.py,sha256=fy_JzavUwLlK_2rtXAT-UGUyo5gjyQW2y826zf334Wg,2645
|
|
@@ -11,20 +11,20 @@ anemoi/datasets/commands/compare-lam.py,sha256=F5GYRsKOtdhDePhifgf1TCj5L2T8EVIA2
|
|
|
11
11
|
anemoi/datasets/commands/compare.py,sha256=jzhjbbt1U-YANTVRBhrwSh2CcYgk4qX2IiTMJtcn82s,3678
|
|
12
12
|
anemoi/datasets/commands/copy.py,sha256=hP7BSqkGzK8-n3BA2vlpFcbO3INHmShPZ75Aw_K_g4Y,17302
|
|
13
13
|
anemoi/datasets/commands/create.py,sha256=3myohTCLsM6oUuZHIfLaTlDaq-DOcJZRM4Vks007fZg,6543
|
|
14
|
-
anemoi/datasets/commands/finalise-additions.py,sha256=
|
|
15
|
-
anemoi/datasets/commands/finalise.py,sha256
|
|
14
|
+
anemoi/datasets/commands/finalise-additions.py,sha256=GXjGAJILFORXXkE_wfgnk5w4jYug18Q2TpwVah5Ctto,1982
|
|
15
|
+
anemoi/datasets/commands/finalise.py,sha256=cZIiqpJsaN1rqBKOStOA6pJh5n1tisrMFcGGT2UGpKY,1706
|
|
16
16
|
anemoi/datasets/commands/grib-index.py,sha256=H9snsk1w2tL6ObBhlHVxFXxCm5sB-eUGrX772G8Nb2s,3057
|
|
17
|
-
anemoi/datasets/commands/init-additions.py,sha256=
|
|
17
|
+
anemoi/datasets/commands/init-additions.py,sha256=wIsintXpf3aG2VhuBJJYI8ZZGXLrum7sM05IX8ImRXk,1928
|
|
18
18
|
anemoi/datasets/commands/init.py,sha256=5IKyJ_hJA4lLIbpT88XtcGzXccHLSGwSoqVSvVJGxPg,2852
|
|
19
19
|
anemoi/datasets/commands/inspect.py,sha256=kaDHXP8Cv8PsGqEXUF5Yruf5OQHwOIkjCS0SNxMs6eg,26578
|
|
20
|
-
anemoi/datasets/commands/load-additions.py,sha256=
|
|
21
|
-
anemoi/datasets/commands/load.py,sha256=
|
|
20
|
+
anemoi/datasets/commands/load-additions.py,sha256=bg0JYaPPXhGXKL-p0nngAeI2rPhSTFpZ7bY04mKuSKk,2001
|
|
21
|
+
anemoi/datasets/commands/load.py,sha256=FuKdRYuNlnv_p5ScwPKCiVDEVc9cA1Khvbd-T7N4SvU,2031
|
|
22
22
|
anemoi/datasets/commands/patch.py,sha256=Q9FDabWxlvK1QaeH4D9zhNpoSGB4h7EliWgcV76iFBs,1599
|
|
23
23
|
anemoi/datasets/commands/publish.py,sha256=7YusLCWYdVLuexZzvyh8ztYoBOBzVmve3uJs-XKeMAE,1469
|
|
24
24
|
anemoi/datasets/commands/scan.py,sha256=6Uoyd7WkM4ypoqmZargXIG50uRKzHE3AlvkAr7sCBy4,4262
|
|
25
25
|
anemoi/datasets/compute/__init__.py,sha256=hCW0QcLHJmE-C1r38P27_ZOvCLNewex5iQEtZqx2ckI,393
|
|
26
26
|
anemoi/datasets/compute/recentre.py,sha256=kwxDB8qpgOCFZSQJvjAmVcpH5zWsfk5FSoIureqNHd4,5915
|
|
27
|
-
anemoi/datasets/create/__init__.py,sha256=
|
|
27
|
+
anemoi/datasets/create/__init__.py,sha256=LAa-e6TnH5eHmHEpkMk9_a24wlpTFEKWllPgSl-mcW8,50855
|
|
28
28
|
anemoi/datasets/create/check.py,sha256=xqobSfh3655ZoKs-CjHWBiEpIfrHU_vkqwiIsAOrqvs,10795
|
|
29
29
|
anemoi/datasets/create/chunks.py,sha256=kZV3dWoCuv3Bttc0wysJB7OPbXsD99exKyrrj4HGFwQ,4025
|
|
30
30
|
anemoi/datasets/create/config.py,sha256=xrSlaY2p5zssfLIt8A1CP9WwJReSXVWBMQM7bT1aFbU,13448
|
|
@@ -57,7 +57,7 @@ anemoi/datasets/create/filters/transform.py,sha256=gIDLvaJlnn3Nc6P29aPOvNYM6yBWc
|
|
|
57
57
|
anemoi/datasets/create/filters/unrotate_winds.py,sha256=3AJf0crnVVySLlXLIdfEUxRRlQeKgheUuD-UCrSrgo8,2798
|
|
58
58
|
anemoi/datasets/create/filters/uv_to_speeddir.py,sha256=Zdc34AG5Bsz-Z7JGuznyRJr6F-BnWKXPiI3mjmOpbek,2883
|
|
59
59
|
anemoi/datasets/create/filters/wz_to_w.py,sha256=slOiX5RibG48Zrkss8Qjpb-8ZTnvSvmKlk1Hy45_wzU,2812
|
|
60
|
-
anemoi/datasets/create/input/__init__.py,sha256=
|
|
60
|
+
anemoi/datasets/create/input/__init__.py,sha256=vsB_whJG87IWnjaGgIMCCg8v9pfuC_vQk8BB3u5j33o,2886
|
|
61
61
|
anemoi/datasets/create/input/action.py,sha256=pc_2RPbs3laF8vBhNkbFdib40kTcF5QW6QL0p8VLNzA,7778
|
|
62
62
|
anemoi/datasets/create/input/concat.py,sha256=bU8SWfBVfK8bRAmmN4UO9zpIGxwQvRUk9_vwrKPOTE4,5355
|
|
63
63
|
anemoi/datasets/create/input/context.py,sha256=qrLccxMe9UkyQxsNuR6JSK7oLzZq21dt38AxZ9kYzsY,2714
|
|
@@ -74,21 +74,21 @@ anemoi/datasets/create/input/step.py,sha256=WcR9NgRvUKF60Fo5veLvRCAQMrOd55x1gOEA
|
|
|
74
74
|
anemoi/datasets/create/input/template.py,sha256=Iycw9VmfA0WEIDP_Of8bp-8HsV0EUfwbnm0WjxiO4GA,4092
|
|
75
75
|
anemoi/datasets/create/input/trace.py,sha256=dakPYMmwKq6s17Scww1CN-xYBD3btJTGeDknOhAcnEM,3320
|
|
76
76
|
anemoi/datasets/create/sources/__init__.py,sha256=XNiiGaC6NbxnGfl6glPw-gTJASi3vsGKwVlfkMqYGk4,950
|
|
77
|
-
anemoi/datasets/create/sources/accumulations.py,sha256=
|
|
77
|
+
anemoi/datasets/create/sources/accumulations.py,sha256=vo2f7cejjkKneZ-9UVRJ_jwNiJJ1XNabxP57UHJZAZs,32572
|
|
78
78
|
anemoi/datasets/create/sources/accumulations2.py,sha256=UwKJOtfbJGNTceVpLtHC8dJhROJbxzjF3V_HR7wTwrk,20661
|
|
79
79
|
anemoi/datasets/create/sources/anemoi_dataset.py,sha256=2xJJTmKlv87F_2ECMKeehaeW7_oWLlDcLt8C_Prp1RI,2017
|
|
80
80
|
anemoi/datasets/create/sources/constants.py,sha256=5O6d9tEuAmVjl5vNkNfmkaAjKXFlw1UjeueTsF1GZCI,1528
|
|
81
81
|
anemoi/datasets/create/sources/eccc_fstd.py,sha256=8HK38f444HcWMvBhooP0XqTfMXYoCbN_8G9RI_Ne5rc,659
|
|
82
82
|
anemoi/datasets/create/sources/empty.py,sha256=5mVIVRUwnBfE3zp-bvNA_imXCSpyds-4mewcI8HXAiY,1020
|
|
83
83
|
anemoi/datasets/create/sources/forcings.py,sha256=PmcAd-nFZzILRxfvrptb45VLD9Nd2vjy0xeToeoKl1Y,1222
|
|
84
|
-
anemoi/datasets/create/sources/grib.py,sha256=
|
|
84
|
+
anemoi/datasets/create/sources/grib.py,sha256=_vTqP1yTyFJfOFP-_8m3aZnJ7F1aaM1UWgxRF9VDOP0,4270
|
|
85
85
|
anemoi/datasets/create/sources/grib_index.py,sha256=Pnm0RLga9lpD4MqVaZr7IqXMBlw1DtTIWZRfz7fq30Q,19026
|
|
86
86
|
anemoi/datasets/create/sources/hindcasts.py,sha256=_4880rgd4AsRxlDXVi6dkh8mlKXrz2i27btVlmlMFjY,2611
|
|
87
87
|
anemoi/datasets/create/sources/legacy.py,sha256=RJce-9TwmUUCFbgC8A3Dp61nSBfB8_lWti8WNoOMIcU,2652
|
|
88
88
|
anemoi/datasets/create/sources/mars.py,sha256=tesQz7Ne6SLBChE_cNJU6Sxr6e0LXFlUKQ8gCdRiCMw,13155
|
|
89
89
|
anemoi/datasets/create/sources/netcdf.py,sha256=UnehMwEMJquqaOeU33zNyFUYfzqQx4Rg-GRmUcgMcbE,1222
|
|
90
90
|
anemoi/datasets/create/sources/opendap.py,sha256=sTm0wXE_BHk9q8vaNNE_Y6BhTOmhxPweS8RTjP4HYjU,1254
|
|
91
|
-
anemoi/datasets/create/sources/patterns.py,sha256=
|
|
91
|
+
anemoi/datasets/create/sources/patterns.py,sha256=siTExxLY5HWdIgOsufyQuG7Qvkt38oElZOFwz9h0JFg,2283
|
|
92
92
|
anemoi/datasets/create/sources/recentre.py,sha256=OtobkmaWzGD3UacjXfK_Oerjf7EnQi85LIs9xBYJK7A,4044
|
|
93
93
|
anemoi/datasets/create/sources/source.py,sha256=x8k---A2_3AglYqNsXLlv1ti4f9n_gVKmmqtyQGLPTs,2117
|
|
94
94
|
anemoi/datasets/create/sources/tendencies.py,sha256=saHGYl-MnvBEeZX-n1zgT8lehA7LC2G5dMNnxklI9-U,5590
|
|
@@ -112,7 +112,7 @@ anemoi/datasets/create/statistics/summary.py,sha256=JdtChTmsr1Y958_nka36HltTbeZk
|
|
|
112
112
|
anemoi/datasets/data/__init__.py,sha256=wzhk_7VQImge12Xkg99xuiFOC7DAjBW1mu446y0Iq60,3057
|
|
113
113
|
anemoi/datasets/data/complement.py,sha256=N1vJAO2bijrWAxXQi9AFAPVEBe4vikSIKEXcX1EqQHI,10590
|
|
114
114
|
anemoi/datasets/data/concat.py,sha256=eY5rujcdal00BJCv00mKSlxp0FKVvPQd7uqrBnL9fj4,8996
|
|
115
|
-
anemoi/datasets/data/dataset.py,sha256=
|
|
115
|
+
anemoi/datasets/data/dataset.py,sha256=it02CVYdzU9QXSkU9jVR9BTWv-JDMlnH0ujyIgf40pM,32326
|
|
116
116
|
anemoi/datasets/data/debug.css,sha256=z2X_ZDSnZ9C3pyZPWnQiEyAxuMxUaxJxET4oaCImTAQ,211
|
|
117
117
|
anemoi/datasets/data/debug.py,sha256=hVa1jAQ-TK7CoKJNyyUC0eZPobFG-FpkVXEaO_3B-MA,10796
|
|
118
118
|
anemoi/datasets/data/ensemble.py,sha256=-36kMjuT2y5jUeSnjCRTCyE4um6DLAADBVSKSTkHZZg,5352
|
|
@@ -124,21 +124,27 @@ anemoi/datasets/data/interpolate.py,sha256=-kSYwdjKH7zJtfITdbqdH6KyOFGVZDyHg4TaF
|
|
|
124
124
|
anemoi/datasets/data/join.py,sha256=ZEHOsCecKBkKKH-vki404Sm7r7cV368ECO7PXPpay3s,9212
|
|
125
125
|
anemoi/datasets/data/masked.py,sha256=giOvHLcGbLf6mZPqZjAxQd1kvydmkepDFh2EqchXLTQ,10213
|
|
126
126
|
anemoi/datasets/data/merge.py,sha256=SvQhJHf-C-Kn7hEjFqomienk-epPPjMtoccRNCJpMtw,8733
|
|
127
|
-
anemoi/datasets/data/misc.py,sha256=
|
|
127
|
+
anemoi/datasets/data/misc.py,sha256=x9E8qDqd7Z7blkva6Giu7RtzF0PtKeL8YSzpxvhPw1k,22899
|
|
128
128
|
anemoi/datasets/data/missing.py,sha256=ogfVDponbs0bGHMxps32Fj_fq4gT26R70yEMco5gdK8,12593
|
|
129
|
+
anemoi/datasets/data/padded.py,sha256=BYTLDNRatjEB2lri9IlLcMsFgxnQT2F5rZ0XxExjE7c,7881
|
|
129
130
|
anemoi/datasets/data/rescale.py,sha256=nGfJ5tWCncMJ7NMXkLbmt6z0ELrD6FxpbjJreQ3W91g,7004
|
|
130
131
|
anemoi/datasets/data/select.py,sha256=Xs6uOzJL0CoOGeWA_E5_ukr8Jav2kXbZ41vhk7Vr8PE,8277
|
|
131
132
|
anemoi/datasets/data/statistics.py,sha256=Hi9tPtNPBFaD0jcBa5vxoZp1radEMS-1RXwA3RbWrK8,3173
|
|
132
133
|
anemoi/datasets/data/stores.py,sha256=9RuNKbBv3SeEKRME63GZKzlJonMlvvyQk6F4xhSheL4,20023
|
|
133
|
-
anemoi/datasets/data/subset.py,sha256=
|
|
134
|
+
anemoi/datasets/data/subset.py,sha256=hEYRSc1QOdtJJpIWy85ZuZ9a6UNk-Eo9vAYsgRg2UPs,8950
|
|
134
135
|
anemoi/datasets/data/unchecked.py,sha256=c7YIa9gFxOOjqyyOqrhGaFWQ1pN7_0W1Q8ABUTkI8e8,7311
|
|
135
136
|
anemoi/datasets/data/xy.py,sha256=-jWzYismrK3eI3YCKIBpU1BCmraRncmVn0_2IUY--lk,7579
|
|
137
|
+
anemoi/datasets/data/observations/__init__.py,sha256=zpYL-WEws9FZ6QwAfj8kcZXL0d7uZuSrMTxZ6wY3npg,11260
|
|
138
|
+
anemoi/datasets/data/observations/legacy_obs_dataset.py,sha256=6Aj32XWmNmCsd0azhuB6aDcpDaJ7lRdgJ9KWlU9fXxs,7342
|
|
139
|
+
anemoi/datasets/data/observations/multi.py,sha256=nDeN99LRNVyjUCNTFCL3R7iAQNsf1tSen-fSw9-VsiY,2184
|
|
140
|
+
anemoi/datasets/data/records/__init__.py,sha256=lWJBukNArbBBdcfG8bh5MzJoSOjk5Fi8zcwHWo5a0I8,12405
|
|
141
|
+
anemoi/datasets/data/records/backends/__init__.py,sha256=KAbzMflpo9ZFAComabAdYTNgbtr1mrrSFBQaUlQoLfs,5247
|
|
136
142
|
anemoi/datasets/dates/__init__.py,sha256=pEArHDQ7w5E0WC8Vvf9ypyKSdm6gnhoN9TmooITB7C4,13617
|
|
137
143
|
anemoi/datasets/dates/groups.py,sha256=IOveL6IyTXZwEdXZEnRAnpu9pINY95VN7LzcpLfJ09E,10105
|
|
138
144
|
anemoi/datasets/utils/__init__.py,sha256=hCW0QcLHJmE-C1r38P27_ZOvCLNewex5iQEtZqx2ckI,393
|
|
139
|
-
anemoi_datasets-0.5.
|
|
140
|
-
anemoi_datasets-0.5.
|
|
141
|
-
anemoi_datasets-0.5.
|
|
142
|
-
anemoi_datasets-0.5.
|
|
143
|
-
anemoi_datasets-0.5.
|
|
144
|
-
anemoi_datasets-0.5.
|
|
145
|
+
anemoi_datasets-0.5.25.dist-info/licenses/LICENSE,sha256=8HznKF1Vi2IvfLsKNE5A2iVyiri3pRjRPvPC9kxs6qk,11354
|
|
146
|
+
anemoi_datasets-0.5.25.dist-info/METADATA,sha256=MEaQXIH1xPVFBOPzI3z1zmYcxgLBZ37gKHVSfXhdzxs,16107
|
|
147
|
+
anemoi_datasets-0.5.25.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
148
|
+
anemoi_datasets-0.5.25.dist-info/entry_points.txt,sha256=yR-o-4uiPEA_GLBL81SkMYnUoxq3CAV3hHulQiRtGG0,66
|
|
149
|
+
anemoi_datasets-0.5.25.dist-info/top_level.txt,sha256=DYn8VPs-fNwr7fNH9XIBqeXIwiYYd2E2k5-dUFFqUz0,7
|
|
150
|
+
anemoi_datasets-0.5.25.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|