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,183 @@
|
|
1
|
+
import os
|
2
|
+
import pandas as pd
|
3
|
+
import sqlite3
|
4
|
+
|
5
|
+
from ..common.enum import WaterSystem
|
6
|
+
|
7
|
+
|
8
|
+
class DatabaseSettings:
|
9
|
+
"""
|
10
|
+
Settings database
|
11
|
+
"""
|
12
|
+
|
13
|
+
def __init__(self) -> None:
|
14
|
+
self.con = None
|
15
|
+
|
16
|
+
def __enter__(self) -> "DatabaseSettings":
|
17
|
+
# Init the connection
|
18
|
+
self.con = sqlite3.connect(
|
19
|
+
os.path.join(
|
20
|
+
os.path.split(os.path.dirname(__file__))[0],
|
21
|
+
"data",
|
22
|
+
"settings",
|
23
|
+
"calculation_settings.sqlite",
|
24
|
+
)
|
25
|
+
)
|
26
|
+
return self
|
27
|
+
|
28
|
+
def __exit__(self, exc_type, exc_val, exc_tb) -> None:
|
29
|
+
# Close the connection
|
30
|
+
self.con.close()
|
31
|
+
|
32
|
+
def get_settings(self, watersystem: WaterSystem) -> pd.DataFrame:
|
33
|
+
"""
|
34
|
+
Return all settings from the database
|
35
|
+
|
36
|
+
Parameters
|
37
|
+
----------
|
38
|
+
watersystem : WaterSystem
|
39
|
+
WaterSystem to get the settings for
|
40
|
+
|
41
|
+
Returns
|
42
|
+
-------
|
43
|
+
pd.DataFrame
|
44
|
+
A DataFrame with settings
|
45
|
+
"""
|
46
|
+
# Query
|
47
|
+
sql = f"SELECT SettingName, SettingValue FROM CalculationSettings WHERE WaterSystem = {watersystem.value}"
|
48
|
+
settings = pd.read_sql(sql, self.con)
|
49
|
+
|
50
|
+
# Parse to int and float if possible
|
51
|
+
for n, row in settings.iterrows():
|
52
|
+
settings.loc[n, "SettingValue"] = self.__parse_value(row["SettingValue"])
|
53
|
+
|
54
|
+
# Return the settings
|
55
|
+
return settings
|
56
|
+
|
57
|
+
def get_sea_level_statistic_points(self, watersystem: WaterSystem) -> pd.DataFrame:
|
58
|
+
"""
|
59
|
+
Return the reference points for sea level statistics
|
60
|
+
|
61
|
+
Parameters
|
62
|
+
----------
|
63
|
+
watersystem : WaterSystem
|
64
|
+
Watersystem for which to return the reference points
|
65
|
+
|
66
|
+
Returns
|
67
|
+
-------
|
68
|
+
pd.DataFrame
|
69
|
+
All reference points
|
70
|
+
"""
|
71
|
+
# Obtain the right table name
|
72
|
+
if watersystem in [
|
73
|
+
WaterSystem.COAST_SOUTH,
|
74
|
+
WaterSystem.COAST_CENTRAL,
|
75
|
+
WaterSystem.COAST_NORTH,
|
76
|
+
]:
|
77
|
+
tablename = "CoastReferencePoints"
|
78
|
+
elif watersystem in [WaterSystem.WADDEN_SEA_WEST, WaterSystem.WADDEN_SEA_EAST]:
|
79
|
+
tablename = "WaddenSeaReferencePoints"
|
80
|
+
else:
|
81
|
+
raise NotImplementedError(
|
82
|
+
f"[ERROR] No sea level reference points implemented for {watersystem}."
|
83
|
+
)
|
84
|
+
|
85
|
+
# SQL
|
86
|
+
data = pd.read_sql(
|
87
|
+
f"SELECT Name, X, Y FROM {tablename}", self.con, index_col="Name"
|
88
|
+
)
|
89
|
+
|
90
|
+
# Return data
|
91
|
+
return data
|
92
|
+
|
93
|
+
def get_sea_level_sub_systems(self, watersystem: WaterSystem) -> pd.DataFrame:
|
94
|
+
"""
|
95
|
+
Return all subsystems of the coast or Wadden sea.
|
96
|
+
|
97
|
+
Parameters
|
98
|
+
----------
|
99
|
+
watersystem : WaterSystem
|
100
|
+
Watersystem for which to return the reference points
|
101
|
+
|
102
|
+
Returns
|
103
|
+
-------
|
104
|
+
pd.DataFrame
|
105
|
+
All subsystems
|
106
|
+
"""
|
107
|
+
# Obtain the right table name
|
108
|
+
if watersystem in [
|
109
|
+
WaterSystem.COAST_SOUTH,
|
110
|
+
WaterSystem.COAST_CENTRAL,
|
111
|
+
WaterSystem.COAST_NORTH,
|
112
|
+
]:
|
113
|
+
tablename = "CoastSubSystems"
|
114
|
+
elif watersystem in [WaterSystem.WADDEN_SEA_WEST, WaterSystem.WADDEN_SEA_EAST]:
|
115
|
+
tablename = "WaddenSeaSubSystems"
|
116
|
+
else:
|
117
|
+
raise NotImplementedError(
|
118
|
+
f"[ERROR] No sea level reference points implemented for {watersystem}."
|
119
|
+
)
|
120
|
+
|
121
|
+
# SQL
|
122
|
+
data = pd.read_sql(
|
123
|
+
f"SELECT SubSystemId, Point1, Point2, Point3 FROM {tablename}",
|
124
|
+
self.con,
|
125
|
+
index_col="SubSystemId",
|
126
|
+
)
|
127
|
+
|
128
|
+
# Return data
|
129
|
+
return data
|
130
|
+
|
131
|
+
def get_input_variable_ids(self) -> dict:
|
132
|
+
"""
|
133
|
+
Return a dictionary with the input variable ids (ivid) and symbols (isymbol)
|
134
|
+
|
135
|
+
Returns
|
136
|
+
-------
|
137
|
+
dict
|
138
|
+
A dictionary with {ivid : isymbol}
|
139
|
+
"""
|
140
|
+
# Query
|
141
|
+
sql = "SELECT InputVariableId, InputVariableSymbol FROM InputVariables"
|
142
|
+
data = self.con.execute(sql).fetchall()
|
143
|
+
|
144
|
+
# Process data
|
145
|
+
results = {data[i][0]: data[i][1] for i in range(len(data))}
|
146
|
+
|
147
|
+
# Return the dictionary
|
148
|
+
return results
|
149
|
+
|
150
|
+
def get_result_variable_ids(self) -> dict:
|
151
|
+
"""
|
152
|
+
Return a dictionary with the result variable ids (rvid) and symbols (rsymbol)
|
153
|
+
|
154
|
+
Returns
|
155
|
+
-------
|
156
|
+
dict
|
157
|
+
A dictionary with {rvid : rsymbol}
|
158
|
+
"""
|
159
|
+
# Query
|
160
|
+
sql = "SELECT ResultVariableId, ResultVariableSymbol FROM ResultVariables"
|
161
|
+
data = self.con.execute(sql).fetchall()
|
162
|
+
|
163
|
+
# Process data
|
164
|
+
results = {data[i][0]: data[i][1] for i in range(len(data))}
|
165
|
+
|
166
|
+
# Return the dictionary
|
167
|
+
return results
|
168
|
+
|
169
|
+
def __parse_value(self, value):
|
170
|
+
# Parse value from string
|
171
|
+
try:
|
172
|
+
return float(value)
|
173
|
+
except ValueError:
|
174
|
+
pass
|
175
|
+
try:
|
176
|
+
return int(value)
|
177
|
+
except ValueError:
|
178
|
+
pass
|
179
|
+
if value.lower() == "true":
|
180
|
+
return True
|
181
|
+
elif value.lower() == "false":
|
182
|
+
return False
|
183
|
+
return value
|
@@ -0,0 +1,92 @@
|
|
1
|
+
import numpy as np
|
2
|
+
import os
|
3
|
+
|
4
|
+
|
5
|
+
class FileHydraNL:
|
6
|
+
"""
|
7
|
+
Class with staticsmethods to read Hydra-NL input files
|
8
|
+
"""
|
9
|
+
|
10
|
+
# Path to the package
|
11
|
+
PACKAGE_PATH = os.path.join(
|
12
|
+
os.path.split(os.path.dirname(__file__))[0], "data", "statistics"
|
13
|
+
)
|
14
|
+
|
15
|
+
@staticmethod
|
16
|
+
def read_file_2columns(path):
|
17
|
+
"""
|
18
|
+
Read a Hydra-NL statistics file with two columns
|
19
|
+
|
20
|
+
Parameters
|
21
|
+
----------
|
22
|
+
path : str
|
23
|
+
Path to the statistics file
|
24
|
+
"""
|
25
|
+
# Open file
|
26
|
+
if "\\" in path:
|
27
|
+
path = path.replace("\\", "/")
|
28
|
+
with open(
|
29
|
+
os.path.join(FileHydraNL.PACKAGE_PATH, path), "r", encoding="cp1252"
|
30
|
+
) as f:
|
31
|
+
lines = f.readlines()
|
32
|
+
|
33
|
+
# Read non commented values from file, and split per line
|
34
|
+
vals = [line.strip().split() for line in lines if not line.startswith("*")]
|
35
|
+
|
36
|
+
# Convert to float and split in columns
|
37
|
+
kol1, kol2 = np.vstack(vals).astype(float).T
|
38
|
+
|
39
|
+
return kol1, kol2
|
40
|
+
|
41
|
+
@staticmethod
|
42
|
+
def read_file_ncolumns(path):
|
43
|
+
"""
|
44
|
+
Read a Hydra-NL statistics file with more than two columns
|
45
|
+
|
46
|
+
Parameters
|
47
|
+
----------
|
48
|
+
path : str
|
49
|
+
Path to the statistics file
|
50
|
+
"""
|
51
|
+
# Open file
|
52
|
+
if "\\" in path:
|
53
|
+
path = path.replace("\\", "/")
|
54
|
+
with open(
|
55
|
+
os.path.join(FileHydraNL.PACKAGE_PATH, path), "r", encoding="cp1252"
|
56
|
+
) as f:
|
57
|
+
lines = f.readlines()
|
58
|
+
|
59
|
+
# Read non commented values from file, and split per line
|
60
|
+
vals = [line.strip().split() for line in lines if not line.startswith("*")]
|
61
|
+
|
62
|
+
# Convert to float and split in columns
|
63
|
+
floatvals = np.vstack(vals).astype(float)
|
64
|
+
|
65
|
+
return floatvals[:, 0], floatvals[:, 1:]
|
66
|
+
|
67
|
+
@staticmethod
|
68
|
+
def read_file_ncolumns_loc(path):
|
69
|
+
"""
|
70
|
+
Read a Hydra-NL statistics location file with more than two columns
|
71
|
+
|
72
|
+
Parameters
|
73
|
+
----------
|
74
|
+
path : str
|
75
|
+
Path to the statistics file
|
76
|
+
"""
|
77
|
+
# Open file
|
78
|
+
if "\\" in path:
|
79
|
+
path = path.replace("\\", "/")
|
80
|
+
with open(
|
81
|
+
os.path.join(FileHydraNL.PACKAGE_PATH, path), "r", encoding="cp1252"
|
82
|
+
) as f:
|
83
|
+
lines = f.readlines()
|
84
|
+
|
85
|
+
# Process data
|
86
|
+
vals_tot = [line.strip().split() for line in lines]
|
87
|
+
|
88
|
+
# Convert to float and split in columns
|
89
|
+
x = int(vals_tot[2][1][:-1])
|
90
|
+
y = int(vals_tot[2][2])
|
91
|
+
|
92
|
+
return x, y
|
File without changes
|
@@ -0,0 +1,115 @@
|
|
1
|
+
from .model.water_system import WaterSystem
|
2
|
+
from .profile.profile import Profile
|
3
|
+
from .settings.settings import Settings
|
4
|
+
|
5
|
+
|
6
|
+
class Location:
|
7
|
+
"""
|
8
|
+
This is a class for one HRDLocation. This class contains the Settings,
|
9
|
+
the WaterSystem mode (which is the model describing the statistics and
|
10
|
+
loading) and a Profile. Which is a schematisation of the cross-section.
|
11
|
+
"""
|
12
|
+
|
13
|
+
settings: Settings
|
14
|
+
model: WaterSystem
|
15
|
+
profile: Profile
|
16
|
+
|
17
|
+
def __init__(self, settings: Settings, profile: Profile = None):
|
18
|
+
"""
|
19
|
+
Initialize a Location object.
|
20
|
+
|
21
|
+
Parameters
|
22
|
+
----------
|
23
|
+
settings : Settings
|
24
|
+
An instance of the Settings class that contains location-specific
|
25
|
+
settings.
|
26
|
+
profile : Profile
|
27
|
+
An instance of the Profile class that provides a schematization of
|
28
|
+
the cross-section.
|
29
|
+
"""
|
30
|
+
self.settings = settings
|
31
|
+
self.model = WaterSystem(settings)
|
32
|
+
self.profile = profile
|
33
|
+
|
34
|
+
def get_settings(self) -> Settings:
|
35
|
+
"""
|
36
|
+
Return the Settings object.
|
37
|
+
|
38
|
+
Returns
|
39
|
+
-------
|
40
|
+
Settings
|
41
|
+
The Settings object for this Location
|
42
|
+
"""
|
43
|
+
return self.settings
|
44
|
+
|
45
|
+
def set_settings(self, settings: Settings) -> None:
|
46
|
+
"""
|
47
|
+
Set the Settings for this location.
|
48
|
+
|
49
|
+
Parameters
|
50
|
+
----------
|
51
|
+
settings : Settings
|
52
|
+
Settings object
|
53
|
+
"""
|
54
|
+
# Check if the HRDLocation is still the same
|
55
|
+
if self.settings.location != settings.location:
|
56
|
+
raise ValueError(
|
57
|
+
f"[ERROR] Cannot apply settings for location {settings.location} to location {self.settings.location}."
|
58
|
+
)
|
59
|
+
|
60
|
+
# Settings
|
61
|
+
self.settings = settings
|
62
|
+
|
63
|
+
# Statistics
|
64
|
+
self.model = WaterSystem(settings)
|
65
|
+
|
66
|
+
def get_model(self) -> WaterSystem:
|
67
|
+
"""
|
68
|
+
Returns the WaterSystem model.
|
69
|
+
|
70
|
+
Returns
|
71
|
+
-------
|
72
|
+
WaterSystem
|
73
|
+
The WaterSystem model
|
74
|
+
"""
|
75
|
+
return self.model
|
76
|
+
|
77
|
+
def get_profile(self) -> Profile:
|
78
|
+
"""
|
79
|
+
Return the Profile object
|
80
|
+
|
81
|
+
Returns
|
82
|
+
-------
|
83
|
+
Loading
|
84
|
+
The Loading object for this Location
|
85
|
+
"""
|
86
|
+
return self.profile
|
87
|
+
|
88
|
+
def has_profile(self) -> bool:
|
89
|
+
"""
|
90
|
+
Returns whether of not a profile is assigned.
|
91
|
+
|
92
|
+
Returns
|
93
|
+
-------
|
94
|
+
bool
|
95
|
+
Profile assigned to Location
|
96
|
+
"""
|
97
|
+
return isinstance(self.profile, Profile)
|
98
|
+
|
99
|
+
def set_profile(self, profile: Profile = None) -> None:
|
100
|
+
"""
|
101
|
+
Set the Profile for this location. By default, profile is none. Which
|
102
|
+
deletes the profile from this location.
|
103
|
+
|
104
|
+
Parameters
|
105
|
+
----------
|
106
|
+
profile : Profile
|
107
|
+
Profile object (default: None)
|
108
|
+
"""
|
109
|
+
self.profile = profile
|
110
|
+
|
111
|
+
def remove_profile(self) -> None:
|
112
|
+
"""
|
113
|
+
Remove the Profile from the Location class.
|
114
|
+
"""
|
115
|
+
self.profile = None
|
File without changes
|
@@ -0,0 +1,270 @@
|
|
1
|
+
import numpy as np
|
2
|
+
|
3
|
+
from abc import ABC
|
4
|
+
|
5
|
+
from .loading.loading import Loading
|
6
|
+
from .statistics.statistics import Statistics
|
7
|
+
from ..settings.settings import Settings
|
8
|
+
from ...common.probability import ProbabilityFunctions
|
9
|
+
|
10
|
+
|
11
|
+
class BaseModel(ABC):
|
12
|
+
def __init__(self, settings: Settings):
|
13
|
+
"""
|
14
|
+
Base class
|
15
|
+
"""
|
16
|
+
# Settings
|
17
|
+
self.settings = settings
|
18
|
+
self.statistics = None
|
19
|
+
self.loading = None
|
20
|
+
|
21
|
+
def calculate_probability_loading(
|
22
|
+
self,
|
23
|
+
result_variable: str,
|
24
|
+
levels: np.ndarray,
|
25
|
+
model_uncertainty: bool = True,
|
26
|
+
split_input_variables: list = [],
|
27
|
+
given: list = [],
|
28
|
+
):
|
29
|
+
"""
|
30
|
+
Determine the probability that the load (water level, hbn, qov, etc.) falls within a range.
|
31
|
+
|
32
|
+
The probabilities are divided among load levels and any 'split variables'.
|
33
|
+
|
34
|
+
It is possible to specify a variable as 'given'. The probability is then determined conditionally on
|
35
|
+
this variable. This is often the slow stochastic variable, so that the waveshape can be processed later.
|
36
|
+
|
37
|
+
The model uncertainty in the water level can be processed. It is then integrated. Note that
|
38
|
+
independence between different block durations is assumed.
|
39
|
+
|
40
|
+
Parameters
|
41
|
+
----------
|
42
|
+
result_variable: str
|
43
|
+
Load variable to be split.
|
44
|
+
levels: np.ndarray
|
45
|
+
Array with values of the load for which the probability is determined.
|
46
|
+
model_uncertainty: bool
|
47
|
+
Whether to integrate model uncertainty. Only applicable for water level 'h'.
|
48
|
+
split_input_variables: list
|
49
|
+
Variables to be split, in addition to the load variable.
|
50
|
+
given: list
|
51
|
+
List of variables on which the probability is conditionally determined.
|
52
|
+
"""
|
53
|
+
# Statistics
|
54
|
+
loading = self.get_loading()
|
55
|
+
statistics = self.get_statistics()
|
56
|
+
|
57
|
+
# Init the array
|
58
|
+
shp = [len(levels) + 1]
|
59
|
+
for var in split_input_variables:
|
60
|
+
if var in list(statistics.stochastics_discrete.keys()):
|
61
|
+
shp.extend([len(statistics.stochastics_discrete[var])])
|
62
|
+
elif var in list(statistics.stochastics_fast.keys()):
|
63
|
+
shp.extend([len(statistics.stochastics_fast[var])])
|
64
|
+
elif var in list(statistics.stochastics_slow.keys()):
|
65
|
+
shp.extend([len(statistics.stochastics_slow[var])])
|
66
|
+
probability = np.zeros(shp)
|
67
|
+
|
68
|
+
# Seperate the discrete stochastics from the continuous stochastics (slow and fast)
|
69
|
+
contvars = [
|
70
|
+
var
|
71
|
+
for var in split_input_variables
|
72
|
+
if var not in statistics.stochastics_discrete
|
73
|
+
]
|
74
|
+
|
75
|
+
# Loop through all loading models (per r, k)
|
76
|
+
for (direction, closing_situation), _ in loading.iter_models():
|
77
|
+
# Get the IDs of the wind direction and closing situation
|
78
|
+
ir = loading.r.index(direction)
|
79
|
+
ik = loading.k.index(closing_situation)
|
80
|
+
|
81
|
+
# Calculate the probability of the loading
|
82
|
+
probability_loading = self.split_load_model(
|
83
|
+
direction=direction,
|
84
|
+
closing_situation=closing_situation,
|
85
|
+
result_variable=result_variable,
|
86
|
+
levels=levels,
|
87
|
+
split_input_variables=contvars,
|
88
|
+
given=given,
|
89
|
+
)
|
90
|
+
|
91
|
+
# If the combination of r, k is non-existent
|
92
|
+
if np.sum(probability_loading) == 0.0:
|
93
|
+
continue
|
94
|
+
|
95
|
+
# Process model uncertainty
|
96
|
+
if model_uncertainty:
|
97
|
+
# Check
|
98
|
+
if result_variable not in ["h", "hs", "tspec", "tp"]:
|
99
|
+
raise NotImplementedError(
|
100
|
+
"[ERROR] Processing model uncertainties is only possible for database result variables."
|
101
|
+
)
|
102
|
+
|
103
|
+
# Bepaal grenzen
|
104
|
+
boundaries = ProbabilityFunctions.calculate_boundaries(levels)
|
105
|
+
|
106
|
+
# Verwerk de onzekerheid gegeven de sluitsituatie
|
107
|
+
probability_loading = (
|
108
|
+
statistics.get_model_uncertainties().process_model_uncertainty(
|
109
|
+
closing_situation=closing_situation,
|
110
|
+
result_variable=result_variable,
|
111
|
+
levels=boundaries,
|
112
|
+
exceedance_probability=probability_loading,
|
113
|
+
haxis=0,
|
114
|
+
)
|
115
|
+
)
|
116
|
+
|
117
|
+
# Create an index to accumulate the probabilities.
|
118
|
+
# If the discrete variables are included in the splitting, assign a specific position here.
|
119
|
+
# Otherwise, they are added to the rest of the probabilities.
|
120
|
+
idx = [slice(None)] * len(shp)
|
121
|
+
if "r" in split_input_variables:
|
122
|
+
idx[split_input_variables.index("r") + 1] = ir
|
123
|
+
if "k" in split_input_variables:
|
124
|
+
idx[split_input_variables.index("k") + 1] = ik
|
125
|
+
probability[tuple(idx)] += probability_loading
|
126
|
+
|
127
|
+
return probability
|
128
|
+
|
129
|
+
def split_load_model(
|
130
|
+
self,
|
131
|
+
direction: float,
|
132
|
+
closing_situation: int,
|
133
|
+
result_variable: str,
|
134
|
+
levels: np.ndarray,
|
135
|
+
split_input_variables: list = [],
|
136
|
+
given: list = [],
|
137
|
+
) -> np.ndarray:
|
138
|
+
"""
|
139
|
+
Integrates the loads over the given levels and variables to split over.
|
140
|
+
|
141
|
+
The probabilities are derived from the statistics based on the input variables in the load model.
|
142
|
+
|
143
|
+
For the load type, any of the result variables can be chosen.
|
144
|
+
|
145
|
+
P(H in [h1, h2], split_vars | given)
|
146
|
+
|
147
|
+
Parameters
|
148
|
+
----------
|
149
|
+
direction : float
|
150
|
+
closing_situation : int
|
151
|
+
result_variable : str
|
152
|
+
Result variable
|
153
|
+
levels : np.ndarray
|
154
|
+
Levels for splitting the load.
|
155
|
+
split_input_variables : list
|
156
|
+
Variables to split over in addition to the load variable (default : []).
|
157
|
+
given : list
|
158
|
+
Conditional variables P(X|given) (default : []).
|
159
|
+
|
160
|
+
Returns
|
161
|
+
-------
|
162
|
+
np.ndarray
|
163
|
+
Probability per load variable and splitting variable.
|
164
|
+
"""
|
165
|
+
# Statistics
|
166
|
+
loading = self.get_loading()
|
167
|
+
statistics = self.get_statistics()
|
168
|
+
|
169
|
+
# Make a copy of the loading model for (r, k) to prevent overwriting the one assigned to this object
|
170
|
+
loading_model = loading.model[(direction, closing_situation)]
|
171
|
+
|
172
|
+
# Refine the loading onto the (finer) grid used in the statistics
|
173
|
+
comb_fast_slow = {**statistics.stochastics_fast, **statistics.stochastics_slow}
|
174
|
+
comb_fast_slow = {
|
175
|
+
key: comb_fast_slow[key] for key in loading_model.input_variables
|
176
|
+
}
|
177
|
+
refined_load = loading_model.refine(result_variable, comb_fast_slow)
|
178
|
+
|
179
|
+
# Calculate the probability of these loading combinations
|
180
|
+
loading_probability = statistics.calculate_probability(
|
181
|
+
loading_model.direction, loading_model.closing_situation, given=given
|
182
|
+
)
|
183
|
+
|
184
|
+
# Check the dimension from the loading and probability arrays
|
185
|
+
assert refined_load.shape == tuple(
|
186
|
+
loading_probability.shape[: refined_load.ndim]
|
187
|
+
)
|
188
|
+
if refined_load.size != loading_probability.size:
|
189
|
+
# When the dimensions of the interpolated load (refined_load) and the probabilities do not match,
|
190
|
+
# this must be due to an additional dimension in the probabilities where the load is equal.
|
191
|
+
# The assumption is that this variable is dependent on the given conditions.
|
192
|
+
loading_probability = loading_probability.reshape(
|
193
|
+
(refined_load.size,) + loading_probability.shape[refined_load.ndim :]
|
194
|
+
)
|
195
|
+
extra_kansvar = given[:]
|
196
|
+
|
197
|
+
else:
|
198
|
+
loading_probability = loading_probability.ravel()
|
199
|
+
extra_kansvar = []
|
200
|
+
|
201
|
+
# Determine the dimensions of the variables to split over
|
202
|
+
var_sizes = [
|
203
|
+
len({**statistics.stochastics_fast, **statistics.stochastics_slow}[var])
|
204
|
+
for var in split_input_variables
|
205
|
+
]
|
206
|
+
|
207
|
+
# Create an array to allocate probabilities, this is an array for the load variable,
|
208
|
+
# plus the determined dimensions
|
209
|
+
probability = np.zeros((len(levels) + 1, *var_sizes))
|
210
|
+
|
211
|
+
# Split the load into level classes
|
212
|
+
digitized = np.digitize(refined_load.ravel(), levels)
|
213
|
+
|
214
|
+
# Create an array with ones, which will be used to place the probability
|
215
|
+
# in the correct position in the array by multiplying [1, 2, 3, ...] along the relevant axis,
|
216
|
+
# and then raveling (flattening into 1D)
|
217
|
+
ones = np.ones(refined_load.shape, dtype=digitized.dtype)
|
218
|
+
base_shape = [1] * ones.ndim
|
219
|
+
|
220
|
+
# Create a list of index arrays, with the load class as the first element
|
221
|
+
idxs = [digitized]
|
222
|
+
|
223
|
+
# Loop through all other variables
|
224
|
+
for var_size, var in zip(var_sizes, split_input_variables):
|
225
|
+
# Check if the variable exists
|
226
|
+
if (var not in list(comb_fast_slow)) and (var not in extra_kansvar):
|
227
|
+
raise ValueError(
|
228
|
+
f"'{var}' is not in list ({', '.join(list(comb_fast_slow))})."
|
229
|
+
)
|
230
|
+
if var in extra_kansvar:
|
231
|
+
continue
|
232
|
+
|
233
|
+
# Create the dimensions for assigning the arange
|
234
|
+
shape = base_shape[:]
|
235
|
+
shape[list(comb_fast_slow).index(var)] = -1
|
236
|
+
|
237
|
+
# Determine the splitting positions, reshape and add to the list
|
238
|
+
idxs.append((ones * np.arange(var_size).reshape(tuple(shape))).ravel())
|
239
|
+
|
240
|
+
# Sum all probabilities into the relevant bin (based on the levels)
|
241
|
+
if len(extra_kansvar) > 0:
|
242
|
+
for i, idx in enumerate(zip(*idxs)):
|
243
|
+
probability[idx] += loading_probability[i]
|
244
|
+
else:
|
245
|
+
np.add.at(probability, tuple(idxs), loading_probability)
|
246
|
+
|
247
|
+
# Return the probabilities
|
248
|
+
return probability
|
249
|
+
|
250
|
+
def get_statistics(self) -> Statistics:
|
251
|
+
"""
|
252
|
+
Return the Statistics object
|
253
|
+
|
254
|
+
Returns
|
255
|
+
-------
|
256
|
+
Statistics
|
257
|
+
The Statistics object for this Location
|
258
|
+
"""
|
259
|
+
return self.statistics
|
260
|
+
|
261
|
+
def get_loading(self) -> Loading:
|
262
|
+
"""
|
263
|
+
Return the Loading object
|
264
|
+
|
265
|
+
Returns
|
266
|
+
-------
|
267
|
+
Loading
|
268
|
+
The Loading object for this Location
|
269
|
+
"""
|
270
|
+
return self.loading
|
File without changes
|