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,473 +1,473 @@
1
- import numpy as np
2
- import os
3
-
4
- from ctypes import (
5
- ARRAY,
6
- CDLL,
7
- POINTER,
8
- Structure,
9
- c_bool,
10
- c_char,
11
- c_double,
12
- c_int,
13
- byref,
14
- create_string_buffer,
15
- )
16
-
17
-
18
- class ProfileLoading:
19
- """
20
- Profile loading object to calculate hbn, runup, overtopping and overflow
21
- discharge.
22
- """
23
-
24
- # Model factors
25
- MODEL_FACTORS = {
26
- "FactorDeterminationQbFn": 2.3,
27
- "FactorDeterminationQbFb": 4.3,
28
- "M_z2": 1.07,
29
- "Fshallow": 0.67778,
30
- "ComputedOvertopping": 1.0,
31
- "CriticalOvertopping": 1.0,
32
- "RelaxationFactor": 1.0,
33
- "ReductionFactorForeshore": 0.5,
34
- }
35
-
36
- def __init__(self, profile, settings: dict = None):
37
- """
38
- Constructor of the ProfileLoading object
39
-
40
- Parameters
41
- ----------
42
- profile : Profile
43
- The Profile object
44
- settings : dict
45
- Model uncertainty settings, optional (default = None)
46
- Parameters: FactorDeterminationQbFn, FactorDeterminationQbFb, M_z2,
47
- Fshallow, ComputedOvertopping, CriticalOvertopping,
48
- RelaxationFactor, ReductionFactorForeshore
49
- """
50
- # Update model factors if defined
51
- if isinstance(settings, dict):
52
- if all(k in list(self.MODEL_FACTORS.keys()) for k in list(settings.keys())):
53
- self.MODEL_FACTORS.update(settings)
54
- else:
55
- raise ValueError(
56
- "[ERROR] Settings dictionary contains unknown keys (check uppercase?)."
57
- )
58
-
59
- # Path to the library
60
- lib_path = os.path.abspath(os.path.join(os.path.dirname(__file__), "lib"))
61
-
62
- # Load RTO-libary (VTV v17.1.1.0) (used for runup / overtopping when the water level is below crest level)
63
- self.rto_library = CDLL(os.path.join(lib_path, "dllDikesOvertopping.dll"))
64
-
65
- # Load COO-library (used for overflow) (Note: DiKErnel does not include this .dll)
66
- self.coo_library = CDLL(os.path.join(lib_path, "CombOverloopOverslag64.dll"))
67
-
68
- # Modelfactors
69
- factors = np.array(list(self.MODEL_FACTORS.items()))[:, 1].astype(float)
70
- self.modelfactors_rto = (c_double * 8)(*factors)
71
- self.modelfactors_coo = c_double(factors[3])
72
- self.output = (c_double * 2)(0.0, 0.0)
73
- self.qo = c_double()
74
- self.niveau = c_double()
75
- self.load_rto = c_double * 4
76
- self.load_coo = OvertoppingLoad
77
- self.succes = c_bool()
78
- self.message = create_string_buffer(b"", 512)
79
-
80
- # Set profile
81
- self.profile = profile
82
-
83
- def set_profile(self, profile):
84
- """
85
- Set a profile
86
-
87
- Parameters
88
- ----------
89
- Profile : profile
90
- A Profile object
91
- """
92
- self.profile = profile
93
-
94
- def calculate_discharge(
95
- self,
96
- water_level: float,
97
- significant_wave_height: float,
98
- spectral_wave_period: float,
99
- wave_direction: float,
100
- ) -> float:
101
- """
102
- Calculate overtopping for loaded profile and given load combination.
103
-
104
- Parameters
105
- ----------
106
- water_level : float
107
- Water level
108
- significant_wave_height : float
109
- Significant wave height
110
- spectral_wave_period : float
111
- Spectral wave period
112
- wave_direction : float
113
- Wave direction
114
-
115
- Returns
116
- -------
117
- float
118
- The overtopping discharge
119
- """
120
- # If the waterlevel is lower or equal to the crest level, use rto
121
- if water_level <= self.profile.dike_crest_level:
122
- # Create instance of load structure and calculate the overtopping discharge
123
- load = self.load_rto(
124
- water_level,
125
- significant_wave_height,
126
- spectral_wave_period,
127
- wave_direction,
128
- )
129
- self.__calculate_discharge_rto(load)
130
- qov = self.output[0]
131
-
132
- # If the water is above the crestlevel use coo
133
- else:
134
- # Calculate overtopping at h = crest level
135
- load = self.load_rto(
136
- self.profile.dike_crest_level,
137
- significant_wave_height,
138
- spectral_wave_period,
139
- wave_direction,
140
- )
141
- self.__calculate_discharge_rto(load)
142
- qov_ot = self.output[0]
143
-
144
- # Calculate overflow
145
- load = self.load_coo(
146
- water_level,
147
- significant_wave_height,
148
- spectral_wave_period,
149
- wave_direction,
150
- )
151
- self.__calculate_discharge_coo(load)
152
- qov_ov = self.qo.value
153
-
154
- # Take the value from overflow only if it is larger than overtopping (to create a smooth function)
155
- if qov_ov > qov_ot:
156
- qov = qov_ov
157
- else:
158
- qov = qov_ot
159
-
160
- # Catch errors
161
- if not self.succes:
162
- raise ValueError(
163
- self.message.value.decode().strip()
164
- + f" (Load: h={water_level}, Hs={significant_wave_height}, Tm-1,0={spectral_wave_period}, wdir={wave_direction})"
165
- )
166
-
167
- # Return the overtopping discharge
168
- return qov
169
-
170
- def calculate_runup(
171
- self,
172
- water_level: float,
173
- significant_wave_height: float,
174
- spectral_wave_period: float,
175
- wave_direction: float,
176
- ) -> float:
177
- """
178
- Calculate run up (z2%) for loaded profile and given load combination.
179
-
180
- Parameters
181
- ----------
182
- water_level : float
183
- Water level
184
- significant_wave_height : float
185
- Significant wave height
186
- spectral_wave_period : float
187
- Spectral wave period
188
- wave_direction : float
189
- Wave direction
190
-
191
- Returns
192
- -------
193
- float
194
- The run up height (z2%)
195
- """
196
- # If the waterlevel is lower or equal to the crest level
197
- if water_level <= self.profile.dike_crest_level:
198
- # Calculate the run up
199
- load = self.load_rto(
200
- water_level,
201
- significant_wave_height,
202
- spectral_wave_period,
203
- wave_direction,
204
- )
205
- self.__calculate_discharge_rto(load)
206
- ru2p = self.output[1] + water_level
207
-
208
- # Otherwise give an error
209
- else:
210
- raise ValueError("Water level exceeds crest level.")
211
-
212
- # Catch errors
213
- if not self.succes:
214
- raise ValueError(
215
- self.message.value.decode().strip()
216
- + f" (Load: h={water_level}, Hs={significant_wave_height}, Tm-1,0={spectral_wave_period}, wdir={wave_direction})"
217
- )
218
-
219
- # Return the runup discharge
220
- return ru2p
221
-
222
- def calculate_crest_level(
223
- self,
224
- q_overtopping: float,
225
- water_level: float,
226
- significant_wave_height: float,
227
- spectral_wave_period: float,
228
- wave_direction: float,
229
- ) -> float:
230
- """
231
- Calculate the crest level for a discharge q_overtopping for loaded profile and given load combination.
232
-
233
- Parameters
234
- ----------
235
- q_overtopping : float
236
- Critical overtopping discharge
237
- water_level : float
238
- Water level
239
- significant_wave_height : float
240
- Significant wave height
241
- spectral_wave_period : float
242
- Spectral wave period
243
- wave_direction : float
244
- Wave direction
245
-
246
- Returns
247
- -------
248
- float
249
- The crest level
250
- """
251
- # Create instance of load structure
252
- self.qcr = c_double(q_overtopping)
253
-
254
- # If the waterlevel is lower or equal to the crest level, use rto
255
- if wave_direction > 360:
256
- if (wave_direction - 360) < 10e-4:
257
- wave_direction = 0
258
- load = self.load_rto(
259
- water_level, significant_wave_height, spectral_wave_period, wave_direction
260
- )
261
- self.__calculate_crest_level_rto(load)
262
-
263
- # Catch errors
264
- if not self.succes:
265
- raise ValueError(self.message.value.decode().strip())
266
-
267
- # If the calculated crest level is equal to the water level
268
- if self.niveau.value == water_level:
269
- load = self.load_coo(
270
- water_level,
271
- significant_wave_height,
272
- spectral_wave_period,
273
- wave_direction,
274
- )
275
- self.__calculate_crest_level_coo(load)
276
-
277
- # Catch errors
278
- if not self.succes:
279
- raise ValueError(self.message.value.decode().strip())
280
-
281
- return self.niveau.value
282
-
283
- def __calculate_discharge_rto(self, load):
284
- """
285
- Function to communicate with the dllDikesOvertopping.dll
286
- """
287
- self.arr_ctype = c_double * len(self.profile.dike_x_coordinates)
288
- self.__set_argtypes()
289
- self.rto_library.calculateQoJ(
290
- load,
291
- byref(self.arr_ctype(*self.profile.dike_x_coordinates)),
292
- byref(self.arr_ctype(*self.profile.dike_y_coordinates)),
293
- byref(self.arr_ctype(*self.profile.dike_roughness)),
294
- byref(c_double(self.profile.dike_orientation)),
295
- byref(c_int(len(self.profile.dike_x_coordinates))),
296
- byref(c_double(self.profile.dike_crest_level)),
297
- byref(self.modelfactors_rto),
298
- byref(self.output),
299
- byref(self.succes),
300
- byref(self.message),
301
- )
302
-
303
- def __calculate_crest_level_rto(self, load):
304
- """
305
- Function to communicate with the dllDikesOvertopping.dll
306
- """
307
- self.arr_ctype = c_double * len(self.profile.dike_x_coordinates)
308
- self.__set_argtypes()
309
- self.rto_library.omkeerVariantJ(
310
- load,
311
- byref(self.arr_ctype(*self.profile.dike_x_coordinates)),
312
- byref(self.arr_ctype(*self.profile.dike_y_coordinates)),
313
- byref(self.arr_ctype(*self.profile.dike_roughness)),
314
- byref(c_double(self.profile.dike_orientation)),
315
- byref(c_int(len(self.profile.dike_x_coordinates))),
316
- byref(self.qcr),
317
- byref(self.niveau),
318
- byref(self.modelfactors_rto),
319
- byref(self.output),
320
- byref(self.succes),
321
- byref(self.message),
322
- )
323
-
324
- def __calculate_discharge_coo(self, load):
325
- """
326
- Function to communicate with the CombOverloopOverslag64.dll
327
- """
328
- self.arr_ctype = c_double * len(self.profile.dike_x_coordinates)
329
- self.__set_argtypes()
330
- self.coo_library.CalculateDischarge(
331
- byref(c_double(self.profile.dike_orientation)),
332
- byref(c_int(len(self.profile.dike_x_coordinates))),
333
- byref(self.arr_ctype(*self.profile.dike_x_coordinates)),
334
- byref(self.arr_ctype(*self.profile.dike_y_coordinates)),
335
- byref(self.arr_ctype(*self.profile.dike_roughness)),
336
- load,
337
- byref(self.modelfactors_coo),
338
- byref(c_double(self.profile.dike_crest_level)),
339
- byref(self.qo),
340
- byref(self.succes),
341
- byref(self.message),
342
- )
343
-
344
- def __calculate_crest_level_coo(self, load):
345
- """
346
- Function to communicate with the CombOverloopOverslag64.dll
347
- """
348
- self.arr_ctype = c_double * len(self.profile.dike_x_coordinates)
349
- self.__set_argtypes()
350
- self.coo_library.CalculateHeight(
351
- byref(c_double(self.profile.dike_orientation)),
352
- byref(c_int(len(self.profile.dike_x_coordinates))),
353
- byref(self.arr_ctype(*self.profile.dike_x_coordinates)),
354
- byref(self.arr_ctype(*self.profile.dike_y_coordinates)),
355
- byref(self.arr_ctype(*self.profile.dike_roughness)),
356
- load,
357
- byref(self.modelfactors_coo),
358
- byref(self.qcr),
359
- byref(self.niveau),
360
- byref(self.succes),
361
- byref(self.message),
362
- )
363
-
364
- def __set_argtypes(self):
365
- """
366
- Set argtypes for dll functions
367
-
368
- This function is called after the profile is loaded
369
- """
370
- argtypes = {
371
- "load_rto": POINTER(c_double * 4),
372
- "load_coo": POINTER(OvertoppingLoad),
373
- "xp": POINTER(self.arr_ctype),
374
- "yp": POINTER(self.arr_ctype),
375
- "rp": POINTER(self.arr_ctype),
376
- "dike_orientation": POINTER(c_double),
377
- "debiet": POINTER(c_double),
378
- "npoints": POINTER(c_int),
379
- "crest_level": POINTER(c_double),
380
- "modelfactors_rto": POINTER(c_double * 8),
381
- "modelfactors_coo": POINTER(c_double),
382
- "output": POINTER(c_double * 2),
383
- "succes": POINTER(c_bool),
384
- "errormessage": POINTER(ARRAY(c_char, 512)),
385
- }
386
-
387
- # Overtopping and runup
388
- self.rto_library.calculateQoJ.argtypes = [
389
- argtypes[name]
390
- for name in [
391
- "load_rto",
392
- "xp",
393
- "yp",
394
- "rp",
395
- "dike_orientation",
396
- "npoints",
397
- "crest_level",
398
- "modelfactors_rto",
399
- "output",
400
- "succes",
401
- "errormessage",
402
- ]
403
- ]
404
-
405
- # HBN overtopping and runup
406
- self.rto_library.omkeerVariantJ.argtypes = [
407
- argtypes[name]
408
- for name in [
409
- "load_rto",
410
- "xp",
411
- "yp",
412
- "rp",
413
- "dike_orientation",
414
- "npoints",
415
- "debiet",
416
- "crest_level",
417
- "modelfactors_rto",
418
- "output",
419
- "succes",
420
- "errormessage",
421
- ]
422
- ]
423
-
424
- # Overflow
425
- self.coo_library.CalculateDischarge.argtypes = [
426
- argtypes[name]
427
- for name in [
428
- "dike_orientation",
429
- "npoints",
430
- "xp",
431
- "yp",
432
- "rp",
433
- "load_coo",
434
- "modelfactors_coo",
435
- "crest_level",
436
- "debiet",
437
- "succes",
438
- "errormessage",
439
- ]
440
- ]
441
-
442
- # HBN overflow
443
- self.coo_library.CalculateHeight.argtypes = [
444
- argtypes[name]
445
- for name in [
446
- "dike_orientation",
447
- "npoints",
448
- "xp",
449
- "yp",
450
- "rp",
451
- "load_coo",
452
- "modelfactors_coo",
453
- "debiet",
454
- "crest_level",
455
- "succes",
456
- "errormessage",
457
- ]
458
- ]
459
-
460
-
461
- class OvertoppingLoad(Structure):
462
- """
463
- OvertoppingLoad class
464
-
465
- Contains crest level, wave height, wave period and wave direction.
466
- """
467
-
468
- _fields_ = [
469
- ("h", c_double),
470
- ("hm0", c_double),
471
- ("tm_10", c_double),
472
- ("phi", c_double),
473
- ]
1
+ import numpy as np
2
+ import os
3
+
4
+ from ctypes import (
5
+ ARRAY,
6
+ CDLL,
7
+ POINTER,
8
+ Structure,
9
+ c_bool,
10
+ c_char,
11
+ c_double,
12
+ c_int,
13
+ byref,
14
+ create_string_buffer,
15
+ )
16
+
17
+
18
+ class ProfileLoading:
19
+ """
20
+ Profile loading object to calculate hbn, runup, overtopping and overflow
21
+ discharge.
22
+ """
23
+
24
+ # Model factors
25
+ MODEL_FACTORS = {
26
+ "FactorDeterminationQbFn": 2.3,
27
+ "FactorDeterminationQbFb": 4.3,
28
+ "M_z2": 1.07,
29
+ "Fshallow": 0.67778,
30
+ "ComputedOvertopping": 1.0,
31
+ "CriticalOvertopping": 1.0,
32
+ "RelaxationFactor": 1.0,
33
+ "ReductionFactorForeshore": 0.5,
34
+ }
35
+
36
+ def __init__(self, profile, settings: dict = None):
37
+ """
38
+ Constructor of the ProfileLoading object
39
+
40
+ Parameters
41
+ ----------
42
+ profile : Profile
43
+ The Profile object
44
+ settings : dict
45
+ Model uncertainty settings, optional (default = None)
46
+ Parameters: FactorDeterminationQbFn, FactorDeterminationQbFb, M_z2,
47
+ Fshallow, ComputedOvertopping, CriticalOvertopping,
48
+ RelaxationFactor, ReductionFactorForeshore
49
+ """
50
+ # Update model factors if defined
51
+ if isinstance(settings, dict):
52
+ if all(k in list(self.MODEL_FACTORS.keys()) for k in list(settings.keys())):
53
+ self.MODEL_FACTORS.update(settings)
54
+ else:
55
+ raise ValueError(
56
+ "[ERROR] Settings dictionary contains unknown keys (check uppercase?)."
57
+ )
58
+
59
+ # Path to the library
60
+ lib_path = os.path.abspath(os.path.join(os.path.dirname(__file__), "lib"))
61
+
62
+ # Load RTO-libary (VTV v17.1.1.0) (used for runup / overtopping when the water level is below crest level)
63
+ self.rto_library = CDLL(os.path.join(lib_path, "dllDikesOvertopping.dll"))
64
+
65
+ # Load COO-library (used for overflow) (Note: DiKErnel does not include this .dll)
66
+ self.coo_library = CDLL(os.path.join(lib_path, "CombOverloopOverslag64.dll"))
67
+
68
+ # Modelfactors
69
+ factors = np.array(list(self.MODEL_FACTORS.items()))[:, 1].astype(float)
70
+ self.modelfactors_rto = (c_double * 8)(*factors)
71
+ self.modelfactors_coo = c_double(factors[3])
72
+ self.output = (c_double * 2)(0.0, 0.0)
73
+ self.qo = c_double()
74
+ self.niveau = c_double()
75
+ self.load_rto = c_double * 4
76
+ self.load_coo = OvertoppingLoad
77
+ self.succes = c_bool()
78
+ self.message = create_string_buffer(b"", 512)
79
+
80
+ # Set profile
81
+ self.profile = profile
82
+
83
+ def set_profile(self, profile):
84
+ """
85
+ Set a profile
86
+
87
+ Parameters
88
+ ----------
89
+ Profile : profile
90
+ A Profile object
91
+ """
92
+ self.profile = profile
93
+
94
+ def calculate_discharge(
95
+ self,
96
+ water_level: float,
97
+ significant_wave_height: float,
98
+ spectral_wave_period: float,
99
+ wave_direction: float,
100
+ ) -> float:
101
+ """
102
+ Calculate overtopping for loaded profile and given load combination.
103
+
104
+ Parameters
105
+ ----------
106
+ water_level : float
107
+ Water level
108
+ significant_wave_height : float
109
+ Significant wave height
110
+ spectral_wave_period : float
111
+ Spectral wave period
112
+ wave_direction : float
113
+ Wave direction
114
+
115
+ Returns
116
+ -------
117
+ float
118
+ The overtopping discharge
119
+ """
120
+ # If the waterlevel is lower or equal to the crest level, use rto
121
+ if water_level <= self.profile.dike_crest_level:
122
+ # Create instance of load structure and calculate the overtopping discharge
123
+ load = self.load_rto(
124
+ water_level,
125
+ significant_wave_height,
126
+ spectral_wave_period,
127
+ wave_direction,
128
+ )
129
+ self.__calculate_discharge_rto(load)
130
+ qov = self.output[0]
131
+
132
+ # If the water is above the crestlevel use coo
133
+ else:
134
+ # Calculate overtopping at h = crest level
135
+ load = self.load_rto(
136
+ self.profile.dike_crest_level,
137
+ significant_wave_height,
138
+ spectral_wave_period,
139
+ wave_direction,
140
+ )
141
+ self.__calculate_discharge_rto(load)
142
+ qov_ot = self.output[0]
143
+
144
+ # Calculate overflow
145
+ load = self.load_coo(
146
+ water_level,
147
+ significant_wave_height,
148
+ spectral_wave_period,
149
+ wave_direction,
150
+ )
151
+ self.__calculate_discharge_coo(load)
152
+ qov_ov = self.qo.value
153
+
154
+ # Take the value from overflow only if it is larger than overtopping (to create a smooth function)
155
+ if qov_ov > qov_ot:
156
+ qov = qov_ov
157
+ else:
158
+ qov = qov_ot
159
+
160
+ # Catch errors
161
+ if not self.succes:
162
+ raise ValueError(
163
+ self.message.value.decode().strip()
164
+ + f" (Load: h={water_level}, Hs={significant_wave_height}, Tm-1,0={spectral_wave_period}, wdir={wave_direction})"
165
+ )
166
+
167
+ # Return the overtopping discharge
168
+ return qov
169
+
170
+ def calculate_runup(
171
+ self,
172
+ water_level: float,
173
+ significant_wave_height: float,
174
+ spectral_wave_period: float,
175
+ wave_direction: float,
176
+ ) -> float:
177
+ """
178
+ Calculate run up (z2%) for loaded profile and given load combination.
179
+
180
+ Parameters
181
+ ----------
182
+ water_level : float
183
+ Water level
184
+ significant_wave_height : float
185
+ Significant wave height
186
+ spectral_wave_period : float
187
+ Spectral wave period
188
+ wave_direction : float
189
+ Wave direction
190
+
191
+ Returns
192
+ -------
193
+ float
194
+ The run up height (z2%)
195
+ """
196
+ # If the waterlevel is lower or equal to the crest level
197
+ if water_level <= self.profile.dike_crest_level:
198
+ # Calculate the run up
199
+ load = self.load_rto(
200
+ water_level,
201
+ significant_wave_height,
202
+ spectral_wave_period,
203
+ wave_direction,
204
+ )
205
+ self.__calculate_discharge_rto(load)
206
+ ru2p = self.output[1] + water_level
207
+
208
+ # Otherwise give an error
209
+ else:
210
+ raise ValueError("Water level exceeds crest level.")
211
+
212
+ # Catch errors
213
+ if not self.succes:
214
+ raise ValueError(
215
+ self.message.value.decode().strip()
216
+ + f" (Load: h={water_level}, Hs={significant_wave_height}, Tm-1,0={spectral_wave_period}, wdir={wave_direction})"
217
+ )
218
+
219
+ # Return the runup discharge
220
+ return ru2p
221
+
222
+ def calculate_crest_level(
223
+ self,
224
+ q_overtopping: float,
225
+ water_level: float,
226
+ significant_wave_height: float,
227
+ spectral_wave_period: float,
228
+ wave_direction: float,
229
+ ) -> float:
230
+ """
231
+ Calculate the crest level for a discharge q_overtopping for loaded profile and given load combination.
232
+
233
+ Parameters
234
+ ----------
235
+ q_overtopping : float
236
+ Critical overtopping discharge
237
+ water_level : float
238
+ Water level
239
+ significant_wave_height : float
240
+ Significant wave height
241
+ spectral_wave_period : float
242
+ Spectral wave period
243
+ wave_direction : float
244
+ Wave direction
245
+
246
+ Returns
247
+ -------
248
+ float
249
+ The crest level
250
+ """
251
+ # Create instance of load structure
252
+ self.qcr = c_double(q_overtopping)
253
+
254
+ # If the waterlevel is lower or equal to the crest level, use rto
255
+ if wave_direction > 360:
256
+ if (wave_direction - 360) < 10e-4:
257
+ wave_direction = 0
258
+ load = self.load_rto(
259
+ water_level, significant_wave_height, spectral_wave_period, wave_direction
260
+ )
261
+ self.__calculate_crest_level_rto(load)
262
+
263
+ # Catch errors
264
+ if not self.succes:
265
+ raise ValueError(self.message.value.decode().strip())
266
+
267
+ # If the calculated crest level is equal to the water level
268
+ if self.niveau.value == water_level:
269
+ load = self.load_coo(
270
+ water_level,
271
+ significant_wave_height,
272
+ spectral_wave_period,
273
+ wave_direction,
274
+ )
275
+ self.__calculate_crest_level_coo(load)
276
+
277
+ # Catch errors
278
+ if not self.succes:
279
+ raise ValueError(self.message.value.decode().strip())
280
+
281
+ return self.niveau.value
282
+
283
+ def __calculate_discharge_rto(self, load):
284
+ """
285
+ Function to communicate with the dllDikesOvertopping.dll
286
+ """
287
+ self.arr_ctype = c_double * len(self.profile.dike_x_coordinates)
288
+ self.__set_argtypes()
289
+ self.rto_library.calculateQoJ(
290
+ load,
291
+ byref(self.arr_ctype(*self.profile.dike_x_coordinates)),
292
+ byref(self.arr_ctype(*self.profile.dike_y_coordinates)),
293
+ byref(self.arr_ctype(*self.profile.dike_roughness)),
294
+ byref(c_double(self.profile.dike_orientation)),
295
+ byref(c_int(len(self.profile.dike_x_coordinates))),
296
+ byref(c_double(self.profile.dike_crest_level)),
297
+ byref(self.modelfactors_rto),
298
+ byref(self.output),
299
+ byref(self.succes),
300
+ byref(self.message),
301
+ )
302
+
303
+ def __calculate_crest_level_rto(self, load):
304
+ """
305
+ Function to communicate with the dllDikesOvertopping.dll
306
+ """
307
+ self.arr_ctype = c_double * len(self.profile.dike_x_coordinates)
308
+ self.__set_argtypes()
309
+ self.rto_library.omkeerVariantJ(
310
+ load,
311
+ byref(self.arr_ctype(*self.profile.dike_x_coordinates)),
312
+ byref(self.arr_ctype(*self.profile.dike_y_coordinates)),
313
+ byref(self.arr_ctype(*self.profile.dike_roughness)),
314
+ byref(c_double(self.profile.dike_orientation)),
315
+ byref(c_int(len(self.profile.dike_x_coordinates))),
316
+ byref(self.qcr),
317
+ byref(self.niveau),
318
+ byref(self.modelfactors_rto),
319
+ byref(self.output),
320
+ byref(self.succes),
321
+ byref(self.message),
322
+ )
323
+
324
+ def __calculate_discharge_coo(self, load):
325
+ """
326
+ Function to communicate with the CombOverloopOverslag64.dll
327
+ """
328
+ self.arr_ctype = c_double * len(self.profile.dike_x_coordinates)
329
+ self.__set_argtypes()
330
+ self.coo_library.CalculateDischarge(
331
+ byref(c_double(self.profile.dike_orientation)),
332
+ byref(c_int(len(self.profile.dike_x_coordinates))),
333
+ byref(self.arr_ctype(*self.profile.dike_x_coordinates)),
334
+ byref(self.arr_ctype(*self.profile.dike_y_coordinates)),
335
+ byref(self.arr_ctype(*self.profile.dike_roughness)),
336
+ load,
337
+ byref(self.modelfactors_coo),
338
+ byref(c_double(self.profile.dike_crest_level)),
339
+ byref(self.qo),
340
+ byref(self.succes),
341
+ byref(self.message),
342
+ )
343
+
344
+ def __calculate_crest_level_coo(self, load):
345
+ """
346
+ Function to communicate with the CombOverloopOverslag64.dll
347
+ """
348
+ self.arr_ctype = c_double * len(self.profile.dike_x_coordinates)
349
+ self.__set_argtypes()
350
+ self.coo_library.CalculateHeight(
351
+ byref(c_double(self.profile.dike_orientation)),
352
+ byref(c_int(len(self.profile.dike_x_coordinates))),
353
+ byref(self.arr_ctype(*self.profile.dike_x_coordinates)),
354
+ byref(self.arr_ctype(*self.profile.dike_y_coordinates)),
355
+ byref(self.arr_ctype(*self.profile.dike_roughness)),
356
+ load,
357
+ byref(self.modelfactors_coo),
358
+ byref(self.qcr),
359
+ byref(self.niveau),
360
+ byref(self.succes),
361
+ byref(self.message),
362
+ )
363
+
364
+ def __set_argtypes(self):
365
+ """
366
+ Set argtypes for dll functions
367
+
368
+ This function is called after the profile is loaded
369
+ """
370
+ argtypes = {
371
+ "load_rto": POINTER(c_double * 4),
372
+ "load_coo": POINTER(OvertoppingLoad),
373
+ "xp": POINTER(self.arr_ctype),
374
+ "yp": POINTER(self.arr_ctype),
375
+ "rp": POINTER(self.arr_ctype),
376
+ "dike_orientation": POINTER(c_double),
377
+ "debiet": POINTER(c_double),
378
+ "npoints": POINTER(c_int),
379
+ "crest_level": POINTER(c_double),
380
+ "modelfactors_rto": POINTER(c_double * 8),
381
+ "modelfactors_coo": POINTER(c_double),
382
+ "output": POINTER(c_double * 2),
383
+ "succes": POINTER(c_bool),
384
+ "errormessage": POINTER(ARRAY(c_char, 512)),
385
+ }
386
+
387
+ # Overtopping and runup
388
+ self.rto_library.calculateQoJ.argtypes = [
389
+ argtypes[name]
390
+ for name in [
391
+ "load_rto",
392
+ "xp",
393
+ "yp",
394
+ "rp",
395
+ "dike_orientation",
396
+ "npoints",
397
+ "crest_level",
398
+ "modelfactors_rto",
399
+ "output",
400
+ "succes",
401
+ "errormessage",
402
+ ]
403
+ ]
404
+
405
+ # HBN overtopping and runup
406
+ self.rto_library.omkeerVariantJ.argtypes = [
407
+ argtypes[name]
408
+ for name in [
409
+ "load_rto",
410
+ "xp",
411
+ "yp",
412
+ "rp",
413
+ "dike_orientation",
414
+ "npoints",
415
+ "debiet",
416
+ "crest_level",
417
+ "modelfactors_rto",
418
+ "output",
419
+ "succes",
420
+ "errormessage",
421
+ ]
422
+ ]
423
+
424
+ # Overflow
425
+ self.coo_library.CalculateDischarge.argtypes = [
426
+ argtypes[name]
427
+ for name in [
428
+ "dike_orientation",
429
+ "npoints",
430
+ "xp",
431
+ "yp",
432
+ "rp",
433
+ "load_coo",
434
+ "modelfactors_coo",
435
+ "crest_level",
436
+ "debiet",
437
+ "succes",
438
+ "errormessage",
439
+ ]
440
+ ]
441
+
442
+ # HBN overflow
443
+ self.coo_library.CalculateHeight.argtypes = [
444
+ argtypes[name]
445
+ for name in [
446
+ "dike_orientation",
447
+ "npoints",
448
+ "xp",
449
+ "yp",
450
+ "rp",
451
+ "load_coo",
452
+ "modelfactors_coo",
453
+ "debiet",
454
+ "crest_level",
455
+ "succes",
456
+ "errormessage",
457
+ ]
458
+ ]
459
+
460
+
461
+ class OvertoppingLoad(Structure):
462
+ """
463
+ OvertoppingLoad class
464
+
465
+ Contains crest level, wave height, wave period and wave direction.
466
+ """
467
+
468
+ _fields_ = [
469
+ ("h", c_double),
470
+ ("hm0", c_double),
471
+ ("tm_10", c_double),
472
+ ("phi", c_double),
473
+ ]