vortex-nwp 2.0.0b1__py3-none-any.whl → 2.1.0__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 +75 -47
- vortex/algo/__init__.py +3 -2
- vortex/algo/components.py +944 -618
- vortex/algo/mpitools.py +802 -497
- vortex/algo/mpitools_templates/__init__.py +1 -0
- 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 +436 -227
- vortex/data/outflow.py +15 -15
- vortex/data/providers.py +185 -163
- vortex/data/resources.py +48 -42
- vortex/data/stores.py +540 -417
- vortex/data/sync_templates/__init__.py +0 -0
- 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 +416 -275
- vortex/nwp/algo/fpserver.py +683 -307
- vortex/nwp/algo/ifsnaming.py +205 -145
- vortex/nwp/algo/ifsroot.py +215 -122
- vortex/nwp/algo/monitoring.py +137 -76
- vortex/nwp/algo/mpitools.py +330 -190
- vortex/nwp/algo/odbtools.py +637 -353
- vortex/nwp/algo/oopsroot.py +454 -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 +110 -121
- 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 +341 -162
- vortex/tools/lfi.py +423 -216
- vortex/tools/listings.py +109 -40
- vortex/tools/names.py +218 -156
- vortex/tools/net.py +655 -299
- vortex/tools/parallelism.py +93 -61
- vortex/tools/prestaging.py +55 -31
- vortex/tools/schedulers.py +172 -105
- vortex/tools/services.py +403 -334
- vortex/tools/storage.py +293 -358
- vortex/tools/surfex.py +24 -24
- vortex/tools/systems.py +1234 -643
- vortex/tools/targets.py +156 -100
- vortex/util/__init__.py +1 -1
- vortex/util/config.py +378 -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.1.0.dist-info/METADATA +67 -0
- vortex_nwp-2.1.0.dist-info/RECORD +144 -0
- {vortex_nwp-2.0.0b1.dist-info → vortex_nwp-2.1.0.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.1.0.dist-info/licenses}/LICENSE +0 -0
- {vortex_nwp-2.0.0b1.dist-info → vortex_nwp-2.1.0.dist-info}/top_level.txt +0 -0
vortex/nwp/data/configfiles.py
CHANGED
|
@@ -11,7 +11,7 @@ from vortex.syntax.stddeco import namebuilding_append
|
|
|
11
11
|
__all__ = []
|
|
12
12
|
|
|
13
13
|
|
|
14
|
-
@namebuilding_append(
|
|
14
|
+
@namebuilding_append("src", lambda self: [self.scope, self.source])
|
|
15
15
|
class GenericConfig(StaticResource):
|
|
16
16
|
"""Generic class to access a pack of configuration files."""
|
|
17
17
|
|
|
@@ -19,131 +19,135 @@ class GenericConfig(StaticResource):
|
|
|
19
19
|
_footprint = [
|
|
20
20
|
gvar,
|
|
21
21
|
dict(
|
|
22
|
-
info
|
|
23
|
-
attr
|
|
24
|
-
kind
|
|
25
|
-
|
|
22
|
+
info="Configuration file from a pack",
|
|
23
|
+
attr=dict(
|
|
24
|
+
kind=dict(values=["config"]),
|
|
25
|
+
gvar=dict(default="config_[scope]"),
|
|
26
|
+
scope=dict(info="The configuration pack purpose"),
|
|
27
|
+
source=dict(
|
|
28
|
+
info="The config name within the config pack.",
|
|
26
29
|
),
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
),
|
|
30
|
-
scope=dict(
|
|
31
|
-
info = "The configuration pack purpose"
|
|
32
|
-
),
|
|
33
|
-
source = dict(
|
|
34
|
-
info = 'The config name within the config pack.',
|
|
35
|
-
),
|
|
36
|
-
)
|
|
37
|
-
)
|
|
30
|
+
),
|
|
31
|
+
),
|
|
38
32
|
]
|
|
39
33
|
|
|
40
34
|
@property
|
|
41
35
|
def realkind(self):
|
|
42
|
-
return
|
|
36
|
+
return "config"
|
|
43
37
|
|
|
44
38
|
def gget_urlquery(self):
|
|
45
39
|
"""GGET specific query : ``extract``."""
|
|
46
|
-
return
|
|
40
|
+
return "extract=" + self.source
|
|
47
41
|
|
|
48
42
|
|
|
49
43
|
class AsciiConfig(GenericConfig):
|
|
50
44
|
"""Generic class to access a pack of ASCII configuration files."""
|
|
45
|
+
|
|
51
46
|
_footprint = dict(
|
|
52
|
-
info
|
|
53
|
-
attr
|
|
54
|
-
nativefmt
|
|
55
|
-
values
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
default = DataRaw
|
|
47
|
+
info="ASCII Configuration file from a pack",
|
|
48
|
+
attr=dict(
|
|
49
|
+
nativefmt=dict(
|
|
50
|
+
values=[
|
|
51
|
+
"ascii",
|
|
52
|
+
]
|
|
59
53
|
),
|
|
60
|
-
|
|
54
|
+
clscontents=dict(default=DataRaw),
|
|
55
|
+
),
|
|
61
56
|
)
|
|
62
57
|
|
|
63
58
|
|
|
64
59
|
class IniConfig(GenericConfig):
|
|
65
60
|
"""Generic class to access a ini configuration file (e.g. for mkjob)."""
|
|
61
|
+
|
|
66
62
|
_footprint = dict(
|
|
67
|
-
info
|
|
68
|
-
attr
|
|
69
|
-
nativefmt
|
|
70
|
-
values
|
|
63
|
+
info="Ini configuration file",
|
|
64
|
+
attr=dict(
|
|
65
|
+
nativefmt=dict(
|
|
66
|
+
values=[
|
|
67
|
+
"ini",
|
|
68
|
+
]
|
|
71
69
|
),
|
|
72
|
-
)
|
|
70
|
+
),
|
|
73
71
|
)
|
|
74
72
|
|
|
75
73
|
|
|
76
74
|
class JsonConfig(GenericConfig):
|
|
77
75
|
"""Generic class to access a pack of JSON configuration files."""
|
|
76
|
+
|
|
78
77
|
_footprint = dict(
|
|
79
|
-
info
|
|
80
|
-
attr
|
|
78
|
+
info="JSON Configuration file from a pack",
|
|
79
|
+
attr=dict(
|
|
81
80
|
scope=dict(
|
|
82
|
-
outcast
|
|
81
|
+
outcast=[
|
|
82
|
+
"oops",
|
|
83
|
+
]
|
|
83
84
|
),
|
|
84
|
-
nativefmt
|
|
85
|
-
values
|
|
85
|
+
nativefmt=dict(
|
|
86
|
+
values=[
|
|
87
|
+
"json",
|
|
88
|
+
]
|
|
86
89
|
),
|
|
87
|
-
clscontents
|
|
88
|
-
|
|
89
|
-
),
|
|
90
|
-
)
|
|
90
|
+
clscontents=dict(default=JsonDictContent),
|
|
91
|
+
),
|
|
91
92
|
)
|
|
92
93
|
|
|
93
94
|
|
|
94
95
|
class OopsJsonConfig(JsonConfig):
|
|
95
96
|
"""Configuration files for OOPS, defining the oops objects to be built"""
|
|
97
|
+
|
|
96
98
|
_footprint = dict(
|
|
97
|
-
info
|
|
98
|
-
attr
|
|
99
|
+
info="OOPS JSON Configuration file from a pack",
|
|
100
|
+
attr=dict(
|
|
99
101
|
scope=dict(
|
|
100
|
-
values
|
|
101
|
-
|
|
102
|
+
values=[
|
|
103
|
+
"oops",
|
|
104
|
+
],
|
|
105
|
+
outcast=[],
|
|
102
106
|
),
|
|
103
|
-
objects
|
|
104
|
-
info
|
|
107
|
+
objects=dict(
|
|
108
|
+
info="The OOPS objects to be built.",
|
|
105
109
|
),
|
|
106
|
-
source
|
|
107
|
-
info
|
|
108
|
-
optional
|
|
109
|
-
default
|
|
110
|
+
source=dict(
|
|
111
|
+
info="The config name within the config pack.",
|
|
112
|
+
optional=True,
|
|
113
|
+
default="[objects].json",
|
|
110
114
|
),
|
|
111
|
-
)
|
|
115
|
+
),
|
|
112
116
|
)
|
|
113
117
|
|
|
114
118
|
|
|
115
119
|
class YamlConfig(GenericConfig):
|
|
116
120
|
"""Generic class to access a pack of YAML configuration files."""
|
|
121
|
+
|
|
117
122
|
_footprint = dict(
|
|
118
|
-
info
|
|
119
|
-
attr
|
|
120
|
-
nativefmt
|
|
121
|
-
values
|
|
123
|
+
info="YAML Configuration file from a pack",
|
|
124
|
+
attr=dict(
|
|
125
|
+
nativefmt=dict(
|
|
126
|
+
values=[
|
|
127
|
+
"yaml",
|
|
128
|
+
]
|
|
122
129
|
),
|
|
123
|
-
)
|
|
130
|
+
),
|
|
124
131
|
)
|
|
125
132
|
|
|
126
133
|
|
|
127
134
|
class Bundle(StaticResource):
|
|
128
135
|
"""Contains bundling of source codes."""
|
|
136
|
+
|
|
129
137
|
_footprint = [
|
|
130
138
|
gvar,
|
|
131
139
|
dict(
|
|
132
|
-
info
|
|
133
|
-
attr
|
|
134
|
-
kind
|
|
135
|
-
|
|
140
|
+
info="Contains bundling of source codes.",
|
|
141
|
+
attr=dict(
|
|
142
|
+
kind=dict(values=["bundle"]),
|
|
143
|
+
gvar=dict(
|
|
144
|
+
default="bundle",
|
|
136
145
|
),
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
nativefmt = dict(
|
|
141
|
-
values = ['yml', 'yaml']
|
|
142
|
-
),
|
|
143
|
-
)
|
|
144
|
-
)
|
|
146
|
+
nativefmt=dict(values=["yml", "yaml"]),
|
|
147
|
+
),
|
|
148
|
+
),
|
|
145
149
|
]
|
|
146
150
|
|
|
147
151
|
@property
|
|
148
152
|
def realkind(self):
|
|
149
|
-
return
|
|
153
|
+
return "bundle"
|