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
@@ -0,0 +1,142 @@
1
+ vortex/__init__.py,sha256=EqLyspeGun2xW4een6ezLsh2APXX8DHphhGnu6TdMcQ,3921
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=pD_-Lyhl8iVy3ERK7QTCkq00tHIblImofxYVv8C1LH4,89342
9
+ vortex/algo/mpitools.py,sha256=kxq9sjvC8bt7RDxNEi7lvpByXhtPEg3Rr4xaADbeipw,74063
10
+ vortex/algo/serversynctools.py,sha256=fPel0txVHsrUfk6VFaeKa0D6i21fOskIAR_BbByBv9g,5601
11
+ vortex/algo/mpitools_templates/envelope_wrapper_default.tpl,sha256=4VhkDx_YbOYywKQ82HIxRJXGcDpLuOgqcY7Edx9Rxyw,453
12
+ vortex/algo/mpitools_templates/envelope_wrapper_mpiauto.tpl,sha256=iB4_4jz-7QDqpl6AxrlCACsotJnEMG75dtazuGfkCb4,514
13
+ vortex/algo/mpitools_templates/wrapstd_wrapper_default.tpl,sha256=hh1Um95FIuvXAhUTMifAfixtfGgyjF1vEaF1nmbqMLw,502
14
+ vortex/data/__init__.py,sha256=XaHof5W6oCalr4X6oYAK4zW3z3F6mKuwdbKxmmmDraY,560
15
+ vortex/data/abstractstores.py,sha256=tDEEHqyk7-5ETS8RdYFxiGAOkxmtJbj5TlR7Qx_JtAE,55373
16
+ vortex/data/containers.py,sha256=Qny5rqwXEdDWxG4JlC8KcsSAsHK3pp8qukZj1PTFBOM,26004
17
+ vortex/data/contents.py,sha256=ZrwlJfOvkTemzikFRgYBQH3ApC-TPNrbZxpZstzDdbY,19079
18
+ vortex/data/executables.py,sha256=FeR3SA2wW97zAQXwWVecZ0v6VYT5L_3K1Czuv33Bk74,6723
19
+ vortex/data/flow.py,sha256=P1itBnA8jaoCWnVQjqbD_Pf26rpzud1JdwSLECDnDl4,3008
20
+ vortex/data/geometries.ini,sha256=J7hX5hYWqwBjdUAul6q8j10U6b3I-QEHrFJ98LBTQXM,52805
21
+ vortex/data/geometries.py,sha256=SjCF-74zDkbpt3qQujJU_UpeoBtgS7-xrEhbC4ywyRE,27429
22
+ vortex/data/handlers.py,sha256=9TIu6wjuN2X64AOprqVc_uSkzRfyOvym6MHG2l1QOAQ,47426
23
+ vortex/data/outflow.py,sha256=IPKJkn75lRvhSqN5969TuhRAPnsZKlrWR4Cmw6VBFDs,1475
24
+ vortex/data/providers.py,sha256=kLHJI3F9mkRjRcQzs0xaH_cdfvXd9H4x5h1Lm4PGSFk,15652
25
+ vortex/data/resources.py,sha256=UOwvQDTJxS9z66Aa7JM2nWM3IxrMWvY3L2J9D5w3sZw,6348
26
+ vortex/data/stores.py,sha256=YIRl0YgpslR7IFUasX3NWzy-Q3oswZ_EcyzGYVampyE,44777
27
+ vortex/layout/__init__.py,sha256=aZsDhVJrd3-648vw-UESI_2BLxyGl71sHdyrg9cL638,826
28
+ vortex/layout/contexts.py,sha256=GkysEtOOUj3nQvGUWrFjOOjzv7SmWFPUSLTH_pMMycI,20363
29
+ vortex/layout/dataflow.py,sha256=SKOUJKbtftW4POStjyBqNrqjvfbutsNHnWQ-p_75l_8,44792
30
+ vortex/layout/monitor.py,sha256=DIUXoW242tg5B6fFEEe2Og-NOxli1T_xpcNWFvTaWXQ,34316
31
+ vortex/nwp/__init__.py,sha256=UfB2il-lEjF87PyVO9sGxjcuy3OYhZwskZw3z52VYAE,311
32
+ vortex/nwp/algo/__init__.py,sha256=_it4GhWxay_WAy0qr2IxLdIqsjWxXcsSSB7wx1BitB4,577
33
+ vortex/nwp/algo/assim.py,sha256=vt3UjvAik4xBl_QC-Yj1CxY4vaiAYvGzzf27XwLoykA,15922
34
+ vortex/nwp/algo/clim.py,sha256=Z9QwUfosH0X_xTg6mam68qWIvw6Ts6CZIpc7Nb0NO1s,37511
35
+ vortex/nwp/algo/coupling.py,sha256=6KQ_YB7PCvVbt6c2VEtpCzwIyWRTjLfu54mNpKnXL9Q,29755
36
+ vortex/nwp/algo/eda.py,sha256=Wf2mt1r6v_ZYDz4BFyt-4JP1XAsO8sZW3O1UAOSRzmU,30746
37
+ vortex/nwp/algo/eps.py,sha256=JCBFiaFF9TQ-x7Szgw44Cd39tRD9184UXqOtoT6aRCs,26812
38
+ vortex/nwp/algo/forecasts.py,sha256=vI6NOH8-RciIz47LlzEK1u-jvA2LHJHAULVlu8vcxb0,30518
39
+ vortex/nwp/algo/fpserver.py,sha256=98HQZsdQE22spy_mIE1G-NORQMMjfA5grEjeIMSlP9w,50163
40
+ vortex/nwp/algo/ifsnaming.py,sha256=WfpSpRJ7ua3ihqv8Y4UkrvE4pb0CkNWKIlW9EjY-2ao,11188
41
+ vortex/nwp/algo/ifsroot.py,sha256=j8uu3pMt9GF5od6DuocXvjugVFs1ovuJrwFuFgXx99E,14064
42
+ vortex/nwp/algo/monitoring.py,sha256=QwmE9wuyNi0tpAWig3X6Z1uGg-h5k4VZ9v4BdajH344,8727
43
+ vortex/nwp/algo/mpitools.py,sha256=TRnOwb2yzp7mGT4Sw5elSwJVpADnAISGlRSSlK_Rf9I,24539
44
+ vortex/nwp/algo/odbtools.py,sha256=RZwxn8HNZ17qqsgvPSlWjW5cF6hnClUC_iv43XQRFXc,43430
45
+ vortex/nwp/algo/oopsroot.py,sha256=03SCYVbaDo-ydwpJl97yHWGkIYxduZEGphLgvc9DEoU,33640
46
+ vortex/nwp/algo/oopstests.py,sha256=owQAS7_fGbUGZGzMsJek32dbb3JQ6dafSVBrdmveQ-Q,6654
47
+ vortex/nwp/algo/request.py,sha256=y5N9RUfKoPXR6EbSely37Zz6d-2HYyfV3UCvvoenqbY,22809
48
+ vortex/nwp/algo/stdpost.py,sha256=kpZrP6s92PrrAWyLrf61bSidwkJzC3M6sxrmpete3S0,54824
49
+ vortex/nwp/data/__init__.py,sha256=K__vn-gvNL7ytd0DGEQAZzkuo2gLwcCcfgMcQMLuOE4,886
50
+ vortex/nwp/data/assim.py,sha256=Dv5nmRYDDzYopC6xIwAl92HFTIz3k18C1jFE_IhYzuU,10095
51
+ vortex/nwp/data/boundaries.py,sha256=xZoIriM5L-Q66_am6rOD2ZO0s-31iAUeTE7NZIXXvHI,8114
52
+ vortex/nwp/data/climfiles.py,sha256=hlpe51wc-qrLFV_PX3vCedfLJu8Ko4VHa_qoVmA-Wcg,12610
53
+ vortex/nwp/data/configfiles.py,sha256=0c3VvM25dhU6-QEJs5Wo4IckIVjXFHc-tTEzh1Bho1c,3760
54
+ vortex/nwp/data/consts.py,sha256=riUtekoj3ozBgjxW6xEzhEaWWA7QvZFhU52Y3JS02Eg,21871
55
+ vortex/nwp/data/ctpini.py,sha256=wEpJG7Px2hb7Vudn4eY2vJHKi8YYO99Sd6UJAeT5kMI,3537
56
+ vortex/nwp/data/diagnostics.py,sha256=4ZP1w0ls2FIH59441rTCYDrp0JFfRJ7tiLDWmrdvuwM,5054
57
+ vortex/nwp/data/eda.py,sha256=rVQ35SpHVdHAQ10-LhyGy1k6P9Dbd6os8Crz2I4ThvY,4112
58
+ vortex/nwp/data/eps.py,sha256=nLKTEpEeMxV9oE_sf87xihspMqwzXA8r9uJPP6PdycE,11861
59
+ vortex/nwp/data/executables.py,sha256=xFRHzE5rK71m7gkd-LgMO3KSs0uBeCLqW-8vmedMHqQ,25036
60
+ vortex/nwp/data/fields.py,sha256=umIbobpgbqIxo4pIIKgpYHwmk4CNLj2LBINOAF-Hs_g,3088
61
+ vortex/nwp/data/gridfiles.py,sha256=wXuszvi_-ADaH6NC5A-QM6HhhYgOKtL2dt3DSS5-mWk,10894
62
+ vortex/nwp/data/logs.py,sha256=ZteBocLstW4KuXYEYyHkPNU_wBImSEo-eZHgSeh28gA,17756
63
+ vortex/nwp/data/modelstates.py,sha256=Yy0zHkuR6bAqscoE828Pq48zr1ba2qQ0LZ6BvlitwvM,10420
64
+ vortex/nwp/data/monitoring.py,sha256=-9IYKftPlMi1gGVwbswwdldUY7Y8nLrsrIHG9AW2l8Q,4768
65
+ vortex/nwp/data/namelists.py,sha256=OlKf_XIcxMzqFb6BK1sotV0naLBWQFm0_SkjJfMhTR0,20853
66
+ vortex/nwp/data/obs.py,sha256=ZYUJ_NvI1OaaWw7h4I5tM3lNns66l--bwtHtayWKPoA,25378
67
+ vortex/nwp/data/oopsexec.py,sha256=LlCfDZuEZVuTBFwa-pzRpO9nxOOq2398ObBItjiOXBE,1995
68
+ vortex/nwp/data/providers.py,sha256=eHibwb_jkeFLyIywY4nA3PzpvxHal5J_3NjlF2M0bvc,7293
69
+ vortex/nwp/data/query.py,sha256=IGGgGNMKH3beTpsx1_YsIYg6OE-cUBQzczwBE9m1JPU,5451
70
+ vortex/nwp/data/stores.py,sha256=-WK7uaF4SlwDgABVFx-Vz7_hdSLPsYgIcECWl46Prk8,5354
71
+ vortex/nwp/data/surfex.py,sha256=u8_SBCBAKhz1utghoGmB-bWTtDwIFteOEQv1HRkYLYw,7643
72
+ vortex/nwp/syntax/__init__.py,sha256=m9oAm8sMUB8WzEnq93II1I20fYd1O29nBGWaa5ClmzQ,281
73
+ vortex/nwp/syntax/stdattrs.py,sha256=HiLqZG_iuxqzYLsybMNAxoz_z96frg_PTksXomuYCRE,12928
74
+ vortex/nwp/tools/__init__.py,sha256=sR7JX87XxZGSWzH1zLHzbdid7hIy96yUQodYqZo8Jz8,230
75
+ vortex/nwp/tools/addons.py,sha256=-EFJanufVR1Czt156VmhYSKrmCz8ddJ4IqTa12wuYGc,934
76
+ vortex/nwp/tools/agt.py,sha256=argNI3XB5G__mxcZH1K8BWd1Fw9W2Fvfiu5Y_S8sBb8,2342
77
+ vortex/nwp/tools/bdap.py,sha256=GdqC4QclVHzZUNQGYQPu9EmFPNEEBadDNGsLmrE2XUs,1689
78
+ vortex/nwp/tools/bdcp.py,sha256=cDlkIVZW9grF2YnieIoiwsDhPxQsJIcaBuOCu6rsCzo,986
79
+ vortex/nwp/tools/bdm.py,sha256=e9o3IpR9C4GGd7NhXWt0bpogrcVkqn_hbEJBtThSV5g,360
80
+ vortex/nwp/tools/bdmp.py,sha256=tlsaPvsPtKSXrq2T7X_xtAdWGZ3Hg2qJUJfH8Fetx3E,1506
81
+ vortex/nwp/tools/conftools.py,sha256=bCZ1vUMc1fkuzFEKw95KDXD9Fs4-uDg546RHuJyJmtU,59494
82
+ vortex/nwp/tools/drhook.py,sha256=8BgHw1UGxgviLche73XUltuUtkN9rqjBPy4oBLyG4KY,1972
83
+ vortex/nwp/tools/grib.py,sha256=Uur8z4NjGoRXV4Via-63F9Px59FKG5UxiLM9yMgNkUs,10262
84
+ vortex/nwp/tools/gribdiff.py,sha256=VD4nH06DuFheE9HsFT1UXWnvAC5vUfVBPeqQhCK4wbo,3137
85
+ vortex/nwp/tools/ifstools.py,sha256=JzkQgsD4zwbPFA9Du_oRnOog7liHF8w5JmoxzyWKc08,7041
86
+ vortex/nwp/tools/igastuff.py,sha256=IAnsFwiBcnyqHMmXiTX32dE1uaSWst41DBM98SNMdVU,8249
87
+ vortex/nwp/tools/mars.py,sha256=HR_dpczIhTxQFcNs0BXGsXvMHZkFX4u-XhYw5lFIxXY,1823
88
+ vortex/nwp/tools/odb.py,sha256=2PbZ6p5VIcGDzZLDcUEx39IAqF1GhUWgNOhO8uXywmk,23101
89
+ vortex/nwp/tools/partitioning.py,sha256=8_QVB3fNr5sPY7tlh2FxTzzLyLATq9AEuEheZiiHWUI,9242
90
+ vortex/nwp/tools/satrad.py,sha256=t16vD0lGoUtxhbfDuC282dIEtCrQ9xYFtjUpEqoZa8s,2421
91
+ vortex/nwp/util/__init__.py,sha256=Weqz6S6ZTwjtveSMD1poZYDAKvnsZFjq172VrAq221Q,71
92
+ vortex/nwp/util/async.py,sha256=8Nqn48BRR89utiPjDtS0MK0PGUQYl1cPy_qkLD2hA6M,7031
93
+ vortex/nwp/util/beacon.py,sha256=ZIHlG9siLh0kK6mMx3iYkbscyM7j5BJ5MOOB0Ey7dH8,1181
94
+ vortex/nwp/util/diffpygram.py,sha256=ZFDrbHNZBVBmXGjFsnH5EcyGW7lawNtT6GZA7BPGpU4,14957
95
+ vortex/nwp/util/ens.py,sha256=laRzoD2ZCV-lp_IEFBb-cmBt_Zlnl6nf_Ps0Gs5nkY4,9533
96
+ vortex/nwp/util/hooks.py,sha256=8di5CY0oPDgVnXtKVcbmC6UU_pdZypwEJ_U8M6d4bOE,4646
97
+ vortex/nwp/util/taskdeco.py,sha256=bX-gVnA6IUaOsJjxm0nVddrG7aniN7TRCbl9r23A8s0,2335
98
+ vortex/nwp/util/usepygram.py,sha256=255OL_RadazMQdf-iSHxc4a7AgfmOmfSyzCHyN54q8I,23766
99
+ vortex/nwp/util/usetnt.py,sha256=PwQuUWcBdo8WOw25b_Jw5T1N9HJZFmEXopphNi-Xgzc,3462
100
+ vortex/syntax/__init__.py,sha256=q0eJcJ1gRbSrALTC8UaORRrHNmRxVUpbTNB1_uQbJi0,288
101
+ vortex/syntax/stdattrs.py,sha256=OosTS6hdGGh1r5rwZNngmMb6zFj0NUrFZmYs7lDbysY,20927
102
+ vortex/syntax/stddeco.py,sha256=Y94wAf-zEQr8RUmF_OUZkBKO1fPZnx3ju2g3DnPl9cw,6411
103
+ vortex/tools/__init__.py,sha256=KPsj7iqvy-vlo3WEIx8PmbqJYVDXCzZZdDSbMlqDq0k,482
104
+ vortex/tools/actions.py,sha256=BrPDuYXKiGChRVtjXVhLyEGls0-AP6C8TaeTMiQwPyo,16001
105
+ vortex/tools/addons.py,sha256=vTfAXEz0zrFDGUbrFxwgBO67enrE2mmLbKKlakLSNpI,10439
106
+ vortex/tools/arm.py,sha256=jl--2QOkhHkRXlxpZgo4E3Zw7Z_Gnr4z1fjPnPNyuyc,3112
107
+ vortex/tools/compression.py,sha256=dTXX1VrzxEj1qoBDKbB_T-_8X9iGHOlPaseczfu8cuw,11221
108
+ vortex/tools/date.py,sha256=GT-kh_48j6LqQJuXB3XA2FV1wkY6XWnXv-YhjSdU9GQ,645
109
+ vortex/tools/ddhpack.py,sha256=tOcQ5XQ7yTFBlisyjANDPMPQPijvHwz8yWY1eBfZMAs,206
110
+ vortex/tools/delayedactions.py,sha256=miw6q5L5eOaxtLXhPIJlVs5Mi8vMXuIx55dY2TtU8BU,27126
111
+ vortex/tools/env.py,sha256=ka7VaM3D5XuMRxja7oWA-eLgsUFqtWOmPvfbyHBi8Ps,18460
112
+ vortex/tools/folder.py,sha256=R3bQtwnyn01WzkF3NdzJKb2tCkAPWYB61Bb90r0B09I,27992
113
+ vortex/tools/grib.py,sha256=wReKDpWpTCrbiVUZKZaQdo8_YBzRLIJp0GvpEtkiHTw,25458
114
+ vortex/tools/lfi.py,sha256=9mvXL-R5PQtTut7gsSMGJa0iNqpNgOFp7yuEMqYGIBA,29681
115
+ vortex/tools/listings.py,sha256=LTfQHjT0XlK3Hxewbi06HZQjKhALmg0Gvz69UooOFog,15123
116
+ vortex/tools/names.py,sha256=Knb2YsUsEjGpODBva1kEOBXRM2d_H0ylHwp-OoO3mnY,21644
117
+ vortex/tools/net.py,sha256=MWamIGwm52qDpRhpxMP1BihsyZW4SwoPl6hg0GgX7WA,73734
118
+ vortex/tools/odb.py,sha256=TZ1Qq8QmFIh3OP-bsgnwPuHPdfMKNXUAfhc-KSx9tZQ,193
119
+ vortex/tools/parallelism.py,sha256=f4uBp37Q3BG71Qn1yy_YSTPdk-2ZZ7zoGRQsGm6pT1Y,12345
120
+ vortex/tools/prestaging.py,sha256=lGJIo4SA8pDziF1nbBogsrK1bgwDQA6tj9Wg9VUFt6Q,7078
121
+ vortex/tools/rawfiles.py,sha256=keUI6QtEZQrWQ7H_Sg_TY9SY32anfb-suqJkrDmdXN0,215
122
+ vortex/tools/schedulers.py,sha256=XduOQab1dRiHwz7Mnt3mxXByGzAHMsDLCwlUOpMdXEk,15828
123
+ vortex/tools/services.py,sha256=_cVaHQmwknJmSny6y20BL2M2K68MKN-ydOFtxWn9lPs,29228
124
+ vortex/tools/storage.py,sha256=YBhq00j39NipaK1EDovr0VF7EArdpp5AuFx0lqB0_p4,34411
125
+ vortex/tools/surfex.py,sha256=qbCIGt-dmfIRWRRMjOQnzc9sGNnt8PIFSqQYT77trhw,1408
126
+ vortex/tools/systems.py,sha256=yIs-Qy7roVdOAeWas20grfhiw-aeJVZ9JyIvTyu8mro,148751
127
+ vortex/tools/targets.py,sha256=-n2uMoEFdz3AeoSd1IGhlr7dYYb8xantUeh9_ggk9iI,14896
128
+ vortex/util/__init__.py,sha256=Zt0OASbKbNnnwUqFHFoq5Mk13sGYSQhxqh7bUvJH6Y8,198
129
+ vortex/util/config.py,sha256=-9fP9ZIJODHBfGE08UhwFB-VyVFstTscgKWibKEUmh0,39989
130
+ vortex/util/empty.py,sha256=EYcltpsjGxATAPPAVK2QRq_Bc5tcFLfF34dE1KO1tvk,535
131
+ vortex/util/helpers.py,sha256=vmz2h3MCL1FElZpn-MX3MX6L_RCQfyqMXTcYWpcYyr4,7492
132
+ vortex/util/introspection.py,sha256=VWZ6Ntr4fMJD4Xr_q-F7_lMHTSjDpHptnZ3SckBtuYY,2146
133
+ vortex/util/iosponge.py,sha256=wuEa0Flv_UeOndg7P9KnBOvW73zCQT1GoxNpqic4Gic,2594
134
+ vortex/util/roles.py,sha256=9un_QAijaMn5iTS7PrdoWI5_NNw7uHxMWTnyhc5aNzg,1150
135
+ vortex/util/storefunctions.py,sha256=uSfG-G_A88iJf3DwFBd-j0rw6eJta8opfRT39aQHsHM,3615
136
+ vortex/util/structs.py,sha256=vapErq0MNhiKlsnjrv_a5M0Rn29KbP3WE_oiy4Hfwb8,683
137
+ vortex/util/worker.py,sha256=zp8f2tx4SXwf1v55XMdYLAx7n3vSlg8PRGrkHgnfdmg,4721
138
+ vortex_nwp-2.0.0b2.dist-info/LICENSE,sha256=ewBJPmWAcQqtBPrydH10tt6ECkcYP3b1o2RfH85pJF0,21863
139
+ vortex_nwp-2.0.0b2.dist-info/METADATA,sha256=bRlOmQfR7sB8u7P5XYTrIHRVWuzCnaG6Zi9ZaoW6Cys,2165
140
+ vortex_nwp-2.0.0b2.dist-info/WHEEL,sha256=52BFRY2Up02UkjOa29eZOS2VxUrpPORXg1pkohGGUS8,91
141
+ vortex_nwp-2.0.0b2.dist-info/top_level.txt,sha256=3xfbSD7kw8xKl0jk4GNHsOPKbhubstfWHPl6bxHciRQ,7
142
+ vortex_nwp-2.0.0b2.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.8.0)
2
+ Generator: setuptools (76.0.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