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
@@ -1,387 +1,387 @@
|
|
1
|
-
import fiona as fn
|
2
|
-
import numpy as np
|
3
|
-
import os
|
4
|
-
import sqlite3
|
5
|
-
|
6
|
-
from shapely.geometry import Point, shape
|
7
|
-
|
8
|
-
from ...common.common import CommonFunctions
|
9
|
-
from ...common.enum import WaterSystem
|
10
|
-
from ...io.database_settings import DatabaseSettings
|
11
|
-
|
12
|
-
|
13
|
-
class Settings:
|
14
|
-
# Non Hydra-NL related
|
15
|
-
watersystem = None
|
16
|
-
|
17
|
-
# Hydra-NL settings (Hydra-NL naming convention in comments)
|
18
|
-
# Location-specific settings
|
19
|
-
location = None # LOCATIE
|
20
|
-
x_coordinate = None # XCOORDINAAT
|
21
|
-
y_coordinate = None # YCOORDINAAT
|
22
|
-
region = None # REGIO
|
23
|
-
river = None # RIVIER
|
24
|
-
sea = None # ZEE
|
25
|
-
lake = None # MEER
|
26
|
-
|
27
|
-
# Block duration
|
28
|
-
block_duration = None # BLOKDUUR
|
29
|
-
periods_block_duration = None # NPERIODENWHJ
|
30
|
-
|
31
|
-
# Wind speed
|
32
|
-
u_repair = None # REPAREER_U
|
33
|
-
u_max = None # UMAX
|
34
|
-
u_step = None # USTAP
|
35
|
-
|
36
|
-
# Discharge
|
37
|
-
q_repair = None # REPAREER_Q
|
38
|
-
q_min = None # QMIN
|
39
|
-
q_max = None # QMAX
|
40
|
-
q_step = None # QSTAP (UNUSED IN PYDRA)
|
41
|
-
q_limit = None # QAFTOP
|
42
|
-
|
43
|
-
# Sea level
|
44
|
-
m_repair = None # REPAREER_M
|
45
|
-
m_min = None # MMIN
|
46
|
-
m_max = None # MMAX
|
47
|
-
m_step = None # MSTAP
|
48
|
-
sea_level_rise = None # ZWS_STIJGING
|
49
|
-
|
50
|
-
# Lake level
|
51
|
-
a_repair = None # REPAREER_A
|
52
|
-
a_min = None # MMIN
|
53
|
-
a_max = None # MMAX
|
54
|
-
a_step = None # MSTAP
|
55
|
-
a_limit = None # MAFTOP
|
56
|
-
lake_level_rise = None # MEERPEIL_STIJGING
|
57
|
-
|
58
|
-
# Europoort
|
59
|
-
europoort_barrier = None # KERING
|
60
|
-
europoort_barrier_distribution = None # VERDELING
|
61
|
-
europoort_barrier_mu = None # MU
|
62
|
-
europoort_barrier_sigma = None # SIGMA
|
63
|
-
europoort_barrier_alfa = None # ALFA
|
64
|
-
|
65
|
-
# Wave form (discharge (q) and lake level (a))
|
66
|
-
base_duration = None # BASISDUUR
|
67
|
-
periods_base_duration = None # NGEGEVENSBLOK
|
68
|
-
waveshape_pw = None # PW
|
69
|
-
waveshape_time_step = None # DISCRSTAPAFVMP
|
70
|
-
top_duration_q = None # TDQNM
|
71
|
-
ifh_q = None # IFHQ
|
72
|
-
ifb_q = None # IFBQ
|
73
|
-
top_duration_a = None # TDMNM
|
74
|
-
ifh_a = None # IFHM
|
75
|
-
ifb_a = None # IFBM
|
76
|
-
|
77
|
-
# Lakes
|
78
|
-
transition_lake_wave_shape = None # VERSCHUIVING
|
79
|
-
sigma_aq = None # SIGMA_MQ
|
80
|
-
|
81
|
-
# Lower riviers (and VZM)
|
82
|
-
transitional_wind = None # TRANSWIND
|
83
|
-
fu = None # FU
|
84
|
-
|
85
|
-
# IJssel-Vechtdelta
|
86
|
-
failure_probability_ramspol = None # FAALKANSKERING
|
87
|
-
|
88
|
-
# Model uncertainty
|
89
|
-
model_uncertainty_water_level_steps = 7 # WS_ONZ_AANTAL
|
90
|
-
model_uncertainty_wave_height_steps = 5 # GH_ONZ_AANTAL
|
91
|
-
model_uncertainty_wave_period_steps = 5 # GP_ONZ_AANTAL
|
92
|
-
|
93
|
-
# File paths
|
94
|
-
# Database
|
95
|
-
database_path = None # DBRVW
|
96
|
-
|
97
|
-
# Wind
|
98
|
-
wind_direction_probability = None # KANSRNM
|
99
|
-
wind_speed_probability = None # OVKANSU
|
100
|
-
|
101
|
-
# Discharge
|
102
|
-
discharge_probability = None # OVKANSQ
|
103
|
-
|
104
|
-
# Lake level
|
105
|
-
lake_level_probability = None # OVKANSM
|
106
|
-
|
107
|
-
# Barrier Eastern Scheldt
|
108
|
-
barrier_scenario_probability = None # KANSENFAALSCENARIO
|
109
|
-
barrier_closing_probability = None # KANSSLUITINGEN
|
110
|
-
|
111
|
-
# Phase difference between storm surge and tide
|
112
|
-
phase_surge_tide_probability = None # KANSENFASEVERSCHIL
|
113
|
-
|
114
|
-
# Sea level
|
115
|
-
sea_level_probability = None # OVKANSM
|
116
|
-
sea_level_probability_point1 = None # OVKANSM_HOEKPUNT1
|
117
|
-
sea_level_probability_point2 = None # OVKANSM_HOEKPUNT2
|
118
|
-
sea_level_probability_point3 = None # OVKANSM_HOEKPUNT3
|
119
|
-
|
120
|
-
# Sigma function
|
121
|
-
sigma_function = None # SIGMAFUNCTIE
|
122
|
-
|
123
|
-
# Storm surge duration
|
124
|
-
storm_surge_duration_probability = None # KANSENSTORMDUUR
|
125
|
-
|
126
|
-
# Wind-Sea level probability (for lower rivers/VZM)
|
127
|
-
wind_sea_level_probability = None # PWINDWESTNM
|
128
|
-
|
129
|
-
def __init__(self, hrdlocation: str, database_path: str):
|
130
|
-
"""
|
131
|
-
Init a Settings object for a location and database
|
132
|
-
|
133
|
-
Parameters
|
134
|
-
----------
|
135
|
-
hrdlocation : str
|
136
|
-
The HRDLocation
|
137
|
-
database_path : str
|
138
|
-
Path to the database
|
139
|
-
"""
|
140
|
-
# Save info
|
141
|
-
self.location = hrdlocation
|
142
|
-
self.database_path = database_path
|
143
|
-
|
144
|
-
# Obtain the x, y coordinates and the water system
|
145
|
-
con = sqlite3.connect(database_path)
|
146
|
-
self.x_coordinate = int(
|
147
|
-
con.execute(
|
148
|
-
f"SELECT XCoordinate FROM HRDLocations WHERE Name = '{hrdlocation}'"
|
149
|
-
).fetchone()[0]
|
150
|
-
)
|
151
|
-
self.y_coordinate = int(
|
152
|
-
con.execute(
|
153
|
-
f"SELECT YCoordinate FROM HRDLocations WHERE Name = '{hrdlocation}'"
|
154
|
-
).fetchone()[0]
|
155
|
-
)
|
156
|
-
self.watersystem = WaterSystem(
|
157
|
-
con.execute("SELECT GeneralId FROM General").fetchone()[0]
|
158
|
-
)
|
159
|
-
con.close()
|
160
|
-
|
161
|
-
# Watersystem specific settings
|
162
|
-
if CommonFunctions.is_lower_rivier(self.watersystem):
|
163
|
-
self.__determine_lower_river_settings()
|
164
|
-
|
165
|
-
# Location specific settings
|
166
|
-
if CommonFunctions.is_coast(self.watersystem):
|
167
|
-
self.__determine_sea_level_statistics_points()
|
168
|
-
|
169
|
-
# Obtain and set settings
|
170
|
-
with DatabaseSettings() as database:
|
171
|
-
settings = database.get_settings(self.watersystem)
|
172
|
-
|
173
|
-
# Loop through settings
|
174
|
-
for _, row in settings.iterrows():
|
175
|
-
# Lowercase
|
176
|
-
key = row["SettingName"]
|
177
|
-
if isinstance(key, str):
|
178
|
-
key = key.lower()
|
179
|
-
|
180
|
-
# Set settings
|
181
|
-
if hasattr(self, key):
|
182
|
-
setattr(self, key, row["SettingValue"])
|
183
|
-
else:
|
184
|
-
raise ValueError(f"[ERROR] Key '{key}' not defined in Settings.")
|
185
|
-
|
186
|
-
# Collect all settings with statistical uncertainty (with '_metOnzHeid')
|
187
|
-
self.__vars_with_statistical_uncertainty = {}
|
188
|
-
for variable in [
|
189
|
-
var
|
190
|
-
for var in dir(self)
|
191
|
-
if not callable(getattr(self, var)) and not var.startswith("__")
|
192
|
-
]:
|
193
|
-
value = getattr(self, variable)
|
194
|
-
if "_metOnzHeid" in str(value):
|
195
|
-
self.__vars_with_statistical_uncertainty[variable] = value
|
196
|
-
|
197
|
-
def include_statistical_uncertainty(self, include: bool):
|
198
|
-
"""
|
199
|
-
Include statistical uncertainty.
|
200
|
-
By default statistical uncertainty is included.
|
201
|
-
|
202
|
-
Parameters
|
203
|
-
----------
|
204
|
-
include : bool
|
205
|
-
Whether to include statistical uncertainty
|
206
|
-
"""
|
207
|
-
# Loop through all variables with statistical uncertainty
|
208
|
-
for setting in self.__vars_with_statistical_uncertainty.keys():
|
209
|
-
value = self.__vars_with_statistical_uncertainty[setting]
|
210
|
-
setattr(
|
211
|
-
self, setting, value if include else value.replace("_metOnzHeid", "")
|
212
|
-
)
|
213
|
-
|
214
|
-
def __determine_sea_level_statistics_points(self):
|
215
|
-
"""
|
216
|
-
The sea level statistics along the coast, Wadden Sea and Western
|
217
|
-
Scheldt are based on triangulation interpolation. This function
|
218
|
-
determines which stations should be used for this interpolation.
|
219
|
-
"""
|
220
|
-
# Coast
|
221
|
-
if self.watersystem in [
|
222
|
-
WaterSystem.COAST_SOUTH,
|
223
|
-
WaterSystem.COAST_CENTRAL,
|
224
|
-
WaterSystem.COAST_NORTH,
|
225
|
-
]:
|
226
|
-
# Obtain table
|
227
|
-
with DatabaseSettings() as database:
|
228
|
-
refpoints = database.get_sea_level_statistic_points(self.watersystem)
|
229
|
-
subsystems = database.get_sea_level_sub_systems(self.watersystem)
|
230
|
-
|
231
|
-
# Determine the subregion
|
232
|
-
if CommonFunctions.position_from_line(
|
233
|
-
"north",
|
234
|
-
(self.x_coordinate, self.y_coordinate),
|
235
|
-
[refpoints.loc["Den Oever"].values, refpoints.loc["Den Helder"].values],
|
236
|
-
):
|
237
|
-
subregion = 1
|
238
|
-
elif self.y_coordinate > refpoints.loc["IJmuiden"].values[1]:
|
239
|
-
subregion = 2
|
240
|
-
elif self.y_coordinate > refpoints.loc["Hoek van Holland"].values[1]:
|
241
|
-
subregion = 3
|
242
|
-
else:
|
243
|
-
subregion = 4
|
244
|
-
|
245
|
-
# Determine subsystem
|
246
|
-
subsystem = subsystems.loc[subregion].to_numpy()
|
247
|
-
|
248
|
-
# Wadden sea
|
249
|
-
elif self.watersystem in [
|
250
|
-
WaterSystem.WADDEN_SEA_WEST,
|
251
|
-
WaterSystem.WADDEN_SEA_EAST,
|
252
|
-
]:
|
253
|
-
# Obtain table
|
254
|
-
with DatabaseSettings() as database:
|
255
|
-
refpoints = database.get_sea_level_statistic_points(self.watersystem)
|
256
|
-
subsystems = database.get_sea_level_sub_systems(self.watersystem)
|
257
|
-
|
258
|
-
# Determine the subregion
|
259
|
-
if CommonFunctions.position_from_line(
|
260
|
-
"east",
|
261
|
-
(self.x_coordinate, self.y_coordinate),
|
262
|
-
[
|
263
|
-
refpoints.loc["Lauwersoog Haven"].values,
|
264
|
-
refpoints.loc["Huibertgat"].values,
|
265
|
-
],
|
266
|
-
):
|
267
|
-
subregion = 1
|
268
|
-
elif CommonFunctions.position_from_line(
|
269
|
-
"north",
|
270
|
-
(self.x_coordinate, self.y_coordinate),
|
271
|
-
[
|
272
|
-
refpoints.loc["Lauwersoog Haven"].values,
|
273
|
-
refpoints.loc["West-Terschelling"].values,
|
274
|
-
],
|
275
|
-
):
|
276
|
-
subregion = 2
|
277
|
-
elif CommonFunctions.position_from_line(
|
278
|
-
"east",
|
279
|
-
(self.x_coordinate, self.y_coordinate),
|
280
|
-
[
|
281
|
-
refpoints.loc["Harlingen"].values,
|
282
|
-
refpoints.loc["West-Terschelling"].values,
|
283
|
-
],
|
284
|
-
):
|
285
|
-
subregion = 3
|
286
|
-
elif CommonFunctions.position_from_line(
|
287
|
-
"east",
|
288
|
-
(self.x_coordinate, self.y_coordinate),
|
289
|
-
[
|
290
|
-
refpoints.loc["Den Oever"].values,
|
291
|
-
refpoints.loc["West-Terschelling"].values,
|
292
|
-
],
|
293
|
-
):
|
294
|
-
subregion = 4
|
295
|
-
elif self.x_coordinate < refpoints.loc["Den Helder"].values[0]:
|
296
|
-
subregion = 5
|
297
|
-
else:
|
298
|
-
subregion = 6
|
299
|
-
|
300
|
-
# Determine subsystem
|
301
|
-
subsystem = subsystems.loc[subregion].to_numpy()
|
302
|
-
|
303
|
-
# Western scheldt
|
304
|
-
elif self.watersystem in [WaterSystem.WESTERN_SCHELDT]:
|
305
|
-
# Set sea level points
|
306
|
-
subsystem = np.array(
|
307
|
-
[
|
308
|
-
"Zeewaterstand\Vlissingen\CondPovVlissingen_12u_zichtjaar2017_metOnzHeid.txt",
|
309
|
-
"Zeewaterstand\Hansweert\CondPovHansweert_12u_zichtjaar2017_metOnzHeid.txt",
|
310
|
-
"Zeewaterstand\Vlissingen virtueel\CondPovVlissingen-Additional_12u_zichtjaar2017_metOnzHeid.txt",
|
311
|
-
]
|
312
|
-
)
|
313
|
-
|
314
|
-
# Not implemented
|
315
|
-
else:
|
316
|
-
raise NotImplementedError(
|
317
|
-
f"[ERROR] Vertices for sea level statistics not implemented for {self.watersystem}."
|
318
|
-
)
|
319
|
-
|
320
|
-
# If the subsystems contains three times the same file, specify the parameter related to a point
|
321
|
-
if len(list(set(subsystem))) == 1:
|
322
|
-
self.sea_level_probability = subsystem[0]
|
323
|
-
|
324
|
-
# Otherwise, set sea level triangulation points
|
325
|
-
else:
|
326
|
-
self.sea_level_probability_point1 = subsystem[0]
|
327
|
-
self.sea_level_probability_point2 = subsystem[1]
|
328
|
-
self.sea_level_probability_point3 = subsystem[2]
|
329
|
-
|
330
|
-
def __determine_lower_river_settings(self):
|
331
|
-
"""
|
332
|
-
Selecting the right settings for the lower rivers
|
333
|
-
"""
|
334
|
-
# Read from shape (MSTAP, MU, SIGMA, ALFA, QSTAP_Maas, QSTAP_rijn)
|
335
|
-
PATH = os.path.join(
|
336
|
-
os.path.split(os.path.dirname(__file__))[0],
|
337
|
-
"..",
|
338
|
-
"data",
|
339
|
-
"settings",
|
340
|
-
"lower_river_settings.shp",
|
341
|
-
)
|
342
|
-
with fn.open(PATH, "r") as shp:
|
343
|
-
# Define the point using Shapely's Point
|
344
|
-
point = Point(self.x_coordinate, self.y_coordinate)
|
345
|
-
|
346
|
-
# Iterate through each subregion in the Shapefile
|
347
|
-
for feature in shp:
|
348
|
-
# Get the geometry of the feature
|
349
|
-
geometry = shape(feature["geometry"])
|
350
|
-
|
351
|
-
# Check if the point is within the geometry
|
352
|
-
if point.within(geometry):
|
353
|
-
# Read settings
|
354
|
-
self.m_step = feature["properties"]["m_step"]
|
355
|
-
self.europoort_barrier_mu = feature["properties"]["ep_mu"]
|
356
|
-
self.europoort_barrier_sigma = feature["properties"]["ep_sigma"]
|
357
|
-
self.europoort_barrier_alfa = feature["properties"]["ep_alpha"]
|
358
|
-
if self.watersystem in [
|
359
|
-
WaterSystem.RHINE_TIDAL,
|
360
|
-
WaterSystem.EUROPOORT,
|
361
|
-
]:
|
362
|
-
self.q_step = feature["properties"]["qs_rhine"]
|
363
|
-
elif self.watersystem == WaterSystem.MEUSE_TIDAL:
|
364
|
-
self.q_step = feature["properties"]["qs_meuse"]
|
365
|
-
else:
|
366
|
-
raise ValueError(
|
367
|
-
f"[ERROR] No lower river settings for {self.watersystem}."
|
368
|
-
)
|
369
|
-
|
370
|
-
# Stop the loop
|
371
|
-
break
|
372
|
-
|
373
|
-
def __repr__(self):
|
374
|
-
"""
|
375
|
-
Formatting when a settings object is printed. This will show all
|
376
|
-
relevant settings with their values in a list.
|
377
|
-
"""
|
378
|
-
lst = []
|
379
|
-
for item in dir(self):
|
380
|
-
if not item.startswith("_"):
|
381
|
-
value = getattr(self, item)
|
382
|
-
if value is None:
|
383
|
-
continue
|
384
|
-
if isinstance(value, (str, float, int, bool)):
|
385
|
-
lst.append(f"{item:30s} = {value}")
|
386
|
-
|
387
|
-
return "\n".join(lst)
|
1
|
+
import fiona as fn
|
2
|
+
import numpy as np
|
3
|
+
import os
|
4
|
+
import sqlite3
|
5
|
+
|
6
|
+
from shapely.geometry import Point, shape
|
7
|
+
|
8
|
+
from ...common.common import CommonFunctions
|
9
|
+
from ...common.enum import WaterSystem
|
10
|
+
from ...io.database_settings import DatabaseSettings
|
11
|
+
|
12
|
+
|
13
|
+
class Settings:
|
14
|
+
# Non Hydra-NL related
|
15
|
+
watersystem = None
|
16
|
+
|
17
|
+
# Hydra-NL settings (Hydra-NL naming convention in comments)
|
18
|
+
# Location-specific settings
|
19
|
+
location = None # LOCATIE
|
20
|
+
x_coordinate = None # XCOORDINAAT
|
21
|
+
y_coordinate = None # YCOORDINAAT
|
22
|
+
region = None # REGIO
|
23
|
+
river = None # RIVIER
|
24
|
+
sea = None # ZEE
|
25
|
+
lake = None # MEER
|
26
|
+
|
27
|
+
# Block duration
|
28
|
+
block_duration = None # BLOKDUUR
|
29
|
+
periods_block_duration = None # NPERIODENWHJ
|
30
|
+
|
31
|
+
# Wind speed
|
32
|
+
u_repair = None # REPAREER_U
|
33
|
+
u_max = None # UMAX
|
34
|
+
u_step = None # USTAP
|
35
|
+
|
36
|
+
# Discharge
|
37
|
+
q_repair = None # REPAREER_Q
|
38
|
+
q_min = None # QMIN
|
39
|
+
q_max = None # QMAX
|
40
|
+
q_step = None # QSTAP (UNUSED IN PYDRA)
|
41
|
+
q_limit = None # QAFTOP
|
42
|
+
|
43
|
+
# Sea level
|
44
|
+
m_repair = None # REPAREER_M
|
45
|
+
m_min = None # MMIN
|
46
|
+
m_max = None # MMAX
|
47
|
+
m_step = None # MSTAP
|
48
|
+
sea_level_rise = None # ZWS_STIJGING
|
49
|
+
|
50
|
+
# Lake level
|
51
|
+
a_repair = None # REPAREER_A
|
52
|
+
a_min = None # MMIN
|
53
|
+
a_max = None # MMAX
|
54
|
+
a_step = None # MSTAP
|
55
|
+
a_limit = None # MAFTOP
|
56
|
+
lake_level_rise = None # MEERPEIL_STIJGING
|
57
|
+
|
58
|
+
# Europoort
|
59
|
+
europoort_barrier = None # KERING
|
60
|
+
europoort_barrier_distribution = None # VERDELING
|
61
|
+
europoort_barrier_mu = None # MU
|
62
|
+
europoort_barrier_sigma = None # SIGMA
|
63
|
+
europoort_barrier_alfa = None # ALFA
|
64
|
+
|
65
|
+
# Wave form (discharge (q) and lake level (a))
|
66
|
+
base_duration = None # BASISDUUR
|
67
|
+
periods_base_duration = None # NGEGEVENSBLOK
|
68
|
+
waveshape_pw = None # PW
|
69
|
+
waveshape_time_step = None # DISCRSTAPAFVMP
|
70
|
+
top_duration_q = None # TDQNM
|
71
|
+
ifh_q = None # IFHQ
|
72
|
+
ifb_q = None # IFBQ
|
73
|
+
top_duration_a = None # TDMNM
|
74
|
+
ifh_a = None # IFHM
|
75
|
+
ifb_a = None # IFBM
|
76
|
+
|
77
|
+
# Lakes
|
78
|
+
transition_lake_wave_shape = None # VERSCHUIVING
|
79
|
+
sigma_aq = None # SIGMA_MQ
|
80
|
+
|
81
|
+
# Lower riviers (and VZM)
|
82
|
+
transitional_wind = None # TRANSWIND
|
83
|
+
fu = None # FU
|
84
|
+
|
85
|
+
# IJssel-Vechtdelta
|
86
|
+
failure_probability_ramspol = None # FAALKANSKERING
|
87
|
+
|
88
|
+
# Model uncertainty
|
89
|
+
model_uncertainty_water_level_steps = 7 # WS_ONZ_AANTAL
|
90
|
+
model_uncertainty_wave_height_steps = 5 # GH_ONZ_AANTAL
|
91
|
+
model_uncertainty_wave_period_steps = 5 # GP_ONZ_AANTAL
|
92
|
+
|
93
|
+
# File paths
|
94
|
+
# Database
|
95
|
+
database_path = None # DBRVW
|
96
|
+
|
97
|
+
# Wind
|
98
|
+
wind_direction_probability = None # KANSRNM
|
99
|
+
wind_speed_probability = None # OVKANSU
|
100
|
+
|
101
|
+
# Discharge
|
102
|
+
discharge_probability = None # OVKANSQ
|
103
|
+
|
104
|
+
# Lake level
|
105
|
+
lake_level_probability = None # OVKANSM
|
106
|
+
|
107
|
+
# Barrier Eastern Scheldt
|
108
|
+
barrier_scenario_probability = None # KANSENFAALSCENARIO
|
109
|
+
barrier_closing_probability = None # KANSSLUITINGEN
|
110
|
+
|
111
|
+
# Phase difference between storm surge and tide
|
112
|
+
phase_surge_tide_probability = None # KANSENFASEVERSCHIL
|
113
|
+
|
114
|
+
# Sea level
|
115
|
+
sea_level_probability = None # OVKANSM
|
116
|
+
sea_level_probability_point1 = None # OVKANSM_HOEKPUNT1
|
117
|
+
sea_level_probability_point2 = None # OVKANSM_HOEKPUNT2
|
118
|
+
sea_level_probability_point3 = None # OVKANSM_HOEKPUNT3
|
119
|
+
|
120
|
+
# Sigma function
|
121
|
+
sigma_function = None # SIGMAFUNCTIE
|
122
|
+
|
123
|
+
# Storm surge duration
|
124
|
+
storm_surge_duration_probability = None # KANSENSTORMDUUR
|
125
|
+
|
126
|
+
# Wind-Sea level probability (for lower rivers/VZM)
|
127
|
+
wind_sea_level_probability = None # PWINDWESTNM
|
128
|
+
|
129
|
+
def __init__(self, hrdlocation: str, database_path: str):
|
130
|
+
"""
|
131
|
+
Init a Settings object for a location and database
|
132
|
+
|
133
|
+
Parameters
|
134
|
+
----------
|
135
|
+
hrdlocation : str
|
136
|
+
The HRDLocation
|
137
|
+
database_path : str
|
138
|
+
Path to the database
|
139
|
+
"""
|
140
|
+
# Save info
|
141
|
+
self.location = hrdlocation
|
142
|
+
self.database_path = database_path
|
143
|
+
|
144
|
+
# Obtain the x, y coordinates and the water system
|
145
|
+
con = sqlite3.connect(database_path)
|
146
|
+
self.x_coordinate = int(
|
147
|
+
con.execute(
|
148
|
+
f"SELECT XCoordinate FROM HRDLocations WHERE Name = '{hrdlocation}'"
|
149
|
+
).fetchone()[0]
|
150
|
+
)
|
151
|
+
self.y_coordinate = int(
|
152
|
+
con.execute(
|
153
|
+
f"SELECT YCoordinate FROM HRDLocations WHERE Name = '{hrdlocation}'"
|
154
|
+
).fetchone()[0]
|
155
|
+
)
|
156
|
+
self.watersystem = WaterSystem(
|
157
|
+
con.execute("SELECT GeneralId FROM General").fetchone()[0]
|
158
|
+
)
|
159
|
+
con.close()
|
160
|
+
|
161
|
+
# Watersystem specific settings
|
162
|
+
if CommonFunctions.is_lower_rivier(self.watersystem):
|
163
|
+
self.__determine_lower_river_settings()
|
164
|
+
|
165
|
+
# Location specific settings
|
166
|
+
if CommonFunctions.is_coast(self.watersystem):
|
167
|
+
self.__determine_sea_level_statistics_points()
|
168
|
+
|
169
|
+
# Obtain and set settings
|
170
|
+
with DatabaseSettings() as database:
|
171
|
+
settings = database.get_settings(self.watersystem)
|
172
|
+
|
173
|
+
# Loop through settings
|
174
|
+
for _, row in settings.iterrows():
|
175
|
+
# Lowercase
|
176
|
+
key = row["SettingName"]
|
177
|
+
if isinstance(key, str):
|
178
|
+
key = key.lower()
|
179
|
+
|
180
|
+
# Set settings
|
181
|
+
if hasattr(self, key):
|
182
|
+
setattr(self, key, row["SettingValue"])
|
183
|
+
else:
|
184
|
+
raise ValueError(f"[ERROR] Key '{key}' not defined in Settings.")
|
185
|
+
|
186
|
+
# Collect all settings with statistical uncertainty (with '_metOnzHeid')
|
187
|
+
self.__vars_with_statistical_uncertainty = {}
|
188
|
+
for variable in [
|
189
|
+
var
|
190
|
+
for var in dir(self)
|
191
|
+
if not callable(getattr(self, var)) and not var.startswith("__")
|
192
|
+
]:
|
193
|
+
value = getattr(self, variable)
|
194
|
+
if "_metOnzHeid" in str(value):
|
195
|
+
self.__vars_with_statistical_uncertainty[variable] = value
|
196
|
+
|
197
|
+
def include_statistical_uncertainty(self, include: bool):
|
198
|
+
"""
|
199
|
+
Include statistical uncertainty.
|
200
|
+
By default statistical uncertainty is included.
|
201
|
+
|
202
|
+
Parameters
|
203
|
+
----------
|
204
|
+
include : bool
|
205
|
+
Whether to include statistical uncertainty
|
206
|
+
"""
|
207
|
+
# Loop through all variables with statistical uncertainty
|
208
|
+
for setting in self.__vars_with_statistical_uncertainty.keys():
|
209
|
+
value = self.__vars_with_statistical_uncertainty[setting]
|
210
|
+
setattr(
|
211
|
+
self, setting, value if include else value.replace("_metOnzHeid", "")
|
212
|
+
)
|
213
|
+
|
214
|
+
def __determine_sea_level_statistics_points(self):
|
215
|
+
"""
|
216
|
+
The sea level statistics along the coast, Wadden Sea and Western
|
217
|
+
Scheldt are based on triangulation interpolation. This function
|
218
|
+
determines which stations should be used for this interpolation.
|
219
|
+
"""
|
220
|
+
# Coast
|
221
|
+
if self.watersystem in [
|
222
|
+
WaterSystem.COAST_SOUTH,
|
223
|
+
WaterSystem.COAST_CENTRAL,
|
224
|
+
WaterSystem.COAST_NORTH,
|
225
|
+
]:
|
226
|
+
# Obtain table
|
227
|
+
with DatabaseSettings() as database:
|
228
|
+
refpoints = database.get_sea_level_statistic_points(self.watersystem)
|
229
|
+
subsystems = database.get_sea_level_sub_systems(self.watersystem)
|
230
|
+
|
231
|
+
# Determine the subregion
|
232
|
+
if CommonFunctions.position_from_line(
|
233
|
+
"north",
|
234
|
+
(self.x_coordinate, self.y_coordinate),
|
235
|
+
[refpoints.loc["Den Oever"].values, refpoints.loc["Den Helder"].values],
|
236
|
+
):
|
237
|
+
subregion = 1
|
238
|
+
elif self.y_coordinate > refpoints.loc["IJmuiden"].values[1]:
|
239
|
+
subregion = 2
|
240
|
+
elif self.y_coordinate > refpoints.loc["Hoek van Holland"].values[1]:
|
241
|
+
subregion = 3
|
242
|
+
else:
|
243
|
+
subregion = 4
|
244
|
+
|
245
|
+
# Determine subsystem
|
246
|
+
subsystem = subsystems.loc[subregion].to_numpy()
|
247
|
+
|
248
|
+
# Wadden sea
|
249
|
+
elif self.watersystem in [
|
250
|
+
WaterSystem.WADDEN_SEA_WEST,
|
251
|
+
WaterSystem.WADDEN_SEA_EAST,
|
252
|
+
]:
|
253
|
+
# Obtain table
|
254
|
+
with DatabaseSettings() as database:
|
255
|
+
refpoints = database.get_sea_level_statistic_points(self.watersystem)
|
256
|
+
subsystems = database.get_sea_level_sub_systems(self.watersystem)
|
257
|
+
|
258
|
+
# Determine the subregion
|
259
|
+
if CommonFunctions.position_from_line(
|
260
|
+
"east",
|
261
|
+
(self.x_coordinate, self.y_coordinate),
|
262
|
+
[
|
263
|
+
refpoints.loc["Lauwersoog Haven"].values,
|
264
|
+
refpoints.loc["Huibertgat"].values,
|
265
|
+
],
|
266
|
+
):
|
267
|
+
subregion = 1
|
268
|
+
elif CommonFunctions.position_from_line(
|
269
|
+
"north",
|
270
|
+
(self.x_coordinate, self.y_coordinate),
|
271
|
+
[
|
272
|
+
refpoints.loc["Lauwersoog Haven"].values,
|
273
|
+
refpoints.loc["West-Terschelling"].values,
|
274
|
+
],
|
275
|
+
):
|
276
|
+
subregion = 2
|
277
|
+
elif CommonFunctions.position_from_line(
|
278
|
+
"east",
|
279
|
+
(self.x_coordinate, self.y_coordinate),
|
280
|
+
[
|
281
|
+
refpoints.loc["Harlingen"].values,
|
282
|
+
refpoints.loc["West-Terschelling"].values,
|
283
|
+
],
|
284
|
+
):
|
285
|
+
subregion = 3
|
286
|
+
elif CommonFunctions.position_from_line(
|
287
|
+
"east",
|
288
|
+
(self.x_coordinate, self.y_coordinate),
|
289
|
+
[
|
290
|
+
refpoints.loc["Den Oever"].values,
|
291
|
+
refpoints.loc["West-Terschelling"].values,
|
292
|
+
],
|
293
|
+
):
|
294
|
+
subregion = 4
|
295
|
+
elif self.x_coordinate < refpoints.loc["Den Helder"].values[0]:
|
296
|
+
subregion = 5
|
297
|
+
else:
|
298
|
+
subregion = 6
|
299
|
+
|
300
|
+
# Determine subsystem
|
301
|
+
subsystem = subsystems.loc[subregion].to_numpy()
|
302
|
+
|
303
|
+
# Western scheldt
|
304
|
+
elif self.watersystem in [WaterSystem.WESTERN_SCHELDT]:
|
305
|
+
# Set sea level points
|
306
|
+
subsystem = np.array(
|
307
|
+
[
|
308
|
+
"Zeewaterstand\Vlissingen\CondPovVlissingen_12u_zichtjaar2017_metOnzHeid.txt",
|
309
|
+
"Zeewaterstand\Hansweert\CondPovHansweert_12u_zichtjaar2017_metOnzHeid.txt",
|
310
|
+
"Zeewaterstand\Vlissingen virtueel\CondPovVlissingen-Additional_12u_zichtjaar2017_metOnzHeid.txt",
|
311
|
+
]
|
312
|
+
)
|
313
|
+
|
314
|
+
# Not implemented
|
315
|
+
else:
|
316
|
+
raise NotImplementedError(
|
317
|
+
f"[ERROR] Vertices for sea level statistics not implemented for {self.watersystem}."
|
318
|
+
)
|
319
|
+
|
320
|
+
# If the subsystems contains three times the same file, specify the parameter related to a point
|
321
|
+
if len(list(set(subsystem))) == 1:
|
322
|
+
self.sea_level_probability = subsystem[0]
|
323
|
+
|
324
|
+
# Otherwise, set sea level triangulation points
|
325
|
+
else:
|
326
|
+
self.sea_level_probability_point1 = subsystem[0]
|
327
|
+
self.sea_level_probability_point2 = subsystem[1]
|
328
|
+
self.sea_level_probability_point3 = subsystem[2]
|
329
|
+
|
330
|
+
def __determine_lower_river_settings(self):
|
331
|
+
"""
|
332
|
+
Selecting the right settings for the lower rivers
|
333
|
+
"""
|
334
|
+
# Read from shape (MSTAP, MU, SIGMA, ALFA, QSTAP_Maas, QSTAP_rijn)
|
335
|
+
PATH = os.path.join(
|
336
|
+
os.path.split(os.path.dirname(__file__))[0],
|
337
|
+
"..",
|
338
|
+
"data",
|
339
|
+
"settings",
|
340
|
+
"lower_river_settings.shp",
|
341
|
+
)
|
342
|
+
with fn.open(PATH, "r") as shp:
|
343
|
+
# Define the point using Shapely's Point
|
344
|
+
point = Point(self.x_coordinate, self.y_coordinate)
|
345
|
+
|
346
|
+
# Iterate through each subregion in the Shapefile
|
347
|
+
for feature in shp:
|
348
|
+
# Get the geometry of the feature
|
349
|
+
geometry = shape(feature["geometry"])
|
350
|
+
|
351
|
+
# Check if the point is within the geometry
|
352
|
+
if point.within(geometry):
|
353
|
+
# Read settings
|
354
|
+
self.m_step = feature["properties"]["m_step"]
|
355
|
+
self.europoort_barrier_mu = feature["properties"]["ep_mu"]
|
356
|
+
self.europoort_barrier_sigma = feature["properties"]["ep_sigma"]
|
357
|
+
self.europoort_barrier_alfa = feature["properties"]["ep_alpha"]
|
358
|
+
if self.watersystem in [
|
359
|
+
WaterSystem.RHINE_TIDAL,
|
360
|
+
WaterSystem.EUROPOORT,
|
361
|
+
]:
|
362
|
+
self.q_step = feature["properties"]["qs_rhine"]
|
363
|
+
elif self.watersystem == WaterSystem.MEUSE_TIDAL:
|
364
|
+
self.q_step = feature["properties"]["qs_meuse"]
|
365
|
+
else:
|
366
|
+
raise ValueError(
|
367
|
+
f"[ERROR] No lower river settings for {self.watersystem}."
|
368
|
+
)
|
369
|
+
|
370
|
+
# Stop the loop
|
371
|
+
break
|
372
|
+
|
373
|
+
def __repr__(self):
|
374
|
+
"""
|
375
|
+
Formatting when a settings object is printed. This will show all
|
376
|
+
relevant settings with their values in a list.
|
377
|
+
"""
|
378
|
+
lst = []
|
379
|
+
for item in dir(self):
|
380
|
+
if not item.startswith("_"):
|
381
|
+
value = getattr(self, item)
|
382
|
+
if value is None:
|
383
|
+
continue
|
384
|
+
if isinstance(value, (str, float, int, bool)):
|
385
|
+
lst.append(f"{item:30s} = {value}")
|
386
|
+
|
387
|
+
return "\n".join(lst)
|