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

Sign up to get free protection for your applications and to get access to all the features.
Files changed (364) hide show
  1. pydra_core/__init__.py +32 -32
  2. pydra_core/common/common.py +98 -98
  3. pydra_core/common/enum.py +63 -63
  4. pydra_core/common/interpolate.py +345 -345
  5. pydra_core/common/probability.py +293 -293
  6. pydra_core/core/calculation.py +51 -51
  7. pydra_core/core/datamodels/frequency_line.py +60 -60
  8. pydra_core/core/exceedance_frequency_line.py +224 -224
  9. pydra_core/core/exceedance_frequency_line_experimental.py +163 -163
  10. pydra_core/core/hbn.py +226 -226
  11. pydra_core/data/statistics/Afvoer/Borgharen/Ovkans_Borgharen_piekafvoer_2017.txt +36 -36
  12. pydra_core/data/statistics/Afvoer/Borgharen/Ovkans_Borgharen_piekafvoer_2017_metOnzHeid.txt +45 -45
  13. pydra_core/data/statistics/Afvoer/Borgharen/Ovkans_Borgharen_piekafvoer_OI2014_G_2015_metOnzHeid_v02.txt +50 -50
  14. pydra_core/data/statistics/Afvoer/Borgharen/Ovkans_Borgharen_piekafvoer_OI2014_G_2015_v02.txt +42 -42
  15. pydra_core/data/statistics/Afvoer/Borgharen/Ovkans_Borgharen_piekafvoer_OI2014_G_2050_metOnzHeid_v02.txt +56 -56
  16. pydra_core/data/statistics/Afvoer/Borgharen/Ovkans_Borgharen_piekafvoer_OI2014_G_2050_v02.txt +48 -48
  17. pydra_core/data/statistics/Afvoer/Borgharen/Ovkans_Borgharen_piekafvoer_OI2014_G_2100_metOnzHeid_v02.txt +56 -56
  18. pydra_core/data/statistics/Afvoer/Borgharen/Ovkans_Borgharen_piekafvoer_OI2014_G_2100_v02.txt +48 -48
  19. pydra_core/data/statistics/Afvoer/Borgharen/Ovkans_Borgharen_piekafvoer_OI2014_W_2015_metOnzHeid_v02.txt +50 -50
  20. pydra_core/data/statistics/Afvoer/Borgharen/Ovkans_Borgharen_piekafvoer_OI2014_W_2015_v02.txt +42 -42
  21. pydra_core/data/statistics/Afvoer/Borgharen/Ovkans_Borgharen_piekafvoer_OI2014_W_2050_metOnzHeid_v02.txt +56 -56
  22. pydra_core/data/statistics/Afvoer/Borgharen/Ovkans_Borgharen_piekafvoer_OI2014_W_2050_v02.txt +48 -48
  23. pydra_core/data/statistics/Afvoer/Borgharen/Ovkans_Borgharen_piekafvoer_OI2014_W_2100_metOnzHeid_v02.txt +51 -51
  24. pydra_core/data/statistics/Afvoer/Borgharen/Ovkans_Borgharen_piekafvoer_OI2014_W_2100_v02.txt +44 -44
  25. pydra_core/data/statistics/Afvoer/Borgharen/Ovkans_Borgharen_piekafvoer_Ref.txt +27 -27
  26. pydra_core/data/statistics/Afvoer/Dalfsen/Ovkans_Dalfsen_piekafvoer_2017.txt +30 -30
  27. pydra_core/data/statistics/Afvoer/Dalfsen/Ovkans_Dalfsen_piekafvoer_2017_metOnzHeid.txt +32 -32
  28. pydra_core/data/statistics/Afvoer/Dalfsen/Ovkans_Dalfsen_piekafvoer_OI2014_G_2015.txt +44 -44
  29. pydra_core/data/statistics/Afvoer/Dalfsen/Ovkans_Dalfsen_piekafvoer_OI2014_G_2015_metOnzHeid.txt +33 -33
  30. pydra_core/data/statistics/Afvoer/Dalfsen/Ovkans_Dalfsen_piekafvoer_OI2014_G_2050.txt +44 -44
  31. pydra_core/data/statistics/Afvoer/Dalfsen/Ovkans_Dalfsen_piekafvoer_OI2014_G_2050_metOnzHeid.txt +33 -33
  32. pydra_core/data/statistics/Afvoer/Dalfsen/Ovkans_Dalfsen_piekafvoer_OI2014_G_2100.txt +44 -44
  33. pydra_core/data/statistics/Afvoer/Dalfsen/Ovkans_Dalfsen_piekafvoer_OI2014_G_2100_metOnzHeid.txt +38 -38
  34. pydra_core/data/statistics/Afvoer/Dalfsen/Ovkans_Dalfsen_piekafvoer_OI2014_W_2015.txt +44 -44
  35. pydra_core/data/statistics/Afvoer/Dalfsen/Ovkans_Dalfsen_piekafvoer_OI2014_W_2015_metOnzHeid.txt +33 -33
  36. pydra_core/data/statistics/Afvoer/Dalfsen/Ovkans_Dalfsen_piekafvoer_OI2014_W_2050.txt +44 -44
  37. pydra_core/data/statistics/Afvoer/Dalfsen/Ovkans_Dalfsen_piekafvoer_OI2014_W_2050_metOnzHeid.txt +33 -33
  38. pydra_core/data/statistics/Afvoer/Dalfsen/Ovkans_Dalfsen_piekafvoer_OI2014_W_2100.txt +44 -44
  39. pydra_core/data/statistics/Afvoer/Dalfsen/Ovkans_Dalfsen_piekafvoer_OI2014_W_2100_metOnzHeid.txt +33 -33
  40. pydra_core/data/statistics/Afvoer/Dalfsen/Ovkans_Dalfsen_piekafvoer_Ref.txt +13 -13
  41. pydra_core/data/statistics/Afvoer/Lith/Ovkans_Lith_piekafvoer_2017.txt +47 -47
  42. pydra_core/data/statistics/Afvoer/Lith/Ovkans_Lith_piekafvoer_2017_metOnzHeid.txt +47 -47
  43. pydra_core/data/statistics/Afvoer/Lith/Ovkans_Lith_piekafvoer_OI2014_G_2015.txt +49 -49
  44. pydra_core/data/statistics/Afvoer/Lith/Ovkans_Lith_piekafvoer_OI2014_G_2015_metOnzHeid.txt +58 -58
  45. pydra_core/data/statistics/Afvoer/Lith/Ovkans_Lith_piekafvoer_OI2014_G_2050.txt +49 -49
  46. pydra_core/data/statistics/Afvoer/Lith/Ovkans_Lith_piekafvoer_OI2014_G_2050_metOnzHeid.txt +58 -58
  47. pydra_core/data/statistics/Afvoer/Lith/Ovkans_Lith_piekafvoer_OI2014_G_2100.txt +49 -49
  48. pydra_core/data/statistics/Afvoer/Lith/Ovkans_Lith_piekafvoer_OI2014_G_2100_metOnzHeid.txt +58 -58
  49. pydra_core/data/statistics/Afvoer/Lith/Ovkans_Lith_piekafvoer_OI2014_W_2015.txt +49 -49
  50. pydra_core/data/statistics/Afvoer/Lith/Ovkans_Lith_piekafvoer_OI2014_W_2015_metOnzHeid.txt +58 -58
  51. pydra_core/data/statistics/Afvoer/Lith/Ovkans_Lith_piekafvoer_OI2014_W_2050.txt +49 -49
  52. pydra_core/data/statistics/Afvoer/Lith/Ovkans_Lith_piekafvoer_OI2014_W_2050_metOnzHeid.txt +58 -58
  53. pydra_core/data/statistics/Afvoer/Lith/Ovkans_Lith_piekafvoer_OI2014_W_2100.txt +49 -49
  54. pydra_core/data/statistics/Afvoer/Lith/Ovkans_Lith_piekafvoer_OI2014_W_2100_metOnzHeid.txt +58 -58
  55. pydra_core/data/statistics/Afvoer/Lith/Ovkans_Lith_piekafvoer_Ref.txt +20 -20
  56. pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_2017.txt +33 -33
  57. pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_2017_metOnzHeid.txt +59 -59
  58. pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_G_2015.txt +49 -49
  59. pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_G_2015_BenedenRijn.txt +49 -49
  60. pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_G_2015_metOnzHeid.txt +62 -62
  61. pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_G_2015_metOnzHeid_BenedenRijn.txt +65 -65
  62. pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_G_2050.txt +49 -49
  63. pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_G_2050_BenedenRijn.txt +49 -49
  64. pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_G_2050_metOnzHeid.txt +62 -62
  65. pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_G_2050_metOnzHeid_BenedenRijn.txt +64 -64
  66. pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_G_2100.txt +49 -49
  67. pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_G_2100_BenedenRijn.txt +49 -49
  68. pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_G_2100_metOnzHeid.txt +62 -62
  69. pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_G_2100_metOnzHeid_BenedenRijn.txt +64 -64
  70. pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_W_2015.txt +50 -50
  71. pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_W_2015_BenedenRijn.txt +50 -50
  72. pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_W_2015_metOnzHeid.txt +62 -62
  73. pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_W_2015_metOnzHeid_BenedenRijn.txt +64 -64
  74. pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_W_2050.txt +50 -50
  75. pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_W_2050_BenedenRijn.txt +50 -50
  76. pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_W_2050_metOnzHeid.txt +62 -62
  77. pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_W_2050_metOnzHeid_BenedenRijn.txt +64 -64
  78. pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_W_2100.txt +50 -50
  79. pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_W_2100_BenedenRijn.txt +50 -50
  80. pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_W_2100_metOnzHeid.txt +62 -62
  81. pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_W_2100_metOnzHeid_BenedenRijn.txt +65 -65
  82. pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_Ref.txt +22 -22
  83. pydra_core/data/statistics/Afvoer/Olst/Ovkans_Olst_piekafvoer_2017.txt +55 -55
  84. pydra_core/data/statistics/Afvoer/Olst/Ovkans_Olst_piekafvoer_2017_metOnzHeid.txt +55 -55
  85. pydra_core/data/statistics/Afvoer/Olst/Ovkans_Olst_piekafvoer_OI2014_G_2015.txt +46 -46
  86. pydra_core/data/statistics/Afvoer/Olst/Ovkans_Olst_piekafvoer_OI2014_G_2015_metOnzHeid.txt +64 -64
  87. pydra_core/data/statistics/Afvoer/Olst/Ovkans_Olst_piekafvoer_OI2014_G_2050.txt +46 -46
  88. pydra_core/data/statistics/Afvoer/Olst/Ovkans_Olst_piekafvoer_OI2014_G_2050_metOnzHeid.txt +64 -64
  89. pydra_core/data/statistics/Afvoer/Olst/Ovkans_Olst_piekafvoer_OI2014_G_2100.txt +46 -46
  90. pydra_core/data/statistics/Afvoer/Olst/Ovkans_Olst_piekafvoer_OI2014_G_2100_metOnzHeid.txt +64 -64
  91. pydra_core/data/statistics/Afvoer/Olst/Ovkans_Olst_piekafvoer_OI2014_W_2015.txt +47 -47
  92. pydra_core/data/statistics/Afvoer/Olst/Ovkans_Olst_piekafvoer_OI2014_W_2015_metOnzHeid.txt +64 -64
  93. pydra_core/data/statistics/Afvoer/Olst/Ovkans_Olst_piekafvoer_OI2014_W_2050.txt +47 -47
  94. pydra_core/data/statistics/Afvoer/Olst/Ovkans_Olst_piekafvoer_OI2014_W_2050_metOnzHeid.txt +64 -64
  95. pydra_core/data/statistics/Afvoer/Olst/Ovkans_Olst_piekafvoer_OI2014_W_2100.txt +47 -47
  96. pydra_core/data/statistics/Afvoer/Olst/Ovkans_Olst_piekafvoer_OI2014_W_2100_metOnzHeid.txt +64 -64
  97. pydra_core/data/statistics/Afvoer/Olst/Ovkans_Olst_piekafvoer_Ref.txt +14 -14
  98. pydra_core/data/statistics/Golfvorm/Borgharen/Golfvormen_Borgharen.txt +76 -76
  99. pydra_core/data/statistics/Golfvorm/Dalfsen/Golfvormen_Dalfsen.txt +83 -83
  100. pydra_core/data/statistics/Golfvorm/Grevelingenmeer/Golfvormen_Grevelingenmeer.txt +33 -33
  101. pydra_core/data/statistics/Golfvorm/IJsselmeer/Golfvormen_IJsselmeer.txt +83 -83
  102. pydra_core/data/statistics/Golfvorm/Lith/Golfvormen_Lith.txt +76 -76
  103. pydra_core/data/statistics/Golfvorm/Lobith/Golfvormen_Lobith.txt +76 -76
  104. pydra_core/data/statistics/Golfvorm/Markermeer/Golfvormen_Markermeer.txt +139 -139
  105. pydra_core/data/statistics/Golfvorm/Olst/Golfvormen_Olst.txt +83 -83
  106. pydra_core/data/statistics/Golfvorm/Veerse Meer/Golfvormen_Veersemeer.txt +53 -53
  107. pydra_core/data/statistics/Golfvorm/Veluwerandmeer/Golfvormen_Veluwerandmeer.txt +139 -139
  108. pydra_core/data/statistics/Golfvorm/Volkerak-Zoommeer/Golfvormen_Volkerakzoommeer.txt +73 -73
  109. pydra_core/data/statistics/Meerpeil/Grevelingenmeer/Ovkans_Grevelingenmeer_piekmeerpeil_2017.txt +12 -12
  110. pydra_core/data/statistics/Meerpeil/Grevelingenmeer/Ovkans_Grevelingenmeer_piekmeerpeil_2017_metOnzHeid.txt +24 -24
  111. pydra_core/data/statistics/Meerpeil/Grevelingenmeer/Ovkans_Grevelingenmeer_piekmeerpeil_v01.txt +12 -12
  112. pydra_core/data/statistics/Meerpeil/IJsselmeer/Ovkans_IJsselmeer_piekmeerpeil_2017.txt +25 -25
  113. pydra_core/data/statistics/Meerpeil/IJsselmeer/Ovkans_IJsselmeer_piekmeerpeil_2017_metOnzHeid.txt +39 -39
  114. pydra_core/data/statistics/Meerpeil/IJsselmeer/Ovkans_IJsselmeer_piekmeerpeil_v01.txt +14 -14
  115. pydra_core/data/statistics/Meerpeil/Markermeer/Ovkans_Markermeer_piekmeerpeil_2017.txt +18 -18
  116. pydra_core/data/statistics/Meerpeil/Markermeer/Ovkans_Markermeer_piekmeerpeil_2017_metOnzHeid.txt +37 -37
  117. pydra_core/data/statistics/Meerpeil/Markermeer/Ovkans_Markermeer_piekmeerpeil_v01.txt +10 -10
  118. pydra_core/data/statistics/Meerpeil/Veerse Meer/Ovkans_Veersemeer_piekmeerpeil_excl_peilverhoging.txt +13 -13
  119. pydra_core/data/statistics/Meerpeil/Veerse Meer/Ovkans_Veersemeer_piekmeerpeil_v01.txt +15 -15
  120. pydra_core/data/statistics/Meerpeil/Veluwerandmeer/Ovkans_Veluwerandmeer_piekmeerpeil_2017.txt +13 -13
  121. pydra_core/data/statistics/Meerpeil/Veluwerandmeer/Ovkans_Veluwerandmeer_piekmeerpeil_2017_metOnzHeid.txt +36 -36
  122. pydra_core/data/statistics/Meerpeil/Veluwerandmeer/Ovkans_Veluwerandmeer_piekmeerpeil_v01.txt +13 -13
  123. pydra_core/data/statistics/Meerpeil/Volkerak-Zoommeer/Ovkans_VZM_piekmeerpeil_BER-VZM.txt +17 -17
  124. pydra_core/data/statistics/Meerpeil/Volkerak-Zoommeer/Ovkans_VZM_piekmeerpeil_BER-VZM_metOnzHeid.txt +42 -42
  125. pydra_core/data/statistics/Restant/Oosterschelde/BesliskansenOSKering.txt +524 -524
  126. pydra_core/data/statistics/Restant/Oosterschelde/KansenFaseverschil_2023.txt +7 -7
  127. pydra_core/data/statistics/Restant/Oosterschelde/KansenFaseverschil_OS.txt +13 -13
  128. pydra_core/data/statistics/Restant/Oosterschelde/KansenStormduur_OS.txt +14 -14
  129. pydra_core/data/statistics/Restant/Oosterschelde/KansenStormduur_OS_40_60_80uur_2023.txt +16 -16
  130. pydra_core/data/statistics/Restant/Oosterschelde/ScenariokansenOSKering_2008.txt +23 -23
  131. pydra_core/data/statistics/Restant/Oosterschelde/ScenariokansenOSKering_2013.txt +18 -18
  132. pydra_core/data/statistics/Restant/Oosterschelde/ScenariokansenOSKering_2017.txt +18 -18
  133. pydra_core/data/statistics/Restant/Oosterschelde/ScenariokansenOSKering_2023.txt +13 -13
  134. pydra_core/data/statistics/Restant/Up2U/Up2U10.dat +59 -59
  135. pydra_core/data/statistics/Restant/Up2U/Up2Up.dat +59 -59
  136. pydra_core/data/statistics/Restant/Up2U/Up2Ustar.dat +59 -59
  137. pydra_core/data/statistics/Restant/hulpdijken.txt +59 -59
  138. pydra_core/data/statistics/Restant/hulpgolfhoogtes.txt +23 -23
  139. pydra_core/data/statistics/Restant/hulpgolfperiodes.txt +38 -38
  140. pydra_core/data/statistics/Restant/kansstormduur.txt +8 -8
  141. pydra_core/data/statistics/Restant/pwind_west.txt +33 -33
  142. pydra_core/data/statistics/Restant/pwind_west_met_Volkerfactor.txt +33 -33
  143. pydra_core/data/statistics/Restant/pwind_west_zonder_Volkerfactor.txt +33 -33
  144. pydra_core/data/statistics/Sigmafunctie/Hollandse Kust Midden/VS_sigmafunctie_Kust_Midden.txt +18 -18
  145. pydra_core/data/statistics/Sigmafunctie/Hollandse Kust Midden/VS_sigmafunctie_Kust_Midden_2017.txt +22 -22
  146. pydra_core/data/statistics/Sigmafunctie/Hollandse Kust Noord/VS_sigmafunctie_Kust_Noord.txt +18 -18
  147. pydra_core/data/statistics/Sigmafunctie/Hollandse Kust Noord/VS_sigmafunctie_Kust_Noord_2017.txt +22 -22
  148. pydra_core/data/statistics/Sigmafunctie/Hollandse Kust Zuid/VS_sigmafunctie_Kust_Zuid.txt +18 -18
  149. pydra_core/data/statistics/Sigmafunctie/Hollandse Kust Zuid/VS_sigmafunctie_Kust_Zuid_2017.txt +22 -22
  150. pydra_core/data/statistics/Sigmafunctie/Oosterschelde/VS_sigmafunctie_OS.txt +21 -21
  151. pydra_core/data/statistics/Sigmafunctie/Oosterschelde/VS_sigmafunctie_OS_16sectoren_2023.txt +23 -23
  152. pydra_core/data/statistics/Sigmafunctie/Oosterschelde/VS_sigmafunctie_OS_2017.txt +21 -21
  153. pydra_core/data/statistics/Sigmafunctie/Waddenzee Oost/VS_sigmafunctie_WZ_oost.txt +18 -18
  154. pydra_core/data/statistics/Sigmafunctie/Waddenzee Oost/VS_sigmafunctie_WZ_oost_2017.txt +22 -22
  155. pydra_core/data/statistics/Sigmafunctie/Waddenzee West/VS_sigmafunctie_WZ_west.txt +18 -18
  156. pydra_core/data/statistics/Sigmafunctie/Waddenzee West/VS_sigmafunctie_WZ_west_2017.txt +22 -22
  157. pydra_core/data/statistics/Sigmafunctie/Westerschelde/VS_sigmafunctie_WS.txt +18 -18
  158. pydra_core/data/statistics/Sigmafunctie/Westerschelde/VS_sigmafunctie_WS_2017.txt +22 -22
  159. pydra_core/data/statistics/Sluitpeilen/Sluitfunctie Europoortkering Maas 2017.csv +630 -630
  160. pydra_core/data/statistics/Sluitpeilen/Sluitfunctie Europoortkering Rijn 2017.csv +630 -630
  161. pydra_core/data/statistics/Sluitpeilen/Sluitfunctie Hollandsche IJsselkering.csv +757 -757
  162. pydra_core/data/statistics/Sluitpeilen/Sluitfunctie Oosterscheldekering 2017.csv +55080 -55080
  163. pydra_core/data/statistics/Topduur/Borgharen/Topduur_Borgharen_2017.txt +18 -18
  164. pydra_core/data/statistics/Topduur/Borgharen/Topduur_Borgharen_v00.txt +14 -14
  165. pydra_core/data/statistics/Topduur/Dalfsen/Topduur_Dalfsen_2017.txt +19 -19
  166. pydra_core/data/statistics/Topduur/Dalfsen/Topduur_Dalfsen_v01.txt +15 -15
  167. pydra_core/data/statistics/Topduur/Grevelingenmeer/Topduur_Grevelingenmeer_2017.txt +13 -13
  168. pydra_core/data/statistics/Topduur/Grevelingenmeer/Topduur_Grevelingenmeer_v01.txt +13 -13
  169. pydra_core/data/statistics/Topduur/IJsselmeer/Topduur_IJsselmeer_2017.txt +19 -19
  170. pydra_core/data/statistics/Topduur/IJsselmeer/Topduur_IJsselmeer_v01.txt +14 -14
  171. pydra_core/data/statistics/Topduur/Lith/Topduur_Lith_2017.txt +18 -18
  172. pydra_core/data/statistics/Topduur/Lith/Topduur_Lith_v01.txt +17 -17
  173. pydra_core/data/statistics/Topduur/Lobith/Topduur_Lobith_2017.txt +18 -18
  174. pydra_core/data/statistics/Topduur/Lobith/Topduur_Lobith_v01.txt +16 -16
  175. pydra_core/data/statistics/Topduur/Markermeer/Topduur_Markermeer_2017.txt +19 -19
  176. pydra_core/data/statistics/Topduur/Markermeer/Topduur_Markermeer_v01.txt +11 -11
  177. pydra_core/data/statistics/Topduur/Olst/Topduur_Olst_2017.txt +19 -19
  178. pydra_core/data/statistics/Topduur/Olst/Topduur_Olst_v01.txt +15 -15
  179. pydra_core/data/statistics/Topduur/Veerse Meer/Topduur_Veersemeer_excl_peilverhoging.txt +12 -12
  180. pydra_core/data/statistics/Topduur/Veerse Meer/Topduur_Veersemeer_v01.txt +15 -15
  181. pydra_core/data/statistics/Topduur/Veluwerandmeer/Topduur_Veluwerandmeer_2017.txt +11 -11
  182. pydra_core/data/statistics/Topduur/Veluwerandmeer/Topduur_Veluwerandmeer_v01.txt +11 -11
  183. pydra_core/data/statistics/Topduur/Volkerak-Zoommeer/Topduur_Volkerakzoommeer_BER-VZM.txt +17 -17
  184. pydra_core/data/statistics/Windrichting/Deelen/Richtingskansen_Deelen_2017.txt +27 -27
  185. pydra_core/data/statistics/Windrichting/Hollandse Kust/KansenWindrichting_Kust.txt +16 -16
  186. pydra_core/data/statistics/Windrichting/Hollandse Kust/KansenWindrichting_Kust_2017.txt +23 -23
  187. pydra_core/data/statistics/Windrichting/Oosterschelde/KansenWindrichting_16sectoren_OS_2023.txt +30 -30
  188. pydra_core/data/statistics/Windrichting/Oosterschelde/KansenWindrichting_OS.txt +19 -19
  189. pydra_core/data/statistics/Windrichting/Oosterschelde/KansenWindrichting_OS_2017.txt +23 -23
  190. pydra_core/data/statistics/Windrichting/Schiphol/Richtingskansen_Schiphol_12sectoren.txt +19 -19
  191. pydra_core/data/statistics/Windrichting/Schiphol/Richtingskansen_Schiphol_12sectoren_2017.txt +19 -19
  192. pydra_core/data/statistics/Windrichting/Schiphol/Richtingskansen_Schiphol_2017.txt +27 -27
  193. pydra_core/data/statistics/Windrichting/Schiphol/kanswindrichting_v01.txt +28 -28
  194. pydra_core/data/statistics/Windrichting/Waddenzee/KansenWindrichting_WZ.txt +16 -16
  195. pydra_core/data/statistics/Windrichting/Waddenzee/KansenWindrichting_WZ_2017.txt +23 -23
  196. pydra_core/data/statistics/Windrichting/Westerschelde/KansenWindrichting_WS.txt +16 -16
  197. pydra_core/data/statistics/Windrichting/Westerschelde/KansenWindrichting_WS_2017.txt +23 -23
  198. pydra_core/data/statistics/Windsnelheid/De Kooy/OvkansWindsnelheid_Texel.txt +69 -69
  199. pydra_core/data/statistics/Windsnelheid/De Kooy/Ovkanswind_de Kooy_2017.txt +91 -91
  200. pydra_core/data/statistics/Windsnelheid/De Kooy/Ovkanswind_de Kooy_2017_metOnzHeid.txt +91 -91
  201. pydra_core/data/statistics/Windsnelheid/Deelen/Ovkanswind_Deelen_2017.txt +90 -90
  202. pydra_core/data/statistics/Windsnelheid/Deelen/Ovkanswind_Deelen_2017_metOnzHeid.txt +90 -90
  203. pydra_core/data/statistics/Windsnelheid/Hoek van Holland/OvkansWindsnelheid_Hoek van Holland.txt +69 -69
  204. pydra_core/data/statistics/Windsnelheid/Hoek van Holland/Ovkanswind_Hoek van Holland_2017.txt +91 -91
  205. pydra_core/data/statistics/Windsnelheid/Hoek van Holland/Ovkanswind_Hoek van Holland_2017_metOnzHeid.txt +91 -91
  206. pydra_core/data/statistics/Windsnelheid/IJmuiden/OvkansWindsnelheid_IJmuiden.txt +69 -69
  207. pydra_core/data/statistics/Windsnelheid/IJmuiden/Ovkanswind_IJmuiden_2017.txt +91 -91
  208. pydra_core/data/statistics/Windsnelheid/IJmuiden/Ovkanswind_IJmuiden_2017_metOnzHeid.txt +91 -91
  209. pydra_core/data/statistics/Windsnelheid/Schiphol/Ovkanswind_Schiphol_12sectoren.txt +50 -50
  210. pydra_core/data/statistics/Windsnelheid/Schiphol/Ovkanswind_Schiphol_12sectoren_2017.txt +90 -90
  211. pydra_core/data/statistics/Windsnelheid/Schiphol/Ovkanswind_Schiphol_12sectoren_2017_metOnzHeid.txt +90 -90
  212. pydra_core/data/statistics/Windsnelheid/Schiphol/Ovkanswind_Schiphol_12sectoren_2017_metWindDrag.txt +96 -96
  213. pydra_core/data/statistics/Windsnelheid/Schiphol/Ovkanswind_Schiphol_12sectoren_2017_metWindDrag_metOnzHeid.txt +96 -96
  214. pydra_core/data/statistics/Windsnelheid/Schiphol/Ovkanswind_Schiphol_16sectoren_2017_metWindDrag.txt +96 -96
  215. pydra_core/data/statistics/Windsnelheid/Schiphol/Ovkanswind_Schiphol_16sectoren_2017_metWindDrag_metOnzHeid.txt +96 -96
  216. pydra_core/data/statistics/Windsnelheid/Schiphol/Ovkanswind_Schiphol_2017.txt +90 -90
  217. pydra_core/data/statistics/Windsnelheid/Schiphol/Ovkanswind_Schiphol_2017_metOnzHeid.txt +90 -90
  218. pydra_core/data/statistics/Windsnelheid/Schiphol/Ovkanswind_Schiphol_met_Volkerfactor_2017.txt +90 -90
  219. pydra_core/data/statistics/Windsnelheid/Schiphol/Ovkanswind_Schiphol_met_Volkerfactor_2017_metOnzHeid.txt +90 -90
  220. pydra_core/data/statistics/Windsnelheid/Schiphol/Ovkanswind_schiphol.txt +57 -57
  221. pydra_core/data/statistics/Windsnelheid/Schiphol/Ovkanswind_schiphol_10%.txt +63 -63
  222. pydra_core/data/statistics/Windsnelheid/Schiphol/Ovkanswind_schiphol_5%.txt +61 -61
  223. pydra_core/data/statistics/Windsnelheid/Schiphol/Ovkanswind_schiphol_B_met volker.txt +59 -59
  224. pydra_core/data/statistics/Windsnelheid/Vlissingen/OvkansWindsnelheid_OS.txt +66 -66
  225. pydra_core/data/statistics/Windsnelheid/Vlissingen/OvkansWindsnelheid_Vlissingen.txt +69 -69
  226. pydra_core/data/statistics/Windsnelheid/Vlissingen/Ovkanswind_Vlissingen_16sectoren_2023.txt +91 -91
  227. pydra_core/data/statistics/Windsnelheid/Vlissingen/Ovkanswind_Vlissingen_16sectoren_2023_metOnzHeid.txt +90 -90
  228. pydra_core/data/statistics/Windsnelheid/Vlissingen/Ovkanswind_Vlissingen_2017.txt +91 -91
  229. pydra_core/data/statistics/Windsnelheid/Vlissingen/Ovkanswind_Vlissingen_2017_metOnzHeid.txt +91 -91
  230. pydra_core/data/statistics/Windsnelheid/Vlissingen/Ovkanswind_Vlissingen_2017_metWindDrag.txt +96 -96
  231. pydra_core/data/statistics/Windsnelheid/Vlissingen/Ovkanswind_Vlissingen_2017_metWindDrag_metOnzHeid.txt +96 -96
  232. pydra_core/data/statistics/Windsnelheid/West-Terschelling/OvkansWindsnelheid_West-Tersch.txt +69 -69
  233. pydra_core/data/statistics/Windsnelheid/West-Terschelling/Ovkanswind_West Terschelling_2017.txt +91 -91
  234. pydra_core/data/statistics/Windsnelheid/West-Terschelling/Ovkanswind_West Terschelling_2017_metOnzHeid.txt +91 -91
  235. pydra_core/data/statistics/Zeewaterstand/Delfzijl/CondPovDelfzijl_12u_zichtjaar1985_2017.txt +81 -81
  236. pydra_core/data/statistics/Zeewaterstand/Delfzijl/CondPovDelfzijl_12u_zichtjaar1985_2017_metOnzHeid.txt +81 -81
  237. pydra_core/data/statistics/Zeewaterstand/Delfzijl/CondPovDelfzijl_12u_zichtjaar2017.txt +81 -81
  238. pydra_core/data/statistics/Zeewaterstand/Delfzijl/CondPovDelfzijl_12u_zichtjaar2017_metOnzHeid.txt +81 -81
  239. pydra_core/data/statistics/Zeewaterstand/Delfzijl/OvkansZee_Delfzijl.txt +70 -70
  240. pydra_core/data/statistics/Zeewaterstand/Den Helder/CondPovDenHelder_12u_zichtjaar1985_2017.txt +89 -89
  241. pydra_core/data/statistics/Zeewaterstand/Den Helder/CondPovDenHelder_12u_zichtjaar1985_2017_metOnzHeid.txt +89 -89
  242. pydra_core/data/statistics/Zeewaterstand/Den Helder/CondPovDenHelder_12u_zichtjaar2017.txt +88 -88
  243. pydra_core/data/statistics/Zeewaterstand/Den Helder/CondPovDenHelder_12u_zichtjaar2017_metOnzHeid.txt +88 -88
  244. pydra_core/data/statistics/Zeewaterstand/Den Helder/OvkansZee_Den Helder.txt +70 -70
  245. pydra_core/data/statistics/Zeewaterstand/Den Oever/CondPovDenOeverBuiten_12u_zichtjaar1985_2017.txt +88 -88
  246. pydra_core/data/statistics/Zeewaterstand/Den Oever/CondPovDenOeverBuiten_12u_zichtjaar1985_2017_metOnzHeid.txt +88 -88
  247. pydra_core/data/statistics/Zeewaterstand/Den Oever/CondPovDenOeverBuiten_12u_zichtjaar2017.txt +87 -87
  248. pydra_core/data/statistics/Zeewaterstand/Den Oever/CondPovDenOeverBuiten_12u_zichtjaar2017_metOnzHeid.txt +87 -87
  249. pydra_core/data/statistics/Zeewaterstand/Den Oever/OvkansZee_Den Oever.txt +70 -70
  250. pydra_core/data/statistics/Zeewaterstand/Hansweert/CondPovHansweert_12u_zichtjaar1985_2017.txt +71 -71
  251. pydra_core/data/statistics/Zeewaterstand/Hansweert/CondPovHansweert_12u_zichtjaar1985_2017_metOnzHeid.txt +71 -71
  252. pydra_core/data/statistics/Zeewaterstand/Hansweert/CondPovHansweert_12u_zichtjaar2017.txt +70 -70
  253. pydra_core/data/statistics/Zeewaterstand/Hansweert/CondPovHansweert_12u_zichtjaar2017_metOnzHeid.txt +70 -70
  254. pydra_core/data/statistics/Zeewaterstand/Hansweert/OvkansZee_Hansweert.txt +70 -70
  255. pydra_core/data/statistics/Zeewaterstand/Harlingen/CondPovHarlingen_12u_zichtjaar1985_2017.txt +85 -85
  256. pydra_core/data/statistics/Zeewaterstand/Harlingen/CondPovHarlingen_12u_zichtjaar1985_2017_metOnzHeid.txt +85 -85
  257. pydra_core/data/statistics/Zeewaterstand/Harlingen/CondPovHarlingen_12u_zichtjaar2017.txt +84 -84
  258. pydra_core/data/statistics/Zeewaterstand/Harlingen/CondPovHarlingen_12u_zichtjaar2017_metOnzHeid.txt +84 -84
  259. pydra_core/data/statistics/Zeewaterstand/Harlingen/OvkansZee_Harlingen.txt +70 -70
  260. pydra_core/data/statistics/Zeewaterstand/Hoek van Holland/CondPovHoekvanHolland_12u_zichtjaar1985_2017.txt +84 -84
  261. pydra_core/data/statistics/Zeewaterstand/Hoek van Holland/CondPovHoekvanHolland_12u_zichtjaar1985_2017_metOnzHeid.txt +84 -84
  262. pydra_core/data/statistics/Zeewaterstand/Hoek van Holland/CondPovHoekvanHolland_12u_zichtjaar2017.txt +83 -83
  263. pydra_core/data/statistics/Zeewaterstand/Hoek van Holland/CondPovHoekvanHolland_12u_zichtjaar2017_metOnzHeid.txt +83 -83
  264. pydra_core/data/statistics/Zeewaterstand/Hoek van Holland/OvkansZee_Hoek van Holland.txt +70 -70
  265. pydra_core/data/statistics/Zeewaterstand/Huibertgat/CondPovHuibertgat_12u_zichtjaar1985_2017.txt +86 -86
  266. pydra_core/data/statistics/Zeewaterstand/Huibertgat/CondPovHuibertgat_12u_zichtjaar1985_2017_metOnzHeid.txt +86 -86
  267. pydra_core/data/statistics/Zeewaterstand/Huibertgat/CondPovHuibertgat_12u_zichtjaar2017.txt +85 -85
  268. pydra_core/data/statistics/Zeewaterstand/Huibertgat/CondPovHuibertgat_12u_zichtjaar2017_metOnzHeid.txt +85 -85
  269. pydra_core/data/statistics/Zeewaterstand/Huibertgat/OvkansZee_Huibertgat.txt +70 -70
  270. pydra_core/data/statistics/Zeewaterstand/IJmuiden/CondPovIJmuiden_12u_zichtjaar1985_2017.txt +85 -85
  271. pydra_core/data/statistics/Zeewaterstand/IJmuiden/CondPovIJmuiden_12u_zichtjaar1985_2017_metOnzHeid.txt +85 -85
  272. pydra_core/data/statistics/Zeewaterstand/IJmuiden/CondPovIJmuiden_12u_zichtjaar2017.txt +85 -85
  273. pydra_core/data/statistics/Zeewaterstand/IJmuiden/CondPovIJmuiden_12u_zichtjaar2017_metOnzHeid.txt +85 -85
  274. pydra_core/data/statistics/Zeewaterstand/IJmuiden/OvkansZee_IJmuiden.txt +70 -70
  275. pydra_core/data/statistics/Zeewaterstand/IJmuiden virtueel/CondPovIJmuiden-Additional_12u_zichtjaar1985_2017.txt +85 -85
  276. pydra_core/data/statistics/Zeewaterstand/IJmuiden virtueel/CondPovIJmuiden-Additional_12u_zichtjaar1985_2017_metOnzHeid.txt +85 -85
  277. pydra_core/data/statistics/Zeewaterstand/IJmuiden virtueel/CondPovIJmuiden-Additional_12u_zichtjaar2017.txt +85 -85
  278. pydra_core/data/statistics/Zeewaterstand/IJmuiden virtueel/CondPovIJmuiden-Additional_12u_zichtjaar2017_metOnzHeid.txt +85 -85
  279. pydra_core/data/statistics/Zeewaterstand/IJmuiden virtueel/OvkansZee_IJmuiden_virtueel.txt +70 -70
  280. pydra_core/data/statistics/Zeewaterstand/Lauwersoog/CondPovLauwersoog_12u_zichtjaar1985_2017.txt +85 -85
  281. pydra_core/data/statistics/Zeewaterstand/Lauwersoog/CondPovLauwersoog_12u_zichtjaar1985_2017_metOnzHeid.txt +85 -85
  282. pydra_core/data/statistics/Zeewaterstand/Lauwersoog/CondPovLauwersoog_12u_zichtjaar2017.txt +84 -84
  283. pydra_core/data/statistics/Zeewaterstand/Lauwersoog/CondPovLauwersoog_12u_zichtjaar2017_metOnzHeid.txt +84 -84
  284. pydra_core/data/statistics/Zeewaterstand/Lauwersoog/OvkansZee_Lauwersoog.txt +70 -70
  285. pydra_core/data/statistics/Zeewaterstand/Maasmond/CondPovMaasmond_12u_zichtjaar1985_2011.txt +88 -88
  286. pydra_core/data/statistics/Zeewaterstand/Maasmond/CondPovMaasmond_12u_zichtjaar1985_2017.txt +88 -88
  287. pydra_core/data/statistics/Zeewaterstand/Maasmond/CondPovMaasmond_12u_zichtjaar1985_2017_metOnzheid.txt +92 -92
  288. pydra_core/data/statistics/Zeewaterstand/Maasmond/CondPovMaasmond_12u_zichtjaar2017.txt +85 -85
  289. pydra_core/data/statistics/Zeewaterstand/Maasmond/CondPovMaasmond_12u_zichtjaar2017_metOnzheid.txt +85 -85
  290. pydra_core/data/statistics/Zeewaterstand/Oosterschelde/CondPovOS11_12u_zichtjaar1985_2017.txt +79 -79
  291. pydra_core/data/statistics/Zeewaterstand/Oosterschelde/CondPovOS11_12u_zichtjaar1985_2017_metOnzHeid.txt +79 -79
  292. pydra_core/data/statistics/Zeewaterstand/Oosterschelde/CondPovOS11_12u_zichtjaar2017.txt +79 -79
  293. pydra_core/data/statistics/Zeewaterstand/Oosterschelde/CondPovOS11_12u_zichtjaar2017_metOnzHeid.txt +79 -79
  294. pydra_core/data/statistics/Zeewaterstand/Oosterschelde/CondPovOS11_16sectoren_12u_2023.txt +74 -74
  295. pydra_core/data/statistics/Zeewaterstand/Oosterschelde/CondPovOS11_16sectoren_12u_2023_metOnzHeid.txt +73 -73
  296. pydra_core/data/statistics/Zeewaterstand/Oosterschelde/OvkansZee_OS11.txt +70 -70
  297. pydra_core/data/statistics/Zeewaterstand/Oosterschelde/OvkansZeewaterstand_OS.txt +71 -71
  298. pydra_core/data/statistics/Zeewaterstand/Vlissingen/CondPovVlissingen_12u_zichtjaar1985_2017.txt +74 -74
  299. pydra_core/data/statistics/Zeewaterstand/Vlissingen/CondPovVlissingen_12u_zichtjaar1985_2017_metOnzHeid.txt +74 -74
  300. pydra_core/data/statistics/Zeewaterstand/Vlissingen/CondPovVlissingen_12u_zichtjaar2017.txt +74 -74
  301. pydra_core/data/statistics/Zeewaterstand/Vlissingen/CondPovVlissingen_12u_zichtjaar2017_metOnzHeid.txt +74 -74
  302. pydra_core/data/statistics/Zeewaterstand/Vlissingen/OvkansZee_Vlissingen.txt +70 -70
  303. pydra_core/data/statistics/Zeewaterstand/Vlissingen virtueel/CondPovVlissingen-Additional_12u_zichtjaar1985_2017.txt +74 -74
  304. pydra_core/data/statistics/Zeewaterstand/Vlissingen virtueel/CondPovVlissingen-Additional_12u_zichtjaar1985_2017_metOnzHeid.txt +74 -74
  305. pydra_core/data/statistics/Zeewaterstand/Vlissingen virtueel/CondPovVlissingen-Additional_12u_zichtjaar2017.txt +74 -74
  306. pydra_core/data/statistics/Zeewaterstand/Vlissingen virtueel/CondPovVlissingen-Additional_12u_zichtjaar2017_metOnzHeid.txt +74 -74
  307. pydra_core/data/statistics/Zeewaterstand/Vlissingen virtueel/OvkansZee_Vlissingen_virtueel.txt +70 -70
  308. pydra_core/data/statistics/Zeewaterstand/West-Terschelling/CondPovWestTerschelling_12u_zichtjaar1985_2017.txt +87 -87
  309. pydra_core/data/statistics/Zeewaterstand/West-Terschelling/CondPovWestTerschelling_12u_zichtjaar1985_2017_metOnzHeid.txt +87 -87
  310. pydra_core/data/statistics/Zeewaterstand/West-Terschelling/CondPovWestTerschelling_12u_zichtjaar2017.txt +86 -86
  311. pydra_core/data/statistics/Zeewaterstand/West-Terschelling/CondPovWestTerschelling_12u_zichtjaar2017_metOnzHeid.txt +86 -86
  312. pydra_core/data/statistics/Zeewaterstand/West-Terschelling/OvkansZee_West-Terschelling.txt +70 -70
  313. pydra_core/hrdatabase/hrdatabase.py +177 -177
  314. pydra_core/io/database_hr.py +598 -598
  315. pydra_core/io/database_settings.py +183 -183
  316. pydra_core/io/file_hydranl.py +92 -92
  317. pydra_core/location/location.py +115 -115
  318. pydra_core/location/model/base_model.py +270 -270
  319. pydra_core/location/model/loading/loading.py +368 -368
  320. pydra_core/location/model/loading/loading_factory.py +89 -89
  321. pydra_core/location/model/loading/loading_model/loading_model.py +324 -324
  322. pydra_core/location/model/loading/other_systems/loading_wave_overtopping.py +122 -122
  323. pydra_core/location/model/loading/water_systems/loading_coast.py +54 -54
  324. pydra_core/location/model/loading/water_systems/loading_eastern_scheldt.py +169 -169
  325. pydra_core/location/model/loading/water_systems/loading_ijssel_vechtdelta.py +55 -55
  326. pydra_core/location/model/loading/water_systems/loading_lake.py +55 -55
  327. pydra_core/location/model/loading/water_systems/loading_lower_rivier.py +68 -68
  328. pydra_core/location/model/loading/water_systems/loading_upper_river.py +55 -55
  329. pydra_core/location/model/statistics/other_systems/statistics_wave_overtopping.py +72 -72
  330. pydra_core/location/model/statistics/statistics.py +171 -171
  331. pydra_core/location/model/statistics/statistics_factory.py +89 -89
  332. pydra_core/location/model/statistics/stochastics/barrier/barrier.py +43 -43
  333. pydra_core/location/model/statistics/stochastics/barrier/barrier_easternscheldt.py +147 -147
  334. pydra_core/location/model/statistics/stochastics/barrier/barrier_europoort.py +209 -209
  335. pydra_core/location/model/statistics/stochastics/barrier/barrier_ramspol.py +41 -41
  336. pydra_core/location/model/statistics/stochastics/barrier/no_barrier.py +21 -21
  337. pydra_core/location/model/statistics/stochastics/discharge.py +108 -108
  338. pydra_core/location/model/statistics/stochastics/discrete_probability.py +55 -55
  339. pydra_core/location/model/statistics/stochastics/lake_level.py +158 -158
  340. pydra_core/location/model/statistics/stochastics/model_uncertainty.py +358 -358
  341. pydra_core/location/model/statistics/stochastics/sea_level/sea_level.py +53 -53
  342. pydra_core/location/model/statistics/stochastics/sea_level/sea_level_lower_river.py +93 -93
  343. pydra_core/location/model/statistics/stochastics/sea_level/sea_level_point.py +65 -65
  344. pydra_core/location/model/statistics/stochastics/sea_level/sea_level_triangular.py +158 -158
  345. pydra_core/location/model/statistics/stochastics/sigma_function.py +24 -24
  346. pydra_core/location/model/statistics/stochastics/wave_shape.py +624 -624
  347. pydra_core/location/model/statistics/stochastics/wind_speed.py +196 -196
  348. pydra_core/location/model/statistics/water_systems/statistics_coast.py +153 -153
  349. pydra_core/location/model/statistics/water_systems/statistics_eastern_scheldt.py +177 -177
  350. pydra_core/location/model/statistics/water_systems/statistics_ijssel_vechtdelta.py +229 -229
  351. pydra_core/location/model/statistics/water_systems/statistics_lake.py +86 -86
  352. pydra_core/location/model/statistics/water_systems/statistics_lower_river.py +321 -321
  353. pydra_core/location/model/statistics/water_systems/statistics_upper_river.py +86 -86
  354. pydra_core/location/model/water_system.py +249 -249
  355. pydra_core/location/model/wave_overtopping.py +25 -25
  356. pydra_core/location/profile/foreland.py +246 -246
  357. pydra_core/location/profile/lib/README.MD +10 -10
  358. pydra_core/location/profile/profile.py +971 -971
  359. pydra_core/location/profile/profile_loading.py +473 -473
  360. pydra_core/location/settings/settings.py +387 -387
  361. {pydra_core-0.0.1.dist-info → pydra_core-0.0.2.dist-info}/METADATA +18 -3
  362. pydra_core-0.0.2.dist-info/RECORD +389 -0
  363. pydra_core-0.0.1.dist-info/RECORD +0 -389
  364. {pydra_core-0.0.1.dist-info → pydra_core-0.0.2.dist-info}/WHEEL +0 -0
@@ -1,321 +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
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