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
@@ -0,0 +1,144 @@
1
+ vortex/__init__.py,sha256=2D7c4cUOF2Eb4m2rCKxhttmBy5R_7Xb3iBCLcy51vkw,4352
2
+ vortex/config.py,sha256=E7feBIG22POq5TyUN3MNXH-ZU7q08alF5nrJ1aUftG0,2815
3
+ vortex/gloves.py,sha256=GKz27S8eLfRlk8fNqVL_z1gsQ8zvEj73p5uVi11ou00,8487
4
+ vortex/proxy.py,sha256=OlPrVUJS5FoKt5pX8ApN1crFFDj8RJAqhDEilwvfrYU,127
5
+ vortex/sessions.py,sha256=l_ZUUFS-l0J2Mg6KEXaUQiDhbIABrWCfcY-9ExazKEg,9988
6
+ vortex/toolbox.py,sha256=h2QE5BoXWWEcQwK21D9YPda6t4rmCtLB5F9WeJrqT14,41379
7
+ vortex/algo/__init__.py,sha256=I_9COn_QBRbwvbqhs0X3CdHeR97NZhBacIqwKjnVBTg,359
8
+ vortex/algo/components.py,sha256=zs_DaKHFEHX9GQ-pn1HheAo4JvNusQi3D4u3ZhqVqe4,89362
9
+ vortex/algo/mpitools.py,sha256=EffZ4Ok934tvEYyUjKpVA-lEUVA29FwUVBtUQ8xWnDI,73977
10
+ vortex/algo/serversynctools.py,sha256=fPel0txVHsrUfk6VFaeKa0D6i21fOskIAR_BbByBv9g,5601
11
+ vortex/algo/mpitools_templates/__init__.py,sha256=Jbw903aPqVKF-AaSoB-mGMxthSvm88O_yqGoGmf_S_U,18
12
+ vortex/algo/mpitools_templates/envelope_wrapper_default.tpl,sha256=4VhkDx_YbOYywKQ82HIxRJXGcDpLuOgqcY7Edx9Rxyw,453
13
+ vortex/algo/mpitools_templates/envelope_wrapper_mpiauto.tpl,sha256=iB4_4jz-7QDqpl6AxrlCACsotJnEMG75dtazuGfkCb4,514
14
+ vortex/algo/mpitools_templates/wrapstd_wrapper_default.tpl,sha256=hh1Um95FIuvXAhUTMifAfixtfGgyjF1vEaF1nmbqMLw,502
15
+ vortex/data/__init__.py,sha256=XaHof5W6oCalr4X6oYAK4zW3z3F6mKuwdbKxmmmDraY,560
16
+ vortex/data/abstractstores.py,sha256=tDEEHqyk7-5ETS8RdYFxiGAOkxmtJbj5TlR7Qx_JtAE,55373
17
+ vortex/data/containers.py,sha256=Qny5rqwXEdDWxG4JlC8KcsSAsHK3pp8qukZj1PTFBOM,26004
18
+ vortex/data/contents.py,sha256=ZrwlJfOvkTemzikFRgYBQH3ApC-TPNrbZxpZstzDdbY,19079
19
+ vortex/data/executables.py,sha256=FeR3SA2wW97zAQXwWVecZ0v6VYT5L_3K1Czuv33Bk74,6723
20
+ vortex/data/flow.py,sha256=P1itBnA8jaoCWnVQjqbD_Pf26rpzud1JdwSLECDnDl4,3008
21
+ vortex/data/geometries.ini,sha256=J7hX5hYWqwBjdUAul6q8j10U6b3I-QEHrFJ98LBTQXM,52805
22
+ vortex/data/geometries.py,sha256=SjCF-74zDkbpt3qQujJU_UpeoBtgS7-xrEhbC4ywyRE,27429
23
+ vortex/data/handlers.py,sha256=6tRfCw9yzQCndVhRjz3ia0dyYhV3F7_rWeXjoxBtbvs,47550
24
+ vortex/data/outflow.py,sha256=IPKJkn75lRvhSqN5969TuhRAPnsZKlrWR4Cmw6VBFDs,1475
25
+ vortex/data/providers.py,sha256=kLHJI3F9mkRjRcQzs0xaH_cdfvXd9H4x5h1Lm4PGSFk,15652
26
+ vortex/data/resources.py,sha256=UOwvQDTJxS9z66Aa7JM2nWM3IxrMWvY3L2J9D5w3sZw,6348
27
+ vortex/data/stores.py,sha256=5svCgpE8WuuAWCnOrrHOBw30EOt0cvDoxrlq9rIWKOw,44517
28
+ vortex/data/sync_templates/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
29
+ vortex/layout/__init__.py,sha256=aZsDhVJrd3-648vw-UESI_2BLxyGl71sHdyrg9cL638,826
30
+ vortex/layout/contexts.py,sha256=GkysEtOOUj3nQvGUWrFjOOjzv7SmWFPUSLTH_pMMycI,20363
31
+ vortex/layout/dataflow.py,sha256=SKOUJKbtftW4POStjyBqNrqjvfbutsNHnWQ-p_75l_8,44792
32
+ vortex/layout/monitor.py,sha256=DIUXoW242tg5B6fFEEe2Og-NOxli1T_xpcNWFvTaWXQ,34316
33
+ vortex/nwp/__init__.py,sha256=UfB2il-lEjF87PyVO9sGxjcuy3OYhZwskZw3z52VYAE,311
34
+ vortex/nwp/algo/__init__.py,sha256=_it4GhWxay_WAy0qr2IxLdIqsjWxXcsSSB7wx1BitB4,577
35
+ vortex/nwp/algo/assim.py,sha256=vt3UjvAik4xBl_QC-Yj1CxY4vaiAYvGzzf27XwLoykA,15922
36
+ vortex/nwp/algo/clim.py,sha256=Z9QwUfosH0X_xTg6mam68qWIvw6Ts6CZIpc7Nb0NO1s,37511
37
+ vortex/nwp/algo/coupling.py,sha256=6KQ_YB7PCvVbt6c2VEtpCzwIyWRTjLfu54mNpKnXL9Q,29755
38
+ vortex/nwp/algo/eda.py,sha256=Wf2mt1r6v_ZYDz4BFyt-4JP1XAsO8sZW3O1UAOSRzmU,30746
39
+ vortex/nwp/algo/eps.py,sha256=JCBFiaFF9TQ-x7Szgw44Cd39tRD9184UXqOtoT6aRCs,26812
40
+ vortex/nwp/algo/forecasts.py,sha256=sqs0IETanpfS8q1f1Pl3mQZtSNbfOIUOidmcduGp8EU,30063
41
+ vortex/nwp/algo/fpserver.py,sha256=98HQZsdQE22spy_mIE1G-NORQMMjfA5grEjeIMSlP9w,50163
42
+ vortex/nwp/algo/ifsnaming.py,sha256=WfpSpRJ7ua3ihqv8Y4UkrvE4pb0CkNWKIlW9EjY-2ao,11188
43
+ vortex/nwp/algo/ifsroot.py,sha256=Mmp0sZtexP5ob3iUFTiVbgVWog7ubAYPut0cAB0vbbg,14230
44
+ vortex/nwp/algo/monitoring.py,sha256=JVPZPw_I5QRVtYvvSYpJpBy5RRPhqBQjcAFfIkvKuHA,8893
45
+ vortex/nwp/algo/mpitools.py,sha256=QO3I9iMdY69znnA6hJy8XUAzBoejDpsVMQFRo3YzXro,24876
46
+ vortex/nwp/algo/odbtools.py,sha256=xltXS1lpxeeJXeCGnFiqFUhGqMI6BlZzKcSLhsnd2cs,44094
47
+ vortex/nwp/algo/oopsroot.py,sha256=es3p7RPOixQT74TcglJX1q8MswxveVnLZa84kyhu3uM,33806
48
+ vortex/nwp/algo/oopstests.py,sha256=owQAS7_fGbUGZGzMsJek32dbb3JQ6dafSVBrdmveQ-Q,6654
49
+ vortex/nwp/algo/request.py,sha256=y5N9RUfKoPXR6EbSely37Zz6d-2HYyfV3UCvvoenqbY,22809
50
+ vortex/nwp/algo/stdpost.py,sha256=kpZrP6s92PrrAWyLrf61bSidwkJzC3M6sxrmpete3S0,54824
51
+ vortex/nwp/data/__init__.py,sha256=K__vn-gvNL7ytd0DGEQAZzkuo2gLwcCcfgMcQMLuOE4,886
52
+ vortex/nwp/data/assim.py,sha256=Dv5nmRYDDzYopC6xIwAl92HFTIz3k18C1jFE_IhYzuU,10095
53
+ vortex/nwp/data/boundaries.py,sha256=xZoIriM5L-Q66_am6rOD2ZO0s-31iAUeTE7NZIXXvHI,8114
54
+ vortex/nwp/data/climfiles.py,sha256=hlpe51wc-qrLFV_PX3vCedfLJu8Ko4VHa_qoVmA-Wcg,12610
55
+ vortex/nwp/data/configfiles.py,sha256=0c3VvM25dhU6-QEJs5Wo4IckIVjXFHc-tTEzh1Bho1c,3760
56
+ vortex/nwp/data/consts.py,sha256=riUtekoj3ozBgjxW6xEzhEaWWA7QvZFhU52Y3JS02Eg,21871
57
+ vortex/nwp/data/ctpini.py,sha256=wEpJG7Px2hb7Vudn4eY2vJHKi8YYO99Sd6UJAeT5kMI,3537
58
+ vortex/nwp/data/diagnostics.py,sha256=4ZP1w0ls2FIH59441rTCYDrp0JFfRJ7tiLDWmrdvuwM,5054
59
+ vortex/nwp/data/eda.py,sha256=rVQ35SpHVdHAQ10-LhyGy1k6P9Dbd6os8Crz2I4ThvY,4112
60
+ vortex/nwp/data/eps.py,sha256=nLKTEpEeMxV9oE_sf87xihspMqwzXA8r9uJPP6PdycE,11861
61
+ vortex/nwp/data/executables.py,sha256=xFRHzE5rK71m7gkd-LgMO3KSs0uBeCLqW-8vmedMHqQ,25036
62
+ vortex/nwp/data/fields.py,sha256=umIbobpgbqIxo4pIIKgpYHwmk4CNLj2LBINOAF-Hs_g,3088
63
+ vortex/nwp/data/gridfiles.py,sha256=wXuszvi_-ADaH6NC5A-QM6HhhYgOKtL2dt3DSS5-mWk,10894
64
+ vortex/nwp/data/logs.py,sha256=ZteBocLstW4KuXYEYyHkPNU_wBImSEo-eZHgSeh28gA,17756
65
+ vortex/nwp/data/modelstates.py,sha256=Yy0zHkuR6bAqscoE828Pq48zr1ba2qQ0LZ6BvlitwvM,10420
66
+ vortex/nwp/data/monitoring.py,sha256=-9IYKftPlMi1gGVwbswwdldUY7Y8nLrsrIHG9AW2l8Q,4768
67
+ vortex/nwp/data/namelists.py,sha256=OlKf_XIcxMzqFb6BK1sotV0naLBWQFm0_SkjJfMhTR0,20853
68
+ vortex/nwp/data/obs.py,sha256=ZYUJ_NvI1OaaWw7h4I5tM3lNns66l--bwtHtayWKPoA,25378
69
+ vortex/nwp/data/oopsexec.py,sha256=LlCfDZuEZVuTBFwa-pzRpO9nxOOq2398ObBItjiOXBE,1995
70
+ vortex/nwp/data/providers.py,sha256=eHibwb_jkeFLyIywY4nA3PzpvxHal5J_3NjlF2M0bvc,7293
71
+ vortex/nwp/data/query.py,sha256=IGGgGNMKH3beTpsx1_YsIYg6OE-cUBQzczwBE9m1JPU,5451
72
+ vortex/nwp/data/stores.py,sha256=-WK7uaF4SlwDgABVFx-Vz7_hdSLPsYgIcECWl46Prk8,5354
73
+ vortex/nwp/data/surfex.py,sha256=u8_SBCBAKhz1utghoGmB-bWTtDwIFteOEQv1HRkYLYw,7643
74
+ vortex/nwp/syntax/__init__.py,sha256=m9oAm8sMUB8WzEnq93II1I20fYd1O29nBGWaa5ClmzQ,281
75
+ vortex/nwp/syntax/stdattrs.py,sha256=HiLqZG_iuxqzYLsybMNAxoz_z96frg_PTksXomuYCRE,12928
76
+ vortex/nwp/tools/__init__.py,sha256=sR7JX87XxZGSWzH1zLHzbdid7hIy96yUQodYqZo8Jz8,230
77
+ vortex/nwp/tools/addons.py,sha256=-EFJanufVR1Czt156VmhYSKrmCz8ddJ4IqTa12wuYGc,934
78
+ vortex/nwp/tools/agt.py,sha256=argNI3XB5G__mxcZH1K8BWd1Fw9W2Fvfiu5Y_S8sBb8,2342
79
+ vortex/nwp/tools/bdap.py,sha256=GdqC4QclVHzZUNQGYQPu9EmFPNEEBadDNGsLmrE2XUs,1689
80
+ vortex/nwp/tools/bdcp.py,sha256=cDlkIVZW9grF2YnieIoiwsDhPxQsJIcaBuOCu6rsCzo,986
81
+ vortex/nwp/tools/bdm.py,sha256=e9o3IpR9C4GGd7NhXWt0bpogrcVkqn_hbEJBtThSV5g,360
82
+ vortex/nwp/tools/bdmp.py,sha256=tlsaPvsPtKSXrq2T7X_xtAdWGZ3Hg2qJUJfH8Fetx3E,1506
83
+ vortex/nwp/tools/conftools.py,sha256=bCZ1vUMc1fkuzFEKw95KDXD9Fs4-uDg546RHuJyJmtU,59494
84
+ vortex/nwp/tools/drhook.py,sha256=8BgHw1UGxgviLche73XUltuUtkN9rqjBPy4oBLyG4KY,1972
85
+ vortex/nwp/tools/grib.py,sha256=Uur8z4NjGoRXV4Via-63F9Px59FKG5UxiLM9yMgNkUs,10262
86
+ vortex/nwp/tools/gribdiff.py,sha256=VD4nH06DuFheE9HsFT1UXWnvAC5vUfVBPeqQhCK4wbo,3137
87
+ vortex/nwp/tools/ifstools.py,sha256=JzkQgsD4zwbPFA9Du_oRnOog7liHF8w5JmoxzyWKc08,7041
88
+ vortex/nwp/tools/igastuff.py,sha256=IAnsFwiBcnyqHMmXiTX32dE1uaSWst41DBM98SNMdVU,8249
89
+ vortex/nwp/tools/mars.py,sha256=HR_dpczIhTxQFcNs0BXGsXvMHZkFX4u-XhYw5lFIxXY,1823
90
+ vortex/nwp/tools/odb.py,sha256=2PbZ6p5VIcGDzZLDcUEx39IAqF1GhUWgNOhO8uXywmk,23101
91
+ vortex/nwp/tools/partitioning.py,sha256=8_QVB3fNr5sPY7tlh2FxTzzLyLATq9AEuEheZiiHWUI,9242
92
+ vortex/nwp/tools/satrad.py,sha256=t16vD0lGoUtxhbfDuC282dIEtCrQ9xYFtjUpEqoZa8s,2421
93
+ vortex/nwp/util/__init__.py,sha256=Weqz6S6ZTwjtveSMD1poZYDAKvnsZFjq172VrAq221Q,71
94
+ vortex/nwp/util/async.py,sha256=8Nqn48BRR89utiPjDtS0MK0PGUQYl1cPy_qkLD2hA6M,7031
95
+ vortex/nwp/util/beacon.py,sha256=ZIHlG9siLh0kK6mMx3iYkbscyM7j5BJ5MOOB0Ey7dH8,1181
96
+ vortex/nwp/util/diffpygram.py,sha256=ZFDrbHNZBVBmXGjFsnH5EcyGW7lawNtT6GZA7BPGpU4,14957
97
+ vortex/nwp/util/ens.py,sha256=laRzoD2ZCV-lp_IEFBb-cmBt_Zlnl6nf_Ps0Gs5nkY4,9533
98
+ vortex/nwp/util/hooks.py,sha256=8di5CY0oPDgVnXtKVcbmC6UU_pdZypwEJ_U8M6d4bOE,4646
99
+ vortex/nwp/util/taskdeco.py,sha256=bX-gVnA6IUaOsJjxm0nVddrG7aniN7TRCbl9r23A8s0,2335
100
+ vortex/nwp/util/usepygram.py,sha256=255OL_RadazMQdf-iSHxc4a7AgfmOmfSyzCHyN54q8I,23766
101
+ vortex/nwp/util/usetnt.py,sha256=PwQuUWcBdo8WOw25b_Jw5T1N9HJZFmEXopphNi-Xgzc,3462
102
+ vortex/syntax/__init__.py,sha256=q0eJcJ1gRbSrALTC8UaORRrHNmRxVUpbTNB1_uQbJi0,288
103
+ vortex/syntax/stdattrs.py,sha256=OosTS6hdGGh1r5rwZNngmMb6zFj0NUrFZmYs7lDbysY,20927
104
+ vortex/syntax/stddeco.py,sha256=Y94wAf-zEQr8RUmF_OUZkBKO1fPZnx3ju2g3DnPl9cw,6411
105
+ vortex/tools/__init__.py,sha256=KPsj7iqvy-vlo3WEIx8PmbqJYVDXCzZZdDSbMlqDq0k,482
106
+ vortex/tools/actions.py,sha256=yPzKccxHqtTI67SaYLIWJeo0s302WSXEJVpfxt6hAAU,13113
107
+ vortex/tools/addons.py,sha256=vTfAXEz0zrFDGUbrFxwgBO67enrE2mmLbKKlakLSNpI,10439
108
+ vortex/tools/arm.py,sha256=jl--2QOkhHkRXlxpZgo4E3Zw7Z_Gnr4z1fjPnPNyuyc,3112
109
+ vortex/tools/compression.py,sha256=dTXX1VrzxEj1qoBDKbB_T-_8X9iGHOlPaseczfu8cuw,11221
110
+ vortex/tools/date.py,sha256=GT-kh_48j6LqQJuXB3XA2FV1wkY6XWnXv-YhjSdU9GQ,645
111
+ vortex/tools/ddhpack.py,sha256=tOcQ5XQ7yTFBlisyjANDPMPQPijvHwz8yWY1eBfZMAs,206
112
+ vortex/tools/delayedactions.py,sha256=miw6q5L5eOaxtLXhPIJlVs5Mi8vMXuIx55dY2TtU8BU,27126
113
+ vortex/tools/env.py,sha256=ka7VaM3D5XuMRxja7oWA-eLgsUFqtWOmPvfbyHBi8Ps,18460
114
+ vortex/tools/folder.py,sha256=R3bQtwnyn01WzkF3NdzJKb2tCkAPWYB61Bb90r0B09I,27992
115
+ vortex/tools/grib.py,sha256=aH1y2LZDRBn3TywXsVZlxTRk6kdShMVgbHJTpGcfMGU,25700
116
+ vortex/tools/lfi.py,sha256=9mvXL-R5PQtTut7gsSMGJa0iNqpNgOFp7yuEMqYGIBA,29681
117
+ vortex/tools/listings.py,sha256=LTfQHjT0XlK3Hxewbi06HZQjKhALmg0Gvz69UooOFog,15123
118
+ vortex/tools/names.py,sha256=Knb2YsUsEjGpODBva1kEOBXRM2d_H0ylHwp-OoO3mnY,21644
119
+ vortex/tools/net.py,sha256=jLablaFdAy80BybYT4Ki-LWgbpqpzMj4SG8m4CLvuN8,74535
120
+ vortex/tools/odb.py,sha256=TZ1Qq8QmFIh3OP-bsgnwPuHPdfMKNXUAfhc-KSx9tZQ,193
121
+ vortex/tools/parallelism.py,sha256=f4uBp37Q3BG71Qn1yy_YSTPdk-2ZZ7zoGRQsGm6pT1Y,12345
122
+ vortex/tools/prestaging.py,sha256=lGJIo4SA8pDziF1nbBogsrK1bgwDQA6tj9Wg9VUFt6Q,7078
123
+ vortex/tools/rawfiles.py,sha256=keUI6QtEZQrWQ7H_Sg_TY9SY32anfb-suqJkrDmdXN0,215
124
+ vortex/tools/schedulers.py,sha256=XduOQab1dRiHwz7Mnt3mxXByGzAHMsDLCwlUOpMdXEk,15828
125
+ vortex/tools/services.py,sha256=v0uqAOXR9PsXJwv4-_yWpGzFniD7WghXW4p6WwaNtPA,29231
126
+ vortex/tools/storage.py,sha256=YBhq00j39NipaK1EDovr0VF7EArdpp5AuFx0lqB0_p4,34411
127
+ vortex/tools/surfex.py,sha256=qbCIGt-dmfIRWRRMjOQnzc9sGNnt8PIFSqQYT77trhw,1408
128
+ vortex/tools/systems.py,sha256=Zu04yTVIZU0hCiRH_STmdGuknjVd8dNsxXWr87k_5aE,149081
129
+ vortex/tools/targets.py,sha256=-n2uMoEFdz3AeoSd1IGhlr7dYYb8xantUeh9_ggk9iI,14896
130
+ vortex/util/__init__.py,sha256=Zt0OASbKbNnnwUqFHFoq5Mk13sGYSQhxqh7bUvJH6Y8,198
131
+ vortex/util/config.py,sha256=KJHq0GMNRlwzh2WUdpwn1FIKCuAXla7nPRe7j3IZGcI,40045
132
+ vortex/util/empty.py,sha256=EYcltpsjGxATAPPAVK2QRq_Bc5tcFLfF34dE1KO1tvk,535
133
+ vortex/util/helpers.py,sha256=vmz2h3MCL1FElZpn-MX3MX6L_RCQfyqMXTcYWpcYyr4,7492
134
+ vortex/util/introspection.py,sha256=VWZ6Ntr4fMJD4Xr_q-F7_lMHTSjDpHptnZ3SckBtuYY,2146
135
+ vortex/util/iosponge.py,sha256=wuEa0Flv_UeOndg7P9KnBOvW73zCQT1GoxNpqic4Gic,2594
136
+ vortex/util/roles.py,sha256=9un_QAijaMn5iTS7PrdoWI5_NNw7uHxMWTnyhc5aNzg,1150
137
+ vortex/util/storefunctions.py,sha256=uSfG-G_A88iJf3DwFBd-j0rw6eJta8opfRT39aQHsHM,3615
138
+ vortex/util/structs.py,sha256=vapErq0MNhiKlsnjrv_a5M0Rn29KbP3WE_oiy4Hfwb8,683
139
+ vortex/util/worker.py,sha256=zp8f2tx4SXwf1v55XMdYLAx7n3vSlg8PRGrkHgnfdmg,4721
140
+ vortex_nwp-2.1.0.dist-info/licenses/LICENSE,sha256=ewBJPmWAcQqtBPrydH10tt6ECkcYP3b1o2RfH85pJF0,21863
141
+ vortex_nwp-2.1.0.dist-info/METADATA,sha256=58Aw65WFk1YubrWljPIRAPiGdMGfjo7JW4DYHEngbBg,2185
142
+ vortex_nwp-2.1.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
143
+ vortex_nwp-2.1.0.dist-info/top_level.txt,sha256=3xfbSD7kw8xKl0jk4GNHsOPKbhubstfWHPl6bxHciRQ,7
144
+ vortex_nwp-2.1.0.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.8.0)
2
+ Generator: setuptools (80.9.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
vortex/layout/appconf.py DELETED
@@ -1,109 +0,0 @@
1
- """
2
- This modules defines objects that any kind of configuration data
3
- for jobs and nodes.
4
- """
5
-
6
- import collections.abc
7
- import re
8
-
9
- from bronx.syntax.decorators import secure_getattr
10
-
11
- from vortex.util.config import AppConfigStringDecoder
12
-
13
-
14
- class ConfigSet(collections.abc.MutableMapping):
15
- """Simple struct-like object that acts as a lower case dictionary.
16
-
17
- Two syntax are available to add a new entry in a :class:`ConfigSet` object:
18
-
19
- * ``ConfigSetObject.key = value``
20
- * ``ConfigSetObject[key] = value``
21
-
22
- Prior to being retrieved, entries are passed to a
23
- :class:`vortex.util.config.AppConfigStringDecoder` object. It allows to
24
- describe complex data types (see the :class:`vortex.util.config.AppConfigStringDecoder`
25
- class documentation).
26
-
27
- Some extra features are added on top of the
28
- :class:`vortex.util.config.AppConfigStringDecoder` capabilities:
29
-
30
- * If ``key`` ends with *_map*, ``value`` will be seen as a dictionary
31
- * If ``key`` contains the words *geometry* or *geometries*, ``value``
32
- will be converted to a :class:`vortex.data.geometries.Geometry` object
33
- * If ``key`` ends with *_range*, ``value`` will be passed to the
34
- :func:`footprints.util.rangex` function
35
-
36
- """
37
-
38
- def __init__(self, *kargs, **kwargs):
39
- super().__init__(*kargs, **kwargs)
40
- self.__dict__['_internal'] = dict()
41
- self.__dict__['_confdecoder'] = AppConfigStringDecoder(substitution_cb=self._internal.get)
42
-
43
- @staticmethod
44
- def _remap_key(key):
45
- return key.lower()
46
-
47
- def __iter__(self):
48
- for k in self._internal.keys():
49
- yield self._remap_key(k)
50
-
51
- def __getitem__(self, key):
52
- return self._confdecoder(self._internal[self._remap_key(key)])
53
-
54
- def __setitem__(self, key, value):
55
- if value is not None and isinstance(value, str):
56
- # Support for old style dictionaries (compatibility)
57
- if (key.endswith('_map') and not re.match(r'^dict\(.*\)$', value) and
58
- not re.match(r'^\w+\(dict\(.*\)\)$', value)):
59
- key = key[:-4]
60
- if re.match(r'^\w+\(.*\)$', value):
61
- value = re.sub(r'^(\w+)\((.*)\)$', r'\1(dict(\2))', value)
62
- else:
63
- value = 'dict(' + value + ')'
64
- # Support for geometries (compatibility)
65
- if (('geometry' in key or 'geometries' in key) and
66
- (not re.match(r'^geometry\(.*\)$', value, flags=re.IGNORECASE))):
67
- value = 'geometry(' + value + ')'
68
- # Support for oldstyle range (compatibility)
69
- if (key.endswith('_range') and not re.match(r'^rangex\(.*\)$', value) and
70
- not re.match(r'^\w+\(rangex\(.*\)\)$', value)):
71
- key = key[:-6]
72
- if re.match(r'^\w+\(.*\)$', value):
73
- value = re.sub(r'^(\w+)\((.*)\)$', r'\1(rangex(\2))', value)
74
- else:
75
- value = 'rangex(' + value + ')'
76
- self._internal[self._remap_key(key)] = value
77
-
78
- def __delitem__(self, key):
79
- del self._internal[self._remap_key(key)]
80
-
81
- def __len__(self):
82
- return len(self._internal)
83
-
84
- def clear(self):
85
- self._internal.clear()
86
-
87
- def __contains__(self, key):
88
- return self._remap_key(key) in self._internal
89
-
90
- @secure_getattr
91
- def __getattr__(self, key):
92
- if key in self:
93
- return self[key]
94
- else:
95
- raise AttributeError('No such parameter <' + key + '>')
96
-
97
- def __setattr__(self, attr, value):
98
- self[attr] = value
99
-
100
- def __delattr__(self, key):
101
- if key in self:
102
- del self[key]
103
- else:
104
- raise AttributeError('No such parameter <' + key + '>')
105
-
106
- def copy(self):
107
- newobj = self.__class__()
108
- newobj.update(**self._internal)
109
- return newobj