pydra-core 0.0.1__py2.py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
Files changed (389) hide show
  1. pydra_core/__init__.py +32 -0
  2. pydra_core/common/__init__.py +0 -0
  3. pydra_core/common/common.py +98 -0
  4. pydra_core/common/enum.py +63 -0
  5. pydra_core/common/interpolate.py +345 -0
  6. pydra_core/common/probability.py +293 -0
  7. pydra_core/core/__init__.py +0 -0
  8. pydra_core/core/calculation.py +51 -0
  9. pydra_core/core/datamodels/__init__.py +0 -0
  10. pydra_core/core/datamodels/frequency_line.py +60 -0
  11. pydra_core/core/exceedance_frequency_line.py +224 -0
  12. pydra_core/core/exceedance_frequency_line_experimental.py +163 -0
  13. pydra_core/core/hbn.py +226 -0
  14. pydra_core/data/settings/calculation_settings.sqlite +0 -0
  15. pydra_core/data/settings/lower_river_settings.cpg +1 -0
  16. pydra_core/data/settings/lower_river_settings.dbf +0 -0
  17. pydra_core/data/settings/lower_river_settings.prj +1 -0
  18. pydra_core/data/settings/lower_river_settings.shp +0 -0
  19. pydra_core/data/settings/lower_river_settings.shx +0 -0
  20. pydra_core/data/statistics/Afvoer/Borgharen/Ovkans_Borgharen_piekafvoer_2017.txt +37 -0
  21. pydra_core/data/statistics/Afvoer/Borgharen/Ovkans_Borgharen_piekafvoer_2017_metOnzHeid.txt +46 -0
  22. pydra_core/data/statistics/Afvoer/Borgharen/Ovkans_Borgharen_piekafvoer_OI2014_G_2015_metOnzHeid_v02.txt +50 -0
  23. pydra_core/data/statistics/Afvoer/Borgharen/Ovkans_Borgharen_piekafvoer_OI2014_G_2015_v02.txt +42 -0
  24. pydra_core/data/statistics/Afvoer/Borgharen/Ovkans_Borgharen_piekafvoer_OI2014_G_2050_metOnzHeid_v02.txt +56 -0
  25. pydra_core/data/statistics/Afvoer/Borgharen/Ovkans_Borgharen_piekafvoer_OI2014_G_2050_v02.txt +48 -0
  26. pydra_core/data/statistics/Afvoer/Borgharen/Ovkans_Borgharen_piekafvoer_OI2014_G_2100_metOnzHeid_v02.txt +56 -0
  27. pydra_core/data/statistics/Afvoer/Borgharen/Ovkans_Borgharen_piekafvoer_OI2014_G_2100_v02.txt +48 -0
  28. pydra_core/data/statistics/Afvoer/Borgharen/Ovkans_Borgharen_piekafvoer_OI2014_W_2015_metOnzHeid_v02.txt +50 -0
  29. pydra_core/data/statistics/Afvoer/Borgharen/Ovkans_Borgharen_piekafvoer_OI2014_W_2015_v02.txt +42 -0
  30. pydra_core/data/statistics/Afvoer/Borgharen/Ovkans_Borgharen_piekafvoer_OI2014_W_2050_metOnzHeid_v02.txt +56 -0
  31. pydra_core/data/statistics/Afvoer/Borgharen/Ovkans_Borgharen_piekafvoer_OI2014_W_2050_v02.txt +48 -0
  32. pydra_core/data/statistics/Afvoer/Borgharen/Ovkans_Borgharen_piekafvoer_OI2014_W_2100_metOnzHeid_v02.txt +51 -0
  33. pydra_core/data/statistics/Afvoer/Borgharen/Ovkans_Borgharen_piekafvoer_OI2014_W_2100_v02.txt +44 -0
  34. pydra_core/data/statistics/Afvoer/Borgharen/Ovkans_Borgharen_piekafvoer_Ref.txt +28 -0
  35. pydra_core/data/statistics/Afvoer/Dalfsen/Ovkans_Dalfsen_piekafvoer_2017.txt +31 -0
  36. pydra_core/data/statistics/Afvoer/Dalfsen/Ovkans_Dalfsen_piekafvoer_2017_metOnzHeid.txt +33 -0
  37. pydra_core/data/statistics/Afvoer/Dalfsen/Ovkans_Dalfsen_piekafvoer_OI2014_G_2015.txt +44 -0
  38. pydra_core/data/statistics/Afvoer/Dalfsen/Ovkans_Dalfsen_piekafvoer_OI2014_G_2015_metOnzHeid.txt +34 -0
  39. pydra_core/data/statistics/Afvoer/Dalfsen/Ovkans_Dalfsen_piekafvoer_OI2014_G_2050.txt +44 -0
  40. pydra_core/data/statistics/Afvoer/Dalfsen/Ovkans_Dalfsen_piekafvoer_OI2014_G_2050_metOnzHeid.txt +34 -0
  41. pydra_core/data/statistics/Afvoer/Dalfsen/Ovkans_Dalfsen_piekafvoer_OI2014_G_2100.txt +44 -0
  42. pydra_core/data/statistics/Afvoer/Dalfsen/Ovkans_Dalfsen_piekafvoer_OI2014_G_2100_metOnzHeid.txt +39 -0
  43. pydra_core/data/statistics/Afvoer/Dalfsen/Ovkans_Dalfsen_piekafvoer_OI2014_W_2015.txt +44 -0
  44. pydra_core/data/statistics/Afvoer/Dalfsen/Ovkans_Dalfsen_piekafvoer_OI2014_W_2015_metOnzHeid.txt +34 -0
  45. pydra_core/data/statistics/Afvoer/Dalfsen/Ovkans_Dalfsen_piekafvoer_OI2014_W_2050.txt +44 -0
  46. pydra_core/data/statistics/Afvoer/Dalfsen/Ovkans_Dalfsen_piekafvoer_OI2014_W_2050_metOnzHeid.txt +34 -0
  47. pydra_core/data/statistics/Afvoer/Dalfsen/Ovkans_Dalfsen_piekafvoer_OI2014_W_2100.txt +44 -0
  48. pydra_core/data/statistics/Afvoer/Dalfsen/Ovkans_Dalfsen_piekafvoer_OI2014_W_2100_metOnzHeid.txt +34 -0
  49. pydra_core/data/statistics/Afvoer/Dalfsen/Ovkans_Dalfsen_piekafvoer_Ref.txt +14 -0
  50. pydra_core/data/statistics/Afvoer/Lith/Ovkans_Lith_piekafvoer_2017.txt +47 -0
  51. pydra_core/data/statistics/Afvoer/Lith/Ovkans_Lith_piekafvoer_2017_metOnzHeid.txt +47 -0
  52. pydra_core/data/statistics/Afvoer/Lith/Ovkans_Lith_piekafvoer_OI2014_G_2015.txt +49 -0
  53. pydra_core/data/statistics/Afvoer/Lith/Ovkans_Lith_piekafvoer_OI2014_G_2015_metOnzHeid.txt +59 -0
  54. pydra_core/data/statistics/Afvoer/Lith/Ovkans_Lith_piekafvoer_OI2014_G_2050.txt +49 -0
  55. pydra_core/data/statistics/Afvoer/Lith/Ovkans_Lith_piekafvoer_OI2014_G_2050_metOnzHeid.txt +59 -0
  56. pydra_core/data/statistics/Afvoer/Lith/Ovkans_Lith_piekafvoer_OI2014_G_2100.txt +49 -0
  57. pydra_core/data/statistics/Afvoer/Lith/Ovkans_Lith_piekafvoer_OI2014_G_2100_metOnzHeid.txt +59 -0
  58. pydra_core/data/statistics/Afvoer/Lith/Ovkans_Lith_piekafvoer_OI2014_W_2015.txt +49 -0
  59. pydra_core/data/statistics/Afvoer/Lith/Ovkans_Lith_piekafvoer_OI2014_W_2015_metOnzHeid.txt +59 -0
  60. pydra_core/data/statistics/Afvoer/Lith/Ovkans_Lith_piekafvoer_OI2014_W_2050.txt +49 -0
  61. pydra_core/data/statistics/Afvoer/Lith/Ovkans_Lith_piekafvoer_OI2014_W_2050_metOnzHeid.txt +59 -0
  62. pydra_core/data/statistics/Afvoer/Lith/Ovkans_Lith_piekafvoer_OI2014_W_2100.txt +49 -0
  63. pydra_core/data/statistics/Afvoer/Lith/Ovkans_Lith_piekafvoer_OI2014_W_2100_metOnzHeid.txt +59 -0
  64. pydra_core/data/statistics/Afvoer/Lith/Ovkans_Lith_piekafvoer_Ref.txt +21 -0
  65. pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_2017.txt +33 -0
  66. pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_2017_metOnzHeid.txt +60 -0
  67. pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_G_2015.txt +49 -0
  68. pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_G_2015_BenedenRijn.txt +50 -0
  69. pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_G_2015_metOnzHeid.txt +63 -0
  70. pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_G_2015_metOnzHeid_BenedenRijn.txt +65 -0
  71. pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_G_2050.txt +49 -0
  72. pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_G_2050_BenedenRijn.txt +50 -0
  73. pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_G_2050_metOnzHeid.txt +63 -0
  74. pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_G_2050_metOnzHeid_BenedenRijn.txt +65 -0
  75. pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_G_2100.txt +49 -0
  76. pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_G_2100_BenedenRijn.txt +50 -0
  77. pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_G_2100_metOnzHeid.txt +63 -0
  78. pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_G_2100_metOnzHeid_BenedenRijn.txt +65 -0
  79. pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_W_2015.txt +50 -0
  80. pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_W_2015_BenedenRijn.txt +51 -0
  81. pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_W_2015_metOnzHeid.txt +63 -0
  82. pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_W_2015_metOnzHeid_BenedenRijn.txt +65 -0
  83. pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_W_2050.txt +50 -0
  84. pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_W_2050_BenedenRijn.txt +51 -0
  85. pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_W_2050_metOnzHeid.txt +63 -0
  86. pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_W_2050_metOnzHeid_BenedenRijn.txt +65 -0
  87. pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_W_2100.txt +50 -0
  88. pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_W_2100_BenedenRijn.txt +51 -0
  89. pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_W_2100_metOnzHeid.txt +63 -0
  90. pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_W_2100_metOnzHeid_BenedenRijn.txt +65 -0
  91. pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_Ref.txt +23 -0
  92. pydra_core/data/statistics/Afvoer/Olst/Ovkans_Olst_piekafvoer_2017.txt +55 -0
  93. pydra_core/data/statistics/Afvoer/Olst/Ovkans_Olst_piekafvoer_2017_metOnzHeid.txt +55 -0
  94. pydra_core/data/statistics/Afvoer/Olst/Ovkans_Olst_piekafvoer_OI2014_G_2015.txt +46 -0
  95. pydra_core/data/statistics/Afvoer/Olst/Ovkans_Olst_piekafvoer_OI2014_G_2015_metOnzHeid.txt +65 -0
  96. pydra_core/data/statistics/Afvoer/Olst/Ovkans_Olst_piekafvoer_OI2014_G_2050.txt +46 -0
  97. pydra_core/data/statistics/Afvoer/Olst/Ovkans_Olst_piekafvoer_OI2014_G_2050_metOnzHeid.txt +65 -0
  98. pydra_core/data/statistics/Afvoer/Olst/Ovkans_Olst_piekafvoer_OI2014_G_2100.txt +46 -0
  99. pydra_core/data/statistics/Afvoer/Olst/Ovkans_Olst_piekafvoer_OI2014_G_2100_metOnzHeid.txt +65 -0
  100. pydra_core/data/statistics/Afvoer/Olst/Ovkans_Olst_piekafvoer_OI2014_W_2015.txt +47 -0
  101. pydra_core/data/statistics/Afvoer/Olst/Ovkans_Olst_piekafvoer_OI2014_W_2015_metOnzHeid.txt +65 -0
  102. pydra_core/data/statistics/Afvoer/Olst/Ovkans_Olst_piekafvoer_OI2014_W_2050.txt +47 -0
  103. pydra_core/data/statistics/Afvoer/Olst/Ovkans_Olst_piekafvoer_OI2014_W_2050_metOnzHeid.txt +65 -0
  104. pydra_core/data/statistics/Afvoer/Olst/Ovkans_Olst_piekafvoer_OI2014_W_2100.txt +47 -0
  105. pydra_core/data/statistics/Afvoer/Olst/Ovkans_Olst_piekafvoer_OI2014_W_2100_metOnzHeid.txt +65 -0
  106. pydra_core/data/statistics/Afvoer/Olst/Ovkans_Olst_piekafvoer_Ref.txt +15 -0
  107. pydra_core/data/statistics/Golfvorm/Borgharen/Golfvormen_Borgharen.txt +76 -0
  108. pydra_core/data/statistics/Golfvorm/Dalfsen/Golfvormen_Dalfsen.txt +83 -0
  109. pydra_core/data/statistics/Golfvorm/Grevelingenmeer/Golfvormen_Grevelingenmeer.txt +34 -0
  110. pydra_core/data/statistics/Golfvorm/IJsselmeer/Golfvormen_IJsselmeer.txt +83 -0
  111. pydra_core/data/statistics/Golfvorm/Lith/Golfvormen_Lith.txt +76 -0
  112. pydra_core/data/statistics/Golfvorm/Lobith/Golfvormen_Lobith.txt +76 -0
  113. pydra_core/data/statistics/Golfvorm/Markermeer/Golfvormen_Markermeer.txt +140 -0
  114. pydra_core/data/statistics/Golfvorm/Olst/Golfvormen_Olst.txt +83 -0
  115. pydra_core/data/statistics/Golfvorm/Veerse Meer/Golfvormen_Veersemeer.txt +54 -0
  116. pydra_core/data/statistics/Golfvorm/Veluwerandmeer/Golfvormen_Veluwerandmeer.txt +140 -0
  117. pydra_core/data/statistics/Golfvorm/Volkerak-Zoommeer/Golfvormen_Volkerakzoommeer.txt +74 -0
  118. pydra_core/data/statistics/Meerpeil/Grevelingenmeer/Ovkans_Grevelingenmeer_piekmeerpeil_2017.txt +13 -0
  119. pydra_core/data/statistics/Meerpeil/Grevelingenmeer/Ovkans_Grevelingenmeer_piekmeerpeil_2017_metOnzHeid.txt +25 -0
  120. pydra_core/data/statistics/Meerpeil/Grevelingenmeer/Ovkans_Grevelingenmeer_piekmeerpeil_v01.txt +13 -0
  121. pydra_core/data/statistics/Meerpeil/IJsselmeer/Ovkans_IJsselmeer_piekmeerpeil_2017.txt +26 -0
  122. pydra_core/data/statistics/Meerpeil/IJsselmeer/Ovkans_IJsselmeer_piekmeerpeil_2017_metOnzHeid.txt +40 -0
  123. pydra_core/data/statistics/Meerpeil/IJsselmeer/Ovkans_IJsselmeer_piekmeerpeil_v01.txt +15 -0
  124. pydra_core/data/statistics/Meerpeil/Markermeer/Ovkans_Markermeer_piekmeerpeil_2017.txt +19 -0
  125. pydra_core/data/statistics/Meerpeil/Markermeer/Ovkans_Markermeer_piekmeerpeil_2017_metOnzHeid.txt +38 -0
  126. pydra_core/data/statistics/Meerpeil/Markermeer/Ovkans_Markermeer_piekmeerpeil_v01.txt +11 -0
  127. pydra_core/data/statistics/Meerpeil/Veerse Meer/Ovkans_Veersemeer_piekmeerpeil_excl_peilverhoging.txt +14 -0
  128. pydra_core/data/statistics/Meerpeil/Veerse Meer/Ovkans_Veersemeer_piekmeerpeil_v01.txt +16 -0
  129. pydra_core/data/statistics/Meerpeil/Veluwerandmeer/Ovkans_Veluwerandmeer_piekmeerpeil_2017.txt +14 -0
  130. pydra_core/data/statistics/Meerpeil/Veluwerandmeer/Ovkans_Veluwerandmeer_piekmeerpeil_2017_metOnzHeid.txt +37 -0
  131. pydra_core/data/statistics/Meerpeil/Veluwerandmeer/Ovkans_Veluwerandmeer_piekmeerpeil_v01.txt +14 -0
  132. pydra_core/data/statistics/Meerpeil/Volkerak-Zoommeer/Ovkans_VZM_piekmeerpeil_BER-VZM.txt +18 -0
  133. pydra_core/data/statistics/Meerpeil/Volkerak-Zoommeer/Ovkans_VZM_piekmeerpeil_BER-VZM_metOnzHeid.txt +43 -0
  134. pydra_core/data/statistics/Restant/Oosterschelde/BesliskansenOSKering.txt +525 -0
  135. pydra_core/data/statistics/Restant/Oosterschelde/KansenFaseverschil_2023.txt +8 -0
  136. pydra_core/data/statistics/Restant/Oosterschelde/KansenFaseverschil_OS.txt +13 -0
  137. pydra_core/data/statistics/Restant/Oosterschelde/KansenStormduur_OS.txt +15 -0
  138. pydra_core/data/statistics/Restant/Oosterschelde/KansenStormduur_OS_40_60_80uur_2023.txt +17 -0
  139. pydra_core/data/statistics/Restant/Oosterschelde/ScenariokansenOSKering_2008.txt +24 -0
  140. pydra_core/data/statistics/Restant/Oosterschelde/ScenariokansenOSKering_2013.txt +19 -0
  141. pydra_core/data/statistics/Restant/Oosterschelde/ScenariokansenOSKering_2017.txt +19 -0
  142. pydra_core/data/statistics/Restant/Oosterschelde/ScenariokansenOSKering_2023.txt +14 -0
  143. pydra_core/data/statistics/Restant/Up2U/Up2U10.dat +59 -0
  144. pydra_core/data/statistics/Restant/Up2U/Up2Up.dat +59 -0
  145. pydra_core/data/statistics/Restant/Up2U/Up2Ustar.dat +59 -0
  146. pydra_core/data/statistics/Restant/hulpdijken.txt +60 -0
  147. pydra_core/data/statistics/Restant/hulpgolfhoogtes.txt +24 -0
  148. pydra_core/data/statistics/Restant/hulpgolfperiodes.txt +39 -0
  149. pydra_core/data/statistics/Restant/kansstormduur.txt +8 -0
  150. pydra_core/data/statistics/Restant/pwind_west.txt +34 -0
  151. pydra_core/data/statistics/Restant/pwind_west_met_Volkerfactor.txt +34 -0
  152. pydra_core/data/statistics/Restant/pwind_west_zonder_Volkerfactor.txt +34 -0
  153. pydra_core/data/statistics/Sigmafunctie/Hollandse Kust Midden/VS_sigmafunctie_Kust_Midden.txt +19 -0
  154. pydra_core/data/statistics/Sigmafunctie/Hollandse Kust Midden/VS_sigmafunctie_Kust_Midden_2017.txt +23 -0
  155. pydra_core/data/statistics/Sigmafunctie/Hollandse Kust Noord/VS_sigmafunctie_Kust_Noord.txt +19 -0
  156. pydra_core/data/statistics/Sigmafunctie/Hollandse Kust Noord/VS_sigmafunctie_Kust_Noord_2017.txt +23 -0
  157. pydra_core/data/statistics/Sigmafunctie/Hollandse Kust Zuid/VS_sigmafunctie_Kust_Zuid.txt +19 -0
  158. pydra_core/data/statistics/Sigmafunctie/Hollandse Kust Zuid/VS_sigmafunctie_Kust_Zuid_2017.txt +23 -0
  159. pydra_core/data/statistics/Sigmafunctie/Oosterschelde/VS_sigmafunctie_OS.txt +22 -0
  160. pydra_core/data/statistics/Sigmafunctie/Oosterschelde/VS_sigmafunctie_OS_16sectoren_2023.txt +24 -0
  161. pydra_core/data/statistics/Sigmafunctie/Oosterschelde/VS_sigmafunctie_OS_2017.txt +22 -0
  162. pydra_core/data/statistics/Sigmafunctie/Waddenzee Oost/VS_sigmafunctie_WZ_oost.txt +19 -0
  163. pydra_core/data/statistics/Sigmafunctie/Waddenzee Oost/VS_sigmafunctie_WZ_oost_2017.txt +23 -0
  164. pydra_core/data/statistics/Sigmafunctie/Waddenzee West/VS_sigmafunctie_WZ_west.txt +19 -0
  165. pydra_core/data/statistics/Sigmafunctie/Waddenzee West/VS_sigmafunctie_WZ_west_2017.txt +23 -0
  166. pydra_core/data/statistics/Sigmafunctie/Westerschelde/VS_sigmafunctie_WS.txt +19 -0
  167. pydra_core/data/statistics/Sigmafunctie/Westerschelde/VS_sigmafunctie_WS_2017.txt +23 -0
  168. pydra_core/data/statistics/Sluitpeilen/Sluitfunctie Europoortkering Maas 2017.csv +631 -0
  169. pydra_core/data/statistics/Sluitpeilen/Sluitfunctie Europoortkering Rijn 2017.csv +631 -0
  170. pydra_core/data/statistics/Sluitpeilen/Sluitfunctie Hollandsche IJsselkering.csv +757 -0
  171. pydra_core/data/statistics/Sluitpeilen/Sluitfunctie Oosterscheldekering 2017.csv +55081 -0
  172. pydra_core/data/statistics/Topduur/Borgharen/Topduur_Borgharen_2017.txt +19 -0
  173. pydra_core/data/statistics/Topduur/Borgharen/Topduur_Borgharen_v00.txt +14 -0
  174. pydra_core/data/statistics/Topduur/Dalfsen/Topduur_Dalfsen_2017.txt +20 -0
  175. pydra_core/data/statistics/Topduur/Dalfsen/Topduur_Dalfsen_v01.txt +16 -0
  176. pydra_core/data/statistics/Topduur/Grevelingenmeer/Topduur_Grevelingenmeer_2017.txt +14 -0
  177. pydra_core/data/statistics/Topduur/Grevelingenmeer/Topduur_Grevelingenmeer_v01.txt +14 -0
  178. pydra_core/data/statistics/Topduur/IJsselmeer/Topduur_IJsselmeer_2017.txt +20 -0
  179. pydra_core/data/statistics/Topduur/IJsselmeer/Topduur_IJsselmeer_v01.txt +15 -0
  180. pydra_core/data/statistics/Topduur/Lith/Topduur_Lith_2017.txt +19 -0
  181. pydra_core/data/statistics/Topduur/Lith/Topduur_Lith_v01.txt +17 -0
  182. pydra_core/data/statistics/Topduur/Lobith/Topduur_Lobith_2017.txt +19 -0
  183. pydra_core/data/statistics/Topduur/Lobith/Topduur_Lobith_v01.txt +17 -0
  184. pydra_core/data/statistics/Topduur/Markermeer/Topduur_Markermeer_2017.txt +20 -0
  185. pydra_core/data/statistics/Topduur/Markermeer/Topduur_Markermeer_v01.txt +12 -0
  186. pydra_core/data/statistics/Topduur/Olst/Topduur_Olst_2017.txt +20 -0
  187. pydra_core/data/statistics/Topduur/Olst/Topduur_Olst_v01.txt +16 -0
  188. pydra_core/data/statistics/Topduur/Veerse Meer/Topduur_Veersemeer_excl_peilverhoging.txt +13 -0
  189. pydra_core/data/statistics/Topduur/Veerse Meer/Topduur_Veersemeer_v01.txt +16 -0
  190. pydra_core/data/statistics/Topduur/Veluwerandmeer/Topduur_Veluwerandmeer_2017.txt +12 -0
  191. pydra_core/data/statistics/Topduur/Veluwerandmeer/Topduur_Veluwerandmeer_v01.txt +12 -0
  192. pydra_core/data/statistics/Topduur/Volkerak-Zoommeer/Topduur_Volkerakzoommeer_BER-VZM.txt +18 -0
  193. pydra_core/data/statistics/Windrichting/Deelen/Richtingskansen_Deelen_2017.txt +28 -0
  194. pydra_core/data/statistics/Windrichting/Hollandse Kust/KansenWindrichting_Kust.txt +17 -0
  195. pydra_core/data/statistics/Windrichting/Hollandse Kust/KansenWindrichting_Kust_2017.txt +24 -0
  196. pydra_core/data/statistics/Windrichting/Oosterschelde/KansenWindrichting_16sectoren_OS_2023.txt +31 -0
  197. pydra_core/data/statistics/Windrichting/Oosterschelde/KansenWindrichting_OS.txt +20 -0
  198. pydra_core/data/statistics/Windrichting/Oosterschelde/KansenWindrichting_OS_2017.txt +24 -0
  199. pydra_core/data/statistics/Windrichting/Schiphol/Richtingskansen_Schiphol_12sectoren.txt +20 -0
  200. pydra_core/data/statistics/Windrichting/Schiphol/Richtingskansen_Schiphol_12sectoren_2017.txt +20 -0
  201. pydra_core/data/statistics/Windrichting/Schiphol/Richtingskansen_Schiphol_2017.txt +28 -0
  202. pydra_core/data/statistics/Windrichting/Schiphol/kanswindrichting_v01.txt +28 -0
  203. pydra_core/data/statistics/Windrichting/Waddenzee/KansenWindrichting_WZ.txt +17 -0
  204. pydra_core/data/statistics/Windrichting/Waddenzee/KansenWindrichting_WZ_2017.txt +24 -0
  205. pydra_core/data/statistics/Windrichting/Westerschelde/KansenWindrichting_WS.txt +17 -0
  206. pydra_core/data/statistics/Windrichting/Westerschelde/KansenWindrichting_WS_2017.txt +24 -0
  207. pydra_core/data/statistics/Windsnelheid/De Kooy/OvkansWindsnelheid_Texel.txt +70 -0
  208. pydra_core/data/statistics/Windsnelheid/De Kooy/Ovkanswind_de Kooy_2017.txt +92 -0
  209. pydra_core/data/statistics/Windsnelheid/De Kooy/Ovkanswind_de Kooy_2017_metOnzHeid.txt +92 -0
  210. pydra_core/data/statistics/Windsnelheid/Deelen/Ovkanswind_Deelen_2017.txt +90 -0
  211. pydra_core/data/statistics/Windsnelheid/Deelen/Ovkanswind_Deelen_2017_metOnzHeid.txt +90 -0
  212. pydra_core/data/statistics/Windsnelheid/Hoek van Holland/OvkansWindsnelheid_Hoek van Holland.txt +70 -0
  213. pydra_core/data/statistics/Windsnelheid/Hoek van Holland/Ovkanswind_Hoek van Holland_2017.txt +92 -0
  214. pydra_core/data/statistics/Windsnelheid/Hoek van Holland/Ovkanswind_Hoek van Holland_2017_metOnzHeid.txt +92 -0
  215. pydra_core/data/statistics/Windsnelheid/IJmuiden/OvkansWindsnelheid_IJmuiden.txt +70 -0
  216. pydra_core/data/statistics/Windsnelheid/IJmuiden/Ovkanswind_IJmuiden_2017.txt +92 -0
  217. pydra_core/data/statistics/Windsnelheid/IJmuiden/Ovkanswind_IJmuiden_2017_metOnzHeid.txt +92 -0
  218. pydra_core/data/statistics/Windsnelheid/Schiphol/Ovkanswind_Schiphol_12sectoren.txt +51 -0
  219. pydra_core/data/statistics/Windsnelheid/Schiphol/Ovkanswind_Schiphol_12sectoren_2017.txt +90 -0
  220. pydra_core/data/statistics/Windsnelheid/Schiphol/Ovkanswind_Schiphol_12sectoren_2017_metOnzHeid.txt +90 -0
  221. pydra_core/data/statistics/Windsnelheid/Schiphol/Ovkanswind_Schiphol_12sectoren_2017_metWindDrag.txt +97 -0
  222. pydra_core/data/statistics/Windsnelheid/Schiphol/Ovkanswind_Schiphol_12sectoren_2017_metWindDrag_metOnzHeid.txt +97 -0
  223. pydra_core/data/statistics/Windsnelheid/Schiphol/Ovkanswind_Schiphol_16sectoren_2017_metWindDrag.txt +97 -0
  224. pydra_core/data/statistics/Windsnelheid/Schiphol/Ovkanswind_Schiphol_16sectoren_2017_metWindDrag_metOnzHeid.txt +97 -0
  225. pydra_core/data/statistics/Windsnelheid/Schiphol/Ovkanswind_Schiphol_2017.txt +90 -0
  226. pydra_core/data/statistics/Windsnelheid/Schiphol/Ovkanswind_Schiphol_2017_metOnzHeid.txt +90 -0
  227. pydra_core/data/statistics/Windsnelheid/Schiphol/Ovkanswind_Schiphol_met_Volkerfactor_2017.txt +90 -0
  228. pydra_core/data/statistics/Windsnelheid/Schiphol/Ovkanswind_Schiphol_met_Volkerfactor_2017_metOnzHeid.txt +90 -0
  229. pydra_core/data/statistics/Windsnelheid/Schiphol/Ovkanswind_schiphol.txt +58 -0
  230. pydra_core/data/statistics/Windsnelheid/Schiphol/Ovkanswind_schiphol_10%.txt +64 -0
  231. pydra_core/data/statistics/Windsnelheid/Schiphol/Ovkanswind_schiphol_5%.txt +62 -0
  232. pydra_core/data/statistics/Windsnelheid/Schiphol/Ovkanswind_schiphol_B_met volker.txt +60 -0
  233. pydra_core/data/statistics/Windsnelheid/Vlissingen/OvkansWindsnelheid_OS.txt +67 -0
  234. pydra_core/data/statistics/Windsnelheid/Vlissingen/OvkansWindsnelheid_Vlissingen.txt +70 -0
  235. pydra_core/data/statistics/Windsnelheid/Vlissingen/Ovkanswind_Vlissingen_16sectoren_2023.txt +92 -0
  236. pydra_core/data/statistics/Windsnelheid/Vlissingen/Ovkanswind_Vlissingen_16sectoren_2023_metOnzHeid.txt +91 -0
  237. pydra_core/data/statistics/Windsnelheid/Vlissingen/Ovkanswind_Vlissingen_2017.txt +92 -0
  238. pydra_core/data/statistics/Windsnelheid/Vlissingen/Ovkanswind_Vlissingen_2017_metOnzHeid.txt +92 -0
  239. pydra_core/data/statistics/Windsnelheid/Vlissingen/Ovkanswind_Vlissingen_2017_metWindDrag.txt +97 -0
  240. pydra_core/data/statistics/Windsnelheid/Vlissingen/Ovkanswind_Vlissingen_2017_metWindDrag_metOnzHeid.txt +97 -0
  241. pydra_core/data/statistics/Windsnelheid/West-Terschelling/OvkansWindsnelheid_West-Tersch.txt +70 -0
  242. pydra_core/data/statistics/Windsnelheid/West-Terschelling/Ovkanswind_West Terschelling_2017.txt +92 -0
  243. pydra_core/data/statistics/Windsnelheid/West-Terschelling/Ovkanswind_West Terschelling_2017_metOnzHeid.txt +92 -0
  244. pydra_core/data/statistics/Zeewaterstand/Delfzijl/CondPovDelfzijl_12u_zichtjaar1985_2017.txt +82 -0
  245. pydra_core/data/statistics/Zeewaterstand/Delfzijl/CondPovDelfzijl_12u_zichtjaar1985_2017_metOnzHeid.txt +82 -0
  246. pydra_core/data/statistics/Zeewaterstand/Delfzijl/CondPovDelfzijl_12u_zichtjaar2017.txt +82 -0
  247. pydra_core/data/statistics/Zeewaterstand/Delfzijl/CondPovDelfzijl_12u_zichtjaar2017_metOnzHeid.txt +82 -0
  248. pydra_core/data/statistics/Zeewaterstand/Delfzijl/OvkansZee_Delfzijl.txt +71 -0
  249. pydra_core/data/statistics/Zeewaterstand/Den Helder/CondPovDenHelder_12u_zichtjaar1985_2017.txt +90 -0
  250. pydra_core/data/statistics/Zeewaterstand/Den Helder/CondPovDenHelder_12u_zichtjaar1985_2017_metOnzHeid.txt +90 -0
  251. pydra_core/data/statistics/Zeewaterstand/Den Helder/CondPovDenHelder_12u_zichtjaar2017.txt +89 -0
  252. pydra_core/data/statistics/Zeewaterstand/Den Helder/CondPovDenHelder_12u_zichtjaar2017_metOnzHeid.txt +89 -0
  253. pydra_core/data/statistics/Zeewaterstand/Den Helder/OvkansZee_Den Helder.txt +71 -0
  254. pydra_core/data/statistics/Zeewaterstand/Den Oever/CondPovDenOeverBuiten_12u_zichtjaar1985_2017.txt +89 -0
  255. pydra_core/data/statistics/Zeewaterstand/Den Oever/CondPovDenOeverBuiten_12u_zichtjaar1985_2017_metOnzHeid.txt +89 -0
  256. pydra_core/data/statistics/Zeewaterstand/Den Oever/CondPovDenOeverBuiten_12u_zichtjaar2017.txt +88 -0
  257. pydra_core/data/statistics/Zeewaterstand/Den Oever/CondPovDenOeverBuiten_12u_zichtjaar2017_metOnzHeid.txt +88 -0
  258. pydra_core/data/statistics/Zeewaterstand/Den Oever/OvkansZee_Den Oever.txt +71 -0
  259. pydra_core/data/statistics/Zeewaterstand/Hansweert/CondPovHansweert_12u_zichtjaar1985_2017.txt +72 -0
  260. pydra_core/data/statistics/Zeewaterstand/Hansweert/CondPovHansweert_12u_zichtjaar1985_2017_metOnzHeid.txt +72 -0
  261. pydra_core/data/statistics/Zeewaterstand/Hansweert/CondPovHansweert_12u_zichtjaar2017.txt +71 -0
  262. pydra_core/data/statistics/Zeewaterstand/Hansweert/CondPovHansweert_12u_zichtjaar2017_metOnzHeid.txt +71 -0
  263. pydra_core/data/statistics/Zeewaterstand/Hansweert/OvkansZee_Hansweert.txt +71 -0
  264. pydra_core/data/statistics/Zeewaterstand/Harlingen/CondPovHarlingen_12u_zichtjaar1985_2017.txt +86 -0
  265. pydra_core/data/statistics/Zeewaterstand/Harlingen/CondPovHarlingen_12u_zichtjaar1985_2017_metOnzHeid.txt +86 -0
  266. pydra_core/data/statistics/Zeewaterstand/Harlingen/CondPovHarlingen_12u_zichtjaar2017.txt +85 -0
  267. pydra_core/data/statistics/Zeewaterstand/Harlingen/CondPovHarlingen_12u_zichtjaar2017_metOnzHeid.txt +85 -0
  268. pydra_core/data/statistics/Zeewaterstand/Harlingen/OvkansZee_Harlingen.txt +71 -0
  269. pydra_core/data/statistics/Zeewaterstand/Hoek van Holland/CondPovHoekvanHolland_12u_zichtjaar1985_2017.txt +85 -0
  270. pydra_core/data/statistics/Zeewaterstand/Hoek van Holland/CondPovHoekvanHolland_12u_zichtjaar1985_2017_metOnzHeid.txt +85 -0
  271. pydra_core/data/statistics/Zeewaterstand/Hoek van Holland/CondPovHoekvanHolland_12u_zichtjaar2017.txt +84 -0
  272. pydra_core/data/statistics/Zeewaterstand/Hoek van Holland/CondPovHoekvanHolland_12u_zichtjaar2017_metOnzHeid.txt +84 -0
  273. pydra_core/data/statistics/Zeewaterstand/Hoek van Holland/OvkansZee_Hoek van Holland.txt +71 -0
  274. pydra_core/data/statistics/Zeewaterstand/Huibertgat/CondPovHuibertgat_12u_zichtjaar1985_2017.txt +87 -0
  275. pydra_core/data/statistics/Zeewaterstand/Huibertgat/CondPovHuibertgat_12u_zichtjaar1985_2017_metOnzHeid.txt +87 -0
  276. pydra_core/data/statistics/Zeewaterstand/Huibertgat/CondPovHuibertgat_12u_zichtjaar2017.txt +86 -0
  277. pydra_core/data/statistics/Zeewaterstand/Huibertgat/CondPovHuibertgat_12u_zichtjaar2017_metOnzHeid.txt +86 -0
  278. pydra_core/data/statistics/Zeewaterstand/Huibertgat/OvkansZee_Huibertgat.txt +71 -0
  279. pydra_core/data/statistics/Zeewaterstand/IJmuiden/CondPovIJmuiden_12u_zichtjaar1985_2017.txt +86 -0
  280. pydra_core/data/statistics/Zeewaterstand/IJmuiden/CondPovIJmuiden_12u_zichtjaar1985_2017_metOnzHeid.txt +86 -0
  281. pydra_core/data/statistics/Zeewaterstand/IJmuiden/CondPovIJmuiden_12u_zichtjaar2017.txt +86 -0
  282. pydra_core/data/statistics/Zeewaterstand/IJmuiden/CondPovIJmuiden_12u_zichtjaar2017_metOnzHeid.txt +86 -0
  283. pydra_core/data/statistics/Zeewaterstand/IJmuiden/OvkansZee_IJmuiden.txt +71 -0
  284. pydra_core/data/statistics/Zeewaterstand/IJmuiden virtueel/CondPovIJmuiden-Additional_12u_zichtjaar1985_2017.txt +86 -0
  285. pydra_core/data/statistics/Zeewaterstand/IJmuiden virtueel/CondPovIJmuiden-Additional_12u_zichtjaar1985_2017_metOnzHeid.txt +86 -0
  286. pydra_core/data/statistics/Zeewaterstand/IJmuiden virtueel/CondPovIJmuiden-Additional_12u_zichtjaar2017.txt +86 -0
  287. pydra_core/data/statistics/Zeewaterstand/IJmuiden virtueel/CondPovIJmuiden-Additional_12u_zichtjaar2017_metOnzHeid.txt +86 -0
  288. pydra_core/data/statistics/Zeewaterstand/IJmuiden virtueel/OvkansZee_IJmuiden_virtueel.txt +71 -0
  289. pydra_core/data/statistics/Zeewaterstand/Lauwersoog/CondPovLauwersoog_12u_zichtjaar1985_2017.txt +86 -0
  290. pydra_core/data/statistics/Zeewaterstand/Lauwersoog/CondPovLauwersoog_12u_zichtjaar1985_2017_metOnzHeid.txt +86 -0
  291. pydra_core/data/statistics/Zeewaterstand/Lauwersoog/CondPovLauwersoog_12u_zichtjaar2017.txt +85 -0
  292. pydra_core/data/statistics/Zeewaterstand/Lauwersoog/CondPovLauwersoog_12u_zichtjaar2017_metOnzHeid.txt +85 -0
  293. pydra_core/data/statistics/Zeewaterstand/Lauwersoog/OvkansZee_Lauwersoog.txt +71 -0
  294. pydra_core/data/statistics/Zeewaterstand/Maasmond/CondPovMaasmond_12u_zichtjaar1985_2011.txt +89 -0
  295. pydra_core/data/statistics/Zeewaterstand/Maasmond/CondPovMaasmond_12u_zichtjaar1985_2017.txt +89 -0
  296. pydra_core/data/statistics/Zeewaterstand/Maasmond/CondPovMaasmond_12u_zichtjaar1985_2017_metOnzheid.txt +93 -0
  297. pydra_core/data/statistics/Zeewaterstand/Maasmond/CondPovMaasmond_12u_zichtjaar2017.txt +86 -0
  298. pydra_core/data/statistics/Zeewaterstand/Maasmond/CondPovMaasmond_12u_zichtjaar2017_metOnzheid.txt +86 -0
  299. pydra_core/data/statistics/Zeewaterstand/Oosterschelde/CondPovOS11_12u_zichtjaar1985_2017.txt +80 -0
  300. pydra_core/data/statistics/Zeewaterstand/Oosterschelde/CondPovOS11_12u_zichtjaar1985_2017_metOnzHeid.txt +80 -0
  301. pydra_core/data/statistics/Zeewaterstand/Oosterschelde/CondPovOS11_12u_zichtjaar2017.txt +80 -0
  302. pydra_core/data/statistics/Zeewaterstand/Oosterschelde/CondPovOS11_12u_zichtjaar2017_metOnzHeid.txt +80 -0
  303. pydra_core/data/statistics/Zeewaterstand/Oosterschelde/CondPovOS11_16sectoren_12u_2023.txt +75 -0
  304. pydra_core/data/statistics/Zeewaterstand/Oosterschelde/CondPovOS11_16sectoren_12u_2023_metOnzHeid.txt +74 -0
  305. pydra_core/data/statistics/Zeewaterstand/Oosterschelde/OvkansZee_OS11.txt +71 -0
  306. pydra_core/data/statistics/Zeewaterstand/Oosterschelde/OvkansZeewaterstand_OS.txt +72 -0
  307. pydra_core/data/statistics/Zeewaterstand/Vlissingen/CondPovVlissingen_12u_zichtjaar1985_2017.txt +75 -0
  308. pydra_core/data/statistics/Zeewaterstand/Vlissingen/CondPovVlissingen_12u_zichtjaar1985_2017_metOnzHeid.txt +75 -0
  309. pydra_core/data/statistics/Zeewaterstand/Vlissingen/CondPovVlissingen_12u_zichtjaar2017.txt +75 -0
  310. pydra_core/data/statistics/Zeewaterstand/Vlissingen/CondPovVlissingen_12u_zichtjaar2017_metOnzHeid.txt +75 -0
  311. pydra_core/data/statistics/Zeewaterstand/Vlissingen/OvkansZee_Vlissingen.txt +71 -0
  312. pydra_core/data/statistics/Zeewaterstand/Vlissingen virtueel/CondPovVlissingen-Additional_12u_zichtjaar1985_2017.txt +75 -0
  313. pydra_core/data/statistics/Zeewaterstand/Vlissingen virtueel/CondPovVlissingen-Additional_12u_zichtjaar1985_2017_metOnzHeid.txt +75 -0
  314. pydra_core/data/statistics/Zeewaterstand/Vlissingen virtueel/CondPovVlissingen-Additional_12u_zichtjaar2017.txt +75 -0
  315. pydra_core/data/statistics/Zeewaterstand/Vlissingen virtueel/CondPovVlissingen-Additional_12u_zichtjaar2017_metOnzHeid.txt +75 -0
  316. pydra_core/data/statistics/Zeewaterstand/Vlissingen virtueel/OvkansZee_Vlissingen_virtueel.txt +71 -0
  317. pydra_core/data/statistics/Zeewaterstand/West-Terschelling/CondPovWestTerschelling_12u_zichtjaar1985_2017.txt +88 -0
  318. pydra_core/data/statistics/Zeewaterstand/West-Terschelling/CondPovWestTerschelling_12u_zichtjaar1985_2017_metOnzHeid.txt +88 -0
  319. pydra_core/data/statistics/Zeewaterstand/West-Terschelling/CondPovWestTerschelling_12u_zichtjaar2017.txt +87 -0
  320. pydra_core/data/statistics/Zeewaterstand/West-Terschelling/CondPovWestTerschelling_12u_zichtjaar2017_metOnzHeid.txt +87 -0
  321. pydra_core/data/statistics/Zeewaterstand/West-Terschelling/OvkansZee_West-Terschelling.txt +71 -0
  322. pydra_core/hrdatabase/__init__.py +0 -0
  323. pydra_core/hrdatabase/hrdatabase.py +177 -0
  324. pydra_core/io/__init__.py +0 -0
  325. pydra_core/io/database_hr.py +598 -0
  326. pydra_core/io/database_settings.py +183 -0
  327. pydra_core/io/file_hydranl.py +92 -0
  328. pydra_core/location/__init__.py +0 -0
  329. pydra_core/location/location.py +115 -0
  330. pydra_core/location/model/__init__.py +0 -0
  331. pydra_core/location/model/base_model.py +270 -0
  332. pydra_core/location/model/loading/__init__.py +0 -0
  333. pydra_core/location/model/loading/loading.py +368 -0
  334. pydra_core/location/model/loading/loading_factory.py +89 -0
  335. pydra_core/location/model/loading/loading_model/__init__.py +0 -0
  336. pydra_core/location/model/loading/loading_model/loading_model.py +324 -0
  337. pydra_core/location/model/loading/other_systems/__init__.py +0 -0
  338. pydra_core/location/model/loading/other_systems/loading_wave_overtopping.py +122 -0
  339. pydra_core/location/model/loading/water_systems/__init__.py +0 -0
  340. pydra_core/location/model/loading/water_systems/loading_coast.py +54 -0
  341. pydra_core/location/model/loading/water_systems/loading_eastern_scheldt.py +169 -0
  342. pydra_core/location/model/loading/water_systems/loading_ijssel_vechtdelta.py +55 -0
  343. pydra_core/location/model/loading/water_systems/loading_lake.py +55 -0
  344. pydra_core/location/model/loading/water_systems/loading_lower_rivier.py +68 -0
  345. pydra_core/location/model/loading/water_systems/loading_upper_river.py +55 -0
  346. pydra_core/location/model/statistics/__init__.py +0 -0
  347. pydra_core/location/model/statistics/other_systems/__init__.py +0 -0
  348. pydra_core/location/model/statistics/other_systems/statistics_wave_overtopping.py +72 -0
  349. pydra_core/location/model/statistics/statistics.py +171 -0
  350. pydra_core/location/model/statistics/statistics_factory.py +89 -0
  351. pydra_core/location/model/statistics/stochastics/__init__.py +0 -0
  352. pydra_core/location/model/statistics/stochastics/barrier/__init__.py +0 -0
  353. pydra_core/location/model/statistics/stochastics/barrier/barrier.py +43 -0
  354. pydra_core/location/model/statistics/stochastics/barrier/barrier_easternscheldt.py +147 -0
  355. pydra_core/location/model/statistics/stochastics/barrier/barrier_europoort.py +209 -0
  356. pydra_core/location/model/statistics/stochastics/barrier/barrier_ramspol.py +41 -0
  357. pydra_core/location/model/statistics/stochastics/barrier/no_barrier.py +21 -0
  358. pydra_core/location/model/statistics/stochastics/discharge.py +108 -0
  359. pydra_core/location/model/statistics/stochastics/discrete_probability.py +55 -0
  360. pydra_core/location/model/statistics/stochastics/lake_level.py +158 -0
  361. pydra_core/location/model/statistics/stochastics/model_uncertainty.py +358 -0
  362. pydra_core/location/model/statistics/stochastics/sea_level/sea_level.py +53 -0
  363. pydra_core/location/model/statistics/stochastics/sea_level/sea_level_lower_river.py +93 -0
  364. pydra_core/location/model/statistics/stochastics/sea_level/sea_level_point.py +65 -0
  365. pydra_core/location/model/statistics/stochastics/sea_level/sea_level_triangular.py +158 -0
  366. pydra_core/location/model/statistics/stochastics/sigma_function.py +24 -0
  367. pydra_core/location/model/statistics/stochastics/wave_shape.py +624 -0
  368. pydra_core/location/model/statistics/stochastics/wind_speed.py +196 -0
  369. pydra_core/location/model/statistics/water_systems/__init__.py +0 -0
  370. pydra_core/location/model/statistics/water_systems/statistics_coast.py +153 -0
  371. pydra_core/location/model/statistics/water_systems/statistics_eastern_scheldt.py +177 -0
  372. pydra_core/location/model/statistics/water_systems/statistics_ijssel_vechtdelta.py +229 -0
  373. pydra_core/location/model/statistics/water_systems/statistics_lake.py +86 -0
  374. pydra_core/location/model/statistics/water_systems/statistics_lower_river.py +321 -0
  375. pydra_core/location/model/statistics/water_systems/statistics_upper_river.py +86 -0
  376. pydra_core/location/model/water_system.py +249 -0
  377. pydra_core/location/model/wave_overtopping.py +25 -0
  378. pydra_core/location/profile/__init__.py +0 -0
  379. pydra_core/location/profile/foreland.py +246 -0
  380. pydra_core/location/profile/lib/DikesOvertopping.LICENSE +619 -0
  381. pydra_core/location/profile/lib/README.MD +10 -0
  382. pydra_core/location/profile/lib/__init__.py +1 -0
  383. pydra_core/location/profile/profile.py +971 -0
  384. pydra_core/location/profile/profile_loading.py +473 -0
  385. pydra_core/location/settings/__init__.py +0 -0
  386. pydra_core/location/settings/settings.py +387 -0
  387. pydra_core-0.0.1.dist-info/METADATA +22 -0
  388. pydra_core-0.0.1.dist-info/RECORD +389 -0
  389. pydra_core-0.0.1.dist-info/WHEEL +5 -0
@@ -0,0 +1,229 @@
1
+ import numpy as np
2
+
3
+ from ..statistics import Statistics
4
+ from ..stochastics.barrier.barrier_ramspol import BarrierRamspol
5
+ from ..stochastics.discrete_probability import DiscreteProbability
6
+ from ..stochastics.discharge import Discharge
7
+ from ..stochastics.lake_level import LakeLevel
8
+ from ..stochastics.model_uncertainty import ModelUncertainty
9
+ from ..stochastics.wind_speed import WindSpeed
10
+ from ....settings.settings import Settings
11
+ from .....common.probability import ProbabilityFunctions
12
+
13
+
14
+ class StatisticsIJsselVechtdelta(Statistics):
15
+ """
16
+ Statistics class for the IJssel-Vechtdelta
17
+ Water systems: IJssel Delta, Vecht Delta
18
+ """
19
+
20
+ def __init__(self, settings: Settings):
21
+ """
22
+ Init the Statistics class
23
+
24
+ Parameters
25
+ ----------
26
+ settings : Settings
27
+ The Settings object
28
+ """
29
+ # Inherit initialisation method from parent
30
+ super().__init__(settings)
31
+
32
+ # Wind
33
+ self.wind_direction = DiscreteProbability(settings.wind_direction_probability)
34
+ self.wind_speed = WindSpeed(settings)
35
+
36
+ # Lake level
37
+ self.lake_level = LakeLevel(settings)
38
+
39
+ # Discharge
40
+ self.discharge = Discharge(settings)
41
+
42
+ # Combined probability(density) of lake level and discharge
43
+ self.density_aq_peak, self.density_aq, self.ovduration_aq = (
44
+ self.__prob_combined()
45
+ )
46
+
47
+ # Ramspol
48
+ self.barrier = BarrierRamspol(settings, self.wind_direction)
49
+
50
+ # Model uncertainty
51
+ self.model_uncertainties = ModelUncertainty(settings)
52
+
53
+ # Discrete, slow, fast stochatics
54
+ self.stochastics_discrete = {
55
+ "r": self.wind_direction.get_discretisation(),
56
+ "k": self.barrier.k,
57
+ }
58
+ self.stochastics_fast = {"u": self.wind_speed.get_discretisation()}
59
+ self.stochastics_slow = {
60
+ "a": self.lake_level.get_discretisation(),
61
+ "q": self.discharge.get_discretisation(),
62
+ }
63
+
64
+ def calculate_probability(
65
+ self, wind_direction: float, closing_situation: int = 1, given: list = []
66
+ ):
67
+ """
68
+ Calculate the probability of occurence for the discretisation given the wind direction.
69
+
70
+ Parameters
71
+ ----------
72
+ direction : float
73
+ Wind direction
74
+ closing_situation : int
75
+ Closing situation, (irrelevant for Coast)
76
+ given : list
77
+ Given stochasts
78
+ """
79
+ # Probility wind speed
80
+ ir = self.wind_direction.get_discretisation().tolist().index(wind_direction)
81
+ kanswind = ProbabilityFunctions.probability_density(
82
+ self.wind_speed.get_discretisation(),
83
+ self.wind_speed.get_exceedance_probability()[:, ir],
84
+ ).probability
85
+ if "u" in given:
86
+ kanswind[:] = 1.0
87
+
88
+ # Lake level and discharge
89
+ if ("a" in given) and ("q" in given):
90
+ # If both are conditional, fill the matrix with ones
91
+ kans_aq = np.ones((len(self.lake_level), len(self.discharge)))
92
+ else:
93
+ # If one of two is not conditional, use the momentary probability
94
+ kans_aq = self.density_aq
95
+ if "a" not in given:
96
+ kans_aq[...] = ProbabilityFunctions.conditional_probability(
97
+ kans_aq, axis=0
98
+ )
99
+ if "q" not in given:
100
+ kans_aq[...] = ProbabilityFunctions.conditional_probability(
101
+ kans_aq, axis=1
102
+ )
103
+
104
+ # Probility for wind direction
105
+ kanswr = 1.0 if "r" in given else self.wind_direction.get_probability()[ir]
106
+
107
+ # Combine all probabilities
108
+ kansen = kanswind[:, None, None] * kans_aq[None, :, :] * kanswr
109
+
110
+ # Ramspol closing probability
111
+ keringkans = self.barrier.calculate_closing_probability(None, closing_situation)
112
+ kansen *= keringkans
113
+
114
+ # Swap axis
115
+ kansen = np.swapaxes(kansen, 1, 2)
116
+
117
+ # Return probability
118
+ return kansen
119
+
120
+ def __prob_combined(self) -> np.ndarray:
121
+ """Bereken de gezamelijke kans op afvoer en meerpeil. De functie wordt zowel
122
+ gebruikt in de VIJD als het VZM, vandaar dat deze niet aan een klasse gekoppeld is.
123
+
124
+ Parameters
125
+ ----------
126
+ afvoer : afvoer.Afvoer
127
+ Afvoerstatistiekobject
128
+ meerpeil : meerpeil.Meerpeil
129
+ Meerpeilstatistiekobject
130
+ invoergeg:
131
+ Invoergegevensobject
132
+
133
+ Returns
134
+ -------
135
+ np.ndarray
136
+ Gezamelijke kansdichtheid van meerpeil en afvoer
137
+ """
138
+ # Bereken de kansdichtheid van de piekafvoer
139
+ kansafvoer = ProbabilityFunctions.probability_density(
140
+ self.discharge.qblok, self.discharge.epqpeak
141
+ )
142
+ kansmeerpeil = ProbabilityFunctions.probability_density(
143
+ self.lake_level.ablok, self.lake_level.k_apeak
144
+ )
145
+
146
+ ovmaxm = self.lake_level.epapeak[-1]
147
+ sigma = self.settings.sigma_aq
148
+
149
+ # Bereken de gezamenlijke kansdichtheid van de piekwaardes van de afvoer en het meerpeil
150
+ assert self.lake_level.nablok == self.lake_level.napeak
151
+ nm = self.lake_level.nablok
152
+ assert self.discharge.nqblok == self.discharge.nqpeak
153
+ nq = self.discharge.nqblok
154
+ dichtheid_mqpiek = np.full((nm, nq), 0.0)
155
+
156
+ for iq in range(nq):
157
+ somkans = 0.0
158
+
159
+ for im in reversed(range(nm)):
160
+ deltam = kansmeerpeil.delta[im]
161
+
162
+ y = self.lake_level.k_apeak[im] - self.discharge.eqpeak_exp[iq]
163
+
164
+ dichtheid_mqpiek[im, iq] = (
165
+ kansmeerpeil.density[im]
166
+ * np.exp(-(y**2) / (2.0 * sigma**2))
167
+ / (sigma * (2.0 * np.pi) ** 0.5)
168
+ )
169
+
170
+ # Als de som over de kansen groter wordt dan 1, dan wordt voor het beschouwde, die kansmassa
171
+ # aangehouden dat de som over de kansen gelijk wordt aan 1. De verdere blokjes krijgen geen kans.
172
+ if (somkans <= (1.0 - ovmaxm)) & (
173
+ (somkans + dichtheid_mqpiek[im, iq] * deltam) >= (1.0 - ovmaxm)
174
+ ):
175
+ dichtheid_mqpiek[im, iq] = (1.0 - ovmaxm - somkans) / deltam
176
+ somkans = 1.0 - ovmaxm
177
+ break
178
+
179
+ somkans += dichtheid_mqpiek[im, iq] * deltam
180
+
181
+ if somkans > (1.0 - ovmaxm):
182
+ dichtheid_mqpiek[:, iq] /= somkans
183
+
184
+ dichtheid_mqpiek[:, iq] *= kansafvoer.density[iq]
185
+
186
+ # En de blokstat
187
+ # Overschrijdingsduren van afvoer- en meerpeilgolf bepalen
188
+ overschrijdingsduren_mq = (
189
+ self.discharge.wave_shape.bepaal_gezamenlijke_overschrijding(
190
+ golfvormen_st1=self.lake_level.wave_shape,
191
+ niveaus_st1=self.lake_level.ablok,
192
+ golfvormen_st2=self.discharge.wave_shape,
193
+ niveaus_st2=self.discharge.qblok,
194
+ )
195
+ )
196
+
197
+ # Momentane kansen bepalen
198
+ dq = ProbabilityFunctions.probability_density(
199
+ self.discharge.qpeak, self.discharge.epqpeak
200
+ ).delta
201
+ dm = ProbabilityFunctions.probability_density(
202
+ self.lake_level.apeak, self.lake_level.epapeak
203
+ ).delta
204
+ kans_mqpiek = dichtheid_mqpiek * dm[:, None] * dq[None, :]
205
+ ovkansmq = (kans_mqpiek[:, :, None, None] * overschrijdingsduren_mq).sum(
206
+ (0, 1)
207
+ ) / (self.settings.base_duration)
208
+
209
+ # Corrigeer kleine onvolkomenheden
210
+ ovkansmq = np.maximum.accumulate(ovkansmq[::-1])[::-1]
211
+
212
+ tussenkans = np.zeros((nq, nm))
213
+ for iq in range(nq):
214
+ tussenkans[iq, :] = ProbabilityFunctions.probability_density(
215
+ self.lake_level.ablok, ovkansmq[:, iq]
216
+ ).probability
217
+
218
+ # Corrigeer kleine onvolkomenheden
219
+ tussenkans = np.maximum.accumulate(tussenkans[::-1])[::-1]
220
+
221
+ dichtheid_mqblok = np.zeros((nm, nq))
222
+ for im in range(nm):
223
+ dichtheid_mqblok[im, :] = ProbabilityFunctions.probability_density(
224
+ self.discharge.qblok, tussenkans[:, im]
225
+ ).probability
226
+
227
+ dichtheid_mqblok /= dichtheid_mqblok.sum()
228
+
229
+ return dichtheid_mqpiek, dichtheid_mqblok, overschrijdingsduren_mq
@@ -0,0 +1,86 @@
1
+ import numpy as np
2
+
3
+ from ..statistics import Statistics
4
+ from ..stochastics.discrete_probability import DiscreteProbability
5
+ from ..stochastics.lake_level import LakeLevel
6
+ from ..stochastics.model_uncertainty import ModelUncertainty
7
+ from ..stochastics.wind_speed import WindSpeed
8
+ from ....settings.settings import Settings
9
+ from .....common.probability import ProbabilityFunctions
10
+
11
+
12
+ class StatisticsLake(Statistics):
13
+ """
14
+ Statistics class for the Lakes
15
+ Water systems: IJssel Lake, Marker Lake, Veluwe Lakes and Grevelingen
16
+ """
17
+
18
+ def __init__(self, settings: Settings):
19
+ """
20
+ Init the Statistics class
21
+
22
+ Parameters
23
+ ----------
24
+ settings : Settings
25
+ The Settings object
26
+ """
27
+ # Inherit initialisation method from parent
28
+ super().__init__(settings)
29
+
30
+ # Wind
31
+ self.wind_direction = DiscreteProbability(settings.wind_direction_probability)
32
+ self.wind_speed = WindSpeed(settings)
33
+
34
+ # Lake level
35
+ self.lake_level = LakeLevel(settings)
36
+
37
+ # Model uncertainty
38
+ self.model_uncertainties = ModelUncertainty(settings)
39
+
40
+ # Discrete, slow, fast stochatics
41
+ self.stochastics_discrete = {
42
+ "r": self.wind_direction.get_discretisation(),
43
+ "k": [1],
44
+ }
45
+ self.stochastics_fast = {"u": self.wind_speed.get_discretisation()}
46
+ self.stochastics_slow = {"a": self.lake_level.get_discretisation()}
47
+
48
+ def calculate_probability(
49
+ self, wind_direction: float, closing_situation: int = 1, given: list = []
50
+ ):
51
+ """
52
+ Calculate the probability of occurence for the discretisation given the wind direction.
53
+
54
+ Parameters
55
+ ----------
56
+ direction : float
57
+ Wind direction
58
+ closing_situation : int
59
+ Closing situation, (irrelevant for Coast)
60
+ given : list
61
+ Given stochasts
62
+ """
63
+ # Wind speed
64
+ ir = self.wind_direction.get_discretisation().tolist().index(wind_direction)
65
+ p_wind = ProbabilityFunctions.probability_density(
66
+ self.wind_speed.get_discretisation(),
67
+ self.wind_speed.get_exceedance_probability()[:, ir],
68
+ ).probability[:, None]
69
+ if "u" in given:
70
+ p_wind[:] = 1.0
71
+
72
+ # Lake level
73
+ if "a" in given:
74
+ p_lake_level = np.ones_like(self.lake_level.get_discretisation())
75
+ else:
76
+ # If not given, use the instantaneous probability
77
+ p_lake_level = ProbabilityFunctions.probability_density(
78
+ self.lake_level.get_discretisation(),
79
+ 1 - self.lake_level.get_exceedance_probability(),
80
+ ).probability
81
+
82
+ # Probability of wind direction
83
+ p_direction = 1.0 if "r" in given else self.wind_direction.get_probability()[ir]
84
+
85
+ # Combine probabilities
86
+ return p_wind * p_lake_level[None, :] * p_direction
@@ -0,0 +1,321 @@
1
+ import numpy as np
2
+
3
+ from ..statistics import Statistics
4
+ from ..stochastics.barrier.barrier_europoort import BarrierEuropoort
5
+ from ..stochastics.discharge import Discharge
6
+ from ..stochastics.discrete_probability import DiscreteProbability
7
+ from ..stochastics.model_uncertainty import ModelUncertainty
8
+ from ..stochastics.sea_level.sea_level_lower_river import SeaLevelLowerRiver
9
+ from ..stochastics.wind_speed import WindSpeed
10
+ from ....settings.settings import Settings
11
+ from .....common.interpolate import Interpolate
12
+ from .....common.probability import ProbabilityFunctions
13
+
14
+
15
+ class StatisticsLowerRiver(Statistics):
16
+ """
17
+ Statistics class for the Coast
18
+ Water systems: Coast (North, Central, South), Waddensea (West, East) and Western scheldt
19
+ """
20
+
21
+ def __init__(self, settings: Settings):
22
+ """
23
+ Init the Statistics class
24
+
25
+ Parameters
26
+ ----------
27
+ settings : Settings
28
+ The Settings object
29
+ """
30
+ # Inherit initialisation method from parent
31
+ super().__init__(settings)
32
+
33
+ # Sea level
34
+ self.sea_level = SeaLevelLowerRiver(settings)
35
+
36
+ # Wind
37
+ self.wind_direction = DiscreteProbability(settings.wind_direction_probability)
38
+ self.wind_speed = WindSpeed(settings)
39
+
40
+ # Discharge
41
+ self.discharge = Discharge(settings)
42
+
43
+ # Europoort Barrier
44
+ self.barrier = BarrierEuropoort(
45
+ settings,
46
+ self.wind_direction,
47
+ self.wind_speed,
48
+ self.sea_level,
49
+ self.discharge,
50
+ )
51
+
52
+ # Model uncertainty
53
+ self.model_uncertainties = ModelUncertainty(settings)
54
+
55
+ # Discrete, slow, fast stochatics
56
+ self.stochastics_discrete = {
57
+ "r": self.wind_direction.get_discretisation(),
58
+ "k": self.barrier.k,
59
+ }
60
+ self.stochastics_fast = {
61
+ "u": self.wind_speed.get_discretisation(),
62
+ "m": self.sea_level.get_discretisation(),
63
+ }
64
+ self.stochastics_slow = {"q": self.discharge.get_discretisation()}
65
+
66
+ def calculate_probability(
67
+ self, wind_direction: float, closing_situation: int = 1, given: list = []
68
+ ):
69
+ """
70
+ Calculate the probability of occurence for the discretisation given the wind direction.
71
+
72
+ Parameters
73
+ ----------
74
+ direction : float
75
+ Wind direction
76
+ closing_situation : int
77
+ Closing situation, (irrelevant for Coast)
78
+ given : list
79
+ Given stochasts
80
+ """
81
+ # Sector West: Discharge, sea level and Europoort barrier
82
+ if ((wind_direction >= 0.0) and (wind_direction <= 11.25)) or (
83
+ (wind_direction > 212.75) and (wind_direction <= 360.0)
84
+ ):
85
+ if "q" in given:
86
+ kansafvoer = np.ones_like(self.discharge.get_discretisation())
87
+ else:
88
+ # Note: use the momentary probability of the discharge
89
+ kansafvoer = ProbabilityFunctions.probability_density(
90
+ self.discharge.get_discretisation(),
91
+ 1 - self.discharge.get_exceedance_probability(),
92
+ ).probability
93
+
94
+ # Kans op windrichting
95
+ ir = self.wind_direction.get_discretisation().tolist().index(wind_direction)
96
+ kanswr = 1.0 if "r" in given else self.wind_direction.get_probability()[ir]
97
+
98
+ # Bepaal sluitkansen voor de windrichting
99
+ sluitkans = self.barrier.calculate_closing_probability(
100
+ wind_direction, closing_situation
101
+ )
102
+ if "k" in given:
103
+ sluitkans[:] = 1.0
104
+
105
+ # Overschrijdingskans windsnelheid
106
+ ovkansu_m = self.ovkansu_m(wind_direction)
107
+ kanswind = np.array(
108
+ [
109
+ ProbabilityFunctions.probability_density(
110
+ self.wind_speed.get_discretisation(), ovkansu_m[:, im]
111
+ ).probability
112
+ for im in range(len(self.sea_level))
113
+ ]
114
+ ).T[:, :, None]
115
+ if "u" in given:
116
+ kanswind[:] = 1.0
117
+
118
+ # Kans zeewaterstand
119
+ kanszws = ProbabilityFunctions.probability_density(
120
+ self.sea_level.get_discretisation(),
121
+ self.sea_level.get_exceedance_probability()[:, ir],
122
+ ).probability[None, :, None]
123
+ if "m" in given:
124
+ kanszws[:] = 1.0
125
+
126
+ # Combineer alle kansen
127
+ comb = kanswind * kanszws * kansafvoer[None, None, :] * sluitkans * kanswr
128
+ return np.swapaxes(comb, 1, 2)
129
+
130
+ # Otherwise, sector east (without sea level and Europoort)
131
+ else:
132
+ # Kans windsnelheid
133
+ ir = self.wind_direction.get_discretisation().tolist().index(wind_direction)
134
+ kanswind = ProbabilityFunctions.probability_density(
135
+ self.wind_speed.get_discretisation(),
136
+ self.wind_speed.get_exceedance_probability()[:, ir],
137
+ ).probability[:, None]
138
+ if "u" in given:
139
+ kanswind[:] = 1.0
140
+
141
+ # Afvoer
142
+ if "q" in given:
143
+ kansafvoer = np.ones_like(self.discharge.get_discretisation())
144
+ else:
145
+ # Let op! gebruikt de MOMENTANE kans van een afvoer
146
+ kansafvoer = ProbabilityFunctions.probability_density(
147
+ self.discharge.get_discretisation(),
148
+ 1 - self.discharge.get_exceedance_probability(),
149
+ ).probability
150
+
151
+ # Kans op windrichting
152
+ kanswr = 1.0 if "r" in given else self.wind_direction.get_probability()[ir]
153
+
154
+ # Combineer alle kansen
155
+ return kanswind * kansafvoer[None, :] * kanswr
156
+
157
+ def ovkansu_m(self, wind_direction: float):
158
+ """
159
+ Bereken de overschrijdingskans van de windsnelheid volgens het
160
+ correlatiemodel met de
161
+
162
+ Parameters
163
+ ----------
164
+ richting : float
165
+ Windrichting
166
+
167
+ Returns
168
+ -------
169
+ ondkans : np.ndarray
170
+ 2D-array per windsnelheid en zeewaterstand
171
+ """
172
+ # Bepaal transformatiewaarde van de windsnelheid voor het juiste rooster van windsnelheden
173
+ if self.settings.transitional_wind == 0:
174
+ kru = self.bereken_kru_polynoom(wind_direction)
175
+ elif self.settings.transitional_wind == 1:
176
+ kru = self.bereken_kru_tabel(wind_direction)
177
+ else:
178
+ raise ValueError(self.settings.transitional_wind)
179
+
180
+ # Bereken de windsnelheidkansen per richting en zeewaterstand voor de windsnelheid in de statistiek
181
+ return 1.0 - self.ondkanswindsnelheid(
182
+ wind_direction, kru, self.sea_level.get_discretisation()
183
+ )
184
+
185
+ def ondkanswindsnelheid(self, wind_direction, kru, m):
186
+ """
187
+ Bepaling van de onderschrijdingskans van de windsnelheid gegeven de
188
+ zeewaterstand en de windrichting
189
+
190
+ Parameters
191
+ ----------
192
+ wind_direction : float
193
+ Windrichting
194
+ kru : np.ndarray
195
+ Transformatiewaarde van de windsnelheid
196
+
197
+ Returns
198
+ -------
199
+ kans : np.array [len(kru), len(m)]
200
+ Onderschrijdingskans van de windsnelheid gegeven de zeewaterstand en de windrichting
201
+ """
202
+ ir = self.wind_direction.get_discretisation().tolist().index(wind_direction)
203
+ windparams = self.sea_level.pwinds[:, ir]
204
+
205
+ # Bepaal de onderschrijdingskans van de windsnelheid uit de
206
+ # Gumbelverdeelde getransformeerde waarde van de windsnelheid
207
+ alpha = (
208
+ windparams[5]
209
+ * (m + self.sea_level.translation_m - windparams[0])
210
+ / windparams[1]
211
+ )
212
+ ondkans = np.exp(-np.exp((-kru[:, None] + alpha[None, :]) / windparams[6]))
213
+
214
+ # Afknotten van de Gumbelverdeling
215
+ ondkans = np.minimum(1.0, (1.0 / (1.0 - self.settings.fu)) * ondkans)
216
+
217
+ return ondkans
218
+
219
+ def bereken_kru_tabel(self, wind_direction: float):
220
+ """
221
+ Berekenen van de transformatietabel van de windsnelheid
222
+
223
+ Creeer eerst een vector met waarden voor het hele bereik van K_r(u)
224
+ Ken vectorafmetingen toe aan parameters
225
+ Alloceer geheugen voor het hele bereik van K_r(u)
226
+ Maak lokaal een vector met zeewaterstanden
227
+ Alloceer geheugen voor de zeewaterstanden
228
+ Voor alle windsnelheden
229
+ {
230
+ Voor alle zeewaterstanden
231
+ {
232
+ Bepaal de onderschrijdingskans van K_r(u) gegeven de zeewaterstand
233
+ en de windrichting
234
+ }
235
+ Bereken de integraal over de zeewaterstanden
236
+ Verwijder de K_r(u)'s met onderschijdingskansen, die bij lagere waardes
237
+ ook al voorkomen
238
+ Voor kleine onder- en overschrijdingskansen de K_r(u) berekenen met
239
+ extrapolatie
240
+ }
241
+ Geef het gealloceerde geheugen weer vrij
242
+ """
243
+ ir = self.wind_direction.get_discretisation().tolist().index(wind_direction)
244
+
245
+ # Creeer eerst een vector met waarden voor het hele bereik van K_r(u)
246
+ kru = np.arange(-3.0, 20.001, 0.2)
247
+
248
+ # Maak lokaal een vector met zeewaterstanden
249
+ m_max = max(7.0, self.sea_level.get_discretisation()[-1])
250
+ m = np.linspace(0.75, m_max, int(round((m_max - 0.75) / 0.05)) + 1)
251
+
252
+ # Bepaal de onderschrijdingskans van K_r(u) gegeven de zeewaterstand en de windrichting
253
+
254
+ # Bepaal de overschrijdingskansen van de zeewaterstand gegeven de windrichting op het
255
+ # juiste rooster (N.B. kansdichtheden worden niet geenterpoleerd##)
256
+ # TODO: logaritmisch?
257
+ ovkanszws = Interpolate.inextrp1d(
258
+ x=m,
259
+ xp=self.sea_level.get_discretisation(),
260
+ fp=self.sea_level.get_exceedance_probability()[:, ir],
261
+ )
262
+ ovkanszws[ovkanszws > 1.0] = 1.0
263
+ ovkanszws = np.maximum.accumulate(ovkanszws[::-1])[::-1]
264
+
265
+ # Bereken de kansdichtheid uit de overschrijdingskansen
266
+ kanszws = ProbabilityFunctions.probability_density(m, ovkanszws).probability
267
+
268
+ # Bereken de integraal over de zeewaterstanden
269
+ ondkans_y_r = (
270
+ self.ondkanswindsnelheid(wind_direction, kru, m) * kanszws[None, :]
271
+ ).sum(1)
272
+
273
+ # Verwijder de K_r(u)'s met onderschijdingskansen, die bij lagere waardes ook al voorkomen
274
+ ondkans_uniek, idx = np.unique(ondkans_y_r, return_index=True)
275
+ kru_uniek = kru[idx]
276
+
277
+ # Voor kleine onder- en overschrijdingskansen de K_r(u) berekenen met extrapolatie
278
+ # Bepaal eerste het gebied dat BINNEN deze grenzen valt
279
+ ovkans_u = self.wind_speed.get_exceedance_probability()[:, ir]
280
+ idx = (ovkans_u >= 1.0e-7) & (ovkans_u <= 1 - 1.0e-8)
281
+
282
+ # Alloceer nieuwe array voor kru
283
+ kru = np.zeros_like(ovkans_u)
284
+
285
+ # Interpoleer dit gebied
286
+ kru[idx] = Interpolate.inextrp1d(
287
+ x=1.0 - ovkans_u[idx], xp=ondkans_uniek, fp=kru_uniek
288
+ )
289
+
290
+ # Extrapoleer de andere waarden hier omheen
291
+ kru[~idx] = Interpolate.inextrp1d(
292
+ x=self.wind_speed.get_discretisation()[~idx],
293
+ xp=self.wind_speed.get_discretisation()[idx],
294
+ fp=kru[idx],
295
+ )
296
+
297
+ return kru
298
+
299
+ def bereken_kru_polynoom(self, wind_direction: float):
300
+ """
301
+ Bepaal transformatiewaarden van de windsnelheden
302
+
303
+ Parameters
304
+ ---------
305
+
306
+ Returns
307
+ -------
308
+ kru
309
+ Vector met transformatiewaarden voor de windsnelheid op het gewenste rooster van de windsnelheden
310
+ """
311
+ ir = self.wind_direction.get_discretisation().tolist().index(wind_direction)
312
+ windparams = self.sea_level.pwinds[:, ir]
313
+
314
+ # Bepaal transformatiewaarden van de windsnelheden
315
+ kru = (
316
+ windparams[2] * self.wind_speed.get_discretisation() ** 2
317
+ + windparams[3] * self.wind_speed.get_discretisation()
318
+ + windparams[4]
319
+ )
320
+
321
+ return kru