pydra-core 0.0.1__py2.py3-none-any.whl → 0.0.2__py2.py3-none-any.whl
Sign up to get free protection for your applications and to get access to all the features.
- pydra_core/__init__.py +32 -32
- pydra_core/common/common.py +98 -98
- pydra_core/common/enum.py +63 -63
- pydra_core/common/interpolate.py +345 -345
- pydra_core/common/probability.py +293 -293
- pydra_core/core/calculation.py +51 -51
- pydra_core/core/datamodels/frequency_line.py +60 -60
- pydra_core/core/exceedance_frequency_line.py +224 -224
- pydra_core/core/exceedance_frequency_line_experimental.py +163 -163
- pydra_core/core/hbn.py +226 -226
- pydra_core/data/statistics/Afvoer/Borgharen/Ovkans_Borgharen_piekafvoer_2017.txt +36 -36
- pydra_core/data/statistics/Afvoer/Borgharen/Ovkans_Borgharen_piekafvoer_2017_metOnzHeid.txt +45 -45
- pydra_core/data/statistics/Afvoer/Borgharen/Ovkans_Borgharen_piekafvoer_OI2014_G_2015_metOnzHeid_v02.txt +50 -50
- pydra_core/data/statistics/Afvoer/Borgharen/Ovkans_Borgharen_piekafvoer_OI2014_G_2015_v02.txt +42 -42
- pydra_core/data/statistics/Afvoer/Borgharen/Ovkans_Borgharen_piekafvoer_OI2014_G_2050_metOnzHeid_v02.txt +56 -56
- pydra_core/data/statistics/Afvoer/Borgharen/Ovkans_Borgharen_piekafvoer_OI2014_G_2050_v02.txt +48 -48
- pydra_core/data/statistics/Afvoer/Borgharen/Ovkans_Borgharen_piekafvoer_OI2014_G_2100_metOnzHeid_v02.txt +56 -56
- pydra_core/data/statistics/Afvoer/Borgharen/Ovkans_Borgharen_piekafvoer_OI2014_G_2100_v02.txt +48 -48
- pydra_core/data/statistics/Afvoer/Borgharen/Ovkans_Borgharen_piekafvoer_OI2014_W_2015_metOnzHeid_v02.txt +50 -50
- pydra_core/data/statistics/Afvoer/Borgharen/Ovkans_Borgharen_piekafvoer_OI2014_W_2015_v02.txt +42 -42
- pydra_core/data/statistics/Afvoer/Borgharen/Ovkans_Borgharen_piekafvoer_OI2014_W_2050_metOnzHeid_v02.txt +56 -56
- pydra_core/data/statistics/Afvoer/Borgharen/Ovkans_Borgharen_piekafvoer_OI2014_W_2050_v02.txt +48 -48
- pydra_core/data/statistics/Afvoer/Borgharen/Ovkans_Borgharen_piekafvoer_OI2014_W_2100_metOnzHeid_v02.txt +51 -51
- pydra_core/data/statistics/Afvoer/Borgharen/Ovkans_Borgharen_piekafvoer_OI2014_W_2100_v02.txt +44 -44
- pydra_core/data/statistics/Afvoer/Borgharen/Ovkans_Borgharen_piekafvoer_Ref.txt +27 -27
- pydra_core/data/statistics/Afvoer/Dalfsen/Ovkans_Dalfsen_piekafvoer_2017.txt +30 -30
- pydra_core/data/statistics/Afvoer/Dalfsen/Ovkans_Dalfsen_piekafvoer_2017_metOnzHeid.txt +32 -32
- pydra_core/data/statistics/Afvoer/Dalfsen/Ovkans_Dalfsen_piekafvoer_OI2014_G_2015.txt +44 -44
- pydra_core/data/statistics/Afvoer/Dalfsen/Ovkans_Dalfsen_piekafvoer_OI2014_G_2015_metOnzHeid.txt +33 -33
- pydra_core/data/statistics/Afvoer/Dalfsen/Ovkans_Dalfsen_piekafvoer_OI2014_G_2050.txt +44 -44
- pydra_core/data/statistics/Afvoer/Dalfsen/Ovkans_Dalfsen_piekafvoer_OI2014_G_2050_metOnzHeid.txt +33 -33
- pydra_core/data/statistics/Afvoer/Dalfsen/Ovkans_Dalfsen_piekafvoer_OI2014_G_2100.txt +44 -44
- pydra_core/data/statistics/Afvoer/Dalfsen/Ovkans_Dalfsen_piekafvoer_OI2014_G_2100_metOnzHeid.txt +38 -38
- pydra_core/data/statistics/Afvoer/Dalfsen/Ovkans_Dalfsen_piekafvoer_OI2014_W_2015.txt +44 -44
- pydra_core/data/statistics/Afvoer/Dalfsen/Ovkans_Dalfsen_piekafvoer_OI2014_W_2015_metOnzHeid.txt +33 -33
- pydra_core/data/statistics/Afvoer/Dalfsen/Ovkans_Dalfsen_piekafvoer_OI2014_W_2050.txt +44 -44
- pydra_core/data/statistics/Afvoer/Dalfsen/Ovkans_Dalfsen_piekafvoer_OI2014_W_2050_metOnzHeid.txt +33 -33
- pydra_core/data/statistics/Afvoer/Dalfsen/Ovkans_Dalfsen_piekafvoer_OI2014_W_2100.txt +44 -44
- pydra_core/data/statistics/Afvoer/Dalfsen/Ovkans_Dalfsen_piekafvoer_OI2014_W_2100_metOnzHeid.txt +33 -33
- pydra_core/data/statistics/Afvoer/Dalfsen/Ovkans_Dalfsen_piekafvoer_Ref.txt +13 -13
- pydra_core/data/statistics/Afvoer/Lith/Ovkans_Lith_piekafvoer_2017.txt +47 -47
- pydra_core/data/statistics/Afvoer/Lith/Ovkans_Lith_piekafvoer_2017_metOnzHeid.txt +47 -47
- pydra_core/data/statistics/Afvoer/Lith/Ovkans_Lith_piekafvoer_OI2014_G_2015.txt +49 -49
- pydra_core/data/statistics/Afvoer/Lith/Ovkans_Lith_piekafvoer_OI2014_G_2015_metOnzHeid.txt +58 -58
- pydra_core/data/statistics/Afvoer/Lith/Ovkans_Lith_piekafvoer_OI2014_G_2050.txt +49 -49
- pydra_core/data/statistics/Afvoer/Lith/Ovkans_Lith_piekafvoer_OI2014_G_2050_metOnzHeid.txt +58 -58
- pydra_core/data/statistics/Afvoer/Lith/Ovkans_Lith_piekafvoer_OI2014_G_2100.txt +49 -49
- pydra_core/data/statistics/Afvoer/Lith/Ovkans_Lith_piekafvoer_OI2014_G_2100_metOnzHeid.txt +58 -58
- pydra_core/data/statistics/Afvoer/Lith/Ovkans_Lith_piekafvoer_OI2014_W_2015.txt +49 -49
- pydra_core/data/statistics/Afvoer/Lith/Ovkans_Lith_piekafvoer_OI2014_W_2015_metOnzHeid.txt +58 -58
- pydra_core/data/statistics/Afvoer/Lith/Ovkans_Lith_piekafvoer_OI2014_W_2050.txt +49 -49
- pydra_core/data/statistics/Afvoer/Lith/Ovkans_Lith_piekafvoer_OI2014_W_2050_metOnzHeid.txt +58 -58
- pydra_core/data/statistics/Afvoer/Lith/Ovkans_Lith_piekafvoer_OI2014_W_2100.txt +49 -49
- pydra_core/data/statistics/Afvoer/Lith/Ovkans_Lith_piekafvoer_OI2014_W_2100_metOnzHeid.txt +58 -58
- pydra_core/data/statistics/Afvoer/Lith/Ovkans_Lith_piekafvoer_Ref.txt +20 -20
- pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_2017.txt +33 -33
- pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_2017_metOnzHeid.txt +59 -59
- pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_G_2015.txt +49 -49
- pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_G_2015_BenedenRijn.txt +49 -49
- pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_G_2015_metOnzHeid.txt +62 -62
- pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_G_2015_metOnzHeid_BenedenRijn.txt +65 -65
- pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_G_2050.txt +49 -49
- pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_G_2050_BenedenRijn.txt +49 -49
- pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_G_2050_metOnzHeid.txt +62 -62
- pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_G_2050_metOnzHeid_BenedenRijn.txt +64 -64
- pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_G_2100.txt +49 -49
- pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_G_2100_BenedenRijn.txt +49 -49
- pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_G_2100_metOnzHeid.txt +62 -62
- pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_G_2100_metOnzHeid_BenedenRijn.txt +64 -64
- pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_W_2015.txt +50 -50
- pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_W_2015_BenedenRijn.txt +50 -50
- pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_W_2015_metOnzHeid.txt +62 -62
- pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_W_2015_metOnzHeid_BenedenRijn.txt +64 -64
- pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_W_2050.txt +50 -50
- pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_W_2050_BenedenRijn.txt +50 -50
- pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_W_2050_metOnzHeid.txt +62 -62
- pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_W_2050_metOnzHeid_BenedenRijn.txt +64 -64
- pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_W_2100.txt +50 -50
- pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_W_2100_BenedenRijn.txt +50 -50
- pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_W_2100_metOnzHeid.txt +62 -62
- pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_OI2014_W_2100_metOnzHeid_BenedenRijn.txt +65 -65
- pydra_core/data/statistics/Afvoer/Lobith/Ovkans_Lobith_piekafvoer_Ref.txt +22 -22
- pydra_core/data/statistics/Afvoer/Olst/Ovkans_Olst_piekafvoer_2017.txt +55 -55
- pydra_core/data/statistics/Afvoer/Olst/Ovkans_Olst_piekafvoer_2017_metOnzHeid.txt +55 -55
- pydra_core/data/statistics/Afvoer/Olst/Ovkans_Olst_piekafvoer_OI2014_G_2015.txt +46 -46
- pydra_core/data/statistics/Afvoer/Olst/Ovkans_Olst_piekafvoer_OI2014_G_2015_metOnzHeid.txt +64 -64
- pydra_core/data/statistics/Afvoer/Olst/Ovkans_Olst_piekafvoer_OI2014_G_2050.txt +46 -46
- pydra_core/data/statistics/Afvoer/Olst/Ovkans_Olst_piekafvoer_OI2014_G_2050_metOnzHeid.txt +64 -64
- pydra_core/data/statistics/Afvoer/Olst/Ovkans_Olst_piekafvoer_OI2014_G_2100.txt +46 -46
- pydra_core/data/statistics/Afvoer/Olst/Ovkans_Olst_piekafvoer_OI2014_G_2100_metOnzHeid.txt +64 -64
- pydra_core/data/statistics/Afvoer/Olst/Ovkans_Olst_piekafvoer_OI2014_W_2015.txt +47 -47
- pydra_core/data/statistics/Afvoer/Olst/Ovkans_Olst_piekafvoer_OI2014_W_2015_metOnzHeid.txt +64 -64
- pydra_core/data/statistics/Afvoer/Olst/Ovkans_Olst_piekafvoer_OI2014_W_2050.txt +47 -47
- pydra_core/data/statistics/Afvoer/Olst/Ovkans_Olst_piekafvoer_OI2014_W_2050_metOnzHeid.txt +64 -64
- pydra_core/data/statistics/Afvoer/Olst/Ovkans_Olst_piekafvoer_OI2014_W_2100.txt +47 -47
- pydra_core/data/statistics/Afvoer/Olst/Ovkans_Olst_piekafvoer_OI2014_W_2100_metOnzHeid.txt +64 -64
- pydra_core/data/statistics/Afvoer/Olst/Ovkans_Olst_piekafvoer_Ref.txt +14 -14
- pydra_core/data/statistics/Golfvorm/Borgharen/Golfvormen_Borgharen.txt +76 -76
- pydra_core/data/statistics/Golfvorm/Dalfsen/Golfvormen_Dalfsen.txt +83 -83
- pydra_core/data/statistics/Golfvorm/Grevelingenmeer/Golfvormen_Grevelingenmeer.txt +33 -33
- pydra_core/data/statistics/Golfvorm/IJsselmeer/Golfvormen_IJsselmeer.txt +83 -83
- pydra_core/data/statistics/Golfvorm/Lith/Golfvormen_Lith.txt +76 -76
- pydra_core/data/statistics/Golfvorm/Lobith/Golfvormen_Lobith.txt +76 -76
- pydra_core/data/statistics/Golfvorm/Markermeer/Golfvormen_Markermeer.txt +139 -139
- pydra_core/data/statistics/Golfvorm/Olst/Golfvormen_Olst.txt +83 -83
- pydra_core/data/statistics/Golfvorm/Veerse Meer/Golfvormen_Veersemeer.txt +53 -53
- pydra_core/data/statistics/Golfvorm/Veluwerandmeer/Golfvormen_Veluwerandmeer.txt +139 -139
- pydra_core/data/statistics/Golfvorm/Volkerak-Zoommeer/Golfvormen_Volkerakzoommeer.txt +73 -73
- pydra_core/data/statistics/Meerpeil/Grevelingenmeer/Ovkans_Grevelingenmeer_piekmeerpeil_2017.txt +12 -12
- pydra_core/data/statistics/Meerpeil/Grevelingenmeer/Ovkans_Grevelingenmeer_piekmeerpeil_2017_metOnzHeid.txt +24 -24
- pydra_core/data/statistics/Meerpeil/Grevelingenmeer/Ovkans_Grevelingenmeer_piekmeerpeil_v01.txt +12 -12
- pydra_core/data/statistics/Meerpeil/IJsselmeer/Ovkans_IJsselmeer_piekmeerpeil_2017.txt +25 -25
- pydra_core/data/statistics/Meerpeil/IJsselmeer/Ovkans_IJsselmeer_piekmeerpeil_2017_metOnzHeid.txt +39 -39
- pydra_core/data/statistics/Meerpeil/IJsselmeer/Ovkans_IJsselmeer_piekmeerpeil_v01.txt +14 -14
- pydra_core/data/statistics/Meerpeil/Markermeer/Ovkans_Markermeer_piekmeerpeil_2017.txt +18 -18
- pydra_core/data/statistics/Meerpeil/Markermeer/Ovkans_Markermeer_piekmeerpeil_2017_metOnzHeid.txt +37 -37
- pydra_core/data/statistics/Meerpeil/Markermeer/Ovkans_Markermeer_piekmeerpeil_v01.txt +10 -10
- pydra_core/data/statistics/Meerpeil/Veerse Meer/Ovkans_Veersemeer_piekmeerpeil_excl_peilverhoging.txt +13 -13
- pydra_core/data/statistics/Meerpeil/Veerse Meer/Ovkans_Veersemeer_piekmeerpeil_v01.txt +15 -15
- pydra_core/data/statistics/Meerpeil/Veluwerandmeer/Ovkans_Veluwerandmeer_piekmeerpeil_2017.txt +13 -13
- pydra_core/data/statistics/Meerpeil/Veluwerandmeer/Ovkans_Veluwerandmeer_piekmeerpeil_2017_metOnzHeid.txt +36 -36
- pydra_core/data/statistics/Meerpeil/Veluwerandmeer/Ovkans_Veluwerandmeer_piekmeerpeil_v01.txt +13 -13
- pydra_core/data/statistics/Meerpeil/Volkerak-Zoommeer/Ovkans_VZM_piekmeerpeil_BER-VZM.txt +17 -17
- pydra_core/data/statistics/Meerpeil/Volkerak-Zoommeer/Ovkans_VZM_piekmeerpeil_BER-VZM_metOnzHeid.txt +42 -42
- pydra_core/data/statistics/Restant/Oosterschelde/BesliskansenOSKering.txt +524 -524
- pydra_core/data/statistics/Restant/Oosterschelde/KansenFaseverschil_2023.txt +7 -7
- pydra_core/data/statistics/Restant/Oosterschelde/KansenFaseverschil_OS.txt +13 -13
- pydra_core/data/statistics/Restant/Oosterschelde/KansenStormduur_OS.txt +14 -14
- pydra_core/data/statistics/Restant/Oosterschelde/KansenStormduur_OS_40_60_80uur_2023.txt +16 -16
- pydra_core/data/statistics/Restant/Oosterschelde/ScenariokansenOSKering_2008.txt +23 -23
- pydra_core/data/statistics/Restant/Oosterschelde/ScenariokansenOSKering_2013.txt +18 -18
- pydra_core/data/statistics/Restant/Oosterschelde/ScenariokansenOSKering_2017.txt +18 -18
- pydra_core/data/statistics/Restant/Oosterschelde/ScenariokansenOSKering_2023.txt +13 -13
- pydra_core/data/statistics/Restant/Up2U/Up2U10.dat +59 -59
- pydra_core/data/statistics/Restant/Up2U/Up2Up.dat +59 -59
- pydra_core/data/statistics/Restant/Up2U/Up2Ustar.dat +59 -59
- pydra_core/data/statistics/Restant/hulpdijken.txt +59 -59
- pydra_core/data/statistics/Restant/hulpgolfhoogtes.txt +23 -23
- pydra_core/data/statistics/Restant/hulpgolfperiodes.txt +38 -38
- pydra_core/data/statistics/Restant/kansstormduur.txt +8 -8
- pydra_core/data/statistics/Restant/pwind_west.txt +33 -33
- pydra_core/data/statistics/Restant/pwind_west_met_Volkerfactor.txt +33 -33
- pydra_core/data/statistics/Restant/pwind_west_zonder_Volkerfactor.txt +33 -33
- pydra_core/data/statistics/Sigmafunctie/Hollandse Kust Midden/VS_sigmafunctie_Kust_Midden.txt +18 -18
- pydra_core/data/statistics/Sigmafunctie/Hollandse Kust Midden/VS_sigmafunctie_Kust_Midden_2017.txt +22 -22
- pydra_core/data/statistics/Sigmafunctie/Hollandse Kust Noord/VS_sigmafunctie_Kust_Noord.txt +18 -18
- pydra_core/data/statistics/Sigmafunctie/Hollandse Kust Noord/VS_sigmafunctie_Kust_Noord_2017.txt +22 -22
- pydra_core/data/statistics/Sigmafunctie/Hollandse Kust Zuid/VS_sigmafunctie_Kust_Zuid.txt +18 -18
- pydra_core/data/statistics/Sigmafunctie/Hollandse Kust Zuid/VS_sigmafunctie_Kust_Zuid_2017.txt +22 -22
- pydra_core/data/statistics/Sigmafunctie/Oosterschelde/VS_sigmafunctie_OS.txt +21 -21
- pydra_core/data/statistics/Sigmafunctie/Oosterschelde/VS_sigmafunctie_OS_16sectoren_2023.txt +23 -23
- pydra_core/data/statistics/Sigmafunctie/Oosterschelde/VS_sigmafunctie_OS_2017.txt +21 -21
- pydra_core/data/statistics/Sigmafunctie/Waddenzee Oost/VS_sigmafunctie_WZ_oost.txt +18 -18
- pydra_core/data/statistics/Sigmafunctie/Waddenzee Oost/VS_sigmafunctie_WZ_oost_2017.txt +22 -22
- pydra_core/data/statistics/Sigmafunctie/Waddenzee West/VS_sigmafunctie_WZ_west.txt +18 -18
- pydra_core/data/statistics/Sigmafunctie/Waddenzee West/VS_sigmafunctie_WZ_west_2017.txt +22 -22
- pydra_core/data/statistics/Sigmafunctie/Westerschelde/VS_sigmafunctie_WS.txt +18 -18
- pydra_core/data/statistics/Sigmafunctie/Westerschelde/VS_sigmafunctie_WS_2017.txt +22 -22
- pydra_core/data/statistics/Sluitpeilen/Sluitfunctie Europoortkering Maas 2017.csv +630 -630
- pydra_core/data/statistics/Sluitpeilen/Sluitfunctie Europoortkering Rijn 2017.csv +630 -630
- pydra_core/data/statistics/Sluitpeilen/Sluitfunctie Hollandsche IJsselkering.csv +757 -757
- pydra_core/data/statistics/Sluitpeilen/Sluitfunctie Oosterscheldekering 2017.csv +55080 -55080
- pydra_core/data/statistics/Topduur/Borgharen/Topduur_Borgharen_2017.txt +18 -18
- pydra_core/data/statistics/Topduur/Borgharen/Topduur_Borgharen_v00.txt +14 -14
- pydra_core/data/statistics/Topduur/Dalfsen/Topduur_Dalfsen_2017.txt +19 -19
- pydra_core/data/statistics/Topduur/Dalfsen/Topduur_Dalfsen_v01.txt +15 -15
- pydra_core/data/statistics/Topduur/Grevelingenmeer/Topduur_Grevelingenmeer_2017.txt +13 -13
- pydra_core/data/statistics/Topduur/Grevelingenmeer/Topduur_Grevelingenmeer_v01.txt +13 -13
- pydra_core/data/statistics/Topduur/IJsselmeer/Topduur_IJsselmeer_2017.txt +19 -19
- pydra_core/data/statistics/Topduur/IJsselmeer/Topduur_IJsselmeer_v01.txt +14 -14
- pydra_core/data/statistics/Topduur/Lith/Topduur_Lith_2017.txt +18 -18
- pydra_core/data/statistics/Topduur/Lith/Topduur_Lith_v01.txt +17 -17
- pydra_core/data/statistics/Topduur/Lobith/Topduur_Lobith_2017.txt +18 -18
- pydra_core/data/statistics/Topduur/Lobith/Topduur_Lobith_v01.txt +16 -16
- pydra_core/data/statistics/Topduur/Markermeer/Topduur_Markermeer_2017.txt +19 -19
- pydra_core/data/statistics/Topduur/Markermeer/Topduur_Markermeer_v01.txt +11 -11
- pydra_core/data/statistics/Topduur/Olst/Topduur_Olst_2017.txt +19 -19
- pydra_core/data/statistics/Topduur/Olst/Topduur_Olst_v01.txt +15 -15
- pydra_core/data/statistics/Topduur/Veerse Meer/Topduur_Veersemeer_excl_peilverhoging.txt +12 -12
- pydra_core/data/statistics/Topduur/Veerse Meer/Topduur_Veersemeer_v01.txt +15 -15
- pydra_core/data/statistics/Topduur/Veluwerandmeer/Topduur_Veluwerandmeer_2017.txt +11 -11
- pydra_core/data/statistics/Topduur/Veluwerandmeer/Topduur_Veluwerandmeer_v01.txt +11 -11
- pydra_core/data/statistics/Topduur/Volkerak-Zoommeer/Topduur_Volkerakzoommeer_BER-VZM.txt +17 -17
- pydra_core/data/statistics/Windrichting/Deelen/Richtingskansen_Deelen_2017.txt +27 -27
- pydra_core/data/statistics/Windrichting/Hollandse Kust/KansenWindrichting_Kust.txt +16 -16
- pydra_core/data/statistics/Windrichting/Hollandse Kust/KansenWindrichting_Kust_2017.txt +23 -23
- pydra_core/data/statistics/Windrichting/Oosterschelde/KansenWindrichting_16sectoren_OS_2023.txt +30 -30
- pydra_core/data/statistics/Windrichting/Oosterschelde/KansenWindrichting_OS.txt +19 -19
- pydra_core/data/statistics/Windrichting/Oosterschelde/KansenWindrichting_OS_2017.txt +23 -23
- pydra_core/data/statistics/Windrichting/Schiphol/Richtingskansen_Schiphol_12sectoren.txt +19 -19
- pydra_core/data/statistics/Windrichting/Schiphol/Richtingskansen_Schiphol_12sectoren_2017.txt +19 -19
- pydra_core/data/statistics/Windrichting/Schiphol/Richtingskansen_Schiphol_2017.txt +27 -27
- pydra_core/data/statistics/Windrichting/Schiphol/kanswindrichting_v01.txt +28 -28
- pydra_core/data/statistics/Windrichting/Waddenzee/KansenWindrichting_WZ.txt +16 -16
- pydra_core/data/statistics/Windrichting/Waddenzee/KansenWindrichting_WZ_2017.txt +23 -23
- pydra_core/data/statistics/Windrichting/Westerschelde/KansenWindrichting_WS.txt +16 -16
- pydra_core/data/statistics/Windrichting/Westerschelde/KansenWindrichting_WS_2017.txt +23 -23
- pydra_core/data/statistics/Windsnelheid/De Kooy/OvkansWindsnelheid_Texel.txt +69 -69
- pydra_core/data/statistics/Windsnelheid/De Kooy/Ovkanswind_de Kooy_2017.txt +91 -91
- pydra_core/data/statistics/Windsnelheid/De Kooy/Ovkanswind_de Kooy_2017_metOnzHeid.txt +91 -91
- pydra_core/data/statistics/Windsnelheid/Deelen/Ovkanswind_Deelen_2017.txt +90 -90
- pydra_core/data/statistics/Windsnelheid/Deelen/Ovkanswind_Deelen_2017_metOnzHeid.txt +90 -90
- pydra_core/data/statistics/Windsnelheid/Hoek van Holland/OvkansWindsnelheid_Hoek van Holland.txt +69 -69
- pydra_core/data/statistics/Windsnelheid/Hoek van Holland/Ovkanswind_Hoek van Holland_2017.txt +91 -91
- pydra_core/data/statistics/Windsnelheid/Hoek van Holland/Ovkanswind_Hoek van Holland_2017_metOnzHeid.txt +91 -91
- pydra_core/data/statistics/Windsnelheid/IJmuiden/OvkansWindsnelheid_IJmuiden.txt +69 -69
- pydra_core/data/statistics/Windsnelheid/IJmuiden/Ovkanswind_IJmuiden_2017.txt +91 -91
- pydra_core/data/statistics/Windsnelheid/IJmuiden/Ovkanswind_IJmuiden_2017_metOnzHeid.txt +91 -91
- pydra_core/data/statistics/Windsnelheid/Schiphol/Ovkanswind_Schiphol_12sectoren.txt +50 -50
- pydra_core/data/statistics/Windsnelheid/Schiphol/Ovkanswind_Schiphol_12sectoren_2017.txt +90 -90
- pydra_core/data/statistics/Windsnelheid/Schiphol/Ovkanswind_Schiphol_12sectoren_2017_metOnzHeid.txt +90 -90
- pydra_core/data/statistics/Windsnelheid/Schiphol/Ovkanswind_Schiphol_12sectoren_2017_metWindDrag.txt +96 -96
- pydra_core/data/statistics/Windsnelheid/Schiphol/Ovkanswind_Schiphol_12sectoren_2017_metWindDrag_metOnzHeid.txt +96 -96
- pydra_core/data/statistics/Windsnelheid/Schiphol/Ovkanswind_Schiphol_16sectoren_2017_metWindDrag.txt +96 -96
- pydra_core/data/statistics/Windsnelheid/Schiphol/Ovkanswind_Schiphol_16sectoren_2017_metWindDrag_metOnzHeid.txt +96 -96
- pydra_core/data/statistics/Windsnelheid/Schiphol/Ovkanswind_Schiphol_2017.txt +90 -90
- pydra_core/data/statistics/Windsnelheid/Schiphol/Ovkanswind_Schiphol_2017_metOnzHeid.txt +90 -90
- pydra_core/data/statistics/Windsnelheid/Schiphol/Ovkanswind_Schiphol_met_Volkerfactor_2017.txt +90 -90
- pydra_core/data/statistics/Windsnelheid/Schiphol/Ovkanswind_Schiphol_met_Volkerfactor_2017_metOnzHeid.txt +90 -90
- pydra_core/data/statistics/Windsnelheid/Schiphol/Ovkanswind_schiphol.txt +57 -57
- pydra_core/data/statistics/Windsnelheid/Schiphol/Ovkanswind_schiphol_10%.txt +63 -63
- pydra_core/data/statistics/Windsnelheid/Schiphol/Ovkanswind_schiphol_5%.txt +61 -61
- pydra_core/data/statistics/Windsnelheid/Schiphol/Ovkanswind_schiphol_B_met volker.txt +59 -59
- pydra_core/data/statistics/Windsnelheid/Vlissingen/OvkansWindsnelheid_OS.txt +66 -66
- pydra_core/data/statistics/Windsnelheid/Vlissingen/OvkansWindsnelheid_Vlissingen.txt +69 -69
- pydra_core/data/statistics/Windsnelheid/Vlissingen/Ovkanswind_Vlissingen_16sectoren_2023.txt +91 -91
- pydra_core/data/statistics/Windsnelheid/Vlissingen/Ovkanswind_Vlissingen_16sectoren_2023_metOnzHeid.txt +90 -90
- pydra_core/data/statistics/Windsnelheid/Vlissingen/Ovkanswind_Vlissingen_2017.txt +91 -91
- pydra_core/data/statistics/Windsnelheid/Vlissingen/Ovkanswind_Vlissingen_2017_metOnzHeid.txt +91 -91
- pydra_core/data/statistics/Windsnelheid/Vlissingen/Ovkanswind_Vlissingen_2017_metWindDrag.txt +96 -96
- pydra_core/data/statistics/Windsnelheid/Vlissingen/Ovkanswind_Vlissingen_2017_metWindDrag_metOnzHeid.txt +96 -96
- pydra_core/data/statistics/Windsnelheid/West-Terschelling/OvkansWindsnelheid_West-Tersch.txt +69 -69
- pydra_core/data/statistics/Windsnelheid/West-Terschelling/Ovkanswind_West Terschelling_2017.txt +91 -91
- pydra_core/data/statistics/Windsnelheid/West-Terschelling/Ovkanswind_West Terschelling_2017_metOnzHeid.txt +91 -91
- pydra_core/data/statistics/Zeewaterstand/Delfzijl/CondPovDelfzijl_12u_zichtjaar1985_2017.txt +81 -81
- pydra_core/data/statistics/Zeewaterstand/Delfzijl/CondPovDelfzijl_12u_zichtjaar1985_2017_metOnzHeid.txt +81 -81
- pydra_core/data/statistics/Zeewaterstand/Delfzijl/CondPovDelfzijl_12u_zichtjaar2017.txt +81 -81
- pydra_core/data/statistics/Zeewaterstand/Delfzijl/CondPovDelfzijl_12u_zichtjaar2017_metOnzHeid.txt +81 -81
- pydra_core/data/statistics/Zeewaterstand/Delfzijl/OvkansZee_Delfzijl.txt +70 -70
- pydra_core/data/statistics/Zeewaterstand/Den Helder/CondPovDenHelder_12u_zichtjaar1985_2017.txt +89 -89
- pydra_core/data/statistics/Zeewaterstand/Den Helder/CondPovDenHelder_12u_zichtjaar1985_2017_metOnzHeid.txt +89 -89
- pydra_core/data/statistics/Zeewaterstand/Den Helder/CondPovDenHelder_12u_zichtjaar2017.txt +88 -88
- pydra_core/data/statistics/Zeewaterstand/Den Helder/CondPovDenHelder_12u_zichtjaar2017_metOnzHeid.txt +88 -88
- pydra_core/data/statistics/Zeewaterstand/Den Helder/OvkansZee_Den Helder.txt +70 -70
- pydra_core/data/statistics/Zeewaterstand/Den Oever/CondPovDenOeverBuiten_12u_zichtjaar1985_2017.txt +88 -88
- pydra_core/data/statistics/Zeewaterstand/Den Oever/CondPovDenOeverBuiten_12u_zichtjaar1985_2017_metOnzHeid.txt +88 -88
- pydra_core/data/statistics/Zeewaterstand/Den Oever/CondPovDenOeverBuiten_12u_zichtjaar2017.txt +87 -87
- pydra_core/data/statistics/Zeewaterstand/Den Oever/CondPovDenOeverBuiten_12u_zichtjaar2017_metOnzHeid.txt +87 -87
- pydra_core/data/statistics/Zeewaterstand/Den Oever/OvkansZee_Den Oever.txt +70 -70
- pydra_core/data/statistics/Zeewaterstand/Hansweert/CondPovHansweert_12u_zichtjaar1985_2017.txt +71 -71
- pydra_core/data/statistics/Zeewaterstand/Hansweert/CondPovHansweert_12u_zichtjaar1985_2017_metOnzHeid.txt +71 -71
- pydra_core/data/statistics/Zeewaterstand/Hansweert/CondPovHansweert_12u_zichtjaar2017.txt +70 -70
- pydra_core/data/statistics/Zeewaterstand/Hansweert/CondPovHansweert_12u_zichtjaar2017_metOnzHeid.txt +70 -70
- pydra_core/data/statistics/Zeewaterstand/Hansweert/OvkansZee_Hansweert.txt +70 -70
- pydra_core/data/statistics/Zeewaterstand/Harlingen/CondPovHarlingen_12u_zichtjaar1985_2017.txt +85 -85
- pydra_core/data/statistics/Zeewaterstand/Harlingen/CondPovHarlingen_12u_zichtjaar1985_2017_metOnzHeid.txt +85 -85
- pydra_core/data/statistics/Zeewaterstand/Harlingen/CondPovHarlingen_12u_zichtjaar2017.txt +84 -84
- pydra_core/data/statistics/Zeewaterstand/Harlingen/CondPovHarlingen_12u_zichtjaar2017_metOnzHeid.txt +84 -84
- pydra_core/data/statistics/Zeewaterstand/Harlingen/OvkansZee_Harlingen.txt +70 -70
- pydra_core/data/statistics/Zeewaterstand/Hoek van Holland/CondPovHoekvanHolland_12u_zichtjaar1985_2017.txt +84 -84
- pydra_core/data/statistics/Zeewaterstand/Hoek van Holland/CondPovHoekvanHolland_12u_zichtjaar1985_2017_metOnzHeid.txt +84 -84
- pydra_core/data/statistics/Zeewaterstand/Hoek van Holland/CondPovHoekvanHolland_12u_zichtjaar2017.txt +83 -83
- pydra_core/data/statistics/Zeewaterstand/Hoek van Holland/CondPovHoekvanHolland_12u_zichtjaar2017_metOnzHeid.txt +83 -83
- pydra_core/data/statistics/Zeewaterstand/Hoek van Holland/OvkansZee_Hoek van Holland.txt +70 -70
- pydra_core/data/statistics/Zeewaterstand/Huibertgat/CondPovHuibertgat_12u_zichtjaar1985_2017.txt +86 -86
- pydra_core/data/statistics/Zeewaterstand/Huibertgat/CondPovHuibertgat_12u_zichtjaar1985_2017_metOnzHeid.txt +86 -86
- pydra_core/data/statistics/Zeewaterstand/Huibertgat/CondPovHuibertgat_12u_zichtjaar2017.txt +85 -85
- pydra_core/data/statistics/Zeewaterstand/Huibertgat/CondPovHuibertgat_12u_zichtjaar2017_metOnzHeid.txt +85 -85
- pydra_core/data/statistics/Zeewaterstand/Huibertgat/OvkansZee_Huibertgat.txt +70 -70
- pydra_core/data/statistics/Zeewaterstand/IJmuiden/CondPovIJmuiden_12u_zichtjaar1985_2017.txt +85 -85
- pydra_core/data/statistics/Zeewaterstand/IJmuiden/CondPovIJmuiden_12u_zichtjaar1985_2017_metOnzHeid.txt +85 -85
- pydra_core/data/statistics/Zeewaterstand/IJmuiden/CondPovIJmuiden_12u_zichtjaar2017.txt +85 -85
- pydra_core/data/statistics/Zeewaterstand/IJmuiden/CondPovIJmuiden_12u_zichtjaar2017_metOnzHeid.txt +85 -85
- pydra_core/data/statistics/Zeewaterstand/IJmuiden/OvkansZee_IJmuiden.txt +70 -70
- pydra_core/data/statistics/Zeewaterstand/IJmuiden virtueel/CondPovIJmuiden-Additional_12u_zichtjaar1985_2017.txt +85 -85
- pydra_core/data/statistics/Zeewaterstand/IJmuiden virtueel/CondPovIJmuiden-Additional_12u_zichtjaar1985_2017_metOnzHeid.txt +85 -85
- pydra_core/data/statistics/Zeewaterstand/IJmuiden virtueel/CondPovIJmuiden-Additional_12u_zichtjaar2017.txt +85 -85
- pydra_core/data/statistics/Zeewaterstand/IJmuiden virtueel/CondPovIJmuiden-Additional_12u_zichtjaar2017_metOnzHeid.txt +85 -85
- pydra_core/data/statistics/Zeewaterstand/IJmuiden virtueel/OvkansZee_IJmuiden_virtueel.txt +70 -70
- pydra_core/data/statistics/Zeewaterstand/Lauwersoog/CondPovLauwersoog_12u_zichtjaar1985_2017.txt +85 -85
- pydra_core/data/statistics/Zeewaterstand/Lauwersoog/CondPovLauwersoog_12u_zichtjaar1985_2017_metOnzHeid.txt +85 -85
- pydra_core/data/statistics/Zeewaterstand/Lauwersoog/CondPovLauwersoog_12u_zichtjaar2017.txt +84 -84
- pydra_core/data/statistics/Zeewaterstand/Lauwersoog/CondPovLauwersoog_12u_zichtjaar2017_metOnzHeid.txt +84 -84
- pydra_core/data/statistics/Zeewaterstand/Lauwersoog/OvkansZee_Lauwersoog.txt +70 -70
- pydra_core/data/statistics/Zeewaterstand/Maasmond/CondPovMaasmond_12u_zichtjaar1985_2011.txt +88 -88
- pydra_core/data/statistics/Zeewaterstand/Maasmond/CondPovMaasmond_12u_zichtjaar1985_2017.txt +88 -88
- pydra_core/data/statistics/Zeewaterstand/Maasmond/CondPovMaasmond_12u_zichtjaar1985_2017_metOnzheid.txt +92 -92
- pydra_core/data/statistics/Zeewaterstand/Maasmond/CondPovMaasmond_12u_zichtjaar2017.txt +85 -85
- pydra_core/data/statistics/Zeewaterstand/Maasmond/CondPovMaasmond_12u_zichtjaar2017_metOnzheid.txt +85 -85
- pydra_core/data/statistics/Zeewaterstand/Oosterschelde/CondPovOS11_12u_zichtjaar1985_2017.txt +79 -79
- pydra_core/data/statistics/Zeewaterstand/Oosterschelde/CondPovOS11_12u_zichtjaar1985_2017_metOnzHeid.txt +79 -79
- pydra_core/data/statistics/Zeewaterstand/Oosterschelde/CondPovOS11_12u_zichtjaar2017.txt +79 -79
- pydra_core/data/statistics/Zeewaterstand/Oosterschelde/CondPovOS11_12u_zichtjaar2017_metOnzHeid.txt +79 -79
- pydra_core/data/statistics/Zeewaterstand/Oosterschelde/CondPovOS11_16sectoren_12u_2023.txt +74 -74
- pydra_core/data/statistics/Zeewaterstand/Oosterschelde/CondPovOS11_16sectoren_12u_2023_metOnzHeid.txt +73 -73
- pydra_core/data/statistics/Zeewaterstand/Oosterschelde/OvkansZee_OS11.txt +70 -70
- pydra_core/data/statistics/Zeewaterstand/Oosterschelde/OvkansZeewaterstand_OS.txt +71 -71
- pydra_core/data/statistics/Zeewaterstand/Vlissingen/CondPovVlissingen_12u_zichtjaar1985_2017.txt +74 -74
- pydra_core/data/statistics/Zeewaterstand/Vlissingen/CondPovVlissingen_12u_zichtjaar1985_2017_metOnzHeid.txt +74 -74
- pydra_core/data/statistics/Zeewaterstand/Vlissingen/CondPovVlissingen_12u_zichtjaar2017.txt +74 -74
- pydra_core/data/statistics/Zeewaterstand/Vlissingen/CondPovVlissingen_12u_zichtjaar2017_metOnzHeid.txt +74 -74
- pydra_core/data/statistics/Zeewaterstand/Vlissingen/OvkansZee_Vlissingen.txt +70 -70
- pydra_core/data/statistics/Zeewaterstand/Vlissingen virtueel/CondPovVlissingen-Additional_12u_zichtjaar1985_2017.txt +74 -74
- pydra_core/data/statistics/Zeewaterstand/Vlissingen virtueel/CondPovVlissingen-Additional_12u_zichtjaar1985_2017_metOnzHeid.txt +74 -74
- pydra_core/data/statistics/Zeewaterstand/Vlissingen virtueel/CondPovVlissingen-Additional_12u_zichtjaar2017.txt +74 -74
- pydra_core/data/statistics/Zeewaterstand/Vlissingen virtueel/CondPovVlissingen-Additional_12u_zichtjaar2017_metOnzHeid.txt +74 -74
- pydra_core/data/statistics/Zeewaterstand/Vlissingen virtueel/OvkansZee_Vlissingen_virtueel.txt +70 -70
- pydra_core/data/statistics/Zeewaterstand/West-Terschelling/CondPovWestTerschelling_12u_zichtjaar1985_2017.txt +87 -87
- pydra_core/data/statistics/Zeewaterstand/West-Terschelling/CondPovWestTerschelling_12u_zichtjaar1985_2017_metOnzHeid.txt +87 -87
- pydra_core/data/statistics/Zeewaterstand/West-Terschelling/CondPovWestTerschelling_12u_zichtjaar2017.txt +86 -86
- pydra_core/data/statistics/Zeewaterstand/West-Terschelling/CondPovWestTerschelling_12u_zichtjaar2017_metOnzHeid.txt +86 -86
- pydra_core/data/statistics/Zeewaterstand/West-Terschelling/OvkansZee_West-Terschelling.txt +70 -70
- pydra_core/hrdatabase/hrdatabase.py +177 -177
- pydra_core/io/database_hr.py +598 -598
- pydra_core/io/database_settings.py +183 -183
- pydra_core/io/file_hydranl.py +92 -92
- pydra_core/location/location.py +115 -115
- pydra_core/location/model/base_model.py +270 -270
- pydra_core/location/model/loading/loading.py +368 -368
- pydra_core/location/model/loading/loading_factory.py +89 -89
- pydra_core/location/model/loading/loading_model/loading_model.py +324 -324
- pydra_core/location/model/loading/other_systems/loading_wave_overtopping.py +122 -122
- pydra_core/location/model/loading/water_systems/loading_coast.py +54 -54
- pydra_core/location/model/loading/water_systems/loading_eastern_scheldt.py +169 -169
- pydra_core/location/model/loading/water_systems/loading_ijssel_vechtdelta.py +55 -55
- pydra_core/location/model/loading/water_systems/loading_lake.py +55 -55
- pydra_core/location/model/loading/water_systems/loading_lower_rivier.py +68 -68
- pydra_core/location/model/loading/water_systems/loading_upper_river.py +55 -55
- pydra_core/location/model/statistics/other_systems/statistics_wave_overtopping.py +72 -72
- pydra_core/location/model/statistics/statistics.py +171 -171
- pydra_core/location/model/statistics/statistics_factory.py +89 -89
- pydra_core/location/model/statistics/stochastics/barrier/barrier.py +43 -43
- pydra_core/location/model/statistics/stochastics/barrier/barrier_easternscheldt.py +147 -147
- pydra_core/location/model/statistics/stochastics/barrier/barrier_europoort.py +209 -209
- pydra_core/location/model/statistics/stochastics/barrier/barrier_ramspol.py +41 -41
- pydra_core/location/model/statistics/stochastics/barrier/no_barrier.py +21 -21
- pydra_core/location/model/statistics/stochastics/discharge.py +108 -108
- pydra_core/location/model/statistics/stochastics/discrete_probability.py +55 -55
- pydra_core/location/model/statistics/stochastics/lake_level.py +158 -158
- pydra_core/location/model/statistics/stochastics/model_uncertainty.py +358 -358
- pydra_core/location/model/statistics/stochastics/sea_level/sea_level.py +53 -53
- pydra_core/location/model/statistics/stochastics/sea_level/sea_level_lower_river.py +93 -93
- pydra_core/location/model/statistics/stochastics/sea_level/sea_level_point.py +65 -65
- pydra_core/location/model/statistics/stochastics/sea_level/sea_level_triangular.py +158 -158
- pydra_core/location/model/statistics/stochastics/sigma_function.py +24 -24
- pydra_core/location/model/statistics/stochastics/wave_shape.py +624 -624
- pydra_core/location/model/statistics/stochastics/wind_speed.py +196 -196
- pydra_core/location/model/statistics/water_systems/statistics_coast.py +153 -153
- pydra_core/location/model/statistics/water_systems/statistics_eastern_scheldt.py +177 -177
- pydra_core/location/model/statistics/water_systems/statistics_ijssel_vechtdelta.py +229 -229
- pydra_core/location/model/statistics/water_systems/statistics_lake.py +86 -86
- pydra_core/location/model/statistics/water_systems/statistics_lower_river.py +321 -321
- pydra_core/location/model/statistics/water_systems/statistics_upper_river.py +86 -86
- pydra_core/location/model/water_system.py +249 -249
- pydra_core/location/model/wave_overtopping.py +25 -25
- pydra_core/location/profile/foreland.py +246 -246
- pydra_core/location/profile/lib/README.MD +10 -10
- pydra_core/location/profile/profile.py +971 -971
- pydra_core/location/profile/profile_loading.py +473 -473
- pydra_core/location/settings/settings.py +387 -387
- {pydra_core-0.0.1.dist-info → pydra_core-0.0.2.dist-info}/METADATA +18 -3
- pydra_core-0.0.2.dist-info/RECORD +389 -0
- pydra_core-0.0.1.dist-info/RECORD +0 -389
- {pydra_core-0.0.1.dist-info → pydra_core-0.0.2.dist-info}/WHEEL +0 -0
pydra_core/core/calculation.py
CHANGED
@@ -1,51 +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
|
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
|
@@ -1,60 +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]
|
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]
|
@@ -1,224 +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
|
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
|