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
vortex/data/flow.py CHANGED
@@ -12,7 +12,13 @@ from .resources import Resource
12
12
  from .geometries import hgeometry_deco
13
13
  from .contents import FormatAdapter
14
14
 
15
- from vortex.syntax.stdattrs import model_deco, date_deco, dateperiod_deco, cutoff_deco, term_deco
15
+ from vortex.syntax.stdattrs import (
16
+ model_deco,
17
+ date_deco,
18
+ dateperiod_deco,
19
+ cutoff_deco,
20
+ term_deco,
21
+ )
16
22
  from vortex.syntax.stddeco import namebuilding_insert
17
23
 
18
24
  #: No automatic export
@@ -26,40 +32,38 @@ class FlowResource(Resource):
26
32
  _footprint = [model_deco, date_deco, cutoff_deco]
27
33
 
28
34
 
29
- @namebuilding_insert('radical', lambda s: s.nickname)
35
+ @namebuilding_insert("radical", lambda s: s.nickname)
30
36
  class UnknownFlow(FlowResource):
31
-
32
37
  _footprint = [
33
38
  term_deco,
34
39
  dict(
35
- info = 'Unknown assumed NWP Flow-Resource (development only !)',
36
- attr = dict(
37
- unknownflow = dict(
38
- info = "Activate the unknown flow resource",
39
- type = bool
40
- ),
41
- term = dict(
42
- optional = True,
40
+ info="Unknown assumed NWP Flow-Resource (development only !)",
41
+ attr=dict(
42
+ unknownflow=dict(
43
+ info="Activate the unknown flow resource", type=bool
43
44
  ),
44
- nickname = dict(
45
- info = "The string that serves the purpose of Vortex's basename radical",
46
- optional = True,
47
- default = 'unknown'
45
+ term=dict(
46
+ optional=True,
48
47
  ),
49
- clscontents = dict(
50
- default = FormatAdapter
48
+ nickname=dict(
49
+ info="The string that serves the purpose of Vortex's basename radical",
50
+ optional=True,
51
+ default="unknown",
51
52
  ),
53
+ clscontents=dict(default=FormatAdapter),
52
54
  ),
53
- fastkeys = {'unknownflow'},
54
- )
55
+ fastkeys={"unknownflow"},
56
+ ),
55
57
  ]
56
58
 
57
- _extension_remap = {k: None for k in ('auto', 'autoconfig', 'foo', 'unknown')}
59
+ _extension_remap = {
60
+ k: None for k in ("auto", "autoconfig", "foo", "unknown")
61
+ }
58
62
 
59
63
  def olive_basename(self):
60
64
  target = self.nickname
61
65
  if self.term is not None:
62
- target += '+' + self.term.fmth
66
+ target += "+" + self.term.fmth
63
67
  return target
64
68
 
65
69
 
@@ -70,12 +74,12 @@ class GeoFlowResource(FlowResource):
70
74
  _footprint = [
71
75
  hgeometry_deco,
72
76
  dict(
73
- attr = dict(
74
- clscontents = dict(
75
- default = FormatAdapter,
77
+ attr=dict(
78
+ clscontents=dict(
79
+ default=FormatAdapter,
76
80
  ),
77
81
  )
78
- )
82
+ ),
79
83
  ]
80
84
 
81
85
 
@@ -86,14 +90,16 @@ class PeriodFlowResource(Resource):
86
90
  _footprint = [model_deco, dateperiod_deco, cutoff_deco]
87
91
 
88
92
  _footprint = [
89
- model_deco, dateperiod_deco, cutoff_deco,
93
+ model_deco,
94
+ dateperiod_deco,
95
+ cutoff_deco,
90
96
  dict(
91
- attr = dict(
92
- cutoff = dict(
93
- optional = True,
97
+ attr=dict(
98
+ cutoff=dict(
99
+ optional=True,
94
100
  ),
95
101
  )
96
- )
102
+ ),
97
103
  ]
98
104
 
99
105
 
@@ -104,10 +110,10 @@ class GeoPeriodFlowResource(PeriodFlowResource):
104
110
  _footprint = [
105
111
  hgeometry_deco,
106
112
  dict(
107
- attr = dict(
108
- clscontents = dict(
109
- default = FormatAdapter,
113
+ attr=dict(
114
+ clscontents=dict(
115
+ default=FormatAdapter,
110
116
  ),
111
117
  )
112
- )
118
+ ),
113
119
  ]