pydra-core 0.0.1__py2.py3-none-any.whl
Sign up to get free protection for your applications and to get access to all the features.
- pydra_core/__init__.py +32 -0
- pydra_core/common/__init__.py +0 -0
- pydra_core/common/common.py +98 -0
- pydra_core/common/enum.py +63 -0
- pydra_core/common/interpolate.py +345 -0
- pydra_core/common/probability.py +293 -0
- pydra_core/core/__init__.py +0 -0
- pydra_core/core/calculation.py +51 -0
- pydra_core/core/datamodels/__init__.py +0 -0
- pydra_core/core/datamodels/frequency_line.py +60 -0
- pydra_core/core/exceedance_frequency_line.py +224 -0
- pydra_core/core/exceedance_frequency_line_experimental.py +163 -0
- pydra_core/core/hbn.py +226 -0
- pydra_core/data/settings/calculation_settings.sqlite +0 -0
- pydra_core/data/settings/lower_river_settings.cpg +1 -0
- pydra_core/data/settings/lower_river_settings.dbf +0 -0
- pydra_core/data/settings/lower_river_settings.prj +1 -0
- pydra_core/data/settings/lower_river_settings.shp +0 -0
- pydra_core/data/settings/lower_river_settings.shx +0 -0
- pydra_core/data/statistics/Afvoer/Borgharen/Ovkans_Borgharen_piekafvoer_2017.txt +37 -0
- pydra_core/data/statistics/Afvoer/Borgharen/Ovkans_Borgharen_piekafvoer_2017_metOnzHeid.txt +46 -0
- pydra_core/data/statistics/Afvoer/Borgharen/Ovkans_Borgharen_piekafvoer_OI2014_G_2015_metOnzHeid_v02.txt +50 -0
- pydra_core/data/statistics/Afvoer/Borgharen/Ovkans_Borgharen_piekafvoer_OI2014_G_2015_v02.txt +42 -0
- pydra_core/data/statistics/Afvoer/Borgharen/Ovkans_Borgharen_piekafvoer_OI2014_G_2050_metOnzHeid_v02.txt +56 -0
- pydra_core/data/statistics/Afvoer/Borgharen/Ovkans_Borgharen_piekafvoer_OI2014_G_2050_v02.txt +48 -0
- pydra_core/data/statistics/Afvoer/Borgharen/Ovkans_Borgharen_piekafvoer_OI2014_G_2100_metOnzHeid_v02.txt +56 -0
- pydra_core/data/statistics/Afvoer/Borgharen/Ovkans_Borgharen_piekafvoer_OI2014_G_2100_v02.txt +48 -0
- pydra_core/data/statistics/Afvoer/Borgharen/Ovkans_Borgharen_piekafvoer_OI2014_W_2015_metOnzHeid_v02.txt +50 -0
- pydra_core/data/statistics/Afvoer/Borgharen/Ovkans_Borgharen_piekafvoer_OI2014_W_2015_v02.txt +42 -0
- pydra_core/data/statistics/Afvoer/Borgharen/Ovkans_Borgharen_piekafvoer_OI2014_W_2050_metOnzHeid_v02.txt +56 -0
- pydra_core/data/statistics/Afvoer/Borgharen/Ovkans_Borgharen_piekafvoer_OI2014_W_2050_v02.txt +48 -0
- pydra_core/data/statistics/Afvoer/Borgharen/Ovkans_Borgharen_piekafvoer_OI2014_W_2100_metOnzHeid_v02.txt +51 -0
- pydra_core/data/statistics/Afvoer/Borgharen/Ovkans_Borgharen_piekafvoer_OI2014_W_2100_v02.txt +44 -0
- pydra_core/data/statistics/Afvoer/Borgharen/Ovkans_Borgharen_piekafvoer_Ref.txt +28 -0
- pydra_core/data/statistics/Afvoer/Dalfsen/Ovkans_Dalfsen_piekafvoer_2017.txt +31 -0
- pydra_core/data/statistics/Afvoer/Dalfsen/Ovkans_Dalfsen_piekafvoer_2017_metOnzHeid.txt +33 -0
- pydra_core/data/statistics/Afvoer/Dalfsen/Ovkans_Dalfsen_piekafvoer_OI2014_G_2015.txt +44 -0
- pydra_core/data/statistics/Afvoer/Dalfsen/Ovkans_Dalfsen_piekafvoer_OI2014_G_2015_metOnzHeid.txt +34 -0
- pydra_core/data/statistics/Afvoer/Dalfsen/Ovkans_Dalfsen_piekafvoer_OI2014_G_2050.txt +44 -0
- pydra_core/data/statistics/Afvoer/Dalfsen/Ovkans_Dalfsen_piekafvoer_OI2014_G_2050_metOnzHeid.txt +34 -0
- pydra_core/data/statistics/Afvoer/Dalfsen/Ovkans_Dalfsen_piekafvoer_OI2014_G_2100.txt +44 -0
- pydra_core/data/statistics/Afvoer/Dalfsen/Ovkans_Dalfsen_piekafvoer_OI2014_G_2100_metOnzHeid.txt +39 -0
- pydra_core/data/statistics/Afvoer/Dalfsen/Ovkans_Dalfsen_piekafvoer_OI2014_W_2015.txt +44 -0
- pydra_core/data/statistics/Afvoer/Dalfsen/Ovkans_Dalfsen_piekafvoer_OI2014_W_2015_metOnzHeid.txt +34 -0
- pydra_core/data/statistics/Afvoer/Dalfsen/Ovkans_Dalfsen_piekafvoer_OI2014_W_2050.txt +44 -0
- pydra_core/data/statistics/Afvoer/Dalfsen/Ovkans_Dalfsen_piekafvoer_OI2014_W_2050_metOnzHeid.txt +34 -0
- pydra_core/data/statistics/Afvoer/Dalfsen/Ovkans_Dalfsen_piekafvoer_OI2014_W_2100.txt +44 -0
- pydra_core/data/statistics/Afvoer/Dalfsen/Ovkans_Dalfsen_piekafvoer_OI2014_W_2100_metOnzHeid.txt +34 -0
- pydra_core/data/statistics/Afvoer/Dalfsen/Ovkans_Dalfsen_piekafvoer_Ref.txt +14 -0
- pydra_core/data/statistics/Afvoer/Lith/Ovkans_Lith_piekafvoer_2017.txt +47 -0
- pydra_core/data/statistics/Afvoer/Lith/Ovkans_Lith_piekafvoer_2017_metOnzHeid.txt +47 -0
- pydra_core/data/statistics/Afvoer/Lith/Ovkans_Lith_piekafvoer_OI2014_G_2015.txt +49 -0
- pydra_core/data/statistics/Afvoer/Lith/Ovkans_Lith_piekafvoer_OI2014_G_2015_metOnzHeid.txt +59 -0
- pydra_core/data/statistics/Afvoer/Lith/Ovkans_Lith_piekafvoer_OI2014_G_2050.txt +49 -0
- pydra_core/data/statistics/Afvoer/Lith/Ovkans_Lith_piekafvoer_OI2014_G_2050_metOnzHeid.txt +59 -0
- pydra_core/data/statistics/Afvoer/Lith/Ovkans_Lith_piekafvoer_OI2014_G_2100.txt +49 -0
- pydra_core/data/statistics/Afvoer/Lith/Ovkans_Lith_piekafvoer_OI2014_G_2100_metOnzHeid.txt +59 -0
- pydra_core/data/statistics/Afvoer/Lith/Ovkans_Lith_piekafvoer_OI2014_W_2015.txt +49 -0
- pydra_core/data/statistics/Afvoer/Lith/Ovkans_Lith_piekafvoer_OI2014_W_2015_metOnzHeid.txt +59 -0
- pydra_core/data/statistics/Afvoer/Lith/Ovkans_Lith_piekafvoer_OI2014_W_2050.txt +49 -0
- pydra_core/data/statistics/Afvoer/Lith/Ovkans_Lith_piekafvoer_OI2014_W_2050_metOnzHeid.txt +59 -0
- pydra_core/data/statistics/Afvoer/Lith/Ovkans_Lith_piekafvoer_OI2014_W_2100.txt +49 -0
- pydra_core/data/statistics/Afvoer/Lith/Ovkans_Lith_piekafvoer_OI2014_W_2100_metOnzHeid.txt +59 -0
- pydra_core/data/statistics/Afvoer/Lith/Ovkans_Lith_piekafvoer_Ref.txt +21 -0
- pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_2017.txt +33 -0
- pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_2017_metOnzHeid.txt +60 -0
- pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_G_2015.txt +49 -0
- pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_G_2015_BenedenRijn.txt +50 -0
- pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_G_2015_metOnzHeid.txt +63 -0
- pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_G_2015_metOnzHeid_BenedenRijn.txt +65 -0
- pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_G_2050.txt +49 -0
- pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_G_2050_BenedenRijn.txt +50 -0
- pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_G_2050_metOnzHeid.txt +63 -0
- pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_G_2050_metOnzHeid_BenedenRijn.txt +65 -0
- pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_G_2100.txt +49 -0
- pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_G_2100_BenedenRijn.txt +50 -0
- pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_G_2100_metOnzHeid.txt +63 -0
- pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_G_2100_metOnzHeid_BenedenRijn.txt +65 -0
- pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_W_2015.txt +50 -0
- pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_W_2015_BenedenRijn.txt +51 -0
- pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_W_2015_metOnzHeid.txt +63 -0
- pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_W_2015_metOnzHeid_BenedenRijn.txt +65 -0
- pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_W_2050.txt +50 -0
- pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_W_2050_BenedenRijn.txt +51 -0
- pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_W_2050_metOnzHeid.txt +63 -0
- pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_W_2050_metOnzHeid_BenedenRijn.txt +65 -0
- pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_W_2100.txt +50 -0
- pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_W_2100_BenedenRijn.txt +51 -0
- pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_W_2100_metOnzHeid.txt +63 -0
- pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_W_2100_metOnzHeid_BenedenRijn.txt +65 -0
- pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_Ref.txt +23 -0
- pydra_core/data/statistics/Afvoer/Olst/Ovkans_Olst_piekafvoer_2017.txt +55 -0
- pydra_core/data/statistics/Afvoer/Olst/Ovkans_Olst_piekafvoer_2017_metOnzHeid.txt +55 -0
- pydra_core/data/statistics/Afvoer/Olst/Ovkans_Olst_piekafvoer_OI2014_G_2015.txt +46 -0
- pydra_core/data/statistics/Afvoer/Olst/Ovkans_Olst_piekafvoer_OI2014_G_2015_metOnzHeid.txt +65 -0
- pydra_core/data/statistics/Afvoer/Olst/Ovkans_Olst_piekafvoer_OI2014_G_2050.txt +46 -0
- pydra_core/data/statistics/Afvoer/Olst/Ovkans_Olst_piekafvoer_OI2014_G_2050_metOnzHeid.txt +65 -0
- pydra_core/data/statistics/Afvoer/Olst/Ovkans_Olst_piekafvoer_OI2014_G_2100.txt +46 -0
- pydra_core/data/statistics/Afvoer/Olst/Ovkans_Olst_piekafvoer_OI2014_G_2100_metOnzHeid.txt +65 -0
- pydra_core/data/statistics/Afvoer/Olst/Ovkans_Olst_piekafvoer_OI2014_W_2015.txt +47 -0
- pydra_core/data/statistics/Afvoer/Olst/Ovkans_Olst_piekafvoer_OI2014_W_2015_metOnzHeid.txt +65 -0
- pydra_core/data/statistics/Afvoer/Olst/Ovkans_Olst_piekafvoer_OI2014_W_2050.txt +47 -0
- pydra_core/data/statistics/Afvoer/Olst/Ovkans_Olst_piekafvoer_OI2014_W_2050_metOnzHeid.txt +65 -0
- pydra_core/data/statistics/Afvoer/Olst/Ovkans_Olst_piekafvoer_OI2014_W_2100.txt +47 -0
- pydra_core/data/statistics/Afvoer/Olst/Ovkans_Olst_piekafvoer_OI2014_W_2100_metOnzHeid.txt +65 -0
- pydra_core/data/statistics/Afvoer/Olst/Ovkans_Olst_piekafvoer_Ref.txt +15 -0
- pydra_core/data/statistics/Golfvorm/Borgharen/Golfvormen_Borgharen.txt +76 -0
- pydra_core/data/statistics/Golfvorm/Dalfsen/Golfvormen_Dalfsen.txt +83 -0
- pydra_core/data/statistics/Golfvorm/Grevelingenmeer/Golfvormen_Grevelingenmeer.txt +34 -0
- pydra_core/data/statistics/Golfvorm/IJsselmeer/Golfvormen_IJsselmeer.txt +83 -0
- pydra_core/data/statistics/Golfvorm/Lith/Golfvormen_Lith.txt +76 -0
- pydra_core/data/statistics/Golfvorm/Lobith/Golfvormen_Lobith.txt +76 -0
- pydra_core/data/statistics/Golfvorm/Markermeer/Golfvormen_Markermeer.txt +140 -0
- pydra_core/data/statistics/Golfvorm/Olst/Golfvormen_Olst.txt +83 -0
- pydra_core/data/statistics/Golfvorm/Veerse Meer/Golfvormen_Veersemeer.txt +54 -0
- pydra_core/data/statistics/Golfvorm/Veluwerandmeer/Golfvormen_Veluwerandmeer.txt +140 -0
- pydra_core/data/statistics/Golfvorm/Volkerak-Zoommeer/Golfvormen_Volkerakzoommeer.txt +74 -0
- pydra_core/data/statistics/Meerpeil/Grevelingenmeer/Ovkans_Grevelingenmeer_piekmeerpeil_2017.txt +13 -0
- pydra_core/data/statistics/Meerpeil/Grevelingenmeer/Ovkans_Grevelingenmeer_piekmeerpeil_2017_metOnzHeid.txt +25 -0
- pydra_core/data/statistics/Meerpeil/Grevelingenmeer/Ovkans_Grevelingenmeer_piekmeerpeil_v01.txt +13 -0
- pydra_core/data/statistics/Meerpeil/IJsselmeer/Ovkans_IJsselmeer_piekmeerpeil_2017.txt +26 -0
- pydra_core/data/statistics/Meerpeil/IJsselmeer/Ovkans_IJsselmeer_piekmeerpeil_2017_metOnzHeid.txt +40 -0
- pydra_core/data/statistics/Meerpeil/IJsselmeer/Ovkans_IJsselmeer_piekmeerpeil_v01.txt +15 -0
- pydra_core/data/statistics/Meerpeil/Markermeer/Ovkans_Markermeer_piekmeerpeil_2017.txt +19 -0
- pydra_core/data/statistics/Meerpeil/Markermeer/Ovkans_Markermeer_piekmeerpeil_2017_metOnzHeid.txt +38 -0
- pydra_core/data/statistics/Meerpeil/Markermeer/Ovkans_Markermeer_piekmeerpeil_v01.txt +11 -0
- pydra_core/data/statistics/Meerpeil/Veerse Meer/Ovkans_Veersemeer_piekmeerpeil_excl_peilverhoging.txt +14 -0
- pydra_core/data/statistics/Meerpeil/Veerse Meer/Ovkans_Veersemeer_piekmeerpeil_v01.txt +16 -0
- pydra_core/data/statistics/Meerpeil/Veluwerandmeer/Ovkans_Veluwerandmeer_piekmeerpeil_2017.txt +14 -0
- pydra_core/data/statistics/Meerpeil/Veluwerandmeer/Ovkans_Veluwerandmeer_piekmeerpeil_2017_metOnzHeid.txt +37 -0
- pydra_core/data/statistics/Meerpeil/Veluwerandmeer/Ovkans_Veluwerandmeer_piekmeerpeil_v01.txt +14 -0
- pydra_core/data/statistics/Meerpeil/Volkerak-Zoommeer/Ovkans_VZM_piekmeerpeil_BER-VZM.txt +18 -0
- pydra_core/data/statistics/Meerpeil/Volkerak-Zoommeer/Ovkans_VZM_piekmeerpeil_BER-VZM_metOnzHeid.txt +43 -0
- pydra_core/data/statistics/Restant/Oosterschelde/BesliskansenOSKering.txt +525 -0
- pydra_core/data/statistics/Restant/Oosterschelde/KansenFaseverschil_2023.txt +8 -0
- pydra_core/data/statistics/Restant/Oosterschelde/KansenFaseverschil_OS.txt +13 -0
- pydra_core/data/statistics/Restant/Oosterschelde/KansenStormduur_OS.txt +15 -0
- pydra_core/data/statistics/Restant/Oosterschelde/KansenStormduur_OS_40_60_80uur_2023.txt +17 -0
- pydra_core/data/statistics/Restant/Oosterschelde/ScenariokansenOSKering_2008.txt +24 -0
- pydra_core/data/statistics/Restant/Oosterschelde/ScenariokansenOSKering_2013.txt +19 -0
- pydra_core/data/statistics/Restant/Oosterschelde/ScenariokansenOSKering_2017.txt +19 -0
- pydra_core/data/statistics/Restant/Oosterschelde/ScenariokansenOSKering_2023.txt +14 -0
- pydra_core/data/statistics/Restant/Up2U/Up2U10.dat +59 -0
- pydra_core/data/statistics/Restant/Up2U/Up2Up.dat +59 -0
- pydra_core/data/statistics/Restant/Up2U/Up2Ustar.dat +59 -0
- pydra_core/data/statistics/Restant/hulpdijken.txt +60 -0
- pydra_core/data/statistics/Restant/hulpgolfhoogtes.txt +24 -0
- pydra_core/data/statistics/Restant/hulpgolfperiodes.txt +39 -0
- pydra_core/data/statistics/Restant/kansstormduur.txt +8 -0
- pydra_core/data/statistics/Restant/pwind_west.txt +34 -0
- pydra_core/data/statistics/Restant/pwind_west_met_Volkerfactor.txt +34 -0
- pydra_core/data/statistics/Restant/pwind_west_zonder_Volkerfactor.txt +34 -0
- pydra_core/data/statistics/Sigmafunctie/Hollandse Kust Midden/VS_sigmafunctie_Kust_Midden.txt +19 -0
- pydra_core/data/statistics/Sigmafunctie/Hollandse Kust Midden/VS_sigmafunctie_Kust_Midden_2017.txt +23 -0
- pydra_core/data/statistics/Sigmafunctie/Hollandse Kust Noord/VS_sigmafunctie_Kust_Noord.txt +19 -0
- pydra_core/data/statistics/Sigmafunctie/Hollandse Kust Noord/VS_sigmafunctie_Kust_Noord_2017.txt +23 -0
- pydra_core/data/statistics/Sigmafunctie/Hollandse Kust Zuid/VS_sigmafunctie_Kust_Zuid.txt +19 -0
- pydra_core/data/statistics/Sigmafunctie/Hollandse Kust Zuid/VS_sigmafunctie_Kust_Zuid_2017.txt +23 -0
- pydra_core/data/statistics/Sigmafunctie/Oosterschelde/VS_sigmafunctie_OS.txt +22 -0
- pydra_core/data/statistics/Sigmafunctie/Oosterschelde/VS_sigmafunctie_OS_16sectoren_2023.txt +24 -0
- pydra_core/data/statistics/Sigmafunctie/Oosterschelde/VS_sigmafunctie_OS_2017.txt +22 -0
- pydra_core/data/statistics/Sigmafunctie/Waddenzee Oost/VS_sigmafunctie_WZ_oost.txt +19 -0
- pydra_core/data/statistics/Sigmafunctie/Waddenzee Oost/VS_sigmafunctie_WZ_oost_2017.txt +23 -0
- pydra_core/data/statistics/Sigmafunctie/Waddenzee West/VS_sigmafunctie_WZ_west.txt +19 -0
- pydra_core/data/statistics/Sigmafunctie/Waddenzee West/VS_sigmafunctie_WZ_west_2017.txt +23 -0
- pydra_core/data/statistics/Sigmafunctie/Westerschelde/VS_sigmafunctie_WS.txt +19 -0
- pydra_core/data/statistics/Sigmafunctie/Westerschelde/VS_sigmafunctie_WS_2017.txt +23 -0
- pydra_core/data/statistics/Sluitpeilen/Sluitfunctie Europoortkering Maas 2017.csv +631 -0
- pydra_core/data/statistics/Sluitpeilen/Sluitfunctie Europoortkering Rijn 2017.csv +631 -0
- pydra_core/data/statistics/Sluitpeilen/Sluitfunctie Hollandsche IJsselkering.csv +757 -0
- pydra_core/data/statistics/Sluitpeilen/Sluitfunctie Oosterscheldekering 2017.csv +55081 -0
- pydra_core/data/statistics/Topduur/Borgharen/Topduur_Borgharen_2017.txt +19 -0
- pydra_core/data/statistics/Topduur/Borgharen/Topduur_Borgharen_v00.txt +14 -0
- pydra_core/data/statistics/Topduur/Dalfsen/Topduur_Dalfsen_2017.txt +20 -0
- pydra_core/data/statistics/Topduur/Dalfsen/Topduur_Dalfsen_v01.txt +16 -0
- pydra_core/data/statistics/Topduur/Grevelingenmeer/Topduur_Grevelingenmeer_2017.txt +14 -0
- pydra_core/data/statistics/Topduur/Grevelingenmeer/Topduur_Grevelingenmeer_v01.txt +14 -0
- pydra_core/data/statistics/Topduur/IJsselmeer/Topduur_IJsselmeer_2017.txt +20 -0
- pydra_core/data/statistics/Topduur/IJsselmeer/Topduur_IJsselmeer_v01.txt +15 -0
- pydra_core/data/statistics/Topduur/Lith/Topduur_Lith_2017.txt +19 -0
- pydra_core/data/statistics/Topduur/Lith/Topduur_Lith_v01.txt +17 -0
- pydra_core/data/statistics/Topduur/Lobith/Topduur_Lobith_2017.txt +19 -0
- pydra_core/data/statistics/Topduur/Lobith/Topduur_Lobith_v01.txt +17 -0
- pydra_core/data/statistics/Topduur/Markermeer/Topduur_Markermeer_2017.txt +20 -0
- pydra_core/data/statistics/Topduur/Markermeer/Topduur_Markermeer_v01.txt +12 -0
- pydra_core/data/statistics/Topduur/Olst/Topduur_Olst_2017.txt +20 -0
- pydra_core/data/statistics/Topduur/Olst/Topduur_Olst_v01.txt +16 -0
- pydra_core/data/statistics/Topduur/Veerse Meer/Topduur_Veersemeer_excl_peilverhoging.txt +13 -0
- pydra_core/data/statistics/Topduur/Veerse Meer/Topduur_Veersemeer_v01.txt +16 -0
- pydra_core/data/statistics/Topduur/Veluwerandmeer/Topduur_Veluwerandmeer_2017.txt +12 -0
- pydra_core/data/statistics/Topduur/Veluwerandmeer/Topduur_Veluwerandmeer_v01.txt +12 -0
- pydra_core/data/statistics/Topduur/Volkerak-Zoommeer/Topduur_Volkerakzoommeer_BER-VZM.txt +18 -0
- pydra_core/data/statistics/Windrichting/Deelen/Richtingskansen_Deelen_2017.txt +28 -0
- pydra_core/data/statistics/Windrichting/Hollandse Kust/KansenWindrichting_Kust.txt +17 -0
- pydra_core/data/statistics/Windrichting/Hollandse Kust/KansenWindrichting_Kust_2017.txt +24 -0
- pydra_core/data/statistics/Windrichting/Oosterschelde/KansenWindrichting_16sectoren_OS_2023.txt +31 -0
- pydra_core/data/statistics/Windrichting/Oosterschelde/KansenWindrichting_OS.txt +20 -0
- pydra_core/data/statistics/Windrichting/Oosterschelde/KansenWindrichting_OS_2017.txt +24 -0
- pydra_core/data/statistics/Windrichting/Schiphol/Richtingskansen_Schiphol_12sectoren.txt +20 -0
- pydra_core/data/statistics/Windrichting/Schiphol/Richtingskansen_Schiphol_12sectoren_2017.txt +20 -0
- pydra_core/data/statistics/Windrichting/Schiphol/Richtingskansen_Schiphol_2017.txt +28 -0
- pydra_core/data/statistics/Windrichting/Schiphol/kanswindrichting_v01.txt +28 -0
- pydra_core/data/statistics/Windrichting/Waddenzee/KansenWindrichting_WZ.txt +17 -0
- pydra_core/data/statistics/Windrichting/Waddenzee/KansenWindrichting_WZ_2017.txt +24 -0
- pydra_core/data/statistics/Windrichting/Westerschelde/KansenWindrichting_WS.txt +17 -0
- pydra_core/data/statistics/Windrichting/Westerschelde/KansenWindrichting_WS_2017.txt +24 -0
- pydra_core/data/statistics/Windsnelheid/De Kooy/OvkansWindsnelheid_Texel.txt +70 -0
- pydra_core/data/statistics/Windsnelheid/De Kooy/Ovkanswind_de Kooy_2017.txt +92 -0
- pydra_core/data/statistics/Windsnelheid/De Kooy/Ovkanswind_de Kooy_2017_metOnzHeid.txt +92 -0
- pydra_core/data/statistics/Windsnelheid/Deelen/Ovkanswind_Deelen_2017.txt +90 -0
- pydra_core/data/statistics/Windsnelheid/Deelen/Ovkanswind_Deelen_2017_metOnzHeid.txt +90 -0
- pydra_core/data/statistics/Windsnelheid/Hoek van Holland/OvkansWindsnelheid_Hoek van Holland.txt +70 -0
- pydra_core/data/statistics/Windsnelheid/Hoek van Holland/Ovkanswind_Hoek van Holland_2017.txt +92 -0
- pydra_core/data/statistics/Windsnelheid/Hoek van Holland/Ovkanswind_Hoek van Holland_2017_metOnzHeid.txt +92 -0
- pydra_core/data/statistics/Windsnelheid/IJmuiden/OvkansWindsnelheid_IJmuiden.txt +70 -0
- pydra_core/data/statistics/Windsnelheid/IJmuiden/Ovkanswind_IJmuiden_2017.txt +92 -0
- pydra_core/data/statistics/Windsnelheid/IJmuiden/Ovkanswind_IJmuiden_2017_metOnzHeid.txt +92 -0
- pydra_core/data/statistics/Windsnelheid/Schiphol/Ovkanswind_Schiphol_12sectoren.txt +51 -0
- pydra_core/data/statistics/Windsnelheid/Schiphol/Ovkanswind_Schiphol_12sectoren_2017.txt +90 -0
- pydra_core/data/statistics/Windsnelheid/Schiphol/Ovkanswind_Schiphol_12sectoren_2017_metOnzHeid.txt +90 -0
- pydra_core/data/statistics/Windsnelheid/Schiphol/Ovkanswind_Schiphol_12sectoren_2017_metWindDrag.txt +97 -0
- pydra_core/data/statistics/Windsnelheid/Schiphol/Ovkanswind_Schiphol_12sectoren_2017_metWindDrag_metOnzHeid.txt +97 -0
- pydra_core/data/statistics/Windsnelheid/Schiphol/Ovkanswind_Schiphol_16sectoren_2017_metWindDrag.txt +97 -0
- pydra_core/data/statistics/Windsnelheid/Schiphol/Ovkanswind_Schiphol_16sectoren_2017_metWindDrag_metOnzHeid.txt +97 -0
- pydra_core/data/statistics/Windsnelheid/Schiphol/Ovkanswind_Schiphol_2017.txt +90 -0
- pydra_core/data/statistics/Windsnelheid/Schiphol/Ovkanswind_Schiphol_2017_metOnzHeid.txt +90 -0
- pydra_core/data/statistics/Windsnelheid/Schiphol/Ovkanswind_Schiphol_met_Volkerfactor_2017.txt +90 -0
- pydra_core/data/statistics/Windsnelheid/Schiphol/Ovkanswind_Schiphol_met_Volkerfactor_2017_metOnzHeid.txt +90 -0
- pydra_core/data/statistics/Windsnelheid/Schiphol/Ovkanswind_schiphol.txt +58 -0
- pydra_core/data/statistics/Windsnelheid/Schiphol/Ovkanswind_schiphol_10%.txt +64 -0
- pydra_core/data/statistics/Windsnelheid/Schiphol/Ovkanswind_schiphol_5%.txt +62 -0
- pydra_core/data/statistics/Windsnelheid/Schiphol/Ovkanswind_schiphol_B_met volker.txt +60 -0
- pydra_core/data/statistics/Windsnelheid/Vlissingen/OvkansWindsnelheid_OS.txt +67 -0
- pydra_core/data/statistics/Windsnelheid/Vlissingen/OvkansWindsnelheid_Vlissingen.txt +70 -0
- pydra_core/data/statistics/Windsnelheid/Vlissingen/Ovkanswind_Vlissingen_16sectoren_2023.txt +92 -0
- pydra_core/data/statistics/Windsnelheid/Vlissingen/Ovkanswind_Vlissingen_16sectoren_2023_metOnzHeid.txt +91 -0
- pydra_core/data/statistics/Windsnelheid/Vlissingen/Ovkanswind_Vlissingen_2017.txt +92 -0
- pydra_core/data/statistics/Windsnelheid/Vlissingen/Ovkanswind_Vlissingen_2017_metOnzHeid.txt +92 -0
- pydra_core/data/statistics/Windsnelheid/Vlissingen/Ovkanswind_Vlissingen_2017_metWindDrag.txt +97 -0
- pydra_core/data/statistics/Windsnelheid/Vlissingen/Ovkanswind_Vlissingen_2017_metWindDrag_metOnzHeid.txt +97 -0
- pydra_core/data/statistics/Windsnelheid/West-Terschelling/OvkansWindsnelheid_West-Tersch.txt +70 -0
- pydra_core/data/statistics/Windsnelheid/West-Terschelling/Ovkanswind_West Terschelling_2017.txt +92 -0
- pydra_core/data/statistics/Windsnelheid/West-Terschelling/Ovkanswind_West Terschelling_2017_metOnzHeid.txt +92 -0
- pydra_core/data/statistics/Zeewaterstand/Delfzijl/CondPovDelfzijl_12u_zichtjaar1985_2017.txt +82 -0
- pydra_core/data/statistics/Zeewaterstand/Delfzijl/CondPovDelfzijl_12u_zichtjaar1985_2017_metOnzHeid.txt +82 -0
- pydra_core/data/statistics/Zeewaterstand/Delfzijl/CondPovDelfzijl_12u_zichtjaar2017.txt +82 -0
- pydra_core/data/statistics/Zeewaterstand/Delfzijl/CondPovDelfzijl_12u_zichtjaar2017_metOnzHeid.txt +82 -0
- pydra_core/data/statistics/Zeewaterstand/Delfzijl/OvkansZee_Delfzijl.txt +71 -0
- pydra_core/data/statistics/Zeewaterstand/Den Helder/CondPovDenHelder_12u_zichtjaar1985_2017.txt +90 -0
- pydra_core/data/statistics/Zeewaterstand/Den Helder/CondPovDenHelder_12u_zichtjaar1985_2017_metOnzHeid.txt +90 -0
- pydra_core/data/statistics/Zeewaterstand/Den Helder/CondPovDenHelder_12u_zichtjaar2017.txt +89 -0
- pydra_core/data/statistics/Zeewaterstand/Den Helder/CondPovDenHelder_12u_zichtjaar2017_metOnzHeid.txt +89 -0
- pydra_core/data/statistics/Zeewaterstand/Den Helder/OvkansZee_Den Helder.txt +71 -0
- pydra_core/data/statistics/Zeewaterstand/Den Oever/CondPovDenOeverBuiten_12u_zichtjaar1985_2017.txt +89 -0
- pydra_core/data/statistics/Zeewaterstand/Den Oever/CondPovDenOeverBuiten_12u_zichtjaar1985_2017_metOnzHeid.txt +89 -0
- pydra_core/data/statistics/Zeewaterstand/Den Oever/CondPovDenOeverBuiten_12u_zichtjaar2017.txt +88 -0
- pydra_core/data/statistics/Zeewaterstand/Den Oever/CondPovDenOeverBuiten_12u_zichtjaar2017_metOnzHeid.txt +88 -0
- pydra_core/data/statistics/Zeewaterstand/Den Oever/OvkansZee_Den Oever.txt +71 -0
- pydra_core/data/statistics/Zeewaterstand/Hansweert/CondPovHansweert_12u_zichtjaar1985_2017.txt +72 -0
- pydra_core/data/statistics/Zeewaterstand/Hansweert/CondPovHansweert_12u_zichtjaar1985_2017_metOnzHeid.txt +72 -0
- pydra_core/data/statistics/Zeewaterstand/Hansweert/CondPovHansweert_12u_zichtjaar2017.txt +71 -0
- pydra_core/data/statistics/Zeewaterstand/Hansweert/CondPovHansweert_12u_zichtjaar2017_metOnzHeid.txt +71 -0
- pydra_core/data/statistics/Zeewaterstand/Hansweert/OvkansZee_Hansweert.txt +71 -0
- pydra_core/data/statistics/Zeewaterstand/Harlingen/CondPovHarlingen_12u_zichtjaar1985_2017.txt +86 -0
- pydra_core/data/statistics/Zeewaterstand/Harlingen/CondPovHarlingen_12u_zichtjaar1985_2017_metOnzHeid.txt +86 -0
- pydra_core/data/statistics/Zeewaterstand/Harlingen/CondPovHarlingen_12u_zichtjaar2017.txt +85 -0
- pydra_core/data/statistics/Zeewaterstand/Harlingen/CondPovHarlingen_12u_zichtjaar2017_metOnzHeid.txt +85 -0
- pydra_core/data/statistics/Zeewaterstand/Harlingen/OvkansZee_Harlingen.txt +71 -0
- pydra_core/data/statistics/Zeewaterstand/Hoek van Holland/CondPovHoekvanHolland_12u_zichtjaar1985_2017.txt +85 -0
- pydra_core/data/statistics/Zeewaterstand/Hoek van Holland/CondPovHoekvanHolland_12u_zichtjaar1985_2017_metOnzHeid.txt +85 -0
- pydra_core/data/statistics/Zeewaterstand/Hoek van Holland/CondPovHoekvanHolland_12u_zichtjaar2017.txt +84 -0
- pydra_core/data/statistics/Zeewaterstand/Hoek van Holland/CondPovHoekvanHolland_12u_zichtjaar2017_metOnzHeid.txt +84 -0
- pydra_core/data/statistics/Zeewaterstand/Hoek van Holland/OvkansZee_Hoek van Holland.txt +71 -0
- pydra_core/data/statistics/Zeewaterstand/Huibertgat/CondPovHuibertgat_12u_zichtjaar1985_2017.txt +87 -0
- pydra_core/data/statistics/Zeewaterstand/Huibertgat/CondPovHuibertgat_12u_zichtjaar1985_2017_metOnzHeid.txt +87 -0
- pydra_core/data/statistics/Zeewaterstand/Huibertgat/CondPovHuibertgat_12u_zichtjaar2017.txt +86 -0
- pydra_core/data/statistics/Zeewaterstand/Huibertgat/CondPovHuibertgat_12u_zichtjaar2017_metOnzHeid.txt +86 -0
- pydra_core/data/statistics/Zeewaterstand/Huibertgat/OvkansZee_Huibertgat.txt +71 -0
- pydra_core/data/statistics/Zeewaterstand/IJmuiden/CondPovIJmuiden_12u_zichtjaar1985_2017.txt +86 -0
- pydra_core/data/statistics/Zeewaterstand/IJmuiden/CondPovIJmuiden_12u_zichtjaar1985_2017_metOnzHeid.txt +86 -0
- pydra_core/data/statistics/Zeewaterstand/IJmuiden/CondPovIJmuiden_12u_zichtjaar2017.txt +86 -0
- pydra_core/data/statistics/Zeewaterstand/IJmuiden/CondPovIJmuiden_12u_zichtjaar2017_metOnzHeid.txt +86 -0
- pydra_core/data/statistics/Zeewaterstand/IJmuiden/OvkansZee_IJmuiden.txt +71 -0
- pydra_core/data/statistics/Zeewaterstand/IJmuiden virtueel/CondPovIJmuiden-Additional_12u_zichtjaar1985_2017.txt +86 -0
- pydra_core/data/statistics/Zeewaterstand/IJmuiden virtueel/CondPovIJmuiden-Additional_12u_zichtjaar1985_2017_metOnzHeid.txt +86 -0
- pydra_core/data/statistics/Zeewaterstand/IJmuiden virtueel/CondPovIJmuiden-Additional_12u_zichtjaar2017.txt +86 -0
- pydra_core/data/statistics/Zeewaterstand/IJmuiden virtueel/CondPovIJmuiden-Additional_12u_zichtjaar2017_metOnzHeid.txt +86 -0
- pydra_core/data/statistics/Zeewaterstand/IJmuiden virtueel/OvkansZee_IJmuiden_virtueel.txt +71 -0
- pydra_core/data/statistics/Zeewaterstand/Lauwersoog/CondPovLauwersoog_12u_zichtjaar1985_2017.txt +86 -0
- pydra_core/data/statistics/Zeewaterstand/Lauwersoog/CondPovLauwersoog_12u_zichtjaar1985_2017_metOnzHeid.txt +86 -0
- pydra_core/data/statistics/Zeewaterstand/Lauwersoog/CondPovLauwersoog_12u_zichtjaar2017.txt +85 -0
- pydra_core/data/statistics/Zeewaterstand/Lauwersoog/CondPovLauwersoog_12u_zichtjaar2017_metOnzHeid.txt +85 -0
- pydra_core/data/statistics/Zeewaterstand/Lauwersoog/OvkansZee_Lauwersoog.txt +71 -0
- pydra_core/data/statistics/Zeewaterstand/Maasmond/CondPovMaasmond_12u_zichtjaar1985_2011.txt +89 -0
- pydra_core/data/statistics/Zeewaterstand/Maasmond/CondPovMaasmond_12u_zichtjaar1985_2017.txt +89 -0
- pydra_core/data/statistics/Zeewaterstand/Maasmond/CondPovMaasmond_12u_zichtjaar1985_2017_metOnzheid.txt +93 -0
- pydra_core/data/statistics/Zeewaterstand/Maasmond/CondPovMaasmond_12u_zichtjaar2017.txt +86 -0
- pydra_core/data/statistics/Zeewaterstand/Maasmond/CondPovMaasmond_12u_zichtjaar2017_metOnzheid.txt +86 -0
- pydra_core/data/statistics/Zeewaterstand/Oosterschelde/CondPovOS11_12u_zichtjaar1985_2017.txt +80 -0
- pydra_core/data/statistics/Zeewaterstand/Oosterschelde/CondPovOS11_12u_zichtjaar1985_2017_metOnzHeid.txt +80 -0
- pydra_core/data/statistics/Zeewaterstand/Oosterschelde/CondPovOS11_12u_zichtjaar2017.txt +80 -0
- pydra_core/data/statistics/Zeewaterstand/Oosterschelde/CondPovOS11_12u_zichtjaar2017_metOnzHeid.txt +80 -0
- pydra_core/data/statistics/Zeewaterstand/Oosterschelde/CondPovOS11_16sectoren_12u_2023.txt +75 -0
- pydra_core/data/statistics/Zeewaterstand/Oosterschelde/CondPovOS11_16sectoren_12u_2023_metOnzHeid.txt +74 -0
- pydra_core/data/statistics/Zeewaterstand/Oosterschelde/OvkansZee_OS11.txt +71 -0
- pydra_core/data/statistics/Zeewaterstand/Oosterschelde/OvkansZeewaterstand_OS.txt +72 -0
- pydra_core/data/statistics/Zeewaterstand/Vlissingen/CondPovVlissingen_12u_zichtjaar1985_2017.txt +75 -0
- pydra_core/data/statistics/Zeewaterstand/Vlissingen/CondPovVlissingen_12u_zichtjaar1985_2017_metOnzHeid.txt +75 -0
- pydra_core/data/statistics/Zeewaterstand/Vlissingen/CondPovVlissingen_12u_zichtjaar2017.txt +75 -0
- pydra_core/data/statistics/Zeewaterstand/Vlissingen/CondPovVlissingen_12u_zichtjaar2017_metOnzHeid.txt +75 -0
- pydra_core/data/statistics/Zeewaterstand/Vlissingen/OvkansZee_Vlissingen.txt +71 -0
- pydra_core/data/statistics/Zeewaterstand/Vlissingen virtueel/CondPovVlissingen-Additional_12u_zichtjaar1985_2017.txt +75 -0
- pydra_core/data/statistics/Zeewaterstand/Vlissingen virtueel/CondPovVlissingen-Additional_12u_zichtjaar1985_2017_metOnzHeid.txt +75 -0
- pydra_core/data/statistics/Zeewaterstand/Vlissingen virtueel/CondPovVlissingen-Additional_12u_zichtjaar2017.txt +75 -0
- pydra_core/data/statistics/Zeewaterstand/Vlissingen virtueel/CondPovVlissingen-Additional_12u_zichtjaar2017_metOnzHeid.txt +75 -0
- pydra_core/data/statistics/Zeewaterstand/Vlissingen virtueel/OvkansZee_Vlissingen_virtueel.txt +71 -0
- pydra_core/data/statistics/Zeewaterstand/West-Terschelling/CondPovWestTerschelling_12u_zichtjaar1985_2017.txt +88 -0
- pydra_core/data/statistics/Zeewaterstand/West-Terschelling/CondPovWestTerschelling_12u_zichtjaar1985_2017_metOnzHeid.txt +88 -0
- pydra_core/data/statistics/Zeewaterstand/West-Terschelling/CondPovWestTerschelling_12u_zichtjaar2017.txt +87 -0
- pydra_core/data/statistics/Zeewaterstand/West-Terschelling/CondPovWestTerschelling_12u_zichtjaar2017_metOnzHeid.txt +87 -0
- pydra_core/data/statistics/Zeewaterstand/West-Terschelling/OvkansZee_West-Terschelling.txt +71 -0
- pydra_core/hrdatabase/__init__.py +0 -0
- pydra_core/hrdatabase/hrdatabase.py +177 -0
- pydra_core/io/__init__.py +0 -0
- pydra_core/io/database_hr.py +598 -0
- pydra_core/io/database_settings.py +183 -0
- pydra_core/io/file_hydranl.py +92 -0
- pydra_core/location/__init__.py +0 -0
- pydra_core/location/location.py +115 -0
- pydra_core/location/model/__init__.py +0 -0
- pydra_core/location/model/base_model.py +270 -0
- pydra_core/location/model/loading/__init__.py +0 -0
- pydra_core/location/model/loading/loading.py +368 -0
- pydra_core/location/model/loading/loading_factory.py +89 -0
- pydra_core/location/model/loading/loading_model/__init__.py +0 -0
- pydra_core/location/model/loading/loading_model/loading_model.py +324 -0
- pydra_core/location/model/loading/other_systems/__init__.py +0 -0
- pydra_core/location/model/loading/other_systems/loading_wave_overtopping.py +122 -0
- pydra_core/location/model/loading/water_systems/__init__.py +0 -0
- pydra_core/location/model/loading/water_systems/loading_coast.py +54 -0
- pydra_core/location/model/loading/water_systems/loading_eastern_scheldt.py +169 -0
- pydra_core/location/model/loading/water_systems/loading_ijssel_vechtdelta.py +55 -0
- pydra_core/location/model/loading/water_systems/loading_lake.py +55 -0
- pydra_core/location/model/loading/water_systems/loading_lower_rivier.py +68 -0
- pydra_core/location/model/loading/water_systems/loading_upper_river.py +55 -0
- pydra_core/location/model/statistics/__init__.py +0 -0
- pydra_core/location/model/statistics/other_systems/__init__.py +0 -0
- pydra_core/location/model/statistics/other_systems/statistics_wave_overtopping.py +72 -0
- pydra_core/location/model/statistics/statistics.py +171 -0
- pydra_core/location/model/statistics/statistics_factory.py +89 -0
- pydra_core/location/model/statistics/stochastics/__init__.py +0 -0
- pydra_core/location/model/statistics/stochastics/barrier/__init__.py +0 -0
- pydra_core/location/model/statistics/stochastics/barrier/barrier.py +43 -0
- pydra_core/location/model/statistics/stochastics/barrier/barrier_easternscheldt.py +147 -0
- pydra_core/location/model/statistics/stochastics/barrier/barrier_europoort.py +209 -0
- pydra_core/location/model/statistics/stochastics/barrier/barrier_ramspol.py +41 -0
- pydra_core/location/model/statistics/stochastics/barrier/no_barrier.py +21 -0
- pydra_core/location/model/statistics/stochastics/discharge.py +108 -0
- pydra_core/location/model/statistics/stochastics/discrete_probability.py +55 -0
- pydra_core/location/model/statistics/stochastics/lake_level.py +158 -0
- pydra_core/location/model/statistics/stochastics/model_uncertainty.py +358 -0
- pydra_core/location/model/statistics/stochastics/sea_level/sea_level.py +53 -0
- pydra_core/location/model/statistics/stochastics/sea_level/sea_level_lower_river.py +93 -0
- pydra_core/location/model/statistics/stochastics/sea_level/sea_level_point.py +65 -0
- pydra_core/location/model/statistics/stochastics/sea_level/sea_level_triangular.py +158 -0
- pydra_core/location/model/statistics/stochastics/sigma_function.py +24 -0
- pydra_core/location/model/statistics/stochastics/wave_shape.py +624 -0
- pydra_core/location/model/statistics/stochastics/wind_speed.py +196 -0
- pydra_core/location/model/statistics/water_systems/__init__.py +0 -0
- pydra_core/location/model/statistics/water_systems/statistics_coast.py +153 -0
- pydra_core/location/model/statistics/water_systems/statistics_eastern_scheldt.py +177 -0
- pydra_core/location/model/statistics/water_systems/statistics_ijssel_vechtdelta.py +229 -0
- pydra_core/location/model/statistics/water_systems/statistics_lake.py +86 -0
- pydra_core/location/model/statistics/water_systems/statistics_lower_river.py +321 -0
- pydra_core/location/model/statistics/water_systems/statistics_upper_river.py +86 -0
- pydra_core/location/model/water_system.py +249 -0
- pydra_core/location/model/wave_overtopping.py +25 -0
- pydra_core/location/profile/__init__.py +0 -0
- pydra_core/location/profile/foreland.py +246 -0
- pydra_core/location/profile/lib/DikesOvertopping.LICENSE +619 -0
- pydra_core/location/profile/lib/README.MD +10 -0
- pydra_core/location/profile/lib/__init__.py +1 -0
- pydra_core/location/profile/profile.py +971 -0
- pydra_core/location/profile/profile_loading.py +473 -0
- pydra_core/location/settings/__init__.py +0 -0
- pydra_core/location/settings/settings.py +387 -0
- pydra_core-0.0.1.dist-info/METADATA +22 -0
- pydra_core-0.0.1.dist-info/RECORD +389 -0
- pydra_core-0.0.1.dist-info/WHEEL +5 -0
@@ -0,0 +1,293 @@
|
|
1
|
+
import numpy as np
|
2
|
+
|
3
|
+
from collections import namedtuple
|
4
|
+
|
5
|
+
pdstruct = namedtuple("pdstruct", ["delta", "probability", "density", "edges"])
|
6
|
+
|
7
|
+
|
8
|
+
class ProbabilityFunctions:
|
9
|
+
"""
|
10
|
+
A class with common functions used within statistics.
|
11
|
+
"""
|
12
|
+
|
13
|
+
@staticmethod
|
14
|
+
def probability_density(
|
15
|
+
values: np.ndarray,
|
16
|
+
exceedance_probability: np.ndarray,
|
17
|
+
bounded: bool = True,
|
18
|
+
check: bool = True,
|
19
|
+
axis: int = None,
|
20
|
+
) -> pdstruct:
|
21
|
+
"""
|
22
|
+
Function to convert the exceedance probability into a probability
|
23
|
+
density function.
|
24
|
+
|
25
|
+
Parameters
|
26
|
+
----------
|
27
|
+
values : np.ndarray
|
28
|
+
Values, for example the wind speed discretisation
|
29
|
+
exceedance_probability : np.ndarray
|
30
|
+
Exceedance probability of the values
|
31
|
+
bounded : bool, optional
|
32
|
+
If bounded, add the first and last element based on the min and max
|
33
|
+
in the exceedance probability. Otherwise between 1.0 and 0.0
|
34
|
+
(default : True)
|
35
|
+
check : bool, optional
|
36
|
+
Check whether the values and exceedance probabilities are
|
37
|
+
monotonously increasing (default : True)
|
38
|
+
axis : int, optional
|
39
|
+
Axis (default : None)
|
40
|
+
|
41
|
+
Raises
|
42
|
+
------
|
43
|
+
ValueError
|
44
|
+
If the values or exceedance probabilities are not monotonously
|
45
|
+
increasing
|
46
|
+
|
47
|
+
Returns
|
48
|
+
-------
|
49
|
+
pdstruct
|
50
|
+
Probability density structure
|
51
|
+
"""
|
52
|
+
# For multiple dimensions, use the _nd function
|
53
|
+
if exceedance_probability.ndim > 1:
|
54
|
+
return ProbabilityFunctions.probability_density_nd(
|
55
|
+
values, exceedance_probability, bounded, axis=axis
|
56
|
+
)
|
57
|
+
|
58
|
+
# Check whether the values and exceedance probabilities are monotonously increasing
|
59
|
+
if check:
|
60
|
+
for arr, tag in zip(
|
61
|
+
[values, exceedance_probability], ["Values", "Exceedance probabilities"]
|
62
|
+
):
|
63
|
+
diff = arr[1:] - arr[:-1]
|
64
|
+
if not (all(diff >= 0) or all(diff <= 0)):
|
65
|
+
raise ValueError(
|
66
|
+
tag + "are not monotonously increasing or decreasing.",
|
67
|
+
arr,
|
68
|
+
diff,
|
69
|
+
)
|
70
|
+
|
71
|
+
# Determine the exceedance probability bins
|
72
|
+
bins_edges = (exceedance_probability[1:] + exceedance_probability[:-1]) / 2.0
|
73
|
+
|
74
|
+
# If bounded, add the first and last element based on the min and max in the exceedance probability
|
75
|
+
if bounded:
|
76
|
+
bins_edges = np.concatenate(
|
77
|
+
[[exceedance_probability[0]], bins_edges, [exceedance_probability[-1]]]
|
78
|
+
)
|
79
|
+
|
80
|
+
# Else, determine the bins between the 0 and 1
|
81
|
+
else:
|
82
|
+
if exceedance_probability[0] < exceedance_probability[-1]:
|
83
|
+
bins_edges = np.concatenate([[0.0], bins_edges, [1.0]])
|
84
|
+
else:
|
85
|
+
bins_edges = np.concatenate([[1.0], bins_edges, [0.0]])
|
86
|
+
|
87
|
+
# The difference between the bin_edges are the bins_probabilities
|
88
|
+
bins_probability = np.absolute(bins_edges[1:] - bins_edges[:-1])
|
89
|
+
|
90
|
+
# Determine the delta of the values
|
91
|
+
bins_values = np.concatenate(
|
92
|
+
[[values[0]], (values[1:] + values[:-1]) / 2.0, [values[-1]]]
|
93
|
+
)
|
94
|
+
bins_deltas = np.absolute(np.diff(bins_values))
|
95
|
+
|
96
|
+
# Probability density is the bins_probability divided by the delta
|
97
|
+
probability_density = np.absolute(bins_probability / bins_deltas)
|
98
|
+
|
99
|
+
# Return as a structure
|
100
|
+
return pdstruct(bins_deltas, bins_probability, probability_density, bins_edges)
|
101
|
+
|
102
|
+
@staticmethod
|
103
|
+
def probability_density_nd(
|
104
|
+
values: np.ndarray,
|
105
|
+
exceedance_probability: np.ndarray,
|
106
|
+
bounded: bool = True,
|
107
|
+
axis: int = None,
|
108
|
+
) -> pdstruct:
|
109
|
+
"""
|
110
|
+
Convert the exceedance probability into a probability density function
|
111
|
+
for multidimensional arrays.
|
112
|
+
|
113
|
+
This function converts the exceedance probabilities
|
114
|
+
(exceedance_probability) into a probability density function (PDF) for
|
115
|
+
multidimensional arrays represented by 'values' and
|
116
|
+
'exceedance_probability'.
|
117
|
+
|
118
|
+
Parameters
|
119
|
+
----------
|
120
|
+
values : np.ndarray
|
121
|
+
Values, e.g., wind speed discretization, for which the PDF is
|
122
|
+
calculated.
|
123
|
+
exceedance_probability : np.ndarray
|
124
|
+
Exceedance probability of the values.
|
125
|
+
bounded (bool):
|
126
|
+
If True, add the first and last element based on the min and max in
|
127
|
+
the exceedance probability. Otherwise, create the PDF between 1.0
|
128
|
+
and 0.0.
|
129
|
+
axis : int, optional
|
130
|
+
The axis along which the PDF is calculated. By default, axis 0 is
|
131
|
+
used.
|
132
|
+
|
133
|
+
Returns
|
134
|
+
-------
|
135
|
+
pdstruct
|
136
|
+
Probability density structure containing the calculated PDF.
|
137
|
+
"""
|
138
|
+
# If bounded, add the first and last element based on the min and max
|
139
|
+
# in the exceedance probability
|
140
|
+
if bounded:
|
141
|
+
bins_edges = np.concatenate(
|
142
|
+
[
|
143
|
+
[exceedance_probability[0]],
|
144
|
+
(exceedance_probability[1:] + exceedance_probability[:-1]) / 2.0,
|
145
|
+
[exceedance_probability[-1]],
|
146
|
+
]
|
147
|
+
)
|
148
|
+
|
149
|
+
# If not
|
150
|
+
else:
|
151
|
+
bins_edges = np.pad(
|
152
|
+
(exceedance_probability[1:] + exceedance_probability[:-1]) / 2,
|
153
|
+
pad_width=(1, 1),
|
154
|
+
mode="constant",
|
155
|
+
constant_values=(0, 1)
|
156
|
+
if (exceedance_probability[0] < exceedance_probability[-1]).all()
|
157
|
+
else (1, 0),
|
158
|
+
)
|
159
|
+
|
160
|
+
# The difference between the bin_edges are the bins_probabilities
|
161
|
+
bins_probability = np.absolute(bins_edges[1:, ...] - bins_edges[:-1, ...])
|
162
|
+
|
163
|
+
# Edges between consecutive values, the difference gives the bin_deltas
|
164
|
+
bins_deltas = np.absolute(
|
165
|
+
np.diff(
|
166
|
+
np.concatenate(
|
167
|
+
[[values[0]], (values[1:] + values[:-1]) / 2.0, [values[-1]]]
|
168
|
+
)
|
169
|
+
)
|
170
|
+
)
|
171
|
+
|
172
|
+
# Probability density is the bins_probability divided by the delta
|
173
|
+
shp = [1] * bins_probability.ndim
|
174
|
+
if axis is None:
|
175
|
+
axis = 0
|
176
|
+
shp[axis] = -1
|
177
|
+
probability_density = np.absolute(
|
178
|
+
bins_probability / bins_deltas.reshape(tuple(shp))
|
179
|
+
)
|
180
|
+
|
181
|
+
# Return as a structure
|
182
|
+
return pdstruct(bins_deltas, bins_probability, probability_density, bins_edges)
|
183
|
+
|
184
|
+
@staticmethod
|
185
|
+
def get_hnl_disc_array(vmin: float, vmax: float, step: float) -> np.ndarray:
|
186
|
+
"""
|
187
|
+
Get a discretized array of values between vmin and vmax with the given
|
188
|
+
step size.
|
189
|
+
|
190
|
+
This function generates a discretized array of values in the specified
|
191
|
+
range [vmin, vmax] with a given step size. The array includes the vmin
|
192
|
+
and vmax values and is uniformly spaced with steps of the specified
|
193
|
+
size.
|
194
|
+
|
195
|
+
Parameters
|
196
|
+
----------
|
197
|
+
vmin : float
|
198
|
+
Minimum value of the range.
|
199
|
+
vmax : float
|
200
|
+
Maximum value of the range.
|
201
|
+
step : float
|
202
|
+
Step size between values.
|
203
|
+
|
204
|
+
Returns
|
205
|
+
-------
|
206
|
+
np.array
|
207
|
+
Discretized array of values.
|
208
|
+
"""
|
209
|
+
# Calculate the number of steps between vmin and vmax and create the
|
210
|
+
# discretized array
|
211
|
+
n = round((vmax - vmin) / step)
|
212
|
+
levels = np.arange(vmin, vmin + (n + 0.1) * step, step)
|
213
|
+
|
214
|
+
# Ensure that the last element of the array is exactly equal to vmax
|
215
|
+
levels[-1] = vmax
|
216
|
+
return levels
|
217
|
+
|
218
|
+
@staticmethod
|
219
|
+
def conditional_probability(probability: np.ndarray, axis: int) -> np.ndarray:
|
220
|
+
"""
|
221
|
+
Calculate the conditional probability along an axis, taking into account
|
222
|
+
dividing by zero.
|
223
|
+
|
224
|
+
This function calculates the conditional probability along the
|
225
|
+
specified 'axis' of the input 'probability' array. The conditional
|
226
|
+
probability is the probability of an event occurring given that another
|
227
|
+
event has occurred. If the denominator is zero along the specified
|
228
|
+
'axis', the result is set to zero to avoid division by zero errors.
|
229
|
+
|
230
|
+
Parameters
|
231
|
+
----------
|
232
|
+
probability : np.ndarray
|
233
|
+
Array with probabilities
|
234
|
+
axis : int
|
235
|
+
Axis for which the conditional probability has to be calculated
|
236
|
+
|
237
|
+
Returns
|
238
|
+
-------
|
239
|
+
np.ndarray
|
240
|
+
Conditional probability
|
241
|
+
"""
|
242
|
+
# Calculate the denominator as the sum of probabilities along the
|
243
|
+
# specified 'axis'
|
244
|
+
denominator = np.sum(probability, axis=axis)
|
245
|
+
|
246
|
+
# Create a shape with all ones, except for the axis that will be used
|
247
|
+
# for broadcasting
|
248
|
+
shape = list(denominator.shape)
|
249
|
+
shape.insert(axis, -1)
|
250
|
+
|
251
|
+
# Calculate the conditional probability using element-wise division,
|
252
|
+
# handling division by zero
|
253
|
+
cond = np.divide(
|
254
|
+
probability,
|
255
|
+
denominator.reshape(shape),
|
256
|
+
out=np.zeros_like(probability),
|
257
|
+
where=(denominator != 0).reshape(shape),
|
258
|
+
)
|
259
|
+
|
260
|
+
return cond
|
261
|
+
|
262
|
+
@staticmethod
|
263
|
+
def calculate_boundaries(levels: np.ndarray):
|
264
|
+
"""
|
265
|
+
Calculate the boundaries for the input array.
|
266
|
+
|
267
|
+
This function calculates the boundaries between adjacent elements in
|
268
|
+
the input 'arr' array. The boundaries are computed as the midpoints
|
269
|
+
between consecutive elements, with additional values added at the start
|
270
|
+
and end based on the step differences.
|
271
|
+
|
272
|
+
Parameters
|
273
|
+
----------
|
274
|
+
levels : np.ndarray
|
275
|
+
Input array for which boundaries are to be calculated.
|
276
|
+
|
277
|
+
Returns
|
278
|
+
-------
|
279
|
+
ndarray
|
280
|
+
Array containing the calculated boundaries.
|
281
|
+
"""
|
282
|
+
# Calculate the step differences between consecutive elements
|
283
|
+
lower_step = levels[2] - levels[1]
|
284
|
+
upper_step = levels[-1] - levels[-2]
|
285
|
+
|
286
|
+
# Calculate midpoints between consecutive elements
|
287
|
+
mid = (levels[1:] + levels[:-1]) / 2
|
288
|
+
|
289
|
+
# Calculate the boundaries array by concatenating the midpoints with
|
290
|
+
# additional boundary values
|
291
|
+
bounds = np.concatenate([[mid[0] - lower_step], mid, [mid[-1] + upper_step]])
|
292
|
+
|
293
|
+
return bounds
|
File without changes
|
@@ -0,0 +1,51 @@
|
|
1
|
+
from abc import ABC, abstractmethod
|
2
|
+
from typing import Union
|
3
|
+
|
4
|
+
from ..hrdatabase.hrdatabase import HRDatabase
|
5
|
+
from ..location.location import Location
|
6
|
+
|
7
|
+
|
8
|
+
class Calculation(ABC):
|
9
|
+
"""
|
10
|
+
Base class for calculation modules
|
11
|
+
"""
|
12
|
+
|
13
|
+
@abstractmethod
|
14
|
+
def __init__(self):
|
15
|
+
"""
|
16
|
+
Init class, differs per calculation
|
17
|
+
"""
|
18
|
+
pass
|
19
|
+
|
20
|
+
def calculate(self, input: Union[Location, HRDatabase]):
|
21
|
+
"""
|
22
|
+
Execute a calculation
|
23
|
+
|
24
|
+
Parameters
|
25
|
+
----------
|
26
|
+
input : Union[Location, HRDatabase]
|
27
|
+
The input
|
28
|
+
"""
|
29
|
+
# Depending on the type of input, call CalculateLocation
|
30
|
+
if isinstance(input, Location):
|
31
|
+
return self.calculate_location(input)
|
32
|
+
|
33
|
+
elif isinstance(input, HRDatabase):
|
34
|
+
return {
|
35
|
+
loc: self.calculate_location(input.get_location(loc)) for loc in input
|
36
|
+
}
|
37
|
+
|
38
|
+
else:
|
39
|
+
raise NotImplementedError("[ERROR] Input type not implemented")
|
40
|
+
|
41
|
+
@abstractmethod
|
42
|
+
def calculate_location(self, location: Location):
|
43
|
+
"""
|
44
|
+
Executes a calculation for a location
|
45
|
+
|
46
|
+
Parameter
|
47
|
+
---------
|
48
|
+
location : Location
|
49
|
+
The Location object
|
50
|
+
"""
|
51
|
+
pass
|
File without changes
|
@@ -0,0 +1,60 @@
|
|
1
|
+
import numpy as np
|
2
|
+
|
3
|
+
from dataclasses import dataclass
|
4
|
+
from pathlib import Path
|
5
|
+
|
6
|
+
from ...common.interpolate import Interpolate
|
7
|
+
|
8
|
+
|
9
|
+
@dataclass
|
10
|
+
class FrequencyLine:
|
11
|
+
"""
|
12
|
+
Represents a frequency line with associated levels and exceedance frequencies.
|
13
|
+
|
14
|
+
Parameters
|
15
|
+
----------
|
16
|
+
level : np.ndarray
|
17
|
+
An array of levels.
|
18
|
+
exceedance_frequency : np.ndarray
|
19
|
+
An array of corresponding exceedance frequencies.
|
20
|
+
"""
|
21
|
+
|
22
|
+
# Init variables
|
23
|
+
level: np.ndarray
|
24
|
+
exceedance_frequency: np.ndarray
|
25
|
+
|
26
|
+
def interpolate_exceedance_probability(self, exceedance_probability: np.ndarray):
|
27
|
+
exceedance_probability = np.atleast_1d(exceedance_probability)
|
28
|
+
order_x = np.argsort(exceedance_probability)
|
29
|
+
order_xp = np.argsort(self.exceedance_frequency)
|
30
|
+
f = Interpolate.inextrp1d(
|
31
|
+
x=np.log(exceedance_probability)[order_x],
|
32
|
+
xp=np.log(self.exceedance_frequency)[order_xp],
|
33
|
+
fp=self.level[order_xp],
|
34
|
+
)
|
35
|
+
return f[np.argsort(order_x)]
|
36
|
+
|
37
|
+
def interpolate_level(self, level: np.ndarray):
|
38
|
+
return np.exp(
|
39
|
+
Interpolate.inextrp1d(
|
40
|
+
x=level, xp=self.level, fp=np.log(self.exceedance_frequency)
|
41
|
+
)
|
42
|
+
)
|
43
|
+
|
44
|
+
def to_file(self, path: Path, overwrite=False):
|
45
|
+
if not overwrite and path.exists():
|
46
|
+
raise OSError(
|
47
|
+
f'Path "{path}" already exists. Choose overwrite=True or give another path.'
|
48
|
+
)
|
49
|
+
|
50
|
+
with path.open("w") as f:
|
51
|
+
f.write(f"{len(self.level):5d}\n")
|
52
|
+
for niveau, ovfreq in zip(self.level, self.exceedance_frequency):
|
53
|
+
f.write(f"{niveau:11.6f} {ovfreq:14.7e}\n")
|
54
|
+
|
55
|
+
def drop_zeros(self):
|
56
|
+
idx = self.exceedance_frequency == 0.0
|
57
|
+
if idx.all():
|
58
|
+
raise ValueError("All exceedance frequencies are 0.")
|
59
|
+
self.exceedance_frequency = self.exceedance_frequency[~idx]
|
60
|
+
self.level = self.level[~idx]
|
@@ -0,0 +1,224 @@
|
|
1
|
+
import numpy as np
|
2
|
+
|
3
|
+
from copy import deepcopy
|
4
|
+
from scipy.stats import norm
|
5
|
+
|
6
|
+
from .calculation import Calculation
|
7
|
+
from .datamodels.frequency_line import FrequencyLine
|
8
|
+
from ..location.location import Location
|
9
|
+
|
10
|
+
|
11
|
+
class ExceedanceFrequencyLine(Calculation):
|
12
|
+
"""
|
13
|
+
Calculate a frequency line for a result variable (e.g. h (waterlevel), hs (significant wave height)) for a location
|
14
|
+
"""
|
15
|
+
|
16
|
+
def __init__(
|
17
|
+
self,
|
18
|
+
result_variable: str,
|
19
|
+
model_uncertainty: bool = True,
|
20
|
+
levels: list = None,
|
21
|
+
step_size: float = 0.1,
|
22
|
+
):
|
23
|
+
"""
|
24
|
+
The __init__ method initializes an instance of the ExceedanceFrequencyLine class. It takes in several parameters to configure the calculation of the frequency line.
|
25
|
+
|
26
|
+
Parameters
|
27
|
+
----------
|
28
|
+
result_variable: str
|
29
|
+
The result variable for which the frequency line will be calculated.
|
30
|
+
model_uncertainty: bool
|
31
|
+
Enable or disable the use of model uncertainties when calculating the frequency line. Default is True.
|
32
|
+
levels: list (optional):
|
33
|
+
The levels at which the exceedance probability has to be calculated. If not specified, the levels will be chosen between the 1st and 99th percentile of the values in the HRDatabase.
|
34
|
+
step_size: float (optional)
|
35
|
+
The step size of the frequency line. Default is 0.1.
|
36
|
+
"""
|
37
|
+
# Inherit
|
38
|
+
super().__init__()
|
39
|
+
|
40
|
+
# Save settings
|
41
|
+
self.set_result_variable(result_variable.lower())
|
42
|
+
self.use_model_uncertainty(model_uncertainty)
|
43
|
+
self.set_levels(levels)
|
44
|
+
self.set_step_size(step_size)
|
45
|
+
self.model_uncertainty_steps = None
|
46
|
+
|
47
|
+
def calculate_location(self, location: Location) -> FrequencyLine:
|
48
|
+
"""
|
49
|
+
Calculate the exceedance probability of the variable at a given set of levels.
|
50
|
+
If the levels are not specified, they will be chosen at the 1st and 99th percentile of all values in the database.
|
51
|
+
|
52
|
+
Parameter
|
53
|
+
---------
|
54
|
+
location : Location
|
55
|
+
The Location object
|
56
|
+
|
57
|
+
Returns
|
58
|
+
-------
|
59
|
+
FrequencyLine
|
60
|
+
Frequency line of the result variable
|
61
|
+
"""
|
62
|
+
# Copy the levels
|
63
|
+
levels = self.levels
|
64
|
+
|
65
|
+
# Obtain location object
|
66
|
+
model = location.get_model()
|
67
|
+
loading = model.get_loading()
|
68
|
+
monz = model.get_statistics().get_model_uncertainties()
|
69
|
+
|
70
|
+
# Check if the levels are defined, if not, define it between the 1st and 99th percentile
|
71
|
+
if levels is None:
|
72
|
+
lower, upper = loading.get_quantile_range(
|
73
|
+
self.result_variable, 0.01, 0.99, 3
|
74
|
+
)
|
75
|
+
levels = np.arange(lower, upper + 0.5 * self.step_size, self.step_size)
|
76
|
+
|
77
|
+
# Model uncertainty
|
78
|
+
if self.model_uncertainty:
|
79
|
+
# Model uncertainty steps (if None use default)
|
80
|
+
if self.model_uncertainty_steps is None:
|
81
|
+
self.model_uncertainty_steps = monz.step_size[self.result_variable]
|
82
|
+
|
83
|
+
# Discretise
|
84
|
+
_, edges = monz.model_uncertainties[1, self.result_variable].discretise(
|
85
|
+
self.model_uncertainty_steps
|
86
|
+
)
|
87
|
+
p = np.diff(norm.cdf(edges))
|
88
|
+
|
89
|
+
# If not
|
90
|
+
else:
|
91
|
+
self.model_uncertainty_steps = 1
|
92
|
+
p = [1.0]
|
93
|
+
|
94
|
+
# Discretise
|
95
|
+
exp = 0
|
96
|
+
for _ip, _p in enumerate(p):
|
97
|
+
# Deepcopy
|
98
|
+
_model = deepcopy(model)
|
99
|
+
_loading = _model.get_loading()
|
100
|
+
|
101
|
+
# Adjust loading models
|
102
|
+
if self.model_uncertainty:
|
103
|
+
for deelmodel, result in _loading.model.items():
|
104
|
+
_unc = monz.model_uncertainties[deelmodel[1], self.result_variable]
|
105
|
+
_disc, _ = _unc.discretise(self.model_uncertainty_steps)
|
106
|
+
_data = getattr(result, self.result_variable)
|
107
|
+
_data = (
|
108
|
+
_data + _disc[_ip]
|
109
|
+
if self.result_variable == "h"
|
110
|
+
else _data * _disc[_ip]
|
111
|
+
)
|
112
|
+
setattr(result, self.result_variable, _data)
|
113
|
+
|
114
|
+
# Repair
|
115
|
+
_loading.repair_loadingmodels(self.result_variable)
|
116
|
+
|
117
|
+
# Splits uit naar trage stochasten en windrichting
|
118
|
+
p_h_slow = _model.calculate_probability_loading(
|
119
|
+
result_variable=self.result_variable,
|
120
|
+
levels=levels,
|
121
|
+
model_uncertainty=False,
|
122
|
+
split_input_variables=list(_model.statistics.stochastics_slow.keys()),
|
123
|
+
given=list(_model.statistics.stochastics_slow.keys()),
|
124
|
+
)
|
125
|
+
|
126
|
+
# Reken kansen om naar overschrijdingskansen door over de eerste te sommeren
|
127
|
+
ep_h_slow = np.cumsum(p_h_slow[::-1], axis=0)[-2::-1]
|
128
|
+
|
129
|
+
# Process slow stochastics (they are always at the last axes of the matrix)
|
130
|
+
if len(list(_model.statistics.stochastics_slow.keys())) > 0:
|
131
|
+
p_trapezoidal = _model.process_slow_stochastics(ep_h_slow)
|
132
|
+
exceedance_probability = (
|
133
|
+
p_trapezoidal * location.get_settings().periods_base_duration
|
134
|
+
)
|
135
|
+
|
136
|
+
# Zo niet, geef de overschrijdingskansen direct terug
|
137
|
+
else:
|
138
|
+
exceedance_probability = (
|
139
|
+
ep_h_slow * location.settings.periods_block_duration
|
140
|
+
)
|
141
|
+
|
142
|
+
# TODO: Check if this is correct?
|
143
|
+
# Save
|
144
|
+
if _ip:
|
145
|
+
exp = exp + exceedance_probability * _p
|
146
|
+
else:
|
147
|
+
exp = exceedance_probability * _p
|
148
|
+
|
149
|
+
# exp = (
|
150
|
+
# exp + exceedance_probability * _p
|
151
|
+
# if _ip
|
152
|
+
# else exceedance_probability * _p
|
153
|
+
# )
|
154
|
+
|
155
|
+
# Return the frequency line
|
156
|
+
return FrequencyLine(levels, exp)
|
157
|
+
|
158
|
+
def set_result_variable(self, result_variable: str):
|
159
|
+
"""
|
160
|
+
Change the result variable for which the frequency line will be calculated.
|
161
|
+
|
162
|
+
Parameters
|
163
|
+
----------
|
164
|
+
result_variable : str
|
165
|
+
The result variable for which the frequency line will be calculated
|
166
|
+
"""
|
167
|
+
# Raise an error when assigning the wave direction (dir)
|
168
|
+
if result_variable == "dir":
|
169
|
+
raise ValueError(
|
170
|
+
"[ERROR] Cannot calculate a frequency line for the wave direction (dir)."
|
171
|
+
)
|
172
|
+
|
173
|
+
# Save result variable
|
174
|
+
self.result_variable = result_variable
|
175
|
+
|
176
|
+
def set_levels(self, levels: list = None):
|
177
|
+
"""
|
178
|
+
Change the levels.
|
179
|
+
If levels is not defined, the frequency line is calculated based upon the 1st and 99th percentile.
|
180
|
+
|
181
|
+
Parameters
|
182
|
+
----------
|
183
|
+
levels : list, optional
|
184
|
+
The levels at which the exceedance probability has to be calculated
|
185
|
+
"""
|
186
|
+
self.levels = levels
|
187
|
+
|
188
|
+
def set_step_size(self, step_size: float):
|
189
|
+
"""
|
190
|
+
Change the step size of the frequency line.
|
191
|
+
|
192
|
+
Parameters
|
193
|
+
----------
|
194
|
+
step_size : float
|
195
|
+
The step size of the frequency line
|
196
|
+
"""
|
197
|
+
# Cannot be smaller or equal to 0
|
198
|
+
if step_size <= 0:
|
199
|
+
raise ValueError("[ERROR] Step size should be larger than 0.")
|
200
|
+
|
201
|
+
# Save step size
|
202
|
+
self.step_size = step_size
|
203
|
+
|
204
|
+
def use_model_uncertainty(self, model_uncertainty: bool):
|
205
|
+
"""
|
206
|
+
Use model uncertainty when calculating a frequency line.
|
207
|
+
|
208
|
+
Parameters
|
209
|
+
----------
|
210
|
+
model_uncertainty : bool
|
211
|
+
Enable or disable the use of model uncertainties
|
212
|
+
"""
|
213
|
+
self.model_uncertainty = model_uncertainty
|
214
|
+
|
215
|
+
def set_model_uncertainty_steps(self, model_uncertainty_steps: int):
|
216
|
+
"""
|
217
|
+
Set the number of model uncertainty steps
|
218
|
+
|
219
|
+
Parameters
|
220
|
+
----------
|
221
|
+
model_uncertainty_steps : int
|
222
|
+
Number of model uncertainty steps
|
223
|
+
"""
|
224
|
+
self.model_uncertainty_steps = model_uncertainty_steps
|