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/syntax/stddeco.py
CHANGED
|
@@ -5,7 +5,9 @@ attribute.
|
|
|
5
5
|
"""
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
def namebuilding_insert(
|
|
8
|
+
def namebuilding_insert(
|
|
9
|
+
targetkey, valuecb, none_discard=False, setdefault=False
|
|
10
|
+
):
|
|
9
11
|
"""Insert/Overwrite an entry in the dictionary returned by namebuilding_info().
|
|
10
12
|
|
|
11
13
|
:param str targetkey: The dictionary's key to alter.
|
|
@@ -16,8 +18,7 @@ def namebuilding_insert(targetkey, valuecb, none_discard=False, setdefault=False
|
|
|
16
18
|
"""
|
|
17
19
|
|
|
18
20
|
def _namebuilding_insert_stuff(cls):
|
|
19
|
-
|
|
20
|
-
if hasattr(cls, 'namebuilding_info'):
|
|
21
|
+
if hasattr(cls, "namebuilding_info"):
|
|
21
22
|
original_namebuilding_info = cls.namebuilding_info
|
|
22
23
|
|
|
23
24
|
def namebuilding_info(self):
|
|
@@ -36,8 +37,9 @@ def namebuilding_insert(targetkey, valuecb, none_discard=False, setdefault=False
|
|
|
36
37
|
return cls
|
|
37
38
|
|
|
38
39
|
def _namebuilding_insert_stuff_as_dump():
|
|
39
|
-
return
|
|
40
|
-
|
|
40
|
+
return "<class-decorator: replace/add the *{:s}* entry in the namebuilding_info dictionary>".format(
|
|
41
|
+
targetkey
|
|
42
|
+
)
|
|
41
43
|
|
|
42
44
|
_namebuilding_insert_stuff.as_dump = _namebuilding_insert_stuff_as_dump
|
|
43
45
|
|
|
@@ -54,22 +56,25 @@ def namebuilding_append(targetkey, valuecb, none_discard=False):
|
|
|
54
56
|
"""
|
|
55
57
|
|
|
56
58
|
def _namebuilding_append_stuff(cls):
|
|
57
|
-
|
|
58
|
-
if hasattr(cls, 'namebuilding_info'):
|
|
59
|
+
if hasattr(cls, "namebuilding_info"):
|
|
59
60
|
original_namebuilding_info = cls.namebuilding_info
|
|
60
61
|
|
|
61
62
|
def namebuilding_info(self):
|
|
62
63
|
vinfo = original_namebuilding_info(self)
|
|
63
64
|
value = valuecb(self)
|
|
64
65
|
if not isinstance(value, list):
|
|
65
|
-
value = [
|
|
66
|
+
value = [
|
|
67
|
+
value,
|
|
68
|
+
]
|
|
66
69
|
if none_discard:
|
|
67
70
|
value = [v for v in value if v is not None]
|
|
68
71
|
if not none_discard or value:
|
|
69
72
|
if targetkey in vinfo:
|
|
70
73
|
some_stuff = vinfo[targetkey]
|
|
71
74
|
if not isinstance(some_stuff, list):
|
|
72
|
-
some_stuff = [
|
|
75
|
+
some_stuff = [
|
|
76
|
+
some_stuff,
|
|
77
|
+
]
|
|
73
78
|
some_stuff.extend(value)
|
|
74
79
|
else:
|
|
75
80
|
some_stuff = value
|
|
@@ -82,8 +87,9 @@ def namebuilding_append(targetkey, valuecb, none_discard=False):
|
|
|
82
87
|
return cls
|
|
83
88
|
|
|
84
89
|
def _namebuilding_append_stuff_as_dump():
|
|
85
|
-
return
|
|
86
|
-
|
|
90
|
+
return "<class-decorator: append things in the *{:s}* entry of the namebuilding_info dictionary>".format(
|
|
91
|
+
targetkey
|
|
92
|
+
)
|
|
87
93
|
|
|
88
94
|
_namebuilding_append_stuff.as_dump = _namebuilding_append_stuff_as_dump
|
|
89
95
|
|
|
@@ -97,8 +103,7 @@ def namebuilding_delete(targetkey):
|
|
|
97
103
|
"""
|
|
98
104
|
|
|
99
105
|
def _namebuilding_delete_stuff(cls):
|
|
100
|
-
|
|
101
|
-
if hasattr(cls, 'namebuilding_info'):
|
|
106
|
+
if hasattr(cls, "namebuilding_info"):
|
|
102
107
|
original_namebuilding_info = cls.namebuilding_info
|
|
103
108
|
|
|
104
109
|
def namebuilding_info(self):
|
|
@@ -112,15 +117,18 @@ def namebuilding_delete(targetkey):
|
|
|
112
117
|
return cls
|
|
113
118
|
|
|
114
119
|
def _namebuilding_delete_stuff_as_dump():
|
|
115
|
-
return
|
|
116
|
-
|
|
120
|
+
return "<class-decorator: delete the *{:s}* entry of the namebuilding_info dictionary>".format(
|
|
121
|
+
targetkey
|
|
122
|
+
)
|
|
117
123
|
|
|
118
124
|
_namebuilding_delete_stuff.as_dump = _namebuilding_delete_stuff_as_dump
|
|
119
125
|
|
|
120
126
|
return _namebuilding_delete_stuff
|
|
121
127
|
|
|
122
128
|
|
|
123
|
-
def generic_pathname_insert(
|
|
129
|
+
def generic_pathname_insert(
|
|
130
|
+
targetkey, valuecb, none_discard=False, setdefault=False
|
|
131
|
+
):
|
|
124
132
|
"""Insert/Overwrite an entry in the dictionary returned by generic_pathinfo().
|
|
125
133
|
|
|
126
134
|
:param str targetkey: The dictionary's key to alter.
|
|
@@ -131,8 +139,7 @@ def generic_pathname_insert(targetkey, valuecb, none_discard=False, setdefault=F
|
|
|
131
139
|
"""
|
|
132
140
|
|
|
133
141
|
def _generic_pathinfo_insert_stuff(cls):
|
|
134
|
-
|
|
135
|
-
if hasattr(cls, 'generic_pathinfo'):
|
|
142
|
+
if hasattr(cls, "generic_pathinfo"):
|
|
136
143
|
original_generic_pathinfo = cls.generic_pathinfo
|
|
137
144
|
|
|
138
145
|
def generic_pathinfo(self):
|
|
@@ -151,10 +158,13 @@ def generic_pathname_insert(targetkey, valuecb, none_discard=False, setdefault=F
|
|
|
151
158
|
return cls
|
|
152
159
|
|
|
153
160
|
def _generic_pathinfo_insert_stuff_as_dump():
|
|
154
|
-
return
|
|
155
|
-
|
|
161
|
+
return "<class-decorator: replace/add the *{:s}* entry in the generic_pathinfo dictionary>".format(
|
|
162
|
+
targetkey
|
|
163
|
+
)
|
|
156
164
|
|
|
157
|
-
_generic_pathinfo_insert_stuff.as_dump =
|
|
165
|
+
_generic_pathinfo_insert_stuff.as_dump = (
|
|
166
|
+
_generic_pathinfo_insert_stuff_as_dump
|
|
167
|
+
)
|
|
158
168
|
|
|
159
169
|
return _generic_pathinfo_insert_stuff
|
|
160
170
|
|
|
@@ -166,7 +176,6 @@ def overwrite_realkind(thekind):
|
|
|
166
176
|
"""
|
|
167
177
|
|
|
168
178
|
def _actual_overwrite_realkind(cls):
|
|
169
|
-
|
|
170
179
|
def realkind(self):
|
|
171
180
|
return thekind
|
|
172
181
|
|