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.
Files changed (141) hide show
  1. vortex/__init__.py +75 -47
  2. vortex/algo/__init__.py +3 -2
  3. vortex/algo/components.py +944 -618
  4. vortex/algo/mpitools.py +802 -497
  5. vortex/algo/mpitools_templates/__init__.py +1 -0
  6. vortex/algo/serversynctools.py +34 -33
  7. vortex/config.py +19 -22
  8. vortex/data/__init__.py +9 -3
  9. vortex/data/abstractstores.py +593 -655
  10. vortex/data/containers.py +217 -162
  11. vortex/data/contents.py +65 -39
  12. vortex/data/executables.py +93 -102
  13. vortex/data/flow.py +40 -34
  14. vortex/data/geometries.py +228 -132
  15. vortex/data/handlers.py +436 -227
  16. vortex/data/outflow.py +15 -15
  17. vortex/data/providers.py +185 -163
  18. vortex/data/resources.py +48 -42
  19. vortex/data/stores.py +540 -417
  20. vortex/data/sync_templates/__init__.py +0 -0
  21. vortex/gloves.py +114 -87
  22. vortex/layout/__init__.py +1 -8
  23. vortex/layout/contexts.py +150 -84
  24. vortex/layout/dataflow.py +353 -202
  25. vortex/layout/monitor.py +264 -128
  26. vortex/nwp/__init__.py +5 -2
  27. vortex/nwp/algo/__init__.py +14 -5
  28. vortex/nwp/algo/assim.py +205 -151
  29. vortex/nwp/algo/clim.py +683 -517
  30. vortex/nwp/algo/coupling.py +447 -225
  31. vortex/nwp/algo/eda.py +437 -229
  32. vortex/nwp/algo/eps.py +403 -231
  33. vortex/nwp/algo/forecasts.py +416 -275
  34. vortex/nwp/algo/fpserver.py +683 -307
  35. vortex/nwp/algo/ifsnaming.py +205 -145
  36. vortex/nwp/algo/ifsroot.py +215 -122
  37. vortex/nwp/algo/monitoring.py +137 -76
  38. vortex/nwp/algo/mpitools.py +330 -190
  39. vortex/nwp/algo/odbtools.py +637 -353
  40. vortex/nwp/algo/oopsroot.py +454 -273
  41. vortex/nwp/algo/oopstests.py +90 -56
  42. vortex/nwp/algo/request.py +287 -206
  43. vortex/nwp/algo/stdpost.py +878 -522
  44. vortex/nwp/data/__init__.py +22 -4
  45. vortex/nwp/data/assim.py +125 -137
  46. vortex/nwp/data/boundaries.py +121 -68
  47. vortex/nwp/data/climfiles.py +193 -211
  48. vortex/nwp/data/configfiles.py +73 -69
  49. vortex/nwp/data/consts.py +426 -401
  50. vortex/nwp/data/ctpini.py +59 -43
  51. vortex/nwp/data/diagnostics.py +94 -66
  52. vortex/nwp/data/eda.py +50 -51
  53. vortex/nwp/data/eps.py +195 -146
  54. vortex/nwp/data/executables.py +440 -434
  55. vortex/nwp/data/fields.py +63 -48
  56. vortex/nwp/data/gridfiles.py +183 -111
  57. vortex/nwp/data/logs.py +250 -217
  58. vortex/nwp/data/modelstates.py +180 -151
  59. vortex/nwp/data/monitoring.py +72 -99
  60. vortex/nwp/data/namelists.py +254 -202
  61. vortex/nwp/data/obs.py +400 -308
  62. vortex/nwp/data/oopsexec.py +22 -20
  63. vortex/nwp/data/providers.py +90 -65
  64. vortex/nwp/data/query.py +71 -82
  65. vortex/nwp/data/stores.py +49 -36
  66. vortex/nwp/data/surfex.py +136 -137
  67. vortex/nwp/syntax/__init__.py +1 -1
  68. vortex/nwp/syntax/stdattrs.py +173 -111
  69. vortex/nwp/tools/__init__.py +2 -2
  70. vortex/nwp/tools/addons.py +22 -17
  71. vortex/nwp/tools/agt.py +24 -12
  72. vortex/nwp/tools/bdap.py +16 -5
  73. vortex/nwp/tools/bdcp.py +4 -1
  74. vortex/nwp/tools/bdm.py +3 -0
  75. vortex/nwp/tools/bdmp.py +14 -9
  76. vortex/nwp/tools/conftools.py +728 -378
  77. vortex/nwp/tools/drhook.py +12 -8
  78. vortex/nwp/tools/grib.py +65 -39
  79. vortex/nwp/tools/gribdiff.py +22 -17
  80. vortex/nwp/tools/ifstools.py +82 -42
  81. vortex/nwp/tools/igastuff.py +167 -143
  82. vortex/nwp/tools/mars.py +14 -2
  83. vortex/nwp/tools/odb.py +234 -125
  84. vortex/nwp/tools/partitioning.py +61 -37
  85. vortex/nwp/tools/satrad.py +27 -12
  86. vortex/nwp/util/async.py +83 -55
  87. vortex/nwp/util/beacon.py +10 -10
  88. vortex/nwp/util/diffpygram.py +174 -86
  89. vortex/nwp/util/ens.py +144 -63
  90. vortex/nwp/util/hooks.py +30 -19
  91. vortex/nwp/util/taskdeco.py +28 -24
  92. vortex/nwp/util/usepygram.py +278 -172
  93. vortex/nwp/util/usetnt.py +31 -17
  94. vortex/sessions.py +72 -39
  95. vortex/syntax/__init__.py +1 -1
  96. vortex/syntax/stdattrs.py +410 -171
  97. vortex/syntax/stddeco.py +31 -22
  98. vortex/toolbox.py +327 -192
  99. vortex/tools/__init__.py +11 -2
  100. vortex/tools/actions.py +110 -121
  101. vortex/tools/addons.py +111 -92
  102. vortex/tools/arm.py +42 -22
  103. vortex/tools/compression.py +72 -69
  104. vortex/tools/date.py +11 -4
  105. vortex/tools/delayedactions.py +242 -132
  106. vortex/tools/env.py +75 -47
  107. vortex/tools/folder.py +342 -171
  108. vortex/tools/grib.py +341 -162
  109. vortex/tools/lfi.py +423 -216
  110. vortex/tools/listings.py +109 -40
  111. vortex/tools/names.py +218 -156
  112. vortex/tools/net.py +655 -299
  113. vortex/tools/parallelism.py +93 -61
  114. vortex/tools/prestaging.py +55 -31
  115. vortex/tools/schedulers.py +172 -105
  116. vortex/tools/services.py +403 -334
  117. vortex/tools/storage.py +293 -358
  118. vortex/tools/surfex.py +24 -24
  119. vortex/tools/systems.py +1234 -643
  120. vortex/tools/targets.py +156 -100
  121. vortex/util/__init__.py +1 -1
  122. vortex/util/config.py +378 -327
  123. vortex/util/empty.py +2 -2
  124. vortex/util/helpers.py +56 -24
  125. vortex/util/introspection.py +18 -12
  126. vortex/util/iosponge.py +8 -4
  127. vortex/util/roles.py +4 -6
  128. vortex/util/storefunctions.py +39 -13
  129. vortex/util/structs.py +3 -3
  130. vortex/util/worker.py +29 -17
  131. vortex_nwp-2.1.0.dist-info/METADATA +67 -0
  132. vortex_nwp-2.1.0.dist-info/RECORD +144 -0
  133. {vortex_nwp-2.0.0b1.dist-info → vortex_nwp-2.1.0.dist-info}/WHEEL +1 -1
  134. vortex/layout/appconf.py +0 -109
  135. vortex/layout/jobs.py +0 -1276
  136. vortex/layout/nodes.py +0 -1424
  137. vortex/layout/subjobs.py +0 -464
  138. vortex_nwp-2.0.0b1.dist-info/METADATA +0 -50
  139. vortex_nwp-2.0.0b1.dist-info/RECORD +0 -146
  140. {vortex_nwp-2.0.0b1.dist-info → vortex_nwp-2.1.0.dist-info/licenses}/LICENSE +0 -0
  141. {vortex_nwp-2.0.0b1.dist-info → vortex_nwp-2.1.0.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"