vortex-nwp 2.0.0b1__py3-none-any.whl → 2.0.0b2__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.
- vortex/__init__.py +59 -45
- vortex/algo/__init__.py +3 -2
- vortex/algo/components.py +940 -614
- vortex/algo/mpitools.py +802 -497
- vortex/algo/serversynctools.py +34 -33
- vortex/config.py +19 -22
- vortex/data/__init__.py +9 -3
- vortex/data/abstractstores.py +593 -655
- vortex/data/containers.py +217 -162
- vortex/data/contents.py +65 -39
- vortex/data/executables.py +93 -102
- vortex/data/flow.py +40 -34
- vortex/data/geometries.py +228 -132
- vortex/data/handlers.py +428 -225
- vortex/data/outflow.py +15 -15
- vortex/data/providers.py +185 -163
- vortex/data/resources.py +48 -42
- vortex/data/stores.py +544 -413
- vortex/gloves.py +114 -87
- vortex/layout/__init__.py +1 -8
- vortex/layout/contexts.py +150 -84
- vortex/layout/dataflow.py +353 -202
- vortex/layout/monitor.py +264 -128
- vortex/nwp/__init__.py +5 -2
- vortex/nwp/algo/__init__.py +14 -5
- vortex/nwp/algo/assim.py +205 -151
- vortex/nwp/algo/clim.py +683 -517
- vortex/nwp/algo/coupling.py +447 -225
- vortex/nwp/algo/eda.py +437 -229
- vortex/nwp/algo/eps.py +403 -231
- vortex/nwp/algo/forecasts.py +420 -271
- vortex/nwp/algo/fpserver.py +683 -307
- vortex/nwp/algo/ifsnaming.py +205 -145
- vortex/nwp/algo/ifsroot.py +210 -122
- vortex/nwp/algo/monitoring.py +132 -76
- vortex/nwp/algo/mpitools.py +321 -191
- vortex/nwp/algo/odbtools.py +617 -353
- vortex/nwp/algo/oopsroot.py +449 -273
- vortex/nwp/algo/oopstests.py +90 -56
- vortex/nwp/algo/request.py +287 -206
- vortex/nwp/algo/stdpost.py +878 -522
- vortex/nwp/data/__init__.py +22 -4
- vortex/nwp/data/assim.py +125 -137
- vortex/nwp/data/boundaries.py +121 -68
- vortex/nwp/data/climfiles.py +193 -211
- vortex/nwp/data/configfiles.py +73 -69
- vortex/nwp/data/consts.py +426 -401
- vortex/nwp/data/ctpini.py +59 -43
- vortex/nwp/data/diagnostics.py +94 -66
- vortex/nwp/data/eda.py +50 -51
- vortex/nwp/data/eps.py +195 -146
- vortex/nwp/data/executables.py +440 -434
- vortex/nwp/data/fields.py +63 -48
- vortex/nwp/data/gridfiles.py +183 -111
- vortex/nwp/data/logs.py +250 -217
- vortex/nwp/data/modelstates.py +180 -151
- vortex/nwp/data/monitoring.py +72 -99
- vortex/nwp/data/namelists.py +254 -202
- vortex/nwp/data/obs.py +400 -308
- vortex/nwp/data/oopsexec.py +22 -20
- vortex/nwp/data/providers.py +90 -65
- vortex/nwp/data/query.py +71 -82
- vortex/nwp/data/stores.py +49 -36
- vortex/nwp/data/surfex.py +136 -137
- vortex/nwp/syntax/__init__.py +1 -1
- vortex/nwp/syntax/stdattrs.py +173 -111
- vortex/nwp/tools/__init__.py +2 -2
- vortex/nwp/tools/addons.py +22 -17
- vortex/nwp/tools/agt.py +24 -12
- vortex/nwp/tools/bdap.py +16 -5
- vortex/nwp/tools/bdcp.py +4 -1
- vortex/nwp/tools/bdm.py +3 -0
- vortex/nwp/tools/bdmp.py +14 -9
- vortex/nwp/tools/conftools.py +728 -378
- vortex/nwp/tools/drhook.py +12 -8
- vortex/nwp/tools/grib.py +65 -39
- vortex/nwp/tools/gribdiff.py +22 -17
- vortex/nwp/tools/ifstools.py +82 -42
- vortex/nwp/tools/igastuff.py +167 -143
- vortex/nwp/tools/mars.py +14 -2
- vortex/nwp/tools/odb.py +234 -125
- vortex/nwp/tools/partitioning.py +61 -37
- vortex/nwp/tools/satrad.py +27 -12
- vortex/nwp/util/async.py +83 -55
- vortex/nwp/util/beacon.py +10 -10
- vortex/nwp/util/diffpygram.py +174 -86
- vortex/nwp/util/ens.py +144 -63
- vortex/nwp/util/hooks.py +30 -19
- vortex/nwp/util/taskdeco.py +28 -24
- vortex/nwp/util/usepygram.py +278 -172
- vortex/nwp/util/usetnt.py +31 -17
- vortex/sessions.py +72 -39
- vortex/syntax/__init__.py +1 -1
- vortex/syntax/stdattrs.py +410 -171
- vortex/syntax/stddeco.py +31 -22
- vortex/toolbox.py +327 -192
- vortex/tools/__init__.py +11 -2
- vortex/tools/actions.py +125 -59
- vortex/tools/addons.py +111 -92
- vortex/tools/arm.py +42 -22
- vortex/tools/compression.py +72 -69
- vortex/tools/date.py +11 -4
- vortex/tools/delayedactions.py +242 -132
- vortex/tools/env.py +75 -47
- vortex/tools/folder.py +342 -171
- vortex/tools/grib.py +311 -149
- vortex/tools/lfi.py +423 -216
- vortex/tools/listings.py +109 -40
- vortex/tools/names.py +218 -156
- vortex/tools/net.py +632 -298
- vortex/tools/parallelism.py +93 -61
- vortex/tools/prestaging.py +55 -31
- vortex/tools/schedulers.py +172 -105
- vortex/tools/services.py +402 -333
- vortex/tools/storage.py +293 -358
- vortex/tools/surfex.py +24 -24
- vortex/tools/systems.py +1211 -631
- vortex/tools/targets.py +156 -100
- vortex/util/__init__.py +1 -1
- vortex/util/config.py +377 -327
- vortex/util/empty.py +2 -2
- vortex/util/helpers.py +56 -24
- vortex/util/introspection.py +18 -12
- vortex/util/iosponge.py +8 -4
- vortex/util/roles.py +4 -6
- vortex/util/storefunctions.py +39 -13
- vortex/util/structs.py +3 -3
- vortex/util/worker.py +29 -17
- vortex_nwp-2.0.0b2.dist-info/METADATA +66 -0
- vortex_nwp-2.0.0b2.dist-info/RECORD +142 -0
- {vortex_nwp-2.0.0b1.dist-info → vortex_nwp-2.0.0b2.dist-info}/WHEEL +1 -1
- vortex/layout/appconf.py +0 -109
- vortex/layout/jobs.py +0 -1276
- vortex/layout/nodes.py +0 -1424
- vortex/layout/subjobs.py +0 -464
- vortex_nwp-2.0.0b1.dist-info/METADATA +0 -50
- vortex_nwp-2.0.0b1.dist-info/RECORD +0 -146
- {vortex_nwp-2.0.0b1.dist-info → vortex_nwp-2.0.0b2.dist-info}/LICENSE +0 -0
- {vortex_nwp-2.0.0b1.dist-info → vortex_nwp-2.0.0b2.dist-info}/top_level.txt +0 -0
vortex/nwp/data/climfiles.py
CHANGED
|
@@ -12,32 +12,31 @@ from ..syntax.stdattrs import gvar, gdomain
|
|
|
12
12
|
__all__ = []
|
|
13
13
|
|
|
14
14
|
|
|
15
|
-
@namebuilding_insert(
|
|
15
|
+
@namebuilding_insert("radical", lambda s: "clim")
|
|
16
16
|
class GenericClim(ModelGeoResource):
|
|
17
17
|
"""Abstract class for a model climatology.
|
|
18
18
|
|
|
19
19
|
An HorizontalGeometry object is needed. A Genvkey can be given.
|
|
20
20
|
"""
|
|
21
|
+
|
|
21
22
|
_abstract = True
|
|
22
23
|
_footprint = [
|
|
23
24
|
gvar,
|
|
24
25
|
dict(
|
|
25
|
-
info
|
|
26
|
-
attr
|
|
27
|
-
kind
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
values = ['fa'],
|
|
32
|
-
default = 'fa',
|
|
26
|
+
info="Model climatology",
|
|
27
|
+
attr=dict(
|
|
28
|
+
kind=dict(values=["clim_model"]),
|
|
29
|
+
nativefmt=dict(
|
|
30
|
+
values=["fa"],
|
|
31
|
+
default="fa",
|
|
33
32
|
),
|
|
34
|
-
)
|
|
35
|
-
)
|
|
33
|
+
),
|
|
34
|
+
),
|
|
36
35
|
]
|
|
37
36
|
|
|
38
37
|
@property
|
|
39
38
|
def realkind(self):
|
|
40
|
-
return
|
|
39
|
+
return "clim_model"
|
|
41
40
|
|
|
42
41
|
@property
|
|
43
42
|
def truncation(self):
|
|
@@ -46,7 +45,7 @@ class GenericClim(ModelGeoResource):
|
|
|
46
45
|
|
|
47
46
|
def olive_basename(self):
|
|
48
47
|
"""OLIVE specific naming convention."""
|
|
49
|
-
return
|
|
48
|
+
return "Const.Clim"
|
|
50
49
|
|
|
51
50
|
|
|
52
51
|
class GlobalClim(GenericClim):
|
|
@@ -54,16 +53,13 @@ class GlobalClim(GenericClim):
|
|
|
54
53
|
|
|
55
54
|
A SpectralGeometry object is needed. A Genvkey can be given.
|
|
56
55
|
"""
|
|
56
|
+
|
|
57
57
|
_footprint = dict(
|
|
58
|
-
info
|
|
59
|
-
attr
|
|
60
|
-
model
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
gvar = dict(
|
|
64
|
-
default = 'clim_[model]_[geometry::gco_grid_def]'
|
|
65
|
-
),
|
|
66
|
-
)
|
|
58
|
+
info="Model climatology for Global Models",
|
|
59
|
+
attr=dict(
|
|
60
|
+
model=dict(values=["arpege"]),
|
|
61
|
+
gvar=dict(default="clim_[model]_[geometry::gco_grid_def]"),
|
|
62
|
+
),
|
|
67
63
|
)
|
|
68
64
|
|
|
69
65
|
|
|
@@ -76,8 +72,8 @@ class MonthlyGlobalClim(GlobalClim):
|
|
|
76
72
|
_footprint = [
|
|
77
73
|
month_deco,
|
|
78
74
|
dict(
|
|
79
|
-
info
|
|
80
|
-
)
|
|
75
|
+
info="Monthly model climatology for Global Models",
|
|
76
|
+
),
|
|
81
77
|
]
|
|
82
78
|
|
|
83
79
|
|
|
@@ -87,19 +83,18 @@ class ClimLAM(GenericClim):
|
|
|
87
83
|
A SpectralGeometry object is needed. A Genvkey can be given
|
|
88
84
|
with a default name retrieved thanks to a GenvDomain object.
|
|
89
85
|
"""
|
|
86
|
+
|
|
90
87
|
_footprint = [
|
|
91
88
|
gdomain,
|
|
92
89
|
dict(
|
|
93
|
-
info
|
|
94
|
-
attr
|
|
95
|
-
model
|
|
96
|
-
values
|
|
97
|
-
),
|
|
98
|
-
gvar = dict(
|
|
99
|
-
default = 'clim_[geometry::gco_grid_def]'
|
|
90
|
+
info="Model climatology for Local Area Models",
|
|
91
|
+
attr=dict(
|
|
92
|
+
model=dict(
|
|
93
|
+
values=["aladin", "arome", "alaro", "harmoniearome"]
|
|
100
94
|
),
|
|
101
|
-
|
|
102
|
-
|
|
95
|
+
gvar=dict(default="clim_[geometry::gco_grid_def]"),
|
|
96
|
+
),
|
|
97
|
+
),
|
|
103
98
|
]
|
|
104
99
|
|
|
105
100
|
|
|
@@ -113,8 +108,8 @@ class MonthlyClimLAM(ClimLAM):
|
|
|
113
108
|
_footprint = [
|
|
114
109
|
month_deco,
|
|
115
110
|
dict(
|
|
116
|
-
info
|
|
117
|
-
)
|
|
111
|
+
info="Monthly model climatology for Local Area Models",
|
|
112
|
+
),
|
|
118
113
|
]
|
|
119
114
|
|
|
120
115
|
|
|
@@ -124,27 +119,24 @@ class ClimBDAP(GenericClim):
|
|
|
124
119
|
A LonlatGeometry object is needed. A Genvkey can be given
|
|
125
120
|
with a default name retrieved thanks to a GenvDomain object.
|
|
126
121
|
"""
|
|
122
|
+
|
|
127
123
|
_footprint = [
|
|
128
124
|
gdomain,
|
|
129
125
|
dict(
|
|
130
|
-
info
|
|
131
|
-
attr
|
|
132
|
-
kind
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
geometry = dict(
|
|
136
|
-
type = LonlatGeometry,
|
|
126
|
+
info="Bdap climatology",
|
|
127
|
+
attr=dict(
|
|
128
|
+
kind=dict(values=["clim_bdap"]),
|
|
129
|
+
geometry=dict(
|
|
130
|
+
type=LonlatGeometry,
|
|
137
131
|
),
|
|
138
|
-
gvar
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
)
|
|
142
|
-
)
|
|
132
|
+
gvar=dict(default="clim_dap_[gdomain]"),
|
|
133
|
+
),
|
|
134
|
+
),
|
|
143
135
|
]
|
|
144
136
|
|
|
145
137
|
@property
|
|
146
138
|
def realkind(self):
|
|
147
|
-
return
|
|
139
|
+
return "clim_bdap"
|
|
148
140
|
|
|
149
141
|
|
|
150
142
|
class MonthlyClimBDAP(ClimBDAP):
|
|
@@ -157,8 +149,8 @@ class MonthlyClimBDAP(ClimBDAP):
|
|
|
157
149
|
_footprint = [
|
|
158
150
|
month_deco,
|
|
159
151
|
dict(
|
|
160
|
-
info
|
|
161
|
-
)
|
|
152
|
+
info="Monthly Bdap climatology",
|
|
153
|
+
),
|
|
162
154
|
]
|
|
163
155
|
|
|
164
156
|
|
|
@@ -170,30 +162,29 @@ class GTOPO30DerivedDB(StaticGeoResource):
|
|
|
170
162
|
|
|
171
163
|
A Genvkey can be given.
|
|
172
164
|
"""
|
|
165
|
+
|
|
173
166
|
_footprint = [
|
|
174
167
|
gvar,
|
|
175
168
|
dict(
|
|
176
|
-
info
|
|
177
|
-
attr
|
|
178
|
-
kind
|
|
179
|
-
values
|
|
169
|
+
info="Database for GTOPO30-derived parameters.",
|
|
170
|
+
attr=dict(
|
|
171
|
+
kind=dict(
|
|
172
|
+
values=["misc_orography"],
|
|
180
173
|
),
|
|
181
|
-
source
|
|
182
|
-
values
|
|
174
|
+
source=dict(
|
|
175
|
+
values=["GTOPO30"],
|
|
183
176
|
),
|
|
184
|
-
geometry
|
|
185
|
-
values
|
|
177
|
+
geometry=dict(
|
|
178
|
+
values=["global2m5"],
|
|
186
179
|
),
|
|
187
|
-
gvar
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
)
|
|
191
|
-
)
|
|
180
|
+
gvar=dict(default="[source]_[kind]"),
|
|
181
|
+
),
|
|
182
|
+
),
|
|
192
183
|
]
|
|
193
184
|
|
|
194
185
|
@property
|
|
195
186
|
def realkind(self):
|
|
196
|
-
return
|
|
187
|
+
return "misc_orography"
|
|
197
188
|
|
|
198
189
|
|
|
199
190
|
class UrbanisationDB(StaticGeoResource):
|
|
@@ -201,30 +192,29 @@ class UrbanisationDB(StaticGeoResource):
|
|
|
201
192
|
|
|
202
193
|
A Genvkey can be given.
|
|
203
194
|
"""
|
|
195
|
+
|
|
204
196
|
_footprint = [
|
|
205
197
|
gvar,
|
|
206
198
|
dict(
|
|
207
|
-
info
|
|
208
|
-
attr
|
|
209
|
-
kind
|
|
210
|
-
values
|
|
211
|
-
),
|
|
212
|
-
source = dict(
|
|
213
|
-
type = str,
|
|
199
|
+
info="Database for urbanisation.",
|
|
200
|
+
attr=dict(
|
|
201
|
+
kind=dict(
|
|
202
|
+
values=["urbanisation"],
|
|
214
203
|
),
|
|
215
|
-
|
|
216
|
-
|
|
204
|
+
source=dict(
|
|
205
|
+
type=str,
|
|
217
206
|
),
|
|
218
|
-
|
|
219
|
-
|
|
207
|
+
geometry=dict(
|
|
208
|
+
values=["global2m5"],
|
|
220
209
|
),
|
|
221
|
-
|
|
222
|
-
|
|
210
|
+
gvar=dict(default="[source]_[kind]"),
|
|
211
|
+
),
|
|
212
|
+
),
|
|
223
213
|
]
|
|
224
214
|
|
|
225
215
|
@property
|
|
226
216
|
def realkind(self):
|
|
227
|
-
return
|
|
217
|
+
return "urbanisation"
|
|
228
218
|
|
|
229
219
|
|
|
230
220
|
class WaterPercentageDB(StaticGeoResource):
|
|
@@ -232,30 +222,29 @@ class WaterPercentageDB(StaticGeoResource):
|
|
|
232
222
|
|
|
233
223
|
A Genvkey can be given.
|
|
234
224
|
"""
|
|
225
|
+
|
|
235
226
|
_footprint = [
|
|
236
227
|
gvar,
|
|
237
228
|
dict(
|
|
238
|
-
info
|
|
239
|
-
attr
|
|
240
|
-
kind
|
|
241
|
-
values
|
|
242
|
-
),
|
|
243
|
-
source = dict(
|
|
244
|
-
type = str,
|
|
229
|
+
info="Database for water percentage.",
|
|
230
|
+
attr=dict(
|
|
231
|
+
kind=dict(
|
|
232
|
+
values=["water_percentage"],
|
|
245
233
|
),
|
|
246
|
-
|
|
247
|
-
|
|
234
|
+
source=dict(
|
|
235
|
+
type=str,
|
|
248
236
|
),
|
|
249
|
-
|
|
250
|
-
|
|
237
|
+
geometry=dict(
|
|
238
|
+
values=["global2m5"],
|
|
251
239
|
),
|
|
252
|
-
|
|
253
|
-
|
|
240
|
+
gvar=dict(default="[source]_[kind]"),
|
|
241
|
+
),
|
|
242
|
+
),
|
|
254
243
|
]
|
|
255
244
|
|
|
256
245
|
@property
|
|
257
246
|
def realkind(self):
|
|
258
|
-
return
|
|
247
|
+
return "water_percentage"
|
|
259
248
|
|
|
260
249
|
|
|
261
250
|
class SoilANdVegDB(StaticGeoResource):
|
|
@@ -263,30 +252,29 @@ class SoilANdVegDB(StaticGeoResource):
|
|
|
263
252
|
|
|
264
253
|
A Genvkey can be given.
|
|
265
254
|
"""
|
|
255
|
+
|
|
266
256
|
_footprint = [
|
|
267
257
|
gvar,
|
|
268
258
|
dict(
|
|
269
|
-
info
|
|
270
|
-
attr
|
|
271
|
-
kind
|
|
272
|
-
values
|
|
273
|
-
),
|
|
274
|
-
source = dict(
|
|
275
|
-
type = str,
|
|
259
|
+
info="Database for Soil and Vegetation.",
|
|
260
|
+
attr=dict(
|
|
261
|
+
kind=dict(
|
|
262
|
+
values=["soil_and_veg"],
|
|
276
263
|
),
|
|
277
|
-
|
|
278
|
-
|
|
264
|
+
source=dict(
|
|
265
|
+
type=str,
|
|
279
266
|
),
|
|
280
|
-
|
|
281
|
-
|
|
267
|
+
geometry=dict(
|
|
268
|
+
values=["global1dg", "europeb01"],
|
|
282
269
|
),
|
|
283
|
-
|
|
284
|
-
|
|
270
|
+
gvar=dict(default="[source]_[kind]"),
|
|
271
|
+
),
|
|
272
|
+
),
|
|
285
273
|
]
|
|
286
274
|
|
|
287
275
|
@property
|
|
288
276
|
def realkind(self):
|
|
289
|
-
return
|
|
277
|
+
return "soil_and_veg"
|
|
290
278
|
|
|
291
279
|
|
|
292
280
|
class MonthlyLAIDB(StaticGeoResource):
|
|
@@ -294,31 +282,30 @@ class MonthlyLAIDB(StaticGeoResource):
|
|
|
294
282
|
|
|
295
283
|
A Genvkey can be given.
|
|
296
284
|
"""
|
|
285
|
+
|
|
297
286
|
_footprint = [
|
|
298
287
|
gvar,
|
|
299
288
|
month_deco,
|
|
300
289
|
dict(
|
|
301
|
-
info
|
|
302
|
-
attr
|
|
303
|
-
kind
|
|
304
|
-
values
|
|
305
|
-
),
|
|
306
|
-
source = dict(
|
|
307
|
-
type = str,
|
|
290
|
+
info="Database for monthly LAI.",
|
|
291
|
+
attr=dict(
|
|
292
|
+
kind=dict(
|
|
293
|
+
values=["LAI"],
|
|
308
294
|
),
|
|
309
|
-
|
|
310
|
-
|
|
295
|
+
source=dict(
|
|
296
|
+
type=str,
|
|
311
297
|
),
|
|
312
|
-
|
|
313
|
-
|
|
298
|
+
geometry=dict(
|
|
299
|
+
values=["global1dg", "europeb01"],
|
|
314
300
|
),
|
|
315
|
-
|
|
316
|
-
|
|
301
|
+
gvar=dict(default="[source]_[kind]"),
|
|
302
|
+
),
|
|
303
|
+
),
|
|
317
304
|
]
|
|
318
305
|
|
|
319
306
|
@property
|
|
320
307
|
def realkind(self):
|
|
321
|
-
return
|
|
308
|
+
return "LAI"
|
|
322
309
|
|
|
323
310
|
|
|
324
311
|
class MonthlyVegDB(StaticGeoResource):
|
|
@@ -326,31 +313,30 @@ class MonthlyVegDB(StaticGeoResource):
|
|
|
326
313
|
|
|
327
314
|
A Genvkey can be given.
|
|
328
315
|
"""
|
|
316
|
+
|
|
329
317
|
_footprint = [
|
|
330
318
|
gvar,
|
|
331
319
|
month_deco,
|
|
332
320
|
dict(
|
|
333
|
-
info
|
|
334
|
-
attr
|
|
335
|
-
kind
|
|
336
|
-
values
|
|
337
|
-
),
|
|
338
|
-
source = dict(
|
|
339
|
-
type = str,
|
|
321
|
+
info="Database for monthly vegetation.",
|
|
322
|
+
attr=dict(
|
|
323
|
+
kind=dict(
|
|
324
|
+
values=["vegetation"],
|
|
340
325
|
),
|
|
341
|
-
|
|
342
|
-
|
|
326
|
+
source=dict(
|
|
327
|
+
type=str,
|
|
343
328
|
),
|
|
344
|
-
|
|
345
|
-
|
|
329
|
+
geometry=dict(
|
|
330
|
+
values=["global1dg", "europeb01"],
|
|
346
331
|
),
|
|
347
|
-
|
|
348
|
-
|
|
332
|
+
gvar=dict(default="[source]_[kind]"),
|
|
333
|
+
),
|
|
334
|
+
),
|
|
349
335
|
]
|
|
350
336
|
|
|
351
337
|
@property
|
|
352
338
|
def realkind(self):
|
|
353
|
-
return
|
|
339
|
+
return "vegetation"
|
|
354
340
|
|
|
355
341
|
|
|
356
342
|
class SoilClimatologyDB(StaticGeoResource):
|
|
@@ -360,30 +346,29 @@ class SoilClimatologyDB(StaticGeoResource):
|
|
|
360
346
|
|
|
361
347
|
A Genvkey can be given.
|
|
362
348
|
"""
|
|
349
|
+
|
|
363
350
|
_footprint = [
|
|
364
351
|
gvar,
|
|
365
352
|
dict(
|
|
366
|
-
info
|
|
367
|
-
attr
|
|
368
|
-
kind
|
|
369
|
-
values
|
|
353
|
+
info="Database for soil climatology parameters.",
|
|
354
|
+
attr=dict(
|
|
355
|
+
kind=dict(
|
|
356
|
+
values=["soil_clim"],
|
|
370
357
|
),
|
|
371
|
-
source
|
|
372
|
-
type
|
|
358
|
+
source=dict(
|
|
359
|
+
type=str,
|
|
373
360
|
),
|
|
374
|
-
geometry
|
|
375
|
-
values
|
|
361
|
+
geometry=dict(
|
|
362
|
+
values=["globaln108", "global1dg"],
|
|
376
363
|
),
|
|
377
|
-
gvar
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
)
|
|
381
|
-
)
|
|
364
|
+
gvar=dict(default="[source]_[kind]"),
|
|
365
|
+
),
|
|
366
|
+
),
|
|
382
367
|
]
|
|
383
368
|
|
|
384
369
|
@property
|
|
385
370
|
def realkind(self):
|
|
386
|
-
return
|
|
371
|
+
return "soil_clim"
|
|
387
372
|
|
|
388
373
|
|
|
389
374
|
class SurfGeopotentialDB(StaticGeoResource):
|
|
@@ -393,30 +378,29 @@ class SurfGeopotentialDB(StaticGeoResource):
|
|
|
393
378
|
|
|
394
379
|
A Genvkey can be given.
|
|
395
380
|
"""
|
|
381
|
+
|
|
396
382
|
_footprint = [
|
|
397
383
|
gvar,
|
|
398
384
|
dict(
|
|
399
|
-
info
|
|
400
|
-
attr
|
|
401
|
-
kind
|
|
402
|
-
values
|
|
385
|
+
info="Database for surface geopotential.",
|
|
386
|
+
attr=dict(
|
|
387
|
+
kind=dict(
|
|
388
|
+
values=["surfgeopotential"],
|
|
403
389
|
),
|
|
404
|
-
source
|
|
405
|
-
type
|
|
390
|
+
source=dict(
|
|
391
|
+
type=str,
|
|
406
392
|
),
|
|
407
|
-
geometry
|
|
408
|
-
values
|
|
393
|
+
geometry=dict(
|
|
394
|
+
values=["global1dg"],
|
|
409
395
|
),
|
|
410
|
-
gvar
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
)
|
|
414
|
-
)
|
|
396
|
+
gvar=dict(default="[source]_[kind]"),
|
|
397
|
+
),
|
|
398
|
+
),
|
|
415
399
|
]
|
|
416
400
|
|
|
417
401
|
@property
|
|
418
402
|
def realkind(self):
|
|
419
|
-
return
|
|
403
|
+
return "surfgeopotential"
|
|
420
404
|
|
|
421
405
|
|
|
422
406
|
class MonthlySoilClimatologyDB(SoilClimatologyDB):
|
|
@@ -426,11 +410,12 @@ class MonthlySoilClimatologyDB(SoilClimatologyDB):
|
|
|
426
410
|
|
|
427
411
|
A Genvkey can be given.
|
|
428
412
|
"""
|
|
413
|
+
|
|
429
414
|
_footprint = [
|
|
430
415
|
month_deco,
|
|
431
416
|
dict(
|
|
432
|
-
info
|
|
433
|
-
)
|
|
417
|
+
info="Database for monthly soil climatology parameters.",
|
|
418
|
+
),
|
|
434
419
|
]
|
|
435
420
|
|
|
436
421
|
|
|
@@ -441,26 +426,25 @@ class MonthlyChemicalDB(StaticGeoResource):
|
|
|
441
426
|
|
|
442
427
|
A Genvkey can be given.
|
|
443
428
|
"""
|
|
429
|
+
|
|
444
430
|
_footprint = [
|
|
445
431
|
gvar,
|
|
446
432
|
month_deco,
|
|
447
433
|
dict(
|
|
448
|
-
info
|
|
449
|
-
attr
|
|
450
|
-
kind
|
|
451
|
-
values
|
|
452
|
-
),
|
|
453
|
-
source = dict(
|
|
454
|
-
type = str,
|
|
434
|
+
info="Database for monthly chemicals.",
|
|
435
|
+
attr=dict(
|
|
436
|
+
kind=dict(
|
|
437
|
+
values=["ozone", "aerosols"],
|
|
455
438
|
),
|
|
456
|
-
|
|
457
|
-
|
|
439
|
+
source=dict(
|
|
440
|
+
type=str,
|
|
458
441
|
),
|
|
459
|
-
|
|
460
|
-
|
|
442
|
+
geometry=dict(
|
|
443
|
+
values=["global2dg5", "global5x4"],
|
|
461
444
|
),
|
|
462
|
-
|
|
463
|
-
|
|
445
|
+
gvar=dict(default="[source]_[kind]"),
|
|
446
|
+
),
|
|
447
|
+
),
|
|
464
448
|
]
|
|
465
449
|
|
|
466
450
|
@property
|
|
@@ -472,23 +456,23 @@ class GeometryIllustration(StaticGeoResource):
|
|
|
472
456
|
"""Illustration of a domain geographic coverage."""
|
|
473
457
|
|
|
474
458
|
_footprint = dict(
|
|
475
|
-
info
|
|
476
|
-
attr
|
|
477
|
-
kind
|
|
478
|
-
values
|
|
459
|
+
info="Illustration of a domain geographic coverage.",
|
|
460
|
+
attr=dict(
|
|
461
|
+
kind=dict(
|
|
462
|
+
values=["geometry_plot"],
|
|
479
463
|
),
|
|
480
|
-
nativefmt
|
|
481
|
-
values
|
|
464
|
+
nativefmt=dict(
|
|
465
|
+
values=["png", "pdf"],
|
|
482
466
|
),
|
|
483
|
-
)
|
|
467
|
+
),
|
|
484
468
|
)
|
|
485
469
|
|
|
486
470
|
@property
|
|
487
471
|
def realkind(self):
|
|
488
|
-
return
|
|
472
|
+
return "geometry_plot"
|
|
489
473
|
|
|
490
474
|
|
|
491
|
-
@namebuilding_append(
|
|
475
|
+
@namebuilding_append("src", lambda s: [s.stat, s.level, s.nbfiles])
|
|
492
476
|
class Stabal(ModelGeoResource):
|
|
493
477
|
"""Spectral covariance operators.
|
|
494
478
|
|
|
@@ -503,35 +487,33 @@ class Stabal(ModelGeoResource):
|
|
|
503
487
|
_footprint = [
|
|
504
488
|
gvar,
|
|
505
489
|
dict(
|
|
506
|
-
info
|
|
507
|
-
attr
|
|
508
|
-
kind
|
|
509
|
-
values
|
|
510
|
-
),
|
|
511
|
-
stat
|
|
512
|
-
values
|
|
513
|
-
),
|
|
514
|
-
level
|
|
515
|
-
type
|
|
516
|
-
optional
|
|
517
|
-
default
|
|
518
|
-
values
|
|
519
|
-
),
|
|
520
|
-
nbfiles
|
|
521
|
-
default
|
|
522
|
-
optional
|
|
523
|
-
type
|
|
524
|
-
),
|
|
525
|
-
gvar
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
)
|
|
529
|
-
)
|
|
490
|
+
info="Spectral covariance operators",
|
|
491
|
+
attr=dict(
|
|
492
|
+
kind=dict(
|
|
493
|
+
values=["stabal"],
|
|
494
|
+
),
|
|
495
|
+
stat=dict(
|
|
496
|
+
values=["bal", "cv", "cvt"],
|
|
497
|
+
),
|
|
498
|
+
level=dict(
|
|
499
|
+
type=int,
|
|
500
|
+
optional=True,
|
|
501
|
+
default=96,
|
|
502
|
+
values=[41, 96],
|
|
503
|
+
),
|
|
504
|
+
nbfiles=dict(
|
|
505
|
+
default=0,
|
|
506
|
+
optional=True,
|
|
507
|
+
type=int,
|
|
508
|
+
),
|
|
509
|
+
gvar=dict(default="stabal[level]_[stat]"),
|
|
510
|
+
),
|
|
511
|
+
),
|
|
530
512
|
]
|
|
531
513
|
|
|
532
514
|
@property
|
|
533
515
|
def realkind(self):
|
|
534
|
-
return
|
|
516
|
+
return "stabal"
|
|
535
517
|
|
|
536
518
|
@property
|
|
537
519
|
def truncation(self):
|