avaframe 2.0a1__tar.gz → 2.0a3__tar.gz

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 (225) hide show
  1. {avaframe-2.0a1 → avaframe-2.0a3}/.coveragerc +1 -0
  2. {avaframe-2.0a1 → avaframe-2.0a3}/.github/workflows/runTestSinglePython.yml +13 -13
  3. {avaframe-2.0a1 → avaframe-2.0a3}/PKG-INFO +3 -3
  4. avaframe-2.0a3/avaframe/RELEASE-VERSION.txt +1 -0
  5. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/ana1Tests/energyLineTestCfg.ini +2 -2
  6. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/ana1Tests/rotationTestCfg.ini +2 -2
  7. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/ana1Tests/simiSolTest.py +4 -3
  8. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/ana3AIMEC/aimecTools.py +22 -6
  9. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/ana3AIMEC/ana3AIMEC.py +21 -8
  10. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/ana4Stats/probAna.py +2 -2
  11. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/com1DFA/DFAToolsCython.c +459 -426
  12. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/com1DFA/DFAfunctionsCython.c +6887 -6066
  13. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/com1DFA/DFAfunctionsCython.pyx +57 -0
  14. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/com1DFA/checkCfg.py +38 -0
  15. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/com1DFA/com1DFA.py +431 -170
  16. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/com1DFA/com1DFACfg.ini +66 -10
  17. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/com1DFA/com1DFATools.py +10 -6
  18. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/com1DFA/damCom1DFA.c +137 -110
  19. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/com1DFA/deriveParameterSet.py +122 -60
  20. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/com1DFA/particleTools.py +7 -2
  21. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/com3Hybrid/com3HybridCfg.ini +4 -4
  22. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/com6RockAvalanche/com6RockAvalancheCfg.ini +2 -2
  23. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/com6RockAvalanche/scarp.py +5 -5
  24. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/com8MoTPSA/com8MoTPSA.py +146 -71
  25. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/com8MoTPSA/com8MoTPSACfg.ini +12 -14
  26. avaframe-2.0a3/avaframe/com9MoTVoellmy/MoT-Voellmy_linux.exe +0 -0
  27. avaframe-2.0a3/avaframe/com9MoTVoellmy/MoT-Voellmy_win.exe +0 -0
  28. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/com9MoTVoellmy/com9MoTVoellmy.py +136 -72
  29. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/com9MoTVoellmy/com9MoTVoellmyCfg.ini +19 -22
  30. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/com9MoTVoellmy/runCom9MoTVoellmy.py +35 -16
  31. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/in1Data/getInput.py +261 -53
  32. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/in2Trans/rasterUtils.py +25 -0
  33. avaframe-2.0a3/avaframe/in3Utils/MoTUtils.py +393 -0
  34. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/in3Utils/cfgHandling.py +1 -1
  35. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/in3Utils/geoTrans.py +1 -1
  36. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/out1Peak/outPlotAllPeak.py +55 -20
  37. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/out3Plot/outAIMEC.py +269 -134
  38. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/out3Plot/outCom1DFA.py +50 -18
  39. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/runScripts/runPlotAreaRefDiffs.py +6 -5
  40. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe.egg-info/PKG-INFO +3 -3
  41. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe.egg-info/requires.txt +2 -2
  42. {avaframe-2.0a1 → avaframe-2.0a3}/pyproject.toml +14 -3
  43. avaframe-2.0a1/avaframe/RELEASE-VERSION.txt +0 -1
  44. avaframe-2.0a1/avaframe/com9MoTVoellmy/MoT-Voellmy_linux.exe +0 -0
  45. avaframe-2.0a1/avaframe/com9MoTVoellmy/MoT-Voellmy_win.exe +0 -0
  46. avaframe-2.0a1/avaframe/in3Utils/MoTUtils.py +0 -191
  47. {avaframe-2.0a1 → avaframe-2.0a3}/.gitattributes +0 -0
  48. {avaframe-2.0a1 → avaframe-2.0a3}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  49. {avaframe-2.0a1 → avaframe-2.0a3}/.github/ISSUE_TEMPLATE/com1dfa-dev-topic.md +0 -0
  50. {avaframe-2.0a1 → avaframe-2.0a3}/.github/ISSUE_TEMPLATE/standard-issue.md +0 -0
  51. {avaframe-2.0a1 → avaframe-2.0a3}/.github/workflows/buildAndUploadPyPi.yml +0 -0
  52. {avaframe-2.0a1 → avaframe-2.0a3}/.gitignore +0 -0
  53. {avaframe-2.0a1 → avaframe-2.0a3}/.qlty/qlty.toml +0 -0
  54. {avaframe-2.0a1 → avaframe-2.0a3}/.readthedocs.yml +0 -0
  55. {avaframe-2.0a1 → avaframe-2.0a3}/.zenodo.json +0 -0
  56. {avaframe-2.0a1 → avaframe-2.0a3}/LICENSE.txt +0 -0
  57. {avaframe-2.0a1 → avaframe-2.0a3}/MANIFEST.in +0 -0
  58. {avaframe-2.0a1 → avaframe-2.0a3}/README.md +0 -0
  59. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/__init__.py +0 -0
  60. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/ana1Tests/FPtest.py +0 -0
  61. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/ana1Tests/__init__.py +0 -0
  62. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/ana1Tests/analysisTools.py +0 -0
  63. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/ana1Tests/damBreak.py +0 -0
  64. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/ana1Tests/energyLineTest.py +0 -0
  65. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/ana1Tests/rotationTest.py +0 -0
  66. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/ana1Tests/testUtilities.py +0 -0
  67. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/ana3AIMEC/__init__.py +0 -0
  68. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/ana3AIMEC/ana3AIMECCfg.ini +0 -0
  69. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/ana3AIMEC/dfa2Aimec.py +0 -0
  70. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/ana4Stats/__init__.py +0 -0
  71. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/ana4Stats/getStats.py +0 -0
  72. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/ana4Stats/getStatsCfg.ini +0 -0
  73. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/ana4Stats/probAnaCfg.ini +0 -0
  74. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/ana5Utils/DFAPathGeneration.py +0 -0
  75. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/ana5Utils/DFAPathGenerationCfg.ini +0 -0
  76. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/ana5Utils/__init__.py +0 -0
  77. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/ana5Utils/distanceTimeAnalysis.py +0 -0
  78. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/ana5Utils/distanceTimeAnalysisCfg.ini +0 -0
  79. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/avaframeCfg.ini +0 -0
  80. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/com1DFA/DFAToolsCython.pxd +0 -0
  81. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/com1DFA/DFAToolsCython.pyx +0 -0
  82. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/com1DFA/DFAfunctionsCython.pxd +0 -0
  83. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/com1DFA/DFAtools.py +0 -0
  84. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/com1DFA/__init__.py +0 -0
  85. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/com1DFA/damCom1DFA.pxd +0 -0
  86. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/com1DFA/damCom1DFA.pyx +0 -0
  87. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/com1DFA/particleInitialisation.py +0 -0
  88. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/com1DFA/testSPH.py +0 -0
  89. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/com1DFA/timeDiscretizations.py +0 -0
  90. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/com2AB/__init__.py +0 -0
  91. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/com2AB/com2AB.py +0 -0
  92. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/com2AB/com2ABCfg.ini +0 -0
  93. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/com3Hybrid/__init__.py +0 -0
  94. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/com3Hybrid/com3Hybrid.py +0 -0
  95. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/com4FlowPy/__init__.py +0 -0
  96. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/com4FlowPy/com4FlowPy.py +0 -0
  97. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/com4FlowPy/com4FlowPyCfg.ini +0 -0
  98. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/com4FlowPy/flowClass.py +0 -0
  99. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/com4FlowPy/flowCore.py +0 -0
  100. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/com4FlowPy/splitAndMerge.py +0 -0
  101. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/com5SnowSlide/__init__.py +0 -0
  102. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/com5SnowSlide/com5SnowSlide.py +0 -0
  103. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/com5SnowSlide/com5SnowSlideCfg.ini +0 -0
  104. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/com6RockAvalanche/__init__.py +0 -0
  105. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/com6RockAvalanche/com6RockAvalanche.py +0 -0
  106. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/com6RockAvalanche/scarpCfg.ini +0 -0
  107. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/com7Regional/__init__.py +0 -0
  108. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/com7Regional/com7Regional.py +0 -0
  109. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/com7Regional/com7RegionalCfg.ini +0 -0
  110. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/com7Regional/splitInputs.py +0 -0
  111. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/com7Regional/splitInputsCfg.ini +0 -0
  112. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/com8MoTPSA/README_dev.md +0 -0
  113. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/com8MoTPSA/__init__.py +0 -0
  114. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/com8MoTPSA/runAna4ProbAnaCom8MoTPSA.py +0 -0
  115. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/com8MoTPSA/runCom8MoTPSA.py +0 -0
  116. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/com9MoTVoellmy/__init__.py +0 -0
  117. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/in1Data/__init__.py +0 -0
  118. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/in1Data/computeFromDistribution.py +0 -0
  119. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/in1Data/computeFromDistributionCfg.ini +0 -0
  120. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/in2Trans/__init__.py +0 -0
  121. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/in2Trans/ascUtils.py +0 -0
  122. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/in2Trans/shpConversion.py +0 -0
  123. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/in2Trans/transformFields.py +0 -0
  124. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/in3Utils/__init__.py +0 -0
  125. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/in3Utils/cfgUtils.py +0 -0
  126. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/in3Utils/fileHandlerUtils.py +0 -0
  127. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/in3Utils/generateTopo.py +0 -0
  128. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/in3Utils/generateTopoCfg.ini +0 -0
  129. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/in3Utils/getReleaseArea.py +0 -0
  130. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/in3Utils/getReleaseAreaCfg.ini +0 -0
  131. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/in3Utils/initialiseDirs.py +0 -0
  132. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/in3Utils/initializeProject.py +0 -0
  133. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/in3Utils/logUtils.py +0 -0
  134. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/in3Utils/logging.conf +0 -0
  135. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/log2Report/__init__.py +0 -0
  136. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/log2Report/generateCompareReport.py +0 -0
  137. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/log2Report/generateCompareReportCfg.ini +0 -0
  138. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/log2Report/generateReport.py +0 -0
  139. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/out1Peak/__init__.py +0 -0
  140. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/out1Peak/outPlotAllPeakDiffs.py +0 -0
  141. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/out3Plot/__init__.py +0 -0
  142. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/out3Plot/amaPlots.py +0 -0
  143. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/out3Plot/in1DataPlots.py +0 -0
  144. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/out3Plot/outAB.py +0 -0
  145. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/out3Plot/outAna1Plots.py +0 -0
  146. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/out3Plot/outCom3Plots.py +0 -0
  147. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/out3Plot/outCom7Regional.py +0 -0
  148. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/out3Plot/outContours.py +0 -0
  149. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/out3Plot/outDebugPlots.py +0 -0
  150. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/out3Plot/outDistanceTimeAnalysis.py +0 -0
  151. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/out3Plot/outParticlesAnalysis.py +0 -0
  152. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/out3Plot/outParticlesAnalysisCfg.ini +0 -0
  153. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/out3Plot/outProfilePlots.py +0 -0
  154. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/out3Plot/outQuickPlot.py +0 -0
  155. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/out3Plot/outQuickPlotCfg.ini +0 -0
  156. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/out3Plot/outTopo.py +0 -0
  157. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/out3Plot/outTransformPlots.py +0 -0
  158. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/out3Plot/plotUtils.py +0 -0
  159. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/out3Plot/plotUtilsCfg.ini +0 -0
  160. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/out3Plot/statsPlots.py +0 -0
  161. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/runAna4ProbAna.py +0 -0
  162. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/runAna5DFAPathGeneration.py +0 -0
  163. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/runCom1DFA.py +0 -0
  164. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/runCom2AB.py +0 -0
  165. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/runCom4FlowPy.py +0 -0
  166. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/runCom5SnowSlide.py +0 -0
  167. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/runCom6RockAvalanche.py +0 -0
  168. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/runCom6Scarp.py +0 -0
  169. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/runCom7Regional.py +0 -0
  170. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/runIn1RelInfo.py +0 -0
  171. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/runOperational.py +0 -0
  172. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/runPlotCom1DFA.py +0 -0
  173. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/runProbAnalysisOnly.py +0 -0
  174. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/runScripts/runAimecSummaryPlot.py +0 -0
  175. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/runScripts/runAna3AIMEC.py +0 -0
  176. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/runScripts/runAna3AIMECCompMods.py +0 -0
  177. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/runScripts/runAnalyzeDamBreak.py +0 -0
  178. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/runScripts/runAnalyzeSimilaritySol.py +0 -0
  179. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/runScripts/runCom3Hybrid.py +0 -0
  180. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/runScripts/runComputeDist.py +0 -0
  181. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/runScripts/runContourPlot.py +0 -0
  182. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/runScripts/runCreateProbCfgsFlowPy.py +0 -0
  183. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/runScripts/runD2Th.py +0 -0
  184. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/runScripts/runDamBreak.py +0 -0
  185. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/runScripts/runEnergyLineTest.py +0 -0
  186. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/runScripts/runExportToCsv.py +0 -0
  187. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/runScripts/runFetchPointValues.py +0 -0
  188. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/runScripts/runGenProjTopoRelease.py +0 -0
  189. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/runScripts/runGenerateTopo.py +0 -0
  190. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/runScripts/runInitializeProject.py +0 -0
  191. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/runScripts/runParticleAnalysisPlots.py +0 -0
  192. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/runScripts/runPlotAlongGivenProfile.py +0 -0
  193. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/runScripts/runPlotContoursFromAsc.py +0 -0
  194. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/runScripts/runPlotContoursFromAscCfg.ini +0 -0
  195. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/runScripts/runPlotProfile.py +0 -0
  196. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/runScripts/runPlotTopo.py +0 -0
  197. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/runScripts/runProbAna.py +0 -0
  198. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/runScripts/runQuickPlotOne.py +0 -0
  199. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/runScripts/runQuickPlotSimple.py +0 -0
  200. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/runScripts/runRangeTimeDiagram.py +0 -0
  201. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/runScripts/runRenaming.py +0 -0
  202. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/runScripts/runRotationTest.py +0 -0
  203. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/runScripts/runSimilaritySol.py +0 -0
  204. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/runScripts/runStatsExample.py +0 -0
  205. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/runScripts/runStatsPlots.py +0 -0
  206. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/runScripts/runTestFP.py +0 -0
  207. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/runScripts/runThalwegTimeDiagram.py +0 -0
  208. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/runScripts/runVariationsTestsCom1DFA.py +0 -0
  209. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/runScripts/runWriteDesDict.py +0 -0
  210. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/runStandardTestsCom1DFA.py +0 -0
  211. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/runTmp1Ex.py +0 -0
  212. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/runUpdateBenchmarkTestsCom1DFA.py +0 -0
  213. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/tmp1Ex/__init__.py +0 -0
  214. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/tmp1Ex/tmp1Ex.py +0 -0
  215. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/tmp1Ex/tmp1ExCfg.ini +0 -0
  216. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe/version.py +0 -0
  217. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe.egg-info/SOURCES.txt +0 -0
  218. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe.egg-info/dependency_links.txt +0 -0
  219. {avaframe-2.0a1 → avaframe-2.0a3}/avaframe.egg-info/top_level.txt +0 -0
  220. {avaframe-2.0a1 → avaframe-2.0a3}/requirements.txt +0 -0
  221. {avaframe-2.0a1 → avaframe-2.0a3}/setup.cfg +0 -0
  222. {avaframe-2.0a1 → avaframe-2.0a3}/setup.py +0 -0
  223. {avaframe-2.0a1 → avaframe-2.0a3}/tinyHelper/extractDEM.sh +0 -0
  224. {avaframe-2.0a1 → avaframe-2.0a3}/tinyHelper/logHelper_extractProcessAndTimes.sh +0 -0
  225. {avaframe-2.0a1 → avaframe-2.0a3}/tinyHelper/logHelper_extractProcessTimesAndParams.sh +0 -0
@@ -7,3 +7,4 @@ sigterm = true
7
7
  omit = */test_*
8
8
  */__init__.py
9
9
  */run*
10
+ */out3Plot/out*
@@ -20,16 +20,16 @@ jobs:
20
20
  runs-on: ubuntu-latest
21
21
 
22
22
  steps:
23
- - uses: actions/checkout@v4
24
- with:
25
- fetch-depth: 0
26
- - uses: prefix-dev/setup-pixi@v0.8.3
27
- with:
28
- cache: false
29
- - name: Pixi run pytest
30
- run: |
31
- pixi run pytest -ra --cov --cov-report=xml --cov-report lcov:cov.info --cov-config=.coveragerc
32
- - uses: qltysh/qlty-action/coverage@main
33
- with:
34
- coverage-token: ${{secrets.QLTY_COVERAGE_TOKEN}}
35
- files: cov.info
23
+ - uses: actions/checkout@v5
24
+ with:
25
+ fetch-depth: 0
26
+ - uses: prefix-dev/setup-pixi@v0.9.1
27
+ with:
28
+ cache: false
29
+ - name: Pixi run pytest
30
+ run: |
31
+ pixi run pytest -ra --cov --cov-report=xml --cov-report lcov:cov.info --cov-config=.coveragerc
32
+ - uses: qltysh/qlty-action/coverage@main
33
+ with:
34
+ coverage-token: ${{secrets.QLTY_COVERAGE_TOKEN}}
35
+ files: cov.info
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: avaframe
3
- Version: 2.0a1
3
+ Version: 2.0a3
4
4
  Summary: The Open Avalanche Framework
5
5
  Author-email: AvaFrame Contributors <felix@avaframe.org>
6
6
  License-Expression: EUPL-1.2
@@ -15,7 +15,8 @@ Classifier: Programming Language :: Python :: 3.13
15
15
  Requires-Python: >=3.9
16
16
  Description-Content-Type: text/markdown
17
17
  License-File: LICENSE.txt
18
- Requires-Dist: numpy
18
+ Requires-Dist: numpy<2.0
19
+ Requires-Dist: salib<1.5.1
19
20
  Requires-Dist: matplotlib
20
21
  Requires-Dist: pyshp
21
22
  Requires-Dist: scipy
@@ -33,7 +34,6 @@ Requires-Dist: rasterio
33
34
  Requires-Dist: contextily
34
35
  Requires-Dist: geopandas
35
36
  Requires-Dist: fiona
36
- Requires-Dist: salib
37
37
  Dynamic: license-file
38
38
 
39
39
  **The AvaFrame documentation is hosted on ReadTheDocs: http://docs.avaframe.org**
@@ -0,0 +1 @@
1
+ 2.0a3
@@ -40,8 +40,8 @@ tSteps = 0:2
40
40
  #+++++++++SNOW properties
41
41
  #+++++Release thickness++++
42
42
  # True if release thickness should be read from shapefile file; if False - relTh read from ini file
43
- relThFromShp = False
44
- # release thickness (only considered if relThFromShp=False)
43
+ relThFromFile = False
44
+ # release thickness (only considered if relThFromFile=False)
45
45
  relTh = 1
46
46
 
47
47
  #++++++++++++Time stepping parameters
@@ -44,8 +44,8 @@ tSteps = 0:2
44
44
  #+++++++++SNOW properties
45
45
  #+++++Release thickness++++
46
46
  # True if release thickness should be read from shapefile file; if False - relTh read from ini file
47
- relThFromShp = False
48
- # release thickness (only considered if relThFromShp=False)
47
+ relThFromFile = False
48
+ # release thickness (only considered if relThFromFile=False)
49
49
  relTh = 1
50
50
 
51
51
  #++++++++++++Time stepping parameters
@@ -943,7 +943,7 @@ def getReleaseThickness(avaDir, cfg, demFile):
943
943
  X1 = X / cos
944
944
  Y1 = Y
945
945
  relTh = Hini * (1 - X1 * X1 / (L_x * L_x) - Y * Y / (L_y * L_y))
946
- # relTh = np.where(relTh < 0, 0, relTh)
946
+ relTh = np.where(relTh < 0, 0, relTh)
947
947
 
948
948
  relDict = {
949
949
  "relTh": relTh,
@@ -959,11 +959,12 @@ def getReleaseThickness(avaDir, cfg, demFile):
959
959
  polyline = {}
960
960
  polyline["x"] = L_x * np.cos(alpha) * cos
961
961
  polyline["y"] = L_x * np.sin(alpha)
962
- relFileName = demFile.parent / "REL" / "rel1.shp"
962
+ fU.makeADir(demFile.parent / "RELShp")
963
+ relFileName = demFile.parent / "RELShp" / "rel1.shp"
963
964
  shpConv.writeLine2SHPfile(polyline, "rel1", str(relFileName))
964
965
 
965
966
  # write relTh to file
966
- relThPath = demFile.parent / "RELTH"
967
+ relThPath = demFile.parent / "REL"
967
968
  fU.makeADir(relThPath)
968
969
  relThFileName = relThPath / "releaseThickness.asc"
969
970
  headerRelTh = {
@@ -101,8 +101,13 @@ def readAIMECinputs(avalancheDir, pathDict, defineRunoutArea, dirName='com1DFA')
101
101
 
102
102
  referenceTypes = {"referenceLine": "LINE", "referencePolygon": "POLY",'referencePoint': 'POINT'}
103
103
  for refType in referenceTypes:
104
- referenceFile, availableFile = gI.getAndCheckInputFiles(referenceDir, 'REFDATA', referenceTypes[refType],
105
- fileExt="shp", fileSuffix=referenceTypes[refType])
104
+ referenceFile, availableFile, _ = gI.getAndCheckInputFiles(
105
+ referenceDir,
106
+ "REFDATA",
107
+ referenceTypes[refType],
108
+ fileExt="shp",
109
+ fileSuffix=referenceTypes[refType],
110
+ )
106
111
  if availableFile == 'Yes':
107
112
  # add file paths to pathDict
108
113
  pathDict[refType] = [referenceFile]
@@ -1001,16 +1006,18 @@ def computeRunOut(cfgSetup, rasterTransfo, resAnalysisDF, transformedRasters, si
1001
1006
  resAnalysisDF.loc[simRowHash, "lRunout"] = lcoord[index]
1002
1007
  resAnalysisDF.loc[simRowHash, "xRunout"] = gridx[cLower, index]
1003
1008
  resAnalysisDF.loc[simRowHash, "yRunout"] = gridy[cLower, index]
1009
+ resAnalysisDF.loc[simRowHash, "runoutAngle"] = np.rad2deg(
1010
+ np.arctan((zThalweg[cUpper] - zThalweg[cLower]) / (scoord[cLower] - scoord[cUpper]))
1011
+ )
1004
1012
  else:
1005
1013
  resAnalysisDF.loc[simRowHash, "sRunout"] = np.nan
1006
1014
  resAnalysisDF.loc[simRowHash, "lRunout"] = np.nan
1007
1015
  resAnalysisDF.loc[simRowHash, "xRunout"] = np.nan
1008
1016
  resAnalysisDF.loc[simRowHash, "yRunout"] = np.nan
1017
+ resAnalysisDF.loc[simRowHash, "runoutAngle"] = np.nan
1009
1018
 
1010
1019
  resAnalysisDF.loc[simRowHash, 'deltaSXY'] = scoord[cLower] - scoord[cUpper]
1011
- resAnalysisDF.loc[simRowHash, "runoutAngle"] = np.rad2deg(
1012
- np.arctan((zThalweg[cUpper] - zThalweg[cLower]) / (scoord[cLower] - scoord[cUpper]))
1013
- )
1020
+
1014
1021
  if flagMeanFound:
1015
1022
  resAnalysisDF.loc[simRowHash, "zRunout"] = zThalweg[cLower]
1016
1023
  resAnalysisDF.loc[simRowHash, "sMeanRunout"] = scoord[cLowerm]
@@ -1296,6 +1303,11 @@ def analyzeArea(rasterTransfo, resAnalysisDF, simRowHash, newRasters, cfg, pathD
1296
1303
  ):
1297
1304
  # only plot comparisons of simulations to reference
1298
1305
  compPlotPath = outAimec.visuComparison(rasterTransfo, inputs, pathDict)
1306
+ elif not resAnalysisDF.loc[simRowHash, "runoutFound"] and cfgPlots.getboolean("extraPlots"):
1307
+ log.warning(
1308
+ "ContourComparisonToReference plot not generated as only 0 values for comparison simulation: %s"
1309
+ % resAnalysisDF.loc[simRowHash, "simName"]
1310
+ )
1299
1311
  # add contourlines to contourDict
1300
1312
  contourDict = outAimec.fetchContourLines(rasterTransfo, inputs, cfgSetup.getfloat('thresholdValue'), contourDict)
1301
1313
 
@@ -1798,7 +1810,11 @@ def analyzeDiffsRunoutLines(cfgSetup, runoutLine, refDataTransformed, resAnalysi
1798
1810
  refLineStr = '%d/%d' % (refLineNoPoints, runoutLineAllPoints)
1799
1811
 
1800
1812
  # compute RMSE between runout line and refLine
1801
- RMSE = np.sqrt(np.sum(diffNoNans**2)/len(diffNoNans))
1813
+ # set RMSE to nan if no runout line found for sim to compare to reference
1814
+ if np.all(np.isnan(runoutLine["s"])):
1815
+ RMSE = np.nan
1816
+ else:
1817
+ RMSE = np.sqrt(np.sum(diffNoNans**2) / len(diffNoNans))
1802
1818
 
1803
1819
  # plot differences in runout lines
1804
1820
  if len(np.where((np.isnan(runoutLine["s"]) == False))[0]) > 0:
@@ -352,16 +352,29 @@ def postProcessAIMEC(cfg, rasterTransfo, pathDict, resAnalysisDF, newRasters, ti
352
352
  resAnalysisDF['runoutLineDiff_poly'] = np.nan
353
353
  resAnalysisDF['runoutLineDiff_poly'] = resAnalysisDF['runoutLineDiff_line'].astype(object)
354
354
 
355
- # add max, min and std values of result fields
356
- resAnalysisDF.at[simRowHash, resType + 'FieldMax'] = np.nanmax(rasterData['rasterData'])
357
- # for mean and min values and std, only take peak field values != 0
358
- maskedRaster = np.where(rasterData['rasterData'] < cfgSetup.getfloat('minValueField'), np.nan, rasterData['rasterData'])
359
- resAnalysisDF.at[simRowHash, resType + 'FieldMin'] = np.nanmin(maskedRaster)
360
- resAnalysisDF.at[simRowHash, resType + 'FieldMean'] = np.nanmean(maskedRaster)
361
- resAnalysisDF.at[simRowHash, resType + 'FieldStd'] = np.nanstd(maskedRaster)
355
+ # only extract values if nonzero values found in rasterData; if only 0 values set to 0
356
+ if np.any(rasterData["rasterData"]):
357
+ # add max, min and std values of result fields
358
+ resAnalysisDF.at[simRowHash, resType + "FieldMax"] = np.nanmax(rasterData["rasterData"])
359
+ # for mean and min values and std, only take peak field values != 0
360
+ maskedRaster = np.where(
361
+ rasterData["rasterData"] < cfgSetup.getfloat("minValueField"),
362
+ np.nan,
363
+ rasterData["rasterData"],
364
+ )
365
+ resAnalysisDF.at[simRowHash, resType + "FieldMin"] = np.nanmin(maskedRaster)
366
+ resAnalysisDF.at[simRowHash, resType + "FieldMean"] = np.nanmean(maskedRaster)
367
+ resAnalysisDF.at[simRowHash, resType + "FieldStd"] = np.nanstd(maskedRaster)
368
+ else:
369
+ resAnalysisDF.at[simRowHash, resType + "FieldMax"] = 0.0
370
+ resAnalysisDF.at[simRowHash, resType + "FieldMin"] = 0.0
371
+ resAnalysisDF.at[simRowHash, resType + "FieldMean"] = 0.0
372
+ resAnalysisDF.at[simRowHash, resType + "FieldStd"] = 0.0
362
373
 
363
374
  # analyze all fields
364
- resAnalysisDF = aimecTools.analyzeField(simRowHash, rasterTransfo, newRaster, resType, resAnalysisDF)
375
+ resAnalysisDF = aimecTools.analyzeField(
376
+ simRowHash, rasterTransfo, newRaster, resType, resAnalysisDF
377
+ )
365
378
 
366
379
  # compute runout based on runoutResType
367
380
  resAnalysisDF = aimecTools.computeRunOut(cfgSetup, rasterTransfo, resAnalysisDF, newRasters, simRowHash)
@@ -315,11 +315,11 @@ def checkParameterSettings(cfg, varParList):
315
315
  log.error(message)
316
316
  raise AssertionError(message)
317
317
  elif varPar in ["entTh", "relTh", "secondaryRelTh"]:
318
- thFromShp = varPar + "FromShp"
318
+ thFromFile = varPar + "FromFile"
319
319
  # check if reference settings have already variation of varPar
320
320
  _ = checkForNumberOfReferenceValues(cfg["GENERAL"], varPar)
321
321
  # check if th read from shp file
322
- if cfg["GENERAL"].getboolean(thFromShp):
322
+ if cfg["GENERAL"].getboolean(thFromFile):
323
323
  thReadFromShp.append(varPar)
324
324
 
325
325
  return True, thReadFromShp