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,158 @@
1
+ import numpy as np
2
+
3
+ from .wave_shape import WaveShape
4
+ from ....settings.settings import Settings
5
+ from .....common.enum import WaterSystem, WaveShapeType
6
+ from .....common.interpolate import Interpolate
7
+ from .....io.file_hydranl import FileHydraNL
8
+
9
+
10
+ class LakeLevel:
11
+ """
12
+ Class to describe the lake (water) level statistics.
13
+ """
14
+
15
+ def __init__(self, settings: Settings):
16
+ """
17
+ Constructor class for LakeLevel statistics.
18
+
19
+ Parameters
20
+ ----------
21
+ settings : Settings
22
+ The Settings object
23
+ """
24
+ # Read exceedance probability peak lake level
25
+ apeak, epapeak = FileHydraNL.read_file_2columns(settings.lake_level_probability)
26
+
27
+ # Adjust for lake level rise
28
+ apeak += settings.lake_level_rise
29
+
30
+ # Lowest lake level
31
+ a_min_piek = max(apeak[0] - settings.lake_level_rise, settings.a_min)
32
+
33
+ # Creeer rooster met meerpeilen voor de trapezia
34
+ self.apeak = np.r_[
35
+ np.arange(a_min_piek, settings.a_max, settings.a_step), settings.a_max
36
+ ]
37
+ self.napeak = len(self.apeak)
38
+
39
+ # Als de meerpeilen bekend zijn kunnen de trapezia worden geïnitialiseerd
40
+ # (Vul de vector met meerpeilen)
41
+ self.wave_shape = WaveShape(settings, type=WaveShapeType.LAKE_LEVEL)
42
+ self.wave_shape.initialise_wave_shapes(
43
+ self.apeak, climate_change=settings.lake_level_rise
44
+ )
45
+
46
+ # Creeer rooster met meerpeilen voor het opdelen van de golfvormen in blokken
47
+ # TODO self.invoergeg.m_min #= MLAAGST? Moet dit dan kol1.min() zijn?
48
+ # self.mblok = roosterblokken(self.invoergeg.m_min, self.mpiek)
49
+ self.ablok = self.apeak.copy()
50
+ self.nablok = len(self.ablok)
51
+
52
+ # Blaas de tabel met overschrijdingskansen voor het meerpeil op
53
+ # De interpolatie wordt logaritmische uitgevoerd.
54
+ self.epapeak = np.exp(
55
+ Interpolate.inextrp1d(x=self.apeak, xp=apeak, fp=np.log(epapeak))
56
+ )
57
+ self.epapeak[self.epapeak > 1] = 1.0
58
+
59
+ # IJssel-Vechtdelta and VZM related
60
+ if settings.watersystem in [
61
+ WaterSystem.IJSSEL_DELTA,
62
+ WaterSystem.VECHT_DELTA,
63
+ WaterSystem.VOLKERAK_ZOOMMEER,
64
+ ]:
65
+ # Lokale paramters
66
+ N = 376
67
+
68
+ # Geef verwachtingswaarde en standaarddeviatie van de normale verdeling in de getransformeerde ruimte een waarde
69
+ mu = 0.0
70
+ sigma = settings.sigma_aq # invoergeg.sigma_mq(ig)
71
+
72
+ # Zet de gegevens voor de verfijnde interpolatietabel (de y-waarden, ofwel de K_sigma(s) uit vgl. 4.7 van [Geerse, 2003.129x]
73
+ # Bereken voor elke y-waarde de integraal 4.3 [Geerse, 2003]
74
+ f_y_k = np.linspace(-2 - 4 * sigma, 20 + 4 * sigma, N)
75
+
76
+ # Verfijnde tabel klaarzetten van de cumulatieve verdelingsfunctie onder transformatie van s naar y
77
+ # Zie ook vgl. 4.3 van [Geerse, 2003]
78
+
79
+ # Maak de vector met y-waarden:
80
+ # Bereken voor elke y-waarde de integraal 4.3 [Geerse, 2003]
81
+ f_y_sigma = self.wave_shape.cum_norm_s_naar_y(f_y_k, mu, sigma)
82
+
83
+ # Kansverdeling schalen of de hoogste ONDERschrijdingskans gelijk stellen aan 1
84
+ if f_y_sigma[-1] > 1.0:
85
+ f_y_sigma /= f_y_sigma[-1]
86
+ else:
87
+ f_y_sigma[-1] = 1.0
88
+
89
+ for i in range(N):
90
+ if f_y_sigma[i] > 0:
91
+ D = i
92
+ break
93
+
94
+ # Een ONDERschrijdingskans gelijk aan 0.0 mag worden meegenomen.
95
+ if D > 0:
96
+ D -= 1
97
+
98
+ self.k_apeak = Interpolate.inextrp1d(
99
+ x=1 - self.epapeak, xp=f_y_sigma[D:], fp=f_y_k[D:]
100
+ )
101
+
102
+ # Bereken de momentane overschrijdingskansen van het meerpeil
103
+ self.mom_ovkans_a = self.wave_shape.instantaneous_exceedance_probability(
104
+ self.epapeak, self.ablok
105
+ )
106
+
107
+ # Transition
108
+ if (settings.transition_lake_wave_shape is not None) and (
109
+ settings.transition_lake_wave_shape != 0.0
110
+ ):
111
+ self.wave_shape.transition_wave(settings.transition_lake_wave_shape)
112
+
113
+ # Filter overschrijdingskansen die kleiner dan 0 of grote dan 1 zijn. Dit kan voorkomen door floating point precision
114
+ self.upablok = np.clip(1.0 - self.mom_ovkans_a, 0.0, 1.0)
115
+
116
+ def __len__(self):
117
+ """
118
+ Return the number of discharge discretisations.
119
+
120
+ Returns
121
+ -------
122
+ int
123
+ Number of discretisations
124
+ """
125
+ return self.nablok
126
+
127
+ def get_discretisation(self) -> np.ndarray:
128
+ """
129
+ Return the discharge discretisation.
130
+
131
+ Returns
132
+ -------
133
+ np.ndarray
134
+ 1D array with discretisation
135
+ """
136
+ return self.ablok
137
+
138
+ def get_exceedance_probability(self) -> np.ndarray:
139
+ """
140
+ Return exceedance probility of the discharge
141
+
142
+ Returns
143
+ -------
144
+ np.ndarray
145
+ A 1D array with the discharge exceedance probability
146
+ """
147
+ return self.upablok
148
+
149
+ def get_wave_shape(self) -> WaveShape:
150
+ """
151
+ Return the wave form statistics object.
152
+
153
+ Returns
154
+ -------
155
+ WaveShape
156
+ The WaveShape statistics
157
+ """
158
+ return self.wave_shape
@@ -0,0 +1,358 @@
1
+ import numpy as np
2
+
3
+ from dataclasses import dataclass
4
+ from scipy.stats import multivariate_normal, norm
5
+
6
+ from ....settings.settings import Settings
7
+ from .....io.database_hr import DatabaseHR
8
+
9
+
10
+ class ModelUncertainty:
11
+ """
12
+ Model uncertainties class. Containing all model uncertainties for each closing situation.
13
+
14
+ Attributes
15
+ ----------
16
+ model_uncertainties : dict
17
+ A dictionary with
18
+ """
19
+
20
+ # Init attributes
21
+ model_uncertainties = {}
22
+ correlations = {}
23
+
24
+ def __init__(self, settings: Settings):
25
+ """
26
+ Read the model uncertainties from the database and add them to this class
27
+
28
+ Parameters
29
+ ----------
30
+ settings : Settings
31
+ The Settings object
32
+ """
33
+ # Save the discretisation step size
34
+ self.step_size = {
35
+ "h": settings.model_uncertainty_water_level_steps,
36
+ "hs": settings.model_uncertainty_wave_height_steps,
37
+ "tspec": settings.model_uncertainty_wave_period_steps,
38
+ }
39
+
40
+ # Obtain the model uncertainties and correlation between model uncertainties
41
+ with DatabaseHR(settings.database_path) as database:
42
+ mu = database.get_model_uncertainties(settings)
43
+ cu = database.get_correlation_uncertainties(settings)
44
+
45
+ # Iterate over the model uncertainties and add them to the class
46
+ for comb, uncertainty in mu.groupby(["k", "rvid"]):
47
+ self.model_uncertainties[comb] = DistributionUncertainty(
48
+ uncertainty.to_numpy()[0]
49
+ )
50
+
51
+ # Iterate over the correlation between model uncertainties and add them to the class
52
+ for comb, correlation in cu.groupby(["k", "rvid", "rvid2"]):
53
+ self.correlations[comb] = CorrelationUncertainty(correlation.to_numpy()[0])
54
+
55
+ def iterate_model_uncertainty_wave_conditions(
56
+ self, closing_situation: int = 1, wave_period: str = "tspec"
57
+ ):
58
+ """
59
+ Iterate over all model uncertainty combinations for the significant wave height and wave period
60
+
61
+ Parameters
62
+ ----------
63
+ closing_situation : int, optional
64
+ The closing situation id (default : 1)
65
+ wave_period : str, optional
66
+ Whether to iterate over peak period (tp) or spectral wave period (tspec) (default : 'tspec')
67
+
68
+ Returns
69
+ -------
70
+ iterator
71
+ (hs, t, probability of (hs, t))
72
+ """
73
+ # Check if tp or tspec
74
+ wave_period = wave_period.lower()
75
+ if wave_period not in ["tp", "tspec"]:
76
+ raise KeyError(f"[ERROR] Wave period '{wave_period}' unknown.")
77
+
78
+ # Distributions
79
+ mu_hs = self.get_model_uncertainty("hs", closing_situation)
80
+ mu_t = self.get_model_uncertainty(wave_period, closing_situation)
81
+
82
+ # Significant wave height
83
+ if mu_hs is not None:
84
+ hs, hsedges = mu_hs.discretise(self.step_size["hs"])
85
+ tmp = norm.cdf(hsedges)
86
+ p_hs = tmp[1:] - tmp[:-1]
87
+ else:
88
+ hs, p_hs = [1.0], np.array([1.0])
89
+
90
+ # Wave period
91
+ if mu_t is not None:
92
+ t, tedges = mu_t.discretise(self.step_size["tspec"])
93
+ tmp = norm.cdf(tedges)
94
+ p_t = tmp[1:] - tmp[:-1]
95
+ else:
96
+ t, p_t = [1.0], np.array([1.0])
97
+
98
+ # Multiply the probabilities (assuming independence)
99
+ combined_probability = p_hs[:, None] * p_t[None, :]
100
+
101
+ # Obtain the correlation between wave height and period (optional, otherwise None)
102
+ corr_hs_t = self.get_correlation("hs", wave_period)
103
+
104
+ # If rho is defined, apply correlation
105
+ if corr_hs_t is not None:
106
+ # Correlation can only be applied when both the wave height and period are defined
107
+ if (mu_hs is not None) and (mu_t is not None):
108
+ # Apply correlation
109
+ exc_probs = np.zeros((len(hsedges), len(tedges)))
110
+ for i, x in enumerate(hsedges):
111
+ for j, y in enumerate(tedges):
112
+ exc_probs[i, j] = multivariate_normal.cdf(
113
+ [x, y],
114
+ mean=(0, 0),
115
+ cov=[[1, corr_hs_t.rho], [corr_hs_t.rho, 1]],
116
+ )
117
+
118
+ # Take the difference in both directions
119
+ combined_probability = exc_probs[1:] - exc_probs[:-1]
120
+ combined_probability = (
121
+ combined_probability[:, 1:] - combined_probability[:, :-1]
122
+ )
123
+
124
+ # Otherwise give a warning
125
+ else:
126
+ print(
127
+ "[WARNING] Correlation between wave height and period defined. However can not be applied because no model uncertainty is defined for either the wave height, period or both."
128
+ )
129
+
130
+ # Check
131
+ assert abs(combined_probability.sum() - 1) < 1e-6
132
+
133
+ # Iterator
134
+ for i, fh in enumerate(hs):
135
+ for j, ft in enumerate(t):
136
+ yield fh, ft, combined_probability[i, j]
137
+
138
+ def get_model_uncertainty(self, result_variable: str, closing_situation: int = 1):
139
+ """
140
+ Return the model uncertainty object for a result variable and closing situation id
141
+
142
+ Parameters
143
+ ----------
144
+ result_variable : str
145
+ Result variable (e.g. h, hs)
146
+ closing_situation : int
147
+ Closing situation ID (default: 1)
148
+
149
+ Returns
150
+ -------
151
+ DistributionUncertainty or None
152
+ The DistributionUncertainty object if it exists, otherwise None
153
+ """
154
+ # To lower
155
+ rv = result_variable.lower()
156
+
157
+ # Try to return the model uncertainty, otherwise return None
158
+ return self.model_uncertainties.get((closing_situation, rv))
159
+
160
+ def get_correlation(
161
+ self, result_variable1: str, result_variable2: str, closing_situation: int = 1
162
+ ):
163
+ """
164
+ Return the correlation object between two result variables given a closing situation id
165
+
166
+ Parameters
167
+ ----------
168
+ result_variable1 : str
169
+ Result variable (e.g. h, hs)
170
+ result_variable2 : str
171
+ Result variable (e.g. h, hs)
172
+ closing_situation : int
173
+ Closing situation ID (default: 1)
174
+
175
+ Returns
176
+ -------
177
+ Correlation or None
178
+ The Correlation object if it exists, otherwise None
179
+ """
180
+ # To lower
181
+ rv1 = result_variable1.lower()
182
+ rv2 = result_variable2.lower()
183
+
184
+ # Check both orders [ccid, rvid1, rvid2]
185
+ return self.correlations.get(
186
+ (closing_situation, rv1, rv2),
187
+ self.correlations.get((closing_situation, rv2, rv1)),
188
+ )
189
+
190
+ def process_model_uncertainty(
191
+ self,
192
+ closing_situation: int,
193
+ result_variable: str,
194
+ levels: np.ndarray,
195
+ exceedance_probability: np.ndarray,
196
+ haxis: int,
197
+ ):
198
+ """
199
+ Verwerk modelonzekerheid in gegeven stochast. Afhankelijk van de stochast wordt de onzekerheid
200
+ opgeteld (additief) of vermenigvuldigd (multiplicatief).
201
+
202
+ Args:
203
+ stochast (str): Stochastnaam. h, hs, tp of tspec
204
+ niveaus (np.ndarray): Niveaus waarin de onzekerheden worden ingedeeld.
205
+ ovkansen (np.ndarray): Overschrijdingskansen van de stochast, met eventueel meerdere dimensies
206
+ die meegeïntegreerd
207
+ haxis (int): as waarop de te integreren stochast zit
208
+ sluitsituatie (str): Keringsituatie, in sommige gevallen is de onzekerheid hiervan afhankelijk
209
+
210
+ Returns:
211
+ np.ndarray: Overschrijdingskansen met geïntegreerde onzekerheid
212
+ """
213
+ # Obtain distribution
214
+ dis = self.get_model_uncertainty(result_variable, closing_situation)
215
+
216
+ # Is the model uncertainty defined?
217
+ if dis is None:
218
+ return exceedance_probability
219
+
220
+ # Additive (h) or Multiplicative (hs, tspec, tp)
221
+ if result_variable in ["h"]:
222
+ klassekansen = self.bepaal_klassekansen_additief(levels, dis.mu, dis.sigma)
223
+
224
+ elif result_variable in ["hs", "tp", "tspec"]:
225
+ klassekansen = self.bepaal_klassekansen_multiplicatief(
226
+ levels, dis.mu, dis.sigma
227
+ )
228
+
229
+ else:
230
+ raise KeyError(result_variable)
231
+
232
+ # Calculate the exceedance probability
233
+ exceedance_probability = np.tensordot(
234
+ klassekansen, exceedance_probability, axes=([0], [haxis])
235
+ )
236
+
237
+ return exceedance_probability
238
+
239
+ def bepaal_klassekansen_additief(self, niveaus, mu, sigma):
240
+ # Bepaal klassegrenzen en klassekansen
241
+ hgrens = np.concatenate(
242
+ [[-np.inf], (niveaus[1:] + niveaus[:-1]) / 2.0, [np.inf]]
243
+ )
244
+ klassekansen = []
245
+
246
+ # Bereken per niveau (waterstand) de kans dat de waterstand door onzekerheid in een andere klasse valt
247
+ for niveau in niveaus:
248
+ grenskansen = norm.cdf(x=hgrens - mu, loc=niveau, scale=sigma)
249
+ klassekansen.append(grenskansen[1:] - grenskansen[:-1])
250
+ klassekansen = np.array(klassekansen)
251
+
252
+ return klassekansen
253
+
254
+ def bepaal_klassekansen_multiplicatief(self, niveaus, mu, sigma):
255
+ # Bepaal klassegrenzen en klassekansen
256
+ hgrens = np.concatenate(
257
+ [[-np.inf], (niveaus[1:] + niveaus[:-1]) / 2.0, [np.inf]]
258
+ )
259
+ klassekansen = []
260
+
261
+ # Bereken per niveau (waterstand) de kans dat de waterstand door onzekerheid in een andere klasse valt
262
+ for niveau in niveaus:
263
+ grenskansen = norm.cdf(hgrens / niveau, loc=mu, scale=sigma)
264
+ klassekansen.append(grenskansen[1:] - grenskansen[:-1])
265
+ klassekansen = np.array(klassekansen)
266
+
267
+ return klassekansen
268
+
269
+
270
+ class DistributionUncertainty:
271
+ """
272
+ Model uncertainty class for a closing situation.
273
+ """
274
+
275
+ def __init__(self, uncertainty: list):
276
+ """
277
+ Initialise the model uncertainty (Normal Distribution)
278
+ """
279
+ # Save information
280
+ self.k, self.rvid, self.mu, self.sigma = uncertainty
281
+ self.k = int(self.k)
282
+ self.mu = float(self.mu)
283
+ self.sigma = float(self.sigma)
284
+
285
+ def discretise(self, nsteps: int):
286
+ """
287
+ Discretise the model uncertainty
288
+
289
+ Parameters
290
+ ----------
291
+ nsteps : int
292
+ Number of steps
293
+
294
+ Returns
295
+ -------
296
+ probabilities : list
297
+ List of the probabilities for each bin
298
+ edges : list
299
+ List with the edges of each bin
300
+ """
301
+ # If nsteps is 1, there is no need to discretise
302
+ if nsteps == 1:
303
+ return self.mu, [self.mu - 100 * self.sigma, self.mu + 100 * self.sigma]
304
+
305
+ # Determine the residual probabilities
306
+ keuzerestkans = 0.05
307
+ restkans = keuzerestkans / (nsteps**1.5)
308
+ afstand = -norm.ppf(q=0.5 * restkans, loc=0.0, scale=1.0) * self.sigma
309
+ ondergrens = self.mu - afstand
310
+ bovengrens = self.mu + afstand
311
+
312
+ # Calculate the probability at the center of the bin
313
+ probabilities = (
314
+ ondergrens + np.arange(0.5, nsteps, 1) * (bovengrens - ondergrens) / nsteps
315
+ )
316
+
317
+ # Determine the edges of the bins
318
+ edges = (
319
+ np.concatenate(
320
+ [
321
+ [self.mu - 100 * self.sigma],
322
+ (probabilities[1:] + probabilities[:-1]) / 2,
323
+ [self.mu + 100 * self.sigma],
324
+ ]
325
+ )
326
+ - self.mu
327
+ ) / self.sigma
328
+
329
+ # Return probabilities and edges
330
+ return probabilities, edges
331
+
332
+
333
+ @dataclass
334
+ class CorrelationUncertainty:
335
+ """
336
+ Class om de correlaties tussen uitvoervariabelen op te slaan.
337
+ Bijv. de correlatie tussen Hs en Tspec
338
+ """
339
+
340
+ def __init__(self, correlation: list):
341
+ """
342
+ Initialise the correlation between two result variables
343
+ """
344
+ # Save information
345
+ self.k, self.rvid, self.rvid2, self.rho = correlation
346
+ self.k = int(self.k)
347
+ self.rho = float(self.rho)
348
+
349
+ # Only allow correlation between Hs and Tp and Hs and Tspec
350
+ if [self.rvid, self.rvid2] not in [
351
+ ["hs", "tp"],
352
+ ["tp", "hs"],
353
+ ["hs", "tspec"],
354
+ ["tspec", "hs"],
355
+ ]:
356
+ raise ValueError(
357
+ f"Not Implemented: Correlation between ({self.rvid}) and ({self.rvid2})"
358
+ )
@@ -0,0 +1,53 @@
1
+ import numpy as np
2
+
3
+ from abc import ABC
4
+
5
+
6
+ class SeaLevel(ABC):
7
+ """
8
+ Class to describe the sea (water) level statistics.
9
+ Sea level statistics are conditional on the wind direction.
10
+ """
11
+
12
+ def __init__(self):
13
+ """
14
+ Constructor class for the SeaLevel statistics.
15
+ """
16
+ self.nm = 0
17
+ self.m = None
18
+ self.epm = None
19
+
20
+ def __len__(self):
21
+ """
22
+ Return the number of sea level discretisations.
23
+
24
+ Returns
25
+ -------
26
+ int
27
+ Number of discretisations
28
+ """
29
+ return self.nm
30
+
31
+ def get_discretisation(self) -> np.ndarray:
32
+ """
33
+ Return the sea level discretisation.
34
+
35
+ Returns
36
+ -------
37
+ np.ndarray
38
+ 1D array with discretisation
39
+ """
40
+ return self.m
41
+
42
+ def get_exceedance_probability(self) -> np.ndarray:
43
+ """
44
+ Return exceedance probility of the sea level, conditional on the wind
45
+ direction.
46
+
47
+ Returns
48
+ -------
49
+ np.ndarray
50
+ A 2D array with the sea level exceedance probability conditional on
51
+ the wind direction (r x m)
52
+ """
53
+ return self.epm
@@ -0,0 +1,93 @@
1
+ import numpy as np
2
+
3
+ from .sea_level import SeaLevel
4
+ from .....settings.settings import Settings
5
+ from ......common.interpolate import Interpolate
6
+ from ......common.probability import ProbabilityFunctions
7
+ from ......io.file_hydranl import FileHydraNL
8
+
9
+
10
+ class SeaLevelLowerRiver(SeaLevel):
11
+ """
12
+ Class to describe the sea (water) level statistics.
13
+ Sea level statistics are conditional on the wind direction.
14
+ """
15
+
16
+ def __init__(self, settings: Settings):
17
+ """
18
+ Initialise the sea level statistics for Rhine Tidal, Meuse Tidal,
19
+ EuroPoort, Volkerak-Zoommeer and Hollandsche IJssel.
20
+
21
+ Parameters
22
+ ----------
23
+ settings : Settings
24
+ The Settings object
25
+ """
26
+ # Inherit
27
+ super().__init__()
28
+
29
+ # Read the exceedance probability of the sea level conditional to the wind direction
30
+ m, epm = FileHydraNL.read_file_ncolumns(settings.sea_level_probability)
31
+ m += settings.sea_level_rise
32
+ nr = epm.shape[1]
33
+
34
+ # Correct for the distance between Hoek van Holland and Maasmond
35
+ self.translation_m = 0.02 - settings.sea_level_rise
36
+
37
+ # Equidistant filling vector with seawater levels
38
+ self.m = ProbabilityFunctions.get_hnl_disc_array(
39
+ settings.m_min, settings.m_max, settings.m_step
40
+ )
41
+
42
+ # Alloceer matrices
43
+ self.nm = len(self.m)
44
+ self.epm = np.zeros([self.nm, nr])
45
+
46
+ # Interpolate the conditional exceedance probability of the sea level onto the given grid
47
+ for ir in range(nr):
48
+ iszero = epm[:, ir] == 0.0
49
+ if iszero.any():
50
+ zeroidx = np.where(iszero)[0][-1]
51
+
52
+ # Interpoleer of extrapoleer logaritmisch tot de 0
53
+ self.epm[:zeroidx, ir] = np.exp(
54
+ Interpolate.inextrp1d(
55
+ x=self.m[:zeroidx], xp=m[~iszero], fp=np.log(epm[~iszero, ir])
56
+ )
57
+ )
58
+
59
+ # Interpoleer of extrapoleer lineair vanaf 0
60
+ self.epm[zeroidx:, ir] = np.maximum(
61
+ 0.0, Interpolate.inextrp1d(self.m[zeroidx:], m, epm[:, ir])
62
+ )
63
+
64
+ else:
65
+ self.epm[:, ir] = np.exp(
66
+ Interpolate.inextrp1d(x=self.m, xp=m, fp=np.log(epm[:, ir]))
67
+ )
68
+
69
+ # Limit the upper limit of the excedaance probability to 1.0
70
+ self.epm = np.minimum(1.0, self.epm)
71
+
72
+ # Scaling of the conditional exceedance probability to the used time period
73
+ if (settings.block_duration != 12.0) and (settings.block_duration is not None):
74
+ self.epm = 1.0 - (1.0 - self.epm) ** (settings.block_duration / 12.0)
75
+
76
+ # Allocate matrix
77
+ self.pm = np.zeros((self.nm, nr))
78
+
79
+ # Berekenen kansdichtheid zeewaterstand gegeven de windrichting
80
+ for ir in range(nr):
81
+ self.pm[:, ir] = ProbabilityFunctions.probability_density(
82
+ self.m, self.epm[:, ir]
83
+ ).density
84
+
85
+ # Inlezen parameters kansverdeling gezamenlijke kansdichtheid zeewaterstand, windsnelheid
86
+ # en windrichting
87
+ _, self.pwinds = FileHydraNL.read_file_ncolumns(
88
+ settings.wind_sea_level_probability
89
+ )
90
+ self.pwinds = self.pwinds.T
91
+
92
+ # Geef twee instellingen van het gegevensblok mee in de structure self
93
+ self.transitional_wind = settings.transitional_wind