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.
Files changed (139) hide show
  1. vortex/__init__.py +59 -45
  2. vortex/algo/__init__.py +3 -2
  3. vortex/algo/components.py +940 -614
  4. vortex/algo/mpitools.py +802 -497
  5. vortex/algo/serversynctools.py +34 -33
  6. vortex/config.py +19 -22
  7. vortex/data/__init__.py +9 -3
  8. vortex/data/abstractstores.py +593 -655
  9. vortex/data/containers.py +217 -162
  10. vortex/data/contents.py +65 -39
  11. vortex/data/executables.py +93 -102
  12. vortex/data/flow.py +40 -34
  13. vortex/data/geometries.py +228 -132
  14. vortex/data/handlers.py +428 -225
  15. vortex/data/outflow.py +15 -15
  16. vortex/data/providers.py +185 -163
  17. vortex/data/resources.py +48 -42
  18. vortex/data/stores.py +544 -413
  19. vortex/gloves.py +114 -87
  20. vortex/layout/__init__.py +1 -8
  21. vortex/layout/contexts.py +150 -84
  22. vortex/layout/dataflow.py +353 -202
  23. vortex/layout/monitor.py +264 -128
  24. vortex/nwp/__init__.py +5 -2
  25. vortex/nwp/algo/__init__.py +14 -5
  26. vortex/nwp/algo/assim.py +205 -151
  27. vortex/nwp/algo/clim.py +683 -517
  28. vortex/nwp/algo/coupling.py +447 -225
  29. vortex/nwp/algo/eda.py +437 -229
  30. vortex/nwp/algo/eps.py +403 -231
  31. vortex/nwp/algo/forecasts.py +420 -271
  32. vortex/nwp/algo/fpserver.py +683 -307
  33. vortex/nwp/algo/ifsnaming.py +205 -145
  34. vortex/nwp/algo/ifsroot.py +210 -122
  35. vortex/nwp/algo/monitoring.py +132 -76
  36. vortex/nwp/algo/mpitools.py +321 -191
  37. vortex/nwp/algo/odbtools.py +617 -353
  38. vortex/nwp/algo/oopsroot.py +449 -273
  39. vortex/nwp/algo/oopstests.py +90 -56
  40. vortex/nwp/algo/request.py +287 -206
  41. vortex/nwp/algo/stdpost.py +878 -522
  42. vortex/nwp/data/__init__.py +22 -4
  43. vortex/nwp/data/assim.py +125 -137
  44. vortex/nwp/data/boundaries.py +121 -68
  45. vortex/nwp/data/climfiles.py +193 -211
  46. vortex/nwp/data/configfiles.py +73 -69
  47. vortex/nwp/data/consts.py +426 -401
  48. vortex/nwp/data/ctpini.py +59 -43
  49. vortex/nwp/data/diagnostics.py +94 -66
  50. vortex/nwp/data/eda.py +50 -51
  51. vortex/nwp/data/eps.py +195 -146
  52. vortex/nwp/data/executables.py +440 -434
  53. vortex/nwp/data/fields.py +63 -48
  54. vortex/nwp/data/gridfiles.py +183 -111
  55. vortex/nwp/data/logs.py +250 -217
  56. vortex/nwp/data/modelstates.py +180 -151
  57. vortex/nwp/data/monitoring.py +72 -99
  58. vortex/nwp/data/namelists.py +254 -202
  59. vortex/nwp/data/obs.py +400 -308
  60. vortex/nwp/data/oopsexec.py +22 -20
  61. vortex/nwp/data/providers.py +90 -65
  62. vortex/nwp/data/query.py +71 -82
  63. vortex/nwp/data/stores.py +49 -36
  64. vortex/nwp/data/surfex.py +136 -137
  65. vortex/nwp/syntax/__init__.py +1 -1
  66. vortex/nwp/syntax/stdattrs.py +173 -111
  67. vortex/nwp/tools/__init__.py +2 -2
  68. vortex/nwp/tools/addons.py +22 -17
  69. vortex/nwp/tools/agt.py +24 -12
  70. vortex/nwp/tools/bdap.py +16 -5
  71. vortex/nwp/tools/bdcp.py +4 -1
  72. vortex/nwp/tools/bdm.py +3 -0
  73. vortex/nwp/tools/bdmp.py +14 -9
  74. vortex/nwp/tools/conftools.py +728 -378
  75. vortex/nwp/tools/drhook.py +12 -8
  76. vortex/nwp/tools/grib.py +65 -39
  77. vortex/nwp/tools/gribdiff.py +22 -17
  78. vortex/nwp/tools/ifstools.py +82 -42
  79. vortex/nwp/tools/igastuff.py +167 -143
  80. vortex/nwp/tools/mars.py +14 -2
  81. vortex/nwp/tools/odb.py +234 -125
  82. vortex/nwp/tools/partitioning.py +61 -37
  83. vortex/nwp/tools/satrad.py +27 -12
  84. vortex/nwp/util/async.py +83 -55
  85. vortex/nwp/util/beacon.py +10 -10
  86. vortex/nwp/util/diffpygram.py +174 -86
  87. vortex/nwp/util/ens.py +144 -63
  88. vortex/nwp/util/hooks.py +30 -19
  89. vortex/nwp/util/taskdeco.py +28 -24
  90. vortex/nwp/util/usepygram.py +278 -172
  91. vortex/nwp/util/usetnt.py +31 -17
  92. vortex/sessions.py +72 -39
  93. vortex/syntax/__init__.py +1 -1
  94. vortex/syntax/stdattrs.py +410 -171
  95. vortex/syntax/stddeco.py +31 -22
  96. vortex/toolbox.py +327 -192
  97. vortex/tools/__init__.py +11 -2
  98. vortex/tools/actions.py +125 -59
  99. vortex/tools/addons.py +111 -92
  100. vortex/tools/arm.py +42 -22
  101. vortex/tools/compression.py +72 -69
  102. vortex/tools/date.py +11 -4
  103. vortex/tools/delayedactions.py +242 -132
  104. vortex/tools/env.py +75 -47
  105. vortex/tools/folder.py +342 -171
  106. vortex/tools/grib.py +311 -149
  107. vortex/tools/lfi.py +423 -216
  108. vortex/tools/listings.py +109 -40
  109. vortex/tools/names.py +218 -156
  110. vortex/tools/net.py +632 -298
  111. vortex/tools/parallelism.py +93 -61
  112. vortex/tools/prestaging.py +55 -31
  113. vortex/tools/schedulers.py +172 -105
  114. vortex/tools/services.py +402 -333
  115. vortex/tools/storage.py +293 -358
  116. vortex/tools/surfex.py +24 -24
  117. vortex/tools/systems.py +1211 -631
  118. vortex/tools/targets.py +156 -100
  119. vortex/util/__init__.py +1 -1
  120. vortex/util/config.py +377 -327
  121. vortex/util/empty.py +2 -2
  122. vortex/util/helpers.py +56 -24
  123. vortex/util/introspection.py +18 -12
  124. vortex/util/iosponge.py +8 -4
  125. vortex/util/roles.py +4 -6
  126. vortex/util/storefunctions.py +39 -13
  127. vortex/util/structs.py +3 -3
  128. vortex/util/worker.py +29 -17
  129. vortex_nwp-2.0.0b2.dist-info/METADATA +66 -0
  130. vortex_nwp-2.0.0b2.dist-info/RECORD +142 -0
  131. {vortex_nwp-2.0.0b1.dist-info → vortex_nwp-2.0.0b2.dist-info}/WHEEL +1 -1
  132. vortex/layout/appconf.py +0 -109
  133. vortex/layout/jobs.py +0 -1276
  134. vortex/layout/nodes.py +0 -1424
  135. vortex/layout/subjobs.py +0 -464
  136. vortex_nwp-2.0.0b1.dist-info/METADATA +0 -50
  137. vortex_nwp-2.0.0b1.dist-info/RECORD +0 -146
  138. {vortex_nwp-2.0.0b1.dist-info → vortex_nwp-2.0.0b2.dist-info}/LICENSE +0 -0
  139. {vortex_nwp-2.0.0b1.dist-info → vortex_nwp-2.0.0b2.dist-info}/top_level.txt +0 -0
@@ -11,7 +11,7 @@ from vortex.syntax.stddeco import namebuilding_append
11
11
  __all__ = []
12
12
 
13
13
 
14
- @namebuilding_append('src', lambda self: [self.scope, self.source])
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 = 'Configuration file from a pack',
23
- attr = dict(
24
- kind = dict(
25
- values = ['config']
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
- gvar = dict(
28
- default = 'config_[scope]'
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 'config'
36
+ return "config"
43
37
 
44
38
  def gget_urlquery(self):
45
39
  """GGET specific query : ``extract``."""
46
- return 'extract=' + self.source
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 = 'ASCII Configuration file from a pack',
53
- attr = dict(
54
- nativefmt = dict(
55
- values = ['ascii', ]
56
- ),
57
- clscontents = dict(
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 = 'Ini configuration file',
68
- attr = dict(
69
- nativefmt = dict(
70
- values = ['ini', ]
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 = 'JSON Configuration file from a pack',
80
- attr = dict(
78
+ info="JSON Configuration file from a pack",
79
+ attr=dict(
81
80
  scope=dict(
82
- outcast = ['oops', ]
81
+ outcast=[
82
+ "oops",
83
+ ]
83
84
  ),
84
- nativefmt = dict(
85
- values = ['json', ]
85
+ nativefmt=dict(
86
+ values=[
87
+ "json",
88
+ ]
86
89
  ),
87
- clscontents = dict(
88
- default = JsonDictContent
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 = 'OOPS JSON Configuration file from a pack',
98
- attr = dict(
99
+ info="OOPS JSON Configuration file from a pack",
100
+ attr=dict(
99
101
  scope=dict(
100
- values = ['oops', ],
101
- outcast = []
102
+ values=[
103
+ "oops",
104
+ ],
105
+ outcast=[],
102
106
  ),
103
- objects = dict(
104
- info = 'The OOPS objects to be built.',
107
+ objects=dict(
108
+ info="The OOPS objects to be built.",
105
109
  ),
106
- source = dict(
107
- info = 'The config name within the config pack.',
108
- optional = True,
109
- default = '[objects].json',
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 = 'YAML Configuration file from a pack',
119
- attr = dict(
120
- nativefmt = dict(
121
- values = ['yaml', ]
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 = 'Contains bundling of source codes.',
133
- attr = dict(
134
- kind = dict(
135
- values = ['bundle']
140
+ info="Contains bundling of source codes.",
141
+ attr=dict(
142
+ kind=dict(values=["bundle"]),
143
+ gvar=dict(
144
+ default="bundle",
136
145
  ),
137
- gvar = dict(
138
- default = 'bundle',
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 'bundle'
153
+ return "bundle"