HydPy 6.2.dev1__cp313-cp313-win_amd64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- hydpy/__init__.py +275 -0
- hydpy/aliases.py +2554 -0
- hydpy/auxs/__init__.py +0 -0
- hydpy/auxs/anntools.py +1305 -0
- hydpy/auxs/armatools.py +883 -0
- hydpy/auxs/calibtools.py +3337 -0
- hydpy/auxs/interptools.py +1094 -0
- hydpy/auxs/iuhtools.py +543 -0
- hydpy/auxs/networktools.py +597 -0
- hydpy/auxs/ppolytools.py +809 -0
- hydpy/auxs/quadtools.py +61 -0
- hydpy/auxs/roottools.py +228 -0
- hydpy/auxs/smoothtools.py +273 -0
- hydpy/auxs/statstools.py +2125 -0
- hydpy/auxs/validtools.py +81 -0
- hydpy/conf/HydPyConfigBase.xsd +68637 -0
- hydpy/conf/HydPyConfigBase.xsdt +358 -0
- hydpy/conf/HydPyConfigMultipleRuns.xsd +25 -0
- hydpy/conf/HydPyConfigSingleRun.xsd +24 -0
- hydpy/conf/__init__.py +0 -0
- hydpy/conf/a_coefficients_explicit_lobatto_sequence.npy +0 -0
- hydpy/conf/support_points_for_smoothpar_logistic2.npy +0 -0
- hydpy/config.py +42 -0
- hydpy/core/__init__.py +0 -0
- hydpy/core/aliastools.py +214 -0
- hydpy/core/autodoctools.py +1947 -0
- hydpy/core/auxfiletools.py +1169 -0
- hydpy/core/devicetools.py +3810 -0
- hydpy/core/exceptiontools.py +269 -0
- hydpy/core/filetools.py +1985 -0
- hydpy/core/hydpytools.py +3089 -0
- hydpy/core/importtools.py +1398 -0
- hydpy/core/indextools.py +345 -0
- hydpy/core/itemtools.py +1849 -0
- hydpy/core/masktools.py +460 -0
- hydpy/core/modeltools.py +4868 -0
- hydpy/core/netcdftools.py +2683 -0
- hydpy/core/objecttools.py +2023 -0
- hydpy/core/optiontools.py +1045 -0
- hydpy/core/parametertools.py +4674 -0
- hydpy/core/printtools.py +222 -0
- hydpy/core/propertytools.py +643 -0
- hydpy/core/pubtools.py +254 -0
- hydpy/core/selectiontools.py +1571 -0
- hydpy/core/sequencetools.py +4476 -0
- hydpy/core/seriestools.py +339 -0
- hydpy/core/testtools.py +2483 -0
- hydpy/core/timetools.py +3567 -0
- hydpy/core/typingtools.py +333 -0
- hydpy/core/variabletools.py +2615 -0
- hydpy/cythons/__init__.py +24 -0
- hydpy/cythons/annutils.pxd +33 -0
- hydpy/cythons/annutils.pyi +25 -0
- hydpy/cythons/annutils.pyx +120 -0
- hydpy/cythons/autogen/__init__.py +0 -0
- hydpy/cythons/autogen/annutils.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/annutils.pxd +42 -0
- hydpy/cythons/autogen/annutils.pyx +129 -0
- hydpy/cythons/autogen/c_arma.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_arma.pxd +179 -0
- hydpy/cythons/autogen/c_arma.pyx +356 -0
- hydpy/cythons/autogen/c_arma_rimorido.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_arma_rimorido.pxd +179 -0
- hydpy/cythons/autogen/c_arma_rimorido.pyx +356 -0
- hydpy/cythons/autogen/c_conv.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_conv.pxd +198 -0
- hydpy/cythons/autogen/c_conv.pyx +491 -0
- hydpy/cythons/autogen/c_conv_idw.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_conv_idw.pxd +124 -0
- hydpy/cythons/autogen/c_conv_idw.pyx +264 -0
- hydpy/cythons/autogen/c_conv_idw_ed.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_conv_idw_ed.pxd +197 -0
- hydpy/cythons/autogen/c_conv_idw_ed.pyx +481 -0
- hydpy/cythons/autogen/c_conv_nn.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_conv_nn.pxd +120 -0
- hydpy/cythons/autogen/c_conv_nn.pyx +224 -0
- hydpy/cythons/autogen/c_dam.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_dam.pxd +805 -0
- hydpy/cythons/autogen/c_dam.pyx +1477 -0
- hydpy/cythons/autogen/c_dam_llake.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_dam_llake.pxd +364 -0
- hydpy/cythons/autogen/c_dam_llake.pyx +705 -0
- hydpy/cythons/autogen/c_dam_lreservoir.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_dam_lreservoir.pxd +365 -0
- hydpy/cythons/autogen/c_dam_lreservoir.pyx +708 -0
- hydpy/cythons/autogen/c_dam_lretention.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_dam_lretention.pxd +340 -0
- hydpy/cythons/autogen/c_dam_lretention.pyx +625 -0
- hydpy/cythons/autogen/c_dam_pump.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_dam_pump.pxd +402 -0
- hydpy/cythons/autogen/c_dam_pump.pyx +724 -0
- hydpy/cythons/autogen/c_dam_pump_sluice.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_dam_pump_sluice.pxd +452 -0
- hydpy/cythons/autogen/c_dam_pump_sluice.pyx +829 -0
- hydpy/cythons/autogen/c_dam_sluice.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_dam_sluice.pxd +404 -0
- hydpy/cythons/autogen/c_dam_sluice.pyx +726 -0
- hydpy/cythons/autogen/c_dam_v001.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_dam_v001.pxd +452 -0
- hydpy/cythons/autogen/c_dam_v001.pyx +816 -0
- hydpy/cythons/autogen/c_dam_v002.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_dam_v002.pxd +394 -0
- hydpy/cythons/autogen/c_dam_v002.pyx +703 -0
- hydpy/cythons/autogen/c_dam_v003.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_dam_v003.pxd +417 -0
- hydpy/cythons/autogen/c_dam_v003.pyx +744 -0
- hydpy/cythons/autogen/c_dam_v004.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_dam_v004.pxd +486 -0
- hydpy/cythons/autogen/c_dam_v004.pyx +891 -0
- hydpy/cythons/autogen/c_dam_v005.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_dam_v005.pxd +524 -0
- hydpy/cythons/autogen/c_dam_v005.pyx +928 -0
- hydpy/cythons/autogen/c_dummy.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_dummy.pxd +151 -0
- hydpy/cythons/autogen/c_dummy.pyx +263 -0
- hydpy/cythons/autogen/c_dummy_interceptedwater.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_dummy_interceptedwater.pxd +69 -0
- hydpy/cythons/autogen/c_dummy_interceptedwater.pyx +104 -0
- hydpy/cythons/autogen/c_dummy_node2node.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_dummy_node2node.pxd +89 -0
- hydpy/cythons/autogen/c_dummy_node2node.pyx +148 -0
- hydpy/cythons/autogen/c_dummy_snowalbedo.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_dummy_snowalbedo.pxd +69 -0
- hydpy/cythons/autogen/c_dummy_snowalbedo.pyx +104 -0
- hydpy/cythons/autogen/c_dummy_snowcover.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_dummy_snowcover.pxd +69 -0
- hydpy/cythons/autogen/c_dummy_snowcover.pyx +104 -0
- hydpy/cythons/autogen/c_dummy_snowycanopy.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_dummy_snowycanopy.pxd +69 -0
- hydpy/cythons/autogen/c_dummy_snowycanopy.pyx +104 -0
- hydpy/cythons/autogen/c_dummy_soilwater.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_dummy_soilwater.pxd +69 -0
- hydpy/cythons/autogen/c_dummy_soilwater.pyx +104 -0
- hydpy/cythons/autogen/c_evap.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_evap.pxd +1029 -0
- hydpy/cythons/autogen/c_evap.pyx +2601 -0
- hydpy/cythons/autogen/c_evap_aet_hbv96.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_evap_aet_hbv96.pxd +227 -0
- hydpy/cythons/autogen/c_evap_aet_hbv96.pyx +584 -0
- hydpy/cythons/autogen/c_evap_aet_minhas.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_evap_aet_minhas.pxd +193 -0
- hydpy/cythons/autogen/c_evap_aet_minhas.pyx +478 -0
- hydpy/cythons/autogen/c_evap_aet_morsim.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_evap_aet_morsim.pxd +681 -0
- hydpy/cythons/autogen/c_evap_aet_morsim.pyx +1642 -0
- hydpy/cythons/autogen/c_evap_pet_ambav1.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_evap_pet_ambav1.pxd +532 -0
- hydpy/cythons/autogen/c_evap_pet_ambav1.pyx +1296 -0
- hydpy/cythons/autogen/c_evap_pet_hbv96.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_evap_pet_hbv96.pxd +179 -0
- hydpy/cythons/autogen/c_evap_pet_hbv96.pyx +328 -0
- hydpy/cythons/autogen/c_evap_pet_m.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_evap_pet_m.pxd +124 -0
- hydpy/cythons/autogen/c_evap_pet_m.pyx +214 -0
- hydpy/cythons/autogen/c_evap_pet_mlc.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_evap_pet_mlc.pxd +126 -0
- hydpy/cythons/autogen/c_evap_pet_mlc.pyx +214 -0
- hydpy/cythons/autogen/c_evap_ret_fao56.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_evap_ret_fao56.pxd +305 -0
- hydpy/cythons/autogen/c_evap_ret_fao56.pyx +624 -0
- hydpy/cythons/autogen/c_evap_ret_io.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_evap_ret_io.pxd +112 -0
- hydpy/cythons/autogen/c_evap_ret_io.pyx +176 -0
- hydpy/cythons/autogen/c_evap_ret_tw2002.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_evap_ret_tw2002.pxd +139 -0
- hydpy/cythons/autogen/c_evap_ret_tw2002.pyx +273 -0
- hydpy/cythons/autogen/c_exch.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_exch.pxd +230 -0
- hydpy/cythons/autogen/c_exch.pyx +462 -0
- hydpy/cythons/autogen/c_exch_branch_hbv96.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_exch_branch_hbv96.pxd +134 -0
- hydpy/cythons/autogen/c_exch_branch_hbv96.pyx +255 -0
- hydpy/cythons/autogen/c_exch_waterlevel.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_exch_waterlevel.pxd +54 -0
- hydpy/cythons/autogen/c_exch_waterlevel.pyx +78 -0
- hydpy/cythons/autogen/c_exch_weir_hbv96.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_exch_weir_hbv96.pxd +156 -0
- hydpy/cythons/autogen/c_exch_weir_hbv96.pyx +282 -0
- hydpy/cythons/autogen/c_ga.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_ga.pxd +353 -0
- hydpy/cythons/autogen/c_ga.pyx +1204 -0
- hydpy/cythons/autogen/c_ga_garto.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_ga_garto.pxd +330 -0
- hydpy/cythons/autogen/c_ga_garto.pyx +1105 -0
- hydpy/cythons/autogen/c_ga_garto_submodel1.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_ga_garto_submodel1.pxd +236 -0
- hydpy/cythons/autogen/c_ga_garto_submodel1.pyx +944 -0
- hydpy/cythons/autogen/c_gland.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_gland.pxd +437 -0
- hydpy/cythons/autogen/c_gland.pyx +726 -0
- hydpy/cythons/autogen/c_gland_gr4.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_gland_gr4.pxd +382 -0
- hydpy/cythons/autogen/c_gland_gr4.pyx +605 -0
- hydpy/cythons/autogen/c_gland_gr5.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_gland_gr5.pxd +368 -0
- hydpy/cythons/autogen/c_gland_gr5.pyx +568 -0
- hydpy/cythons/autogen/c_gland_gr6.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_gland_gr6.pxd +420 -0
- hydpy/cythons/autogen/c_gland_gr6.pyx +673 -0
- hydpy/cythons/autogen/c_hland.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_hland.pxd +855 -0
- hydpy/cythons/autogen/c_hland.pyx +2486 -0
- hydpy/cythons/autogen/c_hland_96.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_hland_96.pxd +631 -0
- hydpy/cythons/autogen/c_hland_96.pyx +1724 -0
- hydpy/cythons/autogen/c_hland_96c.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_hland_96c.pxd +621 -0
- hydpy/cythons/autogen/c_hland_96c.pyx +1822 -0
- hydpy/cythons/autogen/c_hland_96p.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_hland_96p.pxd +683 -0
- hydpy/cythons/autogen/c_hland_96p.pyx +1911 -0
- hydpy/cythons/autogen/c_kinw.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_kinw.pxd +509 -0
- hydpy/cythons/autogen/c_kinw.pyx +965 -0
- hydpy/cythons/autogen/c_kinw_williams.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_kinw_williams.pxd +409 -0
- hydpy/cythons/autogen/c_kinw_williams.pyx +763 -0
- hydpy/cythons/autogen/c_kinw_williams_ext.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_kinw_williams_ext.pxd +220 -0
- hydpy/cythons/autogen/c_kinw_williams_ext.pyx +440 -0
- hydpy/cythons/autogen/c_lland.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_lland.pxd +1386 -0
- hydpy/cythons/autogen/c_lland.pyx +3679 -0
- hydpy/cythons/autogen/c_lland_dd.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_lland_dd.pxd +679 -0
- hydpy/cythons/autogen/c_lland_dd.pyx +1719 -0
- hydpy/cythons/autogen/c_lland_knauf.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_lland_knauf.pxd +1096 -0
- hydpy/cythons/autogen/c_lland_knauf.pyx +2784 -0
- hydpy/cythons/autogen/c_lland_knauf_ic.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_lland_knauf_ic.pxd +1369 -0
- hydpy/cythons/autogen/c_lland_knauf_ic.pyx +3625 -0
- hydpy/cythons/autogen/c_meteo.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_meteo.pxd +469 -0
- hydpy/cythons/autogen/c_meteo.pyx +879 -0
- hydpy/cythons/autogen/c_meteo_clear_glob_io.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_meteo_clear_glob_io.pxd +75 -0
- hydpy/cythons/autogen/c_meteo_clear_glob_io.pyx +107 -0
- hydpy/cythons/autogen/c_meteo_glob_fao56.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_meteo_glob_fao56.pxd +209 -0
- hydpy/cythons/autogen/c_meteo_glob_fao56.pyx +339 -0
- hydpy/cythons/autogen/c_meteo_glob_io.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_meteo_glob_io.pxd +63 -0
- hydpy/cythons/autogen/c_meteo_glob_io.pyx +91 -0
- hydpy/cythons/autogen/c_meteo_glob_morsim.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_meteo_glob_morsim.pxd +289 -0
- hydpy/cythons/autogen/c_meteo_glob_morsim.pyx +527 -0
- hydpy/cythons/autogen/c_meteo_precip_io.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_meteo_precip_io.pxd +112 -0
- hydpy/cythons/autogen/c_meteo_precip_io.pyx +176 -0
- hydpy/cythons/autogen/c_meteo_psun_sun_glob_io.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_meteo_psun_sun_glob_io.pxd +87 -0
- hydpy/cythons/autogen/c_meteo_psun_sun_glob_io.pyx +123 -0
- hydpy/cythons/autogen/c_meteo_sun_fao56.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_meteo_sun_fao56.pxd +209 -0
- hydpy/cythons/autogen/c_meteo_sun_fao56.pyx +343 -0
- hydpy/cythons/autogen/c_meteo_sun_morsim.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_meteo_sun_morsim.pxd +286 -0
- hydpy/cythons/autogen/c_meteo_sun_morsim.pyx +519 -0
- hydpy/cythons/autogen/c_meteo_temp_io.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_meteo_temp_io.pxd +112 -0
- hydpy/cythons/autogen/c_meteo_temp_io.pyx +176 -0
- hydpy/cythons/autogen/c_musk.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_musk.pxd +282 -0
- hydpy/cythons/autogen/c_musk.pyx +605 -0
- hydpy/cythons/autogen/c_musk_classic.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_musk_classic.pxd +138 -0
- hydpy/cythons/autogen/c_musk_classic.pyx +226 -0
- hydpy/cythons/autogen/c_musk_mct.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_musk_mct.pxd +282 -0
- hydpy/cythons/autogen/c_musk_mct.pyx +609 -0
- hydpy/cythons/autogen/c_rconc.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_rconc.pxd +119 -0
- hydpy/cythons/autogen/c_rconc.pyx +174 -0
- hydpy/cythons/autogen/c_rconc_nash.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_rconc_nash.pxd +111 -0
- hydpy/cythons/autogen/c_rconc_nash.pyx +185 -0
- hydpy/cythons/autogen/c_rconc_uh.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_rconc_uh.pxd +92 -0
- hydpy/cythons/autogen/c_rconc_uh.pyx +125 -0
- hydpy/cythons/autogen/c_sw1d.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_sw1d.pxd +511 -0
- hydpy/cythons/autogen/c_sw1d.pyx +1263 -0
- hydpy/cythons/autogen/c_sw1d_channel.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_sw1d_channel.pxd +119 -0
- hydpy/cythons/autogen/c_sw1d_channel.pyx +300 -0
- hydpy/cythons/autogen/c_sw1d_gate_out.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_sw1d_gate_out.pxd +240 -0
- hydpy/cythons/autogen/c_sw1d_gate_out.pyx +476 -0
- hydpy/cythons/autogen/c_sw1d_lias.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_sw1d_lias.pxd +320 -0
- hydpy/cythons/autogen/c_sw1d_lias.pyx +619 -0
- hydpy/cythons/autogen/c_sw1d_lias_sluice.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_sw1d_lias_sluice.pxd +325 -0
- hydpy/cythons/autogen/c_sw1d_lias_sluice.pyx +644 -0
- hydpy/cythons/autogen/c_sw1d_network.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_sw1d_network.pxd +90 -0
- hydpy/cythons/autogen/c_sw1d_network.pyx +246 -0
- hydpy/cythons/autogen/c_sw1d_pump.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_sw1d_pump.pxd +256 -0
- hydpy/cythons/autogen/c_sw1d_pump.pyx +502 -0
- hydpy/cythons/autogen/c_sw1d_q_in.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_sw1d_q_in.pxd +224 -0
- hydpy/cythons/autogen/c_sw1d_q_in.pyx +383 -0
- hydpy/cythons/autogen/c_sw1d_q_out.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_sw1d_q_out.pxd +224 -0
- hydpy/cythons/autogen/c_sw1d_q_out.pyx +383 -0
- hydpy/cythons/autogen/c_sw1d_storage.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_sw1d_storage.pxd +193 -0
- hydpy/cythons/autogen/c_sw1d_storage.pyx +349 -0
- hydpy/cythons/autogen/c_sw1d_weir_out.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_sw1d_weir_out.pxd +212 -0
- hydpy/cythons/autogen/c_sw1d_weir_out.pyx +404 -0
- hydpy/cythons/autogen/c_test.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_test.pxd +175 -0
- hydpy/cythons/autogen/c_test.pyx +348 -0
- hydpy/cythons/autogen/c_test_discontinous.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_test_discontinous.pxd +146 -0
- hydpy/cythons/autogen/c_test_discontinous.pyx +256 -0
- hydpy/cythons/autogen/c_test_stiff0d.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_test_stiff0d.pxd +146 -0
- hydpy/cythons/autogen/c_test_stiff0d.pyx +250 -0
- hydpy/cythons/autogen/c_test_stiff1d.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_test_stiff1d.pxd +145 -0
- hydpy/cythons/autogen/c_test_stiff1d.pyx +294 -0
- hydpy/cythons/autogen/c_whmod.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_whmod.pxd +482 -0
- hydpy/cythons/autogen/c_whmod.pyx +1156 -0
- hydpy/cythons/autogen/c_whmod_rural.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_whmod_rural.pxd +411 -0
- hydpy/cythons/autogen/c_whmod_rural.pyx +982 -0
- hydpy/cythons/autogen/c_whmod_urban.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_whmod_urban.pxd +482 -0
- hydpy/cythons/autogen/c_whmod_urban.pyx +1155 -0
- hydpy/cythons/autogen/c_wland.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_wland.pxd +842 -0
- hydpy/cythons/autogen/c_wland.pyx +1890 -0
- hydpy/cythons/autogen/c_wland_gd.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_wland_gd.pxd +829 -0
- hydpy/cythons/autogen/c_wland_gd.pyx +1847 -0
- hydpy/cythons/autogen/c_wland_wag.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_wland_wag.pxd +810 -0
- hydpy/cythons/autogen/c_wland_wag.pyx +1780 -0
- hydpy/cythons/autogen/c_wq.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_wq.pxd +275 -0
- hydpy/cythons/autogen/c_wq.pyx +652 -0
- hydpy/cythons/autogen/c_wq_trapeze.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_wq_trapeze.pxd +170 -0
- hydpy/cythons/autogen/c_wq_trapeze.pyx +400 -0
- hydpy/cythons/autogen/c_wq_trapeze_strickler.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_wq_trapeze_strickler.pxd +243 -0
- hydpy/cythons/autogen/c_wq_trapeze_strickler.pyx +578 -0
- hydpy/cythons/autogen/c_wq_walrus.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/c_wq_walrus.pxd +61 -0
- hydpy/cythons/autogen/c_wq_walrus.pyx +82 -0
- hydpy/cythons/autogen/configutils.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/configutils.pxd +17 -0
- hydpy/cythons/autogen/configutils.pyx +119 -0
- hydpy/cythons/autogen/interfaceutils.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/interfaceutils.pxd +31 -0
- hydpy/cythons/autogen/interfaceutils.pyx +82 -0
- hydpy/cythons/autogen/interputils.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/interputils.pxd +42 -0
- hydpy/cythons/autogen/interputils.pyx +118 -0
- hydpy/cythons/autogen/masterinterface.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/masterinterface.pxd +153 -0
- hydpy/cythons/autogen/masterinterface.pyx +222 -0
- hydpy/cythons/autogen/pointerutils.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/pointerutils.pxd +31 -0
- hydpy/cythons/autogen/pointerutils.pyx +650 -0
- hydpy/cythons/autogen/ppolyutils.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/ppolyutils.pxd +35 -0
- hydpy/cythons/autogen/ppolyutils.pyx +59 -0
- hydpy/cythons/autogen/quadutils.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/quadutils.pxd +26 -0
- hydpy/cythons/autogen/quadutils.pyx +973 -0
- hydpy/cythons/autogen/rootutils.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/rootutils.pxd +28 -0
- hydpy/cythons/autogen/rootutils.pyx +109 -0
- hydpy/cythons/autogen/sequenceutils.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/sequenceutils.pxd +45 -0
- hydpy/cythons/autogen/sequenceutils.pyx +101 -0
- hydpy/cythons/autogen/smoothutils.cp313-win_amd64.pyd +0 -0
- hydpy/cythons/autogen/smoothutils.pxd +29 -0
- hydpy/cythons/autogen/smoothutils.pyx +833 -0
- hydpy/cythons/configutils.pxd +8 -0
- hydpy/cythons/configutils.pyi +5 -0
- hydpy/cythons/configutils.pyx +110 -0
- hydpy/cythons/interfaceutils.pxd +22 -0
- hydpy/cythons/interfaceutils.pyi +15 -0
- hydpy/cythons/interfaceutils.pyx +73 -0
- hydpy/cythons/interputils.pxd +33 -0
- hydpy/cythons/interputils.pyi +32 -0
- hydpy/cythons/interputils.pyx +109 -0
- hydpy/cythons/modelutils.py +2990 -0
- hydpy/cythons/pointerutils.pxd +22 -0
- hydpy/cythons/pointerutils.pyi +89 -0
- hydpy/cythons/pointerutils.pyx +641 -0
- hydpy/cythons/ppolyutils.pxd +26 -0
- hydpy/cythons/ppolyutils.pyi +21 -0
- hydpy/cythons/ppolyutils.pyx +50 -0
- hydpy/cythons/quadutils.pxd +17 -0
- hydpy/cythons/quadutils.pyi +13 -0
- hydpy/cythons/quadutils.pyx +964 -0
- hydpy/cythons/rootutils.pxd +19 -0
- hydpy/cythons/rootutils.pyi +21 -0
- hydpy/cythons/rootutils.pyx +100 -0
- hydpy/cythons/sequenceutils.pxd +36 -0
- hydpy/cythons/sequenceutils.pyi +7 -0
- hydpy/cythons/sequenceutils.pyx +92 -0
- hydpy/cythons/smoothutils.pxd +20 -0
- hydpy/cythons/smoothutils.pyi +15 -0
- hydpy/cythons/smoothutils.pyx +824 -0
- hydpy/data/HydPy-H-Lahn/conditions/init_1996_01_01_00_00_00/land_dill_assl.py +13 -0
- hydpy/data/HydPy-H-Lahn/conditions/init_1996_01_01_00_00_00/land_lahn_kalk.py +13 -0
- hydpy/data/HydPy-H-Lahn/conditions/init_1996_01_01_00_00_00/land_lahn_leun.py +14 -0
- hydpy/data/HydPy-H-Lahn/conditions/init_1996_01_01_00_00_00/land_lahn_marb.py +13 -0
- hydpy/data/HydPy-H-Lahn/conditions/init_1996_01_01_00_00_00/stream_dill_assl_lahn_leun.py +5 -0
- hydpy/data/HydPy-H-Lahn/conditions/init_1996_01_01_00_00_00/stream_lahn_leun_lahn_kalk.py +5 -0
- hydpy/data/HydPy-H-Lahn/conditions/init_1996_01_01_00_00_00/stream_lahn_marb_lahn_leun.py +5 -0
- hydpy/data/HydPy-H-Lahn/control/default/land.py +9 -0
- hydpy/data/HydPy-H-Lahn/control/default/land_dill_assl.py +57 -0
- hydpy/data/HydPy-H-Lahn/control/default/land_lahn_kalk.py +57 -0
- hydpy/data/HydPy-H-Lahn/control/default/land_lahn_leun.py +56 -0
- hydpy/data/HydPy-H-Lahn/control/default/land_lahn_marb.py +57 -0
- hydpy/data/HydPy-H-Lahn/control/default/stream_dill_assl_lahn_leun.py +7 -0
- hydpy/data/HydPy-H-Lahn/control/default/stream_lahn_leun_lahn_kalk.py +7 -0
- hydpy/data/HydPy-H-Lahn/control/default/stream_lahn_marb_lahn_leun.py +7 -0
- hydpy/data/HydPy-H-Lahn/multiple_runs.xml +309 -0
- hydpy/data/HydPy-H-Lahn/multiple_runs_alpha.xml +71 -0
- hydpy/data/HydPy-H-Lahn/network/default/headwaters.py +11 -0
- hydpy/data/HydPy-H-Lahn/network/default/nonheadwaters.py +11 -0
- hydpy/data/HydPy-H-Lahn/network/default/streams.py +8 -0
- hydpy/data/HydPy-H-Lahn/series/default/dill_assl_obs_q.asc +11387 -0
- hydpy/data/HydPy-H-Lahn/series/default/evap_pet_hbv96_input_normalairtemperature.nc +0 -0
- hydpy/data/HydPy-H-Lahn/series/default/evap_pet_hbv96_input_normalevapotranspiration.nc +0 -0
- hydpy/data/HydPy-H-Lahn/series/default/hland_96_input_p.nc +0 -0
- hydpy/data/HydPy-H-Lahn/series/default/hland_96_input_t.nc +0 -0
- hydpy/data/HydPy-H-Lahn/series/default/lahn_kalk_obs_q.asc +11387 -0
- hydpy/data/HydPy-H-Lahn/series/default/lahn_leun_obs_q.asc +11387 -0
- hydpy/data/HydPy-H-Lahn/series/default/lahn_marb_obs_q.asc +11387 -0
- hydpy/data/HydPy-H-Lahn/series/default/land_dill_assl_evap_pet_hbv96_input_normalairtemperature.asc +11387 -0
- hydpy/data/HydPy-H-Lahn/series/default/land_dill_assl_evap_pet_hbv96_input_normalevapotranspiration.asc +11387 -0
- hydpy/data/HydPy-H-Lahn/series/default/land_dill_assl_hland_96_input_p.asc +11387 -0
- hydpy/data/HydPy-H-Lahn/series/default/land_dill_assl_hland_96_input_t.asc +11387 -0
- hydpy/data/HydPy-H-Lahn/series/default/land_lahn_kalk_evap_pet_hbv96_input_normalairtemperature.asc +11387 -0
- hydpy/data/HydPy-H-Lahn/series/default/land_lahn_kalk_evap_pet_hbv96_input_normalevapotranspiration.asc +11387 -0
- hydpy/data/HydPy-H-Lahn/series/default/land_lahn_kalk_hland_96_input_p.asc +11387 -0
- hydpy/data/HydPy-H-Lahn/series/default/land_lahn_kalk_hland_96_input_t.asc +11387 -0
- hydpy/data/HydPy-H-Lahn/series/default/land_lahn_leun_evap_pet_hbv96_input_normalairtemperature.asc +11387 -0
- hydpy/data/HydPy-H-Lahn/series/default/land_lahn_leun_evap_pet_hbv96_input_normalevapotranspiration.asc +11387 -0
- hydpy/data/HydPy-H-Lahn/series/default/land_lahn_leun_hland_96_input_p.asc +11387 -0
- hydpy/data/HydPy-H-Lahn/series/default/land_lahn_leun_hland_96_input_t.asc +11387 -0
- hydpy/data/HydPy-H-Lahn/series/default/land_lahn_marb_evap_pet_hbv96_input_normalairtemperature.asc +11387 -0
- hydpy/data/HydPy-H-Lahn/series/default/land_lahn_marb_evap_pet_hbv96_input_normalevapotranspiration.asc +11387 -0
- hydpy/data/HydPy-H-Lahn/series/default/land_lahn_marb_hland_96_input_p.asc +11387 -0
- hydpy/data/HydPy-H-Lahn/series/default/land_lahn_marb_hland_96_input_t.asc +11387 -0
- hydpy/data/HydPy-H-Lahn/series/default/obs_q.nc +0 -0
- hydpy/data/HydPy-H-Lahn/single_run.xml +152 -0
- hydpy/data/HydPy-H-Lahn/single_run.xmlt +143 -0
- hydpy/data/__init__.py +17 -0
- hydpy/docs/__init__.py +0 -0
- hydpy/docs/autofigs/__init__.py +0 -0
- hydpy/docs/bib/__init__.py +0 -0
- hydpy/docs/bib/refs.bib +566 -0
- hydpy/docs/combine_docversions.py +133 -0
- hydpy/docs/draw_model_sketches.py +1301 -0
- hydpy/docs/enable_autodoc.py +7 -0
- hydpy/docs/figs/HydPy-G-GR4.png +0 -0
- hydpy/docs/figs/HydPy-G-GR5.png +0 -0
- hydpy/docs/figs/HydPy-G-GR6.png +0 -0
- hydpy/docs/figs/HydPy-H-HBV96-COSERO.png +0 -0
- hydpy/docs/figs/HydPy-H-HBV96-PREVAH.png +0 -0
- hydpy/docs/figs/HydPy-H-HBV96.png +0 -0
- hydpy/docs/figs/HydPy-H-Lahn.png +0 -0
- hydpy/docs/figs/HydPy-KinW-Williams.png +0 -0
- hydpy/docs/figs/HydPy-L-DD.png +0 -0
- hydpy/docs/figs/HydPy-W-Wag.png +0 -0
- hydpy/docs/figs/HydPy_Logo.png +0 -0
- hydpy/docs/figs/HydPy_Logo_Text.png +0 -0
- hydpy/docs/figs/IDLE-editor.png +0 -0
- hydpy/docs/figs/IDLE-shell.png +0 -0
- hydpy/docs/figs/LAWA_river-basin-bumbers.png +0 -0
- hydpy/docs/figs/__init__.py +0 -0
- hydpy/docs/html_/__init__.py +0 -0
- hydpy/docs/polish_html.py +57 -0
- hydpy/docs/prepare.py +224 -0
- hydpy/docs/publish_docs.py +53 -0
- hydpy/docs/rst/HydPy-ARMA.rst +27 -0
- hydpy/docs/rst/HydPy-Conv.rst +22 -0
- hydpy/docs/rst/HydPy-Dam.rst +79 -0
- hydpy/docs/rst/HydPy-Dummy.rst +21 -0
- hydpy/docs/rst/HydPy-Evap.rst +26 -0
- hydpy/docs/rst/HydPy-Exch.rst +36 -0
- hydpy/docs/rst/HydPy-G.rst +40 -0
- hydpy/docs/rst/HydPy-GA.rst +34 -0
- hydpy/docs/rst/HydPy-H.rst +24 -0
- hydpy/docs/rst/HydPy-KinW.rst +32 -0
- hydpy/docs/rst/HydPy-L.rst +42 -0
- hydpy/docs/rst/HydPy-Meteo.rst +28 -0
- hydpy/docs/rst/HydPy-Musk.rst +21 -0
- hydpy/docs/rst/HydPy-Rconc.rst +17 -0
- hydpy/docs/rst/HydPy-SW1D.rst +49 -0
- hydpy/docs/rst/HydPy-Test.rst +19 -0
- hydpy/docs/rst/HydPy-W.rst +20 -0
- hydpy/docs/rst/HydPy-WHMod.rst +19 -0
- hydpy/docs/rst/HydPy-WQ.rst +20 -0
- hydpy/docs/rst/__init__.py +0 -0
- hydpy/docs/rst/additional_repositories.rst +40 -0
- hydpy/docs/rst/auxiliaries.rst +31 -0
- hydpy/docs/rst/continuous_integration.rst +75 -0
- hydpy/docs/rst/core.rst +75 -0
- hydpy/docs/rst/cythons.rst +47 -0
- hydpy/docs/rst/definitions.rst +506 -0
- hydpy/docs/rst/developer_guide.rst +54 -0
- hydpy/docs/rst/example_projects.rst +40 -0
- hydpy/docs/rst/execution.rst +22 -0
- hydpy/docs/rst/framework_tools.rst +56 -0
- hydpy/docs/rst/how_to_read_the_reference_manual.rst +156 -0
- hydpy/docs/rst/hydpydependencies.rst +55 -0
- hydpy/docs/rst/index.rst +125 -0
- hydpy/docs/rst/installation.rst +155 -0
- hydpy/docs/rst/model_families.rst +79 -0
- hydpy/docs/rst/model_overview.rst +291 -0
- hydpy/docs/rst/modelimports.rst +10 -0
- hydpy/docs/rst/options.rst +119 -0
- hydpy/docs/rst/programming_style.rst +572 -0
- hydpy/docs/rst/project_structure.rst +520 -0
- hydpy/docs/rst/quickstart.rst +304 -0
- hydpy/docs/rst/reference_manual.rst +29 -0
- hydpy/docs/rst/required_tools.rst +50 -0
- hydpy/docs/rst/simulation.rst +514 -0
- hydpy/docs/rst/submodel_interfaces.rst +32 -0
- hydpy/docs/rst/tests_and_documentation.rst +85 -0
- hydpy/docs/rst/user_guide.rst +38 -0
- hydpy/docs/rst/version_control.rst +116 -0
- hydpy/docs/rst/zbibliography.rst +8 -0
- hydpy/docs/sphinx/__init__.py +0 -0
- hydpy/docs/sphinx/_themes/basic_hydpy/changes/frameset.html +11 -0
- hydpy/docs/sphinx/_themes/basic_hydpy/changes/rstsource.html +15 -0
- hydpy/docs/sphinx/_themes/basic_hydpy/changes/versionchanges.html +33 -0
- hydpy/docs/sphinx/_themes/basic_hydpy/defindex.html +35 -0
- hydpy/docs/sphinx/_themes/basic_hydpy/domainindex.html +56 -0
- hydpy/docs/sphinx/_themes/basic_hydpy/genindex-single.html +63 -0
- hydpy/docs/sphinx/_themes/basic_hydpy/genindex-split.html +41 -0
- hydpy/docs/sphinx/_themes/basic_hydpy/genindex.html +76 -0
- hydpy/docs/sphinx/_themes/basic_hydpy/globaltoc.html +11 -0
- hydpy/docs/sphinx/_themes/basic_hydpy/layout.html +221 -0
- hydpy/docs/sphinx/_themes/basic_hydpy/localtoc.html +15 -0
- hydpy/docs/sphinx/_themes/basic_hydpy/opensearch.xml +13 -0
- hydpy/docs/sphinx/_themes/basic_hydpy/page.html +13 -0
- hydpy/docs/sphinx/_themes/basic_hydpy/relations.html +23 -0
- hydpy/docs/sphinx/_themes/basic_hydpy/search.html +65 -0
- hydpy/docs/sphinx/_themes/basic_hydpy/searchbox.html +21 -0
- hydpy/docs/sphinx/_themes/basic_hydpy/searchfield.html +23 -0
- hydpy/docs/sphinx/_themes/basic_hydpy/sourcelink.html +18 -0
- hydpy/docs/sphinx/_themes/basic_hydpy/static/basic.css_t +925 -0
- hydpy/docs/sphinx/_themes/basic_hydpy/static/doctools.js +156 -0
- hydpy/docs/sphinx/_themes/basic_hydpy/static/documentation_options.js_t +13 -0
- hydpy/docs/sphinx/_themes/basic_hydpy/static/file.png +0 -0
- hydpy/docs/sphinx/_themes/basic_hydpy/static/language_data.js_t +26 -0
- hydpy/docs/sphinx/_themes/basic_hydpy/static/minus.png +0 -0
- hydpy/docs/sphinx/_themes/basic_hydpy/static/plus.png +0 -0
- hydpy/docs/sphinx/_themes/basic_hydpy/static/searchtools.js +574 -0
- hydpy/docs/sphinx/_themes/basic_hydpy/static/sphinx_highlight.js +154 -0
- hydpy/docs/sphinx/_themes/basic_hydpy/theme.conf +16 -0
- hydpy/docs/sphinx/_themes/classic_hydpy/layout.html +23 -0
- hydpy/docs/sphinx/_themes/classic_hydpy/static/classic.css_t +358 -0
- hydpy/docs/sphinx/_themes/classic_hydpy/static/sidebar.js_t +72 -0
- hydpy/docs/sphinx/_themes/classic_hydpy/theme.conf +32 -0
- hydpy/docs/sphinx/conf.py +398 -0
- hydpy/docs/sphinx/defaultlinks_extension.py +36 -0
- hydpy/docs/sphinx/integrationtest_extension.py +104 -0
- hydpy/docs/sphinx/projectstructure_extension.py +58 -0
- hydpy/docs/sphinx/submodelgraph_extension.py +53 -0
- hydpy/exe/__init__.py +0 -0
- hydpy/exe/commandtools.py +651 -0
- hydpy/exe/hyd.py +277 -0
- hydpy/exe/modelimports.py +41 -0
- hydpy/exe/replacetools.py +216 -0
- hydpy/exe/servertools.py +2348 -0
- hydpy/exe/xmltools.py +3280 -0
- hydpy/interfaces/__init__.py +0 -0
- hydpy/interfaces/aetinterfaces.py +94 -0
- hydpy/interfaces/dischargeinterfaces.py +45 -0
- hydpy/interfaces/petinterfaces.py +117 -0
- hydpy/interfaces/precipinterfaces.py +42 -0
- hydpy/interfaces/radiationinterfaces.py +79 -0
- hydpy/interfaces/rconcinterfaces.py +30 -0
- hydpy/interfaces/routinginterfaces.py +324 -0
- hydpy/interfaces/soilinterfaces.py +96 -0
- hydpy/interfaces/stateinterfaces.py +98 -0
- hydpy/interfaces/tempinterfaces.py +46 -0
- hydpy/models/__init__.py +0 -0
- hydpy/models/arma/__init__.py +14 -0
- hydpy/models/arma/arma_control.py +383 -0
- hydpy/models/arma/arma_derived.py +204 -0
- hydpy/models/arma/arma_fluxes.py +41 -0
- hydpy/models/arma/arma_inlets.py +11 -0
- hydpy/models/arma/arma_logs.py +19 -0
- hydpy/models/arma/arma_model.py +461 -0
- hydpy/models/arma/arma_outlets.py +11 -0
- hydpy/models/arma_rimorido.py +381 -0
- hydpy/models/conv/__init__.py +12 -0
- hydpy/models/conv/conv_control.py +303 -0
- hydpy/models/conv/conv_derived.py +271 -0
- hydpy/models/conv/conv_fluxes.py +54 -0
- hydpy/models/conv/conv_inlets.py +11 -0
- hydpy/models/conv/conv_model.py +687 -0
- hydpy/models/conv/conv_outlets.py +11 -0
- hydpy/models/conv_idw.py +120 -0
- hydpy/models/conv_idw_ed.py +184 -0
- hydpy/models/conv_nn.py +112 -0
- hydpy/models/dam/__init__.py +16 -0
- hydpy/models/dam/dam_aides.py +17 -0
- hydpy/models/dam/dam_control.py +346 -0
- hydpy/models/dam/dam_derived.py +559 -0
- hydpy/models/dam/dam_factors.py +46 -0
- hydpy/models/dam/dam_fluxes.py +179 -0
- hydpy/models/dam/dam_inlets.py +29 -0
- hydpy/models/dam/dam_logs.py +52 -0
- hydpy/models/dam/dam_model.py +5011 -0
- hydpy/models/dam/dam_outlets.py +23 -0
- hydpy/models/dam/dam_receivers.py +41 -0
- hydpy/models/dam/dam_senders.py +23 -0
- hydpy/models/dam/dam_solver.py +75 -0
- hydpy/models/dam/dam_states.py +11 -0
- hydpy/models/dam_llake.py +499 -0
- hydpy/models/dam_lreservoir.py +548 -0
- hydpy/models/dam_lretention.py +343 -0
- hydpy/models/dam_pump.py +278 -0
- hydpy/models/dam_pump_sluice.py +339 -0
- hydpy/models/dam_sluice.py +319 -0
- hydpy/models/dam_v001.py +1127 -0
- hydpy/models/dam_v002.py +381 -0
- hydpy/models/dam_v003.py +422 -0
- hydpy/models/dam_v004.py +665 -0
- hydpy/models/dam_v005.py +479 -0
- hydpy/models/dummy/__init__.py +15 -0
- hydpy/models/dummy/dummy_control.py +22 -0
- hydpy/models/dummy/dummy_fluxes.py +11 -0
- hydpy/models/dummy/dummy_inlets.py +11 -0
- hydpy/models/dummy/dummy_inputs.py +41 -0
- hydpy/models/dummy/dummy_model.py +196 -0
- hydpy/models/dummy/dummy_outlets.py +11 -0
- hydpy/models/dummy_interceptedwater.py +85 -0
- hydpy/models/dummy_node2node.py +83 -0
- hydpy/models/dummy_snowalbedo.py +84 -0
- hydpy/models/dummy_snowcover.py +84 -0
- hydpy/models/dummy_snowycanopy.py +86 -0
- hydpy/models/dummy_soilwater.py +85 -0
- hydpy/models/evap/__init__.py +13 -0
- hydpy/models/evap/evap_control.py +354 -0
- hydpy/models/evap/evap_derived.py +236 -0
- hydpy/models/evap/evap_factors.py +188 -0
- hydpy/models/evap/evap_fixed.py +68 -0
- hydpy/models/evap/evap_fluxes.py +150 -0
- hydpy/models/evap/evap_inputs.py +54 -0
- hydpy/models/evap/evap_logs.py +91 -0
- hydpy/models/evap/evap_masks.py +48 -0
- hydpy/models/evap/evap_model.py +9170 -0
- hydpy/models/evap/evap_parameters.py +149 -0
- hydpy/models/evap/evap_sequences.py +32 -0
- hydpy/models/evap/evap_states.py +18 -0
- hydpy/models/evap_aet_hbv96.py +372 -0
- hydpy/models/evap_aet_minhas.py +331 -0
- hydpy/models/evap_aet_morsim.py +627 -0
- hydpy/models/evap_pet_ambav1.py +483 -0
- hydpy/models/evap_pet_hbv96.py +147 -0
- hydpy/models/evap_pet_m.py +94 -0
- hydpy/models/evap_pet_mlc.py +107 -0
- hydpy/models/evap_ret_fao56.py +265 -0
- hydpy/models/evap_ret_io.py +74 -0
- hydpy/models/evap_ret_tw2002.py +165 -0
- hydpy/models/exch/__init__.py +14 -0
- hydpy/models/exch/exch_control.py +262 -0
- hydpy/models/exch/exch_derived.py +36 -0
- hydpy/models/exch/exch_factors.py +26 -0
- hydpy/models/exch/exch_fluxes.py +48 -0
- hydpy/models/exch/exch_inlets.py +11 -0
- hydpy/models/exch/exch_logs.py +12 -0
- hydpy/models/exch/exch_model.py +451 -0
- hydpy/models/exch/exch_outlets.py +17 -0
- hydpy/models/exch/exch_receivers.py +17 -0
- hydpy/models/exch_branch_hbv96.py +186 -0
- hydpy/models/exch_waterlevel.py +73 -0
- hydpy/models/exch_weir_hbv96.py +609 -0
- hydpy/models/ga/__init__.py +14 -0
- hydpy/models/ga/ga_aides.py +17 -0
- hydpy/models/ga/ga_control.py +208 -0
- hydpy/models/ga/ga_derived.py +77 -0
- hydpy/models/ga/ga_fluxes.py +83 -0
- hydpy/models/ga/ga_inputs.py +26 -0
- hydpy/models/ga/ga_logs.py +17 -0
- hydpy/models/ga/ga_model.py +2952 -0
- hydpy/models/ga/ga_states.py +87 -0
- hydpy/models/ga_garto.py +1001 -0
- hydpy/models/ga_garto_submodel1.py +79 -0
- hydpy/models/gland/__init__.py +14 -0
- hydpy/models/gland/gland_control.py +90 -0
- hydpy/models/gland/gland_derived.py +113 -0
- hydpy/models/gland/gland_fluxes.py +137 -0
- hydpy/models/gland/gland_inputs.py +12 -0
- hydpy/models/gland/gland_model.py +1439 -0
- hydpy/models/gland/gland_outlets.py +11 -0
- hydpy/models/gland/gland_states.py +90 -0
- hydpy/models/gland_gr4.py +501 -0
- hydpy/models/gland_gr5.py +463 -0
- hydpy/models/gland_gr6.py +487 -0
- hydpy/models/hland/__init__.py +20 -0
- hydpy/models/hland/hland_aides.py +19 -0
- hydpy/models/hland/hland_constants.py +37 -0
- hydpy/models/hland/hland_control.py +1530 -0
- hydpy/models/hland/hland_derived.py +683 -0
- hydpy/models/hland/hland_factors.py +57 -0
- hydpy/models/hland/hland_fixed.py +42 -0
- hydpy/models/hland/hland_fluxes.py +279 -0
- hydpy/models/hland/hland_inputs.py +19 -0
- hydpy/models/hland/hland_masks.py +107 -0
- hydpy/models/hland/hland_model.py +4664 -0
- hydpy/models/hland/hland_outlets.py +11 -0
- hydpy/models/hland/hland_parameters.py +227 -0
- hydpy/models/hland/hland_sequences.py +382 -0
- hydpy/models/hland/hland_states.py +236 -0
- hydpy/models/hland_96.py +1812 -0
- hydpy/models/hland_96c.py +1196 -0
- hydpy/models/hland_96p.py +1204 -0
- hydpy/models/kinw/__init__.py +18 -0
- hydpy/models/kinw/kinw_aides.py +306 -0
- hydpy/models/kinw/kinw_control.py +270 -0
- hydpy/models/kinw/kinw_derived.py +197 -0
- hydpy/models/kinw/kinw_fixed.py +33 -0
- hydpy/models/kinw/kinw_fluxes.py +37 -0
- hydpy/models/kinw/kinw_inlets.py +11 -0
- hydpy/models/kinw/kinw_model.py +3026 -0
- hydpy/models/kinw/kinw_outlets.py +11 -0
- hydpy/models/kinw/kinw_solver.py +45 -0
- hydpy/models/kinw/kinw_states.py +17 -0
- hydpy/models/kinw_williams.py +1299 -0
- hydpy/models/kinw_williams_ext.py +768 -0
- hydpy/models/lland/__init__.py +42 -0
- hydpy/models/lland/lland_aides.py +38 -0
- hydpy/models/lland/lland_constants.py +88 -0
- hydpy/models/lland/lland_control.py +1329 -0
- hydpy/models/lland/lland_derived.py +380 -0
- hydpy/models/lland/lland_factors.py +18 -0
- hydpy/models/lland/lland_fixed.py +128 -0
- hydpy/models/lland/lland_fluxes.py +626 -0
- hydpy/models/lland/lland_inlets.py +12 -0
- hydpy/models/lland/lland_inputs.py +33 -0
- hydpy/models/lland/lland_logs.py +17 -0
- hydpy/models/lland/lland_masks.py +212 -0
- hydpy/models/lland/lland_model.py +7690 -0
- hydpy/models/lland/lland_outlets.py +12 -0
- hydpy/models/lland/lland_parameters.py +195 -0
- hydpy/models/lland/lland_sequences.py +67 -0
- hydpy/models/lland/lland_states.py +280 -0
- hydpy/models/lland_dd.py +2270 -0
- hydpy/models/lland_knauf.py +2156 -0
- hydpy/models/lland_knauf_ic.py +1920 -0
- hydpy/models/meteo/__init__.py +12 -0
- hydpy/models/meteo/meteo_control.py +154 -0
- hydpy/models/meteo/meteo_derived.py +159 -0
- hydpy/models/meteo/meteo_factors.py +88 -0
- hydpy/models/meteo/meteo_fixed.py +19 -0
- hydpy/models/meteo/meteo_fluxes.py +46 -0
- hydpy/models/meteo/meteo_inputs.py +47 -0
- hydpy/models/meteo/meteo_logs.py +30 -0
- hydpy/models/meteo/meteo_model.py +2904 -0
- hydpy/models/meteo/meteo_parameters.py +14 -0
- hydpy/models/meteo/meteo_sequences.py +22 -0
- hydpy/models/meteo_clear_glob_io.py +77 -0
- hydpy/models/meteo_glob_fao56.py +217 -0
- hydpy/models/meteo_glob_io.py +68 -0
- hydpy/models/meteo_glob_morsim.py +444 -0
- hydpy/models/meteo_precip_io.py +76 -0
- hydpy/models/meteo_psun_sun_glob_io.py +83 -0
- hydpy/models/meteo_sun_fao56.py +188 -0
- hydpy/models/meteo_sun_morsim.py +466 -0
- hydpy/models/meteo_temp_io.py +76 -0
- hydpy/models/musk/__init__.py +15 -0
- hydpy/models/musk/musk_control.py +328 -0
- hydpy/models/musk/musk_derived.py +32 -0
- hydpy/models/musk/musk_factors.py +53 -0
- hydpy/models/musk/musk_fluxes.py +24 -0
- hydpy/models/musk/musk_inlets.py +11 -0
- hydpy/models/musk/musk_masks.py +15 -0
- hydpy/models/musk/musk_model.py +838 -0
- hydpy/models/musk/musk_outlets.py +11 -0
- hydpy/models/musk/musk_sequences.py +88 -0
- hydpy/models/musk/musk_solver.py +68 -0
- hydpy/models/musk/musk_states.py +64 -0
- hydpy/models/musk_classic.py +228 -0
- hydpy/models/musk_mct.py +1247 -0
- hydpy/models/rconc/__init__.py +12 -0
- hydpy/models/rconc/rconc_control.py +473 -0
- hydpy/models/rconc/rconc_derived.py +76 -0
- hydpy/models/rconc/rconc_fluxes.py +19 -0
- hydpy/models/rconc/rconc_logs.py +74 -0
- hydpy/models/rconc/rconc_model.py +260 -0
- hydpy/models/rconc/rconc_states.py +11 -0
- hydpy/models/rconc_nash.py +48 -0
- hydpy/models/rconc_uh.py +53 -0
- hydpy/models/sw1d/__init__.py +17 -0
- hydpy/models/sw1d/sw1d_control.py +356 -0
- hydpy/models/sw1d/sw1d_derived.py +85 -0
- hydpy/models/sw1d/sw1d_factors.py +78 -0
- hydpy/models/sw1d/sw1d_fixed.py +12 -0
- hydpy/models/sw1d/sw1d_fluxes.py +55 -0
- hydpy/models/sw1d/sw1d_inlets.py +17 -0
- hydpy/models/sw1d/sw1d_model.py +3385 -0
- hydpy/models/sw1d/sw1d_outlets.py +11 -0
- hydpy/models/sw1d/sw1d_receivers.py +11 -0
- hydpy/models/sw1d/sw1d_senders.py +11 -0
- hydpy/models/sw1d/sw1d_states.py +23 -0
- hydpy/models/sw1d_channel.py +2051 -0
- hydpy/models/sw1d_gate_out.py +599 -0
- hydpy/models/sw1d_lias.py +105 -0
- hydpy/models/sw1d_lias_sluice.py +531 -0
- hydpy/models/sw1d_network.py +1219 -0
- hydpy/models/sw1d_pump.py +448 -0
- hydpy/models/sw1d_q_in.py +79 -0
- hydpy/models/sw1d_q_out.py +81 -0
- hydpy/models/sw1d_storage.py +78 -0
- hydpy/models/sw1d_weir_out.py +75 -0
- hydpy/models/test/__init__.py +14 -0
- hydpy/models/test/test_control.py +28 -0
- hydpy/models/test/test_fluxes.py +17 -0
- hydpy/models/test/test_model.py +201 -0
- hydpy/models/test/test_solver.py +48 -0
- hydpy/models/test/test_states.py +17 -0
- hydpy/models/test_discontinous.py +46 -0
- hydpy/models/test_stiff0d.py +47 -0
- hydpy/models/test_stiff1d.py +42 -0
- hydpy/models/whmod/__init__.py +21 -0
- hydpy/models/whmod/whmod_constants.py +77 -0
- hydpy/models/whmod/whmod_control.py +333 -0
- hydpy/models/whmod/whmod_derived.py +210 -0
- hydpy/models/whmod/whmod_factors.py +9 -0
- hydpy/models/whmod/whmod_fluxes.py +105 -0
- hydpy/models/whmod/whmod_inputs.py +15 -0
- hydpy/models/whmod/whmod_masks.py +178 -0
- hydpy/models/whmod/whmod_model.py +2091 -0
- hydpy/models/whmod/whmod_parameters.py +155 -0
- hydpy/models/whmod/whmod_sequences.py +193 -0
- hydpy/models/whmod/whmod_states.py +73 -0
- hydpy/models/whmod_rural.py +794 -0
- hydpy/models/whmod_urban.py +1011 -0
- hydpy/models/wland/__init__.py +43 -0
- hydpy/models/wland/wland_aides.py +55 -0
- hydpy/models/wland/wland_constants.py +103 -0
- hydpy/models/wland/wland_control.py +508 -0
- hydpy/models/wland/wland_derived.py +330 -0
- hydpy/models/wland/wland_factors.py +11 -0
- hydpy/models/wland/wland_fixed.py +12 -0
- hydpy/models/wland/wland_fluxes.py +166 -0
- hydpy/models/wland/wland_inputs.py +33 -0
- hydpy/models/wland/wland_masks.py +54 -0
- hydpy/models/wland/wland_model.py +3755 -0
- hydpy/models/wland/wland_outlets.py +11 -0
- hydpy/models/wland/wland_parameters.py +214 -0
- hydpy/models/wland/wland_sequences.py +108 -0
- hydpy/models/wland/wland_solver.py +45 -0
- hydpy/models/wland/wland_states.py +56 -0
- hydpy/models/wland_gd.py +888 -0
- hydpy/models/wland_wag.py +1244 -0
- hydpy/models/wq/__init__.py +14 -0
- hydpy/models/wq/wq_control.py +117 -0
- hydpy/models/wq/wq_derived.py +182 -0
- hydpy/models/wq/wq_factors.py +79 -0
- hydpy/models/wq/wq_fluxes.py +17 -0
- hydpy/models/wq/wq_model.py +1889 -0
- hydpy/models/wq_trapeze.py +168 -0
- hydpy/models/wq_trapeze_strickler.py +101 -0
- hydpy/models/wq_walrus.py +57 -0
- hydpy/py.typed +0 -0
- hydpy/tests/.coveragerc +22 -0
- hydpy/tests/__init__.py +0 -0
- hydpy/tests/check_consistency.py +32 -0
- hydpy/tests/hydpydoctestcustomize.pth +1 -0
- hydpy/tests/hydpydoctestcustomize.py +15 -0
- hydpy/tests/iotesting/__init__.py +0 -0
- hydpy/tests/run_doctests.py +233 -0
- hydpy-6.2.dev1.data/scripts/hyd.py +277 -0
- hydpy-6.2.dev1.dist-info/LICENSE +165 -0
- hydpy-6.2.dev1.dist-info/METADATA +163 -0
- hydpy-6.2.dev1.dist-info/RECORD +890 -0
- hydpy-6.2.dev1.dist-info/WHEEL +5 -0
- hydpy-6.2.dev1.dist-info/licenses_hydpy_installer.txt +42 -0
- hydpy-6.2.dev1.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
#!python
|
|
2
|
+
# distutils: define_macros=NPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION
|
|
3
|
+
# cython: language_level=3
|
|
4
|
+
# cython: cpow=True
|
|
5
|
+
# cython: boundscheck=False
|
|
6
|
+
# cython: wraparound=False
|
|
7
|
+
# cython: initializedcheck=False
|
|
8
|
+
# cython: cdivision=True
|
|
9
|
+
from typing import Optional
|
|
10
|
+
import numpy
|
|
11
|
+
cimport numpy
|
|
12
|
+
from libc.math cimport exp, fabs, log, sin, cos, tan, tanh, asin, acos, atan, isnan, isinf
|
|
13
|
+
from libc.math cimport NAN as nan
|
|
14
|
+
from libc.math cimport INFINITY as inf
|
|
15
|
+
import cython
|
|
16
|
+
from cpython.mem cimport PyMem_Malloc
|
|
17
|
+
from cpython.mem cimport PyMem_Realloc
|
|
18
|
+
from cpython.mem cimport PyMem_Free
|
|
19
|
+
from hydpy.cythons.autogen cimport configutils
|
|
20
|
+
from hydpy.cythons.autogen cimport interfaceutils
|
|
21
|
+
from hydpy.cythons.autogen cimport interputils
|
|
22
|
+
from hydpy.cythons.autogen import pointerutils
|
|
23
|
+
from hydpy.cythons.autogen cimport pointerutils
|
|
24
|
+
from hydpy.cythons.autogen cimport quadutils
|
|
25
|
+
from hydpy.cythons.autogen cimport rootutils
|
|
26
|
+
from hydpy.cythons.autogen cimport smoothutils
|
|
27
|
+
from hydpy.cythons.autogen cimport masterinterface
|
|
28
|
+
ctypedef void (*CallbackType) (Model) noexcept nogil
|
|
29
|
+
cdef class CallbackWrapper:
|
|
30
|
+
cdef CallbackType callback
|
|
31
|
+
@cython.final
|
|
32
|
+
cdef class Parameters:
|
|
33
|
+
cdef public ControlParameters control
|
|
34
|
+
cdef public DerivedParameters derived
|
|
35
|
+
@cython.final
|
|
36
|
+
cdef class ControlParameters:
|
|
37
|
+
cdef public numpy.int64_t nmbtrapezes
|
|
38
|
+
cdef public double[:] bottomlevels
|
|
39
|
+
cdef public double[:] bottomwidths
|
|
40
|
+
cdef public double[:] sideslopes
|
|
41
|
+
@cython.final
|
|
42
|
+
cdef class DerivedParameters:
|
|
43
|
+
cdef public double[:] bottomdepths
|
|
44
|
+
cdef public double[:] trapezeheights
|
|
45
|
+
cdef public double[:] slopewidths
|
|
46
|
+
cdef public double[:] trapezeareas
|
|
47
|
+
cdef public double[:] perimeterderivatives
|
|
48
|
+
@cython.final
|
|
49
|
+
cdef class Sequences:
|
|
50
|
+
cdef public FactorSequences factors
|
|
51
|
+
@cython.final
|
|
52
|
+
cdef class FactorSequences:
|
|
53
|
+
cdef public double waterdepth
|
|
54
|
+
cdef public numpy.int64_t _waterdepth_ndim
|
|
55
|
+
cdef public numpy.int64_t _waterdepth_length
|
|
56
|
+
cdef public bint _waterdepth_ramflag
|
|
57
|
+
cdef public double[:] _waterdepth_array
|
|
58
|
+
cdef public bint _waterdepth_diskflag_reading
|
|
59
|
+
cdef public bint _waterdepth_diskflag_writing
|
|
60
|
+
cdef public double[:] _waterdepth_ncarray
|
|
61
|
+
cdef public bint _waterdepth_outputflag
|
|
62
|
+
cdef double *_waterdepth_outputpointer
|
|
63
|
+
cdef public double waterlevel
|
|
64
|
+
cdef public numpy.int64_t _waterlevel_ndim
|
|
65
|
+
cdef public numpy.int64_t _waterlevel_length
|
|
66
|
+
cdef public bint _waterlevel_ramflag
|
|
67
|
+
cdef public double[:] _waterlevel_array
|
|
68
|
+
cdef public bint _waterlevel_diskflag_reading
|
|
69
|
+
cdef public bint _waterlevel_diskflag_writing
|
|
70
|
+
cdef public double[:] _waterlevel_ncarray
|
|
71
|
+
cdef public bint _waterlevel_outputflag
|
|
72
|
+
cdef double *_waterlevel_outputpointer
|
|
73
|
+
cdef public double[:] wettedareas
|
|
74
|
+
cdef public numpy.int64_t _wettedareas_ndim
|
|
75
|
+
cdef public numpy.int64_t _wettedareas_length
|
|
76
|
+
cdef public numpy.int64_t _wettedareas_length_0
|
|
77
|
+
cdef public bint _wettedareas_ramflag
|
|
78
|
+
cdef public double[:,:] _wettedareas_array
|
|
79
|
+
cdef public bint _wettedareas_diskflag_reading
|
|
80
|
+
cdef public bint _wettedareas_diskflag_writing
|
|
81
|
+
cdef public double[:] _wettedareas_ncarray
|
|
82
|
+
cdef public double wettedarea
|
|
83
|
+
cdef public numpy.int64_t _wettedarea_ndim
|
|
84
|
+
cdef public numpy.int64_t _wettedarea_length
|
|
85
|
+
cdef public bint _wettedarea_ramflag
|
|
86
|
+
cdef public double[:] _wettedarea_array
|
|
87
|
+
cdef public bint _wettedarea_diskflag_reading
|
|
88
|
+
cdef public bint _wettedarea_diskflag_writing
|
|
89
|
+
cdef public double[:] _wettedarea_ncarray
|
|
90
|
+
cdef public bint _wettedarea_outputflag
|
|
91
|
+
cdef double *_wettedarea_outputpointer
|
|
92
|
+
cdef public double[:] wettedperimeters
|
|
93
|
+
cdef public numpy.int64_t _wettedperimeters_ndim
|
|
94
|
+
cdef public numpy.int64_t _wettedperimeters_length
|
|
95
|
+
cdef public numpy.int64_t _wettedperimeters_length_0
|
|
96
|
+
cdef public bint _wettedperimeters_ramflag
|
|
97
|
+
cdef public double[:,:] _wettedperimeters_array
|
|
98
|
+
cdef public bint _wettedperimeters_diskflag_reading
|
|
99
|
+
cdef public bint _wettedperimeters_diskflag_writing
|
|
100
|
+
cdef public double[:] _wettedperimeters_ncarray
|
|
101
|
+
cdef public double wettedperimeter
|
|
102
|
+
cdef public numpy.int64_t _wettedperimeter_ndim
|
|
103
|
+
cdef public numpy.int64_t _wettedperimeter_length
|
|
104
|
+
cdef public bint _wettedperimeter_ramflag
|
|
105
|
+
cdef public double[:] _wettedperimeter_array
|
|
106
|
+
cdef public bint _wettedperimeter_diskflag_reading
|
|
107
|
+
cdef public bint _wettedperimeter_diskflag_writing
|
|
108
|
+
cdef public double[:] _wettedperimeter_ncarray
|
|
109
|
+
cdef public bint _wettedperimeter_outputflag
|
|
110
|
+
cdef double *_wettedperimeter_outputpointer
|
|
111
|
+
cdef public double[:] wettedperimeterderivatives
|
|
112
|
+
cdef public numpy.int64_t _wettedperimeterderivatives_ndim
|
|
113
|
+
cdef public numpy.int64_t _wettedperimeterderivatives_length
|
|
114
|
+
cdef public numpy.int64_t _wettedperimeterderivatives_length_0
|
|
115
|
+
cdef public bint _wettedperimeterderivatives_ramflag
|
|
116
|
+
cdef public double[:,:] _wettedperimeterderivatives_array
|
|
117
|
+
cdef public bint _wettedperimeterderivatives_diskflag_reading
|
|
118
|
+
cdef public bint _wettedperimeterderivatives_diskflag_writing
|
|
119
|
+
cdef public double[:] _wettedperimeterderivatives_ncarray
|
|
120
|
+
cpdef inline void load_data(self, numpy.int64_t idx) noexcept nogil
|
|
121
|
+
cpdef inline void save_data(self, numpy.int64_t idx) noexcept nogil
|
|
122
|
+
cpdef inline set_pointeroutput(self, str name, pointerutils.PDouble value)
|
|
123
|
+
cpdef inline void update_outputs(self) noexcept nogil
|
|
124
|
+
@cython.final
|
|
125
|
+
cdef class Model(masterinterface.MasterInterface):
|
|
126
|
+
cdef public Parameters parameters
|
|
127
|
+
cdef public Sequences sequences
|
|
128
|
+
cpdef inline void simulate(self, numpy.int64_t idx) noexcept nogil
|
|
129
|
+
cpdef void reset_reuseflags(self) noexcept nogil
|
|
130
|
+
cpdef void save_data(self, numpy.int64_t idx) noexcept nogil
|
|
131
|
+
cpdef inline void run(self) noexcept nogil
|
|
132
|
+
cpdef inline void update_inlets(self) noexcept nogil
|
|
133
|
+
cpdef inline void update_outlets(self) noexcept nogil
|
|
134
|
+
cpdef inline void update_receivers(self, numpy.int64_t idx) noexcept nogil
|
|
135
|
+
cpdef inline void update_senders(self, numpy.int64_t idx) noexcept nogil
|
|
136
|
+
cpdef inline void update_outputs(self) noexcept nogil
|
|
137
|
+
cpdef double get_waterdepth_v1(self) noexcept nogil
|
|
138
|
+
cpdef double get_waterlevel_v1(self) noexcept nogil
|
|
139
|
+
cpdef double get_wettedarea_v1(self) noexcept nogil
|
|
140
|
+
cpdef double get_wettedperimeter_v1(self) noexcept nogil
|
|
141
|
+
cpdef inline void set_waterdepth_v1(self, double waterdepth) noexcept nogil
|
|
142
|
+
cpdef inline void set_waterlevel_v1(self, double waterlevel) noexcept nogil
|
|
143
|
+
cpdef inline void set_wettedarea_v1(self, double wettedarea) noexcept nogil
|
|
144
|
+
cpdef inline void calc_waterdepth_v1(self) noexcept nogil
|
|
145
|
+
cpdef inline void calc_waterdepth_v2(self) noexcept nogil
|
|
146
|
+
cpdef inline void calc_waterlevel_v1(self) noexcept nogil
|
|
147
|
+
cpdef inline void calc_wettedareas_v1(self) noexcept nogil
|
|
148
|
+
cpdef inline void calc_wettedarea_v1(self) noexcept nogil
|
|
149
|
+
cpdef inline void calc_wettedperimeters_v1(self) noexcept nogil
|
|
150
|
+
cpdef inline void calc_wettedperimeter_v1(self) noexcept nogil
|
|
151
|
+
cpdef inline void calc_wettedperimeterderivatives_v1(self) noexcept nogil
|
|
152
|
+
cpdef double get_waterdepth(self) noexcept nogil
|
|
153
|
+
cpdef double get_waterlevel(self) noexcept nogil
|
|
154
|
+
cpdef double get_wettedarea(self) noexcept nogil
|
|
155
|
+
cpdef double get_wettedperimeter(self) noexcept nogil
|
|
156
|
+
cpdef inline void set_waterdepth(self, double waterdepth) noexcept nogil
|
|
157
|
+
cpdef inline void set_waterlevel(self, double waterlevel) noexcept nogil
|
|
158
|
+
cpdef inline void set_wettedarea(self, double wettedarea) noexcept nogil
|
|
159
|
+
cpdef inline void calc_waterlevel(self) noexcept nogil
|
|
160
|
+
cpdef inline void calc_wettedareas(self) noexcept nogil
|
|
161
|
+
cpdef inline void calc_wettedarea(self) noexcept nogil
|
|
162
|
+
cpdef inline void calc_wettedperimeters(self) noexcept nogil
|
|
163
|
+
cpdef inline void calc_wettedperimeter(self) noexcept nogil
|
|
164
|
+
cpdef inline void calc_wettedperimeterderivatives(self) noexcept nogil
|
|
165
|
+
cpdef void use_waterdepth_v2(self, double waterdepth) noexcept nogil
|
|
166
|
+
cpdef void use_waterlevel_v2(self, double waterlevel) noexcept nogil
|
|
167
|
+
cpdef void use_wettedarea_v1(self, double wettedarea) noexcept nogil
|
|
168
|
+
cpdef void use_waterdepth(self, double waterdepth) noexcept nogil
|
|
169
|
+
cpdef void use_waterlevel(self, double waterlevel) noexcept nogil
|
|
170
|
+
cpdef void use_wettedarea(self, double wettedarea) noexcept nogil
|
|
@@ -0,0 +1,400 @@
|
|
|
1
|
+
#!python
|
|
2
|
+
# distutils: define_macros=NPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION
|
|
3
|
+
# cython: language_level=3
|
|
4
|
+
# cython: cpow=True
|
|
5
|
+
# cython: boundscheck=False
|
|
6
|
+
# cython: wraparound=False
|
|
7
|
+
# cython: initializedcheck=False
|
|
8
|
+
# cython: cdivision=True
|
|
9
|
+
from typing import Optional
|
|
10
|
+
import numpy
|
|
11
|
+
cimport numpy
|
|
12
|
+
from libc.math cimport exp, fabs, log, sin, cos, tan, tanh, asin, acos, atan, isnan, isinf
|
|
13
|
+
from libc.math cimport NAN as nan
|
|
14
|
+
from libc.math cimport INFINITY as inf
|
|
15
|
+
import cython
|
|
16
|
+
from cpython.mem cimport PyMem_Malloc
|
|
17
|
+
from cpython.mem cimport PyMem_Realloc
|
|
18
|
+
from cpython.mem cimport PyMem_Free
|
|
19
|
+
from hydpy.cythons.autogen cimport configutils
|
|
20
|
+
from hydpy.cythons.autogen cimport interfaceutils
|
|
21
|
+
from hydpy.cythons.autogen cimport interputils
|
|
22
|
+
from hydpy.cythons.autogen import pointerutils
|
|
23
|
+
from hydpy.cythons.autogen cimport pointerutils
|
|
24
|
+
from hydpy.cythons.autogen cimport quadutils
|
|
25
|
+
from hydpy.cythons.autogen cimport rootutils
|
|
26
|
+
from hydpy.cythons.autogen cimport smoothutils
|
|
27
|
+
from hydpy.cythons.autogen cimport masterinterface
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
cdef void do_nothing(Model model) noexcept nogil:
|
|
31
|
+
pass
|
|
32
|
+
|
|
33
|
+
cpdef get_wrapper():
|
|
34
|
+
cdef CallbackWrapper wrapper = CallbackWrapper()
|
|
35
|
+
wrapper.callback = do_nothing
|
|
36
|
+
return wrapper
|
|
37
|
+
|
|
38
|
+
@cython.final
|
|
39
|
+
cdef class Parameters:
|
|
40
|
+
pass
|
|
41
|
+
@cython.final
|
|
42
|
+
cdef class ControlParameters:
|
|
43
|
+
pass
|
|
44
|
+
@cython.final
|
|
45
|
+
cdef class DerivedParameters:
|
|
46
|
+
pass
|
|
47
|
+
@cython.final
|
|
48
|
+
cdef class Sequences:
|
|
49
|
+
pass
|
|
50
|
+
@cython.final
|
|
51
|
+
cdef class FactorSequences:
|
|
52
|
+
cpdef inline void load_data(self, numpy.int64_t idx) noexcept nogil:
|
|
53
|
+
cdef numpy.int64_t jdx0
|
|
54
|
+
cdef numpy.int64_t k
|
|
55
|
+
if self._waterdepth_diskflag_reading:
|
|
56
|
+
self.waterdepth = self._waterdepth_ncarray[0]
|
|
57
|
+
elif self._waterdepth_ramflag:
|
|
58
|
+
self.waterdepth = self._waterdepth_array[idx]
|
|
59
|
+
if self._waterlevel_diskflag_reading:
|
|
60
|
+
self.waterlevel = self._waterlevel_ncarray[0]
|
|
61
|
+
elif self._waterlevel_ramflag:
|
|
62
|
+
self.waterlevel = self._waterlevel_array[idx]
|
|
63
|
+
if self._wettedareas_diskflag_reading:
|
|
64
|
+
k = 0
|
|
65
|
+
for jdx0 in range(self._wettedareas_length_0):
|
|
66
|
+
self.wettedareas[jdx0] = self._wettedareas_ncarray[k]
|
|
67
|
+
k += 1
|
|
68
|
+
elif self._wettedareas_ramflag:
|
|
69
|
+
for jdx0 in range(self._wettedareas_length_0):
|
|
70
|
+
self.wettedareas[jdx0] = self._wettedareas_array[idx, jdx0]
|
|
71
|
+
if self._wettedarea_diskflag_reading:
|
|
72
|
+
self.wettedarea = self._wettedarea_ncarray[0]
|
|
73
|
+
elif self._wettedarea_ramflag:
|
|
74
|
+
self.wettedarea = self._wettedarea_array[idx]
|
|
75
|
+
if self._wettedperimeters_diskflag_reading:
|
|
76
|
+
k = 0
|
|
77
|
+
for jdx0 in range(self._wettedperimeters_length_0):
|
|
78
|
+
self.wettedperimeters[jdx0] = self._wettedperimeters_ncarray[k]
|
|
79
|
+
k += 1
|
|
80
|
+
elif self._wettedperimeters_ramflag:
|
|
81
|
+
for jdx0 in range(self._wettedperimeters_length_0):
|
|
82
|
+
self.wettedperimeters[jdx0] = self._wettedperimeters_array[idx, jdx0]
|
|
83
|
+
if self._wettedperimeter_diskflag_reading:
|
|
84
|
+
self.wettedperimeter = self._wettedperimeter_ncarray[0]
|
|
85
|
+
elif self._wettedperimeter_ramflag:
|
|
86
|
+
self.wettedperimeter = self._wettedperimeter_array[idx]
|
|
87
|
+
if self._wettedperimeterderivatives_diskflag_reading:
|
|
88
|
+
k = 0
|
|
89
|
+
for jdx0 in range(self._wettedperimeterderivatives_length_0):
|
|
90
|
+
self.wettedperimeterderivatives[jdx0] = self._wettedperimeterderivatives_ncarray[k]
|
|
91
|
+
k += 1
|
|
92
|
+
elif self._wettedperimeterderivatives_ramflag:
|
|
93
|
+
for jdx0 in range(self._wettedperimeterderivatives_length_0):
|
|
94
|
+
self.wettedperimeterderivatives[jdx0] = self._wettedperimeterderivatives_array[idx, jdx0]
|
|
95
|
+
cpdef inline void save_data(self, numpy.int64_t idx) noexcept nogil:
|
|
96
|
+
cdef numpy.int64_t jdx0
|
|
97
|
+
cdef numpy.int64_t k
|
|
98
|
+
if self._waterdepth_diskflag_writing:
|
|
99
|
+
self._waterdepth_ncarray[0] = self.waterdepth
|
|
100
|
+
if self._waterdepth_ramflag:
|
|
101
|
+
self._waterdepth_array[idx] = self.waterdepth
|
|
102
|
+
if self._waterlevel_diskflag_writing:
|
|
103
|
+
self._waterlevel_ncarray[0] = self.waterlevel
|
|
104
|
+
if self._waterlevel_ramflag:
|
|
105
|
+
self._waterlevel_array[idx] = self.waterlevel
|
|
106
|
+
if self._wettedareas_diskflag_writing:
|
|
107
|
+
k = 0
|
|
108
|
+
for jdx0 in range(self._wettedareas_length_0):
|
|
109
|
+
self._wettedareas_ncarray[k] = self.wettedareas[jdx0]
|
|
110
|
+
k += 1
|
|
111
|
+
if self._wettedareas_ramflag:
|
|
112
|
+
for jdx0 in range(self._wettedareas_length_0):
|
|
113
|
+
self._wettedareas_array[idx, jdx0] = self.wettedareas[jdx0]
|
|
114
|
+
if self._wettedarea_diskflag_writing:
|
|
115
|
+
self._wettedarea_ncarray[0] = self.wettedarea
|
|
116
|
+
if self._wettedarea_ramflag:
|
|
117
|
+
self._wettedarea_array[idx] = self.wettedarea
|
|
118
|
+
if self._wettedperimeters_diskflag_writing:
|
|
119
|
+
k = 0
|
|
120
|
+
for jdx0 in range(self._wettedperimeters_length_0):
|
|
121
|
+
self._wettedperimeters_ncarray[k] = self.wettedperimeters[jdx0]
|
|
122
|
+
k += 1
|
|
123
|
+
if self._wettedperimeters_ramflag:
|
|
124
|
+
for jdx0 in range(self._wettedperimeters_length_0):
|
|
125
|
+
self._wettedperimeters_array[idx, jdx0] = self.wettedperimeters[jdx0]
|
|
126
|
+
if self._wettedperimeter_diskflag_writing:
|
|
127
|
+
self._wettedperimeter_ncarray[0] = self.wettedperimeter
|
|
128
|
+
if self._wettedperimeter_ramflag:
|
|
129
|
+
self._wettedperimeter_array[idx] = self.wettedperimeter
|
|
130
|
+
if self._wettedperimeterderivatives_diskflag_writing:
|
|
131
|
+
k = 0
|
|
132
|
+
for jdx0 in range(self._wettedperimeterderivatives_length_0):
|
|
133
|
+
self._wettedperimeterderivatives_ncarray[k] = self.wettedperimeterderivatives[jdx0]
|
|
134
|
+
k += 1
|
|
135
|
+
if self._wettedperimeterderivatives_ramflag:
|
|
136
|
+
for jdx0 in range(self._wettedperimeterderivatives_length_0):
|
|
137
|
+
self._wettedperimeterderivatives_array[idx, jdx0] = self.wettedperimeterderivatives[jdx0]
|
|
138
|
+
cpdef inline set_pointeroutput(self, str name, pointerutils.PDouble value):
|
|
139
|
+
if name == "waterdepth":
|
|
140
|
+
self._waterdepth_outputpointer = value.p_value
|
|
141
|
+
if name == "waterlevel":
|
|
142
|
+
self._waterlevel_outputpointer = value.p_value
|
|
143
|
+
if name == "wettedarea":
|
|
144
|
+
self._wettedarea_outputpointer = value.p_value
|
|
145
|
+
if name == "wettedperimeter":
|
|
146
|
+
self._wettedperimeter_outputpointer = value.p_value
|
|
147
|
+
cpdef inline void update_outputs(self) noexcept nogil:
|
|
148
|
+
if self._waterdepth_outputflag:
|
|
149
|
+
self._waterdepth_outputpointer[0] = self.waterdepth
|
|
150
|
+
if self._waterlevel_outputflag:
|
|
151
|
+
self._waterlevel_outputpointer[0] = self.waterlevel
|
|
152
|
+
if self._wettedarea_outputflag:
|
|
153
|
+
self._wettedarea_outputpointer[0] = self.wettedarea
|
|
154
|
+
if self._wettedperimeter_outputflag:
|
|
155
|
+
self._wettedperimeter_outputpointer[0] = self.wettedperimeter
|
|
156
|
+
@cython.final
|
|
157
|
+
cdef class Model(masterinterface.MasterInterface):
|
|
158
|
+
cpdef inline void simulate(self, numpy.int64_t idx) noexcept nogil:
|
|
159
|
+
self.idx_sim = idx
|
|
160
|
+
self.run()
|
|
161
|
+
self.update_outputs()
|
|
162
|
+
cpdef void reset_reuseflags(self) noexcept nogil:
|
|
163
|
+
pass
|
|
164
|
+
cpdef void save_data(self, numpy.int64_t idx) noexcept nogil:
|
|
165
|
+
self.idx_sim = idx
|
|
166
|
+
self.sequences.factors.save_data(idx)
|
|
167
|
+
cpdef inline void run(self) noexcept nogil:
|
|
168
|
+
pass
|
|
169
|
+
cpdef inline void update_inlets(self) noexcept nogil:
|
|
170
|
+
pass
|
|
171
|
+
cpdef inline void update_outlets(self) noexcept nogil:
|
|
172
|
+
pass
|
|
173
|
+
cpdef inline void update_receivers(self, numpy.int64_t idx) noexcept nogil:
|
|
174
|
+
self.idx_sim = idx
|
|
175
|
+
pass
|
|
176
|
+
cpdef inline void update_senders(self, numpy.int64_t idx) noexcept nogil:
|
|
177
|
+
self.idx_sim = idx
|
|
178
|
+
pass
|
|
179
|
+
cpdef inline void update_outputs(self) noexcept nogil:
|
|
180
|
+
self.sequences.factors.update_outputs()
|
|
181
|
+
cpdef double get_waterdepth_v1(self) noexcept nogil:
|
|
182
|
+
return self.sequences.factors.waterdepth
|
|
183
|
+
cpdef double get_waterlevel_v1(self) noexcept nogil:
|
|
184
|
+
return self.sequences.factors.waterlevel
|
|
185
|
+
cpdef double get_wettedarea_v1(self) noexcept nogil:
|
|
186
|
+
return self.sequences.factors.wettedarea
|
|
187
|
+
cpdef double get_wettedperimeter_v1(self) noexcept nogil:
|
|
188
|
+
return self.sequences.factors.wettedperimeter
|
|
189
|
+
cpdef inline void set_waterdepth_v1(self, double waterdepth) noexcept nogil:
|
|
190
|
+
self.sequences.factors.waterdepth = waterdepth
|
|
191
|
+
cpdef inline void set_waterlevel_v1(self, double waterlevel) noexcept nogil:
|
|
192
|
+
self.sequences.factors.waterlevel = waterlevel
|
|
193
|
+
cpdef inline void set_wettedarea_v1(self, double wettedarea) noexcept nogil:
|
|
194
|
+
self.sequences.factors.wettedarea = wettedarea
|
|
195
|
+
cpdef inline void calc_waterdepth_v1(self) noexcept nogil:
|
|
196
|
+
self.sequences.factors.waterdepth = max(self.sequences.factors.waterlevel - self.parameters.control.bottomlevels[0], 0.0)
|
|
197
|
+
cpdef inline void calc_waterdepth_v2(self) noexcept nogil:
|
|
198
|
+
cdef double ss
|
|
199
|
+
cdef numpy.int64_t i
|
|
200
|
+
cdef double w
|
|
201
|
+
cdef double d
|
|
202
|
+
cdef double a
|
|
203
|
+
a = self.sequences.factors.wettedarea
|
|
204
|
+
d = 0.0
|
|
205
|
+
w = 0.0
|
|
206
|
+
for i in range(self.parameters.control.nmbtrapezes):
|
|
207
|
+
if a > self.parameters.derived.trapezeareas[i]:
|
|
208
|
+
a = a - (self.parameters.derived.trapezeareas[i])
|
|
209
|
+
d = d + (self.parameters.derived.trapezeheights[i])
|
|
210
|
+
w = w + (self.parameters.control.bottomwidths[i] + self.parameters.derived.slopewidths[i])
|
|
211
|
+
else:
|
|
212
|
+
if a > 0.0:
|
|
213
|
+
w = w + (self.parameters.control.bottomwidths[i])
|
|
214
|
+
ss = self.parameters.control.sideslopes[i]
|
|
215
|
+
if ss > 1e-10:
|
|
216
|
+
d = d + (((4.0 * ss * a + w**2.0) ** 0.5 - w) / (2.0 * ss))
|
|
217
|
+
else:
|
|
218
|
+
d = d + (a / w)
|
|
219
|
+
self.sequences.factors.waterdepth = d
|
|
220
|
+
break
|
|
221
|
+
cpdef inline void calc_waterlevel_v1(self) noexcept nogil:
|
|
222
|
+
self.sequences.factors.waterlevel = self.sequences.factors.waterdepth + self.parameters.control.bottomlevels[0]
|
|
223
|
+
cpdef inline void calc_wettedareas_v1(self) noexcept nogil:
|
|
224
|
+
cdef double ws
|
|
225
|
+
cdef double ss
|
|
226
|
+
cdef double wb
|
|
227
|
+
cdef double ht
|
|
228
|
+
cdef double d
|
|
229
|
+
cdef numpy.int64_t i
|
|
230
|
+
for i in range(self.parameters.control.nmbtrapezes):
|
|
231
|
+
d = self.sequences.factors.waterdepth - self.parameters.derived.bottomdepths[i]
|
|
232
|
+
if d < 0.0:
|
|
233
|
+
self.sequences.factors.wettedareas[i] = 0.0
|
|
234
|
+
else:
|
|
235
|
+
ht = self.parameters.derived.trapezeheights[i]
|
|
236
|
+
wb = self.parameters.control.bottomwidths[i]
|
|
237
|
+
if d < ht:
|
|
238
|
+
ss = self.parameters.control.sideslopes[i]
|
|
239
|
+
self.sequences.factors.wettedareas[i] = (wb + ss * d) * d
|
|
240
|
+
else:
|
|
241
|
+
ws = self.parameters.derived.slopewidths[i]
|
|
242
|
+
self.sequences.factors.wettedareas[i] = (wb + ws / 2.0) * ht + (wb + ws) * (d - ht)
|
|
243
|
+
cpdef inline void calc_wettedarea_v1(self) noexcept nogil:
|
|
244
|
+
cdef numpy.int64_t i
|
|
245
|
+
self.sequences.factors.wettedarea = 0.0
|
|
246
|
+
for i in range(self.parameters.control.nmbtrapezes):
|
|
247
|
+
self.sequences.factors.wettedarea = self.sequences.factors.wettedarea + (self.sequences.factors.wettedareas[i])
|
|
248
|
+
cpdef inline void calc_wettedperimeters_v1(self) noexcept nogil:
|
|
249
|
+
cdef double ss
|
|
250
|
+
cdef double wb
|
|
251
|
+
cdef double ht
|
|
252
|
+
cdef double d
|
|
253
|
+
cdef numpy.int64_t i
|
|
254
|
+
for i in range(self.parameters.control.nmbtrapezes):
|
|
255
|
+
d = self.sequences.factors.waterdepth - self.parameters.derived.bottomdepths[i]
|
|
256
|
+
if d < 0.0:
|
|
257
|
+
self.sequences.factors.wettedperimeters[i] = 0.0
|
|
258
|
+
else:
|
|
259
|
+
ht = self.parameters.derived.trapezeheights[i]
|
|
260
|
+
wb = self.parameters.control.bottomwidths[i]
|
|
261
|
+
ss = self.parameters.control.sideslopes[i]
|
|
262
|
+
if d < ht:
|
|
263
|
+
self.sequences.factors.wettedperimeters[i] = wb + 2.0 * d * (ss**2.0 + 1.0) ** 0.5
|
|
264
|
+
else:
|
|
265
|
+
self.sequences.factors.wettedperimeters[i] = ( wb + 2.0 * ht * (ss**2.0 + 1.0) ** 0.5 + 2.0 * (d - ht) )
|
|
266
|
+
cpdef inline void calc_wettedperimeter_v1(self) noexcept nogil:
|
|
267
|
+
cdef numpy.int64_t i
|
|
268
|
+
self.sequences.factors.wettedperimeter = 0.0
|
|
269
|
+
for i in range(self.parameters.control.nmbtrapezes):
|
|
270
|
+
self.sequences.factors.wettedperimeter = self.sequences.factors.wettedperimeter + (self.sequences.factors.wettedperimeters[i])
|
|
271
|
+
cpdef inline void calc_wettedperimeterderivatives_v1(self) noexcept nogil:
|
|
272
|
+
cdef double d
|
|
273
|
+
cdef numpy.int64_t i
|
|
274
|
+
for i in range(self.parameters.control.nmbtrapezes):
|
|
275
|
+
d = self.sequences.factors.waterdepth - self.parameters.derived.bottomdepths[i]
|
|
276
|
+
if d < 0.0:
|
|
277
|
+
self.sequences.factors.wettedperimeterderivatives[i] = 0.0
|
|
278
|
+
elif d < self.parameters.derived.trapezeheights[i]:
|
|
279
|
+
self.sequences.factors.wettedperimeterderivatives[i] = self.parameters.derived.perimeterderivatives[i]
|
|
280
|
+
else:
|
|
281
|
+
self.sequences.factors.wettedperimeterderivatives[i] = 2.0
|
|
282
|
+
cpdef double get_waterdepth(self) noexcept nogil:
|
|
283
|
+
return self.sequences.factors.waterdepth
|
|
284
|
+
cpdef double get_waterlevel(self) noexcept nogil:
|
|
285
|
+
return self.sequences.factors.waterlevel
|
|
286
|
+
cpdef double get_wettedarea(self) noexcept nogil:
|
|
287
|
+
return self.sequences.factors.wettedarea
|
|
288
|
+
cpdef double get_wettedperimeter(self) noexcept nogil:
|
|
289
|
+
return self.sequences.factors.wettedperimeter
|
|
290
|
+
cpdef inline void set_waterdepth(self, double waterdepth) noexcept nogil:
|
|
291
|
+
self.sequences.factors.waterdepth = waterdepth
|
|
292
|
+
cpdef inline void set_waterlevel(self, double waterlevel) noexcept nogil:
|
|
293
|
+
self.sequences.factors.waterlevel = waterlevel
|
|
294
|
+
cpdef inline void set_wettedarea(self, double wettedarea) noexcept nogil:
|
|
295
|
+
self.sequences.factors.wettedarea = wettedarea
|
|
296
|
+
cpdef inline void calc_waterlevel(self) noexcept nogil:
|
|
297
|
+
self.sequences.factors.waterlevel = self.sequences.factors.waterdepth + self.parameters.control.bottomlevels[0]
|
|
298
|
+
cpdef inline void calc_wettedareas(self) noexcept nogil:
|
|
299
|
+
cdef double ws
|
|
300
|
+
cdef double ss
|
|
301
|
+
cdef double wb
|
|
302
|
+
cdef double ht
|
|
303
|
+
cdef double d
|
|
304
|
+
cdef numpy.int64_t i
|
|
305
|
+
for i in range(self.parameters.control.nmbtrapezes):
|
|
306
|
+
d = self.sequences.factors.waterdepth - self.parameters.derived.bottomdepths[i]
|
|
307
|
+
if d < 0.0:
|
|
308
|
+
self.sequences.factors.wettedareas[i] = 0.0
|
|
309
|
+
else:
|
|
310
|
+
ht = self.parameters.derived.trapezeheights[i]
|
|
311
|
+
wb = self.parameters.control.bottomwidths[i]
|
|
312
|
+
if d < ht:
|
|
313
|
+
ss = self.parameters.control.sideslopes[i]
|
|
314
|
+
self.sequences.factors.wettedareas[i] = (wb + ss * d) * d
|
|
315
|
+
else:
|
|
316
|
+
ws = self.parameters.derived.slopewidths[i]
|
|
317
|
+
self.sequences.factors.wettedareas[i] = (wb + ws / 2.0) * ht + (wb + ws) * (d - ht)
|
|
318
|
+
cpdef inline void calc_wettedarea(self) noexcept nogil:
|
|
319
|
+
cdef numpy.int64_t i
|
|
320
|
+
self.sequences.factors.wettedarea = 0.0
|
|
321
|
+
for i in range(self.parameters.control.nmbtrapezes):
|
|
322
|
+
self.sequences.factors.wettedarea = self.sequences.factors.wettedarea + (self.sequences.factors.wettedareas[i])
|
|
323
|
+
cpdef inline void calc_wettedperimeters(self) noexcept nogil:
|
|
324
|
+
cdef double ss
|
|
325
|
+
cdef double wb
|
|
326
|
+
cdef double ht
|
|
327
|
+
cdef double d
|
|
328
|
+
cdef numpy.int64_t i
|
|
329
|
+
for i in range(self.parameters.control.nmbtrapezes):
|
|
330
|
+
d = self.sequences.factors.waterdepth - self.parameters.derived.bottomdepths[i]
|
|
331
|
+
if d < 0.0:
|
|
332
|
+
self.sequences.factors.wettedperimeters[i] = 0.0
|
|
333
|
+
else:
|
|
334
|
+
ht = self.parameters.derived.trapezeheights[i]
|
|
335
|
+
wb = self.parameters.control.bottomwidths[i]
|
|
336
|
+
ss = self.parameters.control.sideslopes[i]
|
|
337
|
+
if d < ht:
|
|
338
|
+
self.sequences.factors.wettedperimeters[i] = wb + 2.0 * d * (ss**2.0 + 1.0) ** 0.5
|
|
339
|
+
else:
|
|
340
|
+
self.sequences.factors.wettedperimeters[i] = ( wb + 2.0 * ht * (ss**2.0 + 1.0) ** 0.5 + 2.0 * (d - ht) )
|
|
341
|
+
cpdef inline void calc_wettedperimeter(self) noexcept nogil:
|
|
342
|
+
cdef numpy.int64_t i
|
|
343
|
+
self.sequences.factors.wettedperimeter = 0.0
|
|
344
|
+
for i in range(self.parameters.control.nmbtrapezes):
|
|
345
|
+
self.sequences.factors.wettedperimeter = self.sequences.factors.wettedperimeter + (self.sequences.factors.wettedperimeters[i])
|
|
346
|
+
cpdef inline void calc_wettedperimeterderivatives(self) noexcept nogil:
|
|
347
|
+
cdef double d
|
|
348
|
+
cdef numpy.int64_t i
|
|
349
|
+
for i in range(self.parameters.control.nmbtrapezes):
|
|
350
|
+
d = self.sequences.factors.waterdepth - self.parameters.derived.bottomdepths[i]
|
|
351
|
+
if d < 0.0:
|
|
352
|
+
self.sequences.factors.wettedperimeterderivatives[i] = 0.0
|
|
353
|
+
elif d < self.parameters.derived.trapezeheights[i]:
|
|
354
|
+
self.sequences.factors.wettedperimeterderivatives[i] = self.parameters.derived.perimeterderivatives[i]
|
|
355
|
+
else:
|
|
356
|
+
self.sequences.factors.wettedperimeterderivatives[i] = 2.0
|
|
357
|
+
cpdef void use_waterdepth_v2(self, double waterdepth) noexcept nogil:
|
|
358
|
+
self.set_waterdepth_v1(waterdepth)
|
|
359
|
+
self.calc_waterlevel_v1()
|
|
360
|
+
self.calc_wettedareas_v1()
|
|
361
|
+
self.calc_wettedarea_v1()
|
|
362
|
+
self.calc_wettedperimeters_v1()
|
|
363
|
+
self.calc_wettedperimeter_v1()
|
|
364
|
+
cpdef void use_waterlevel_v2(self, double waterlevel) noexcept nogil:
|
|
365
|
+
self.set_waterlevel_v1(waterlevel)
|
|
366
|
+
self.calc_waterdepth_v1()
|
|
367
|
+
self.calc_wettedareas_v1()
|
|
368
|
+
self.calc_wettedarea_v1()
|
|
369
|
+
self.calc_wettedperimeters_v1()
|
|
370
|
+
self.calc_wettedperimeter_v1()
|
|
371
|
+
cpdef void use_wettedarea_v1(self, double wettedarea) noexcept nogil:
|
|
372
|
+
self.set_wettedarea_v1(wettedarea)
|
|
373
|
+
self.calc_waterdepth_v2()
|
|
374
|
+
self.calc_waterlevel_v1()
|
|
375
|
+
self.calc_wettedareas_v1()
|
|
376
|
+
self.calc_wettedarea_v1()
|
|
377
|
+
self.calc_wettedperimeters_v1()
|
|
378
|
+
self.calc_wettedperimeter_v1()
|
|
379
|
+
cpdef void use_waterdepth(self, double waterdepth) noexcept nogil:
|
|
380
|
+
self.set_waterdepth_v1(waterdepth)
|
|
381
|
+
self.calc_waterlevel_v1()
|
|
382
|
+
self.calc_wettedareas_v1()
|
|
383
|
+
self.calc_wettedarea_v1()
|
|
384
|
+
self.calc_wettedperimeters_v1()
|
|
385
|
+
self.calc_wettedperimeter_v1()
|
|
386
|
+
cpdef void use_waterlevel(self, double waterlevel) noexcept nogil:
|
|
387
|
+
self.set_waterlevel_v1(waterlevel)
|
|
388
|
+
self.calc_waterdepth_v1()
|
|
389
|
+
self.calc_wettedareas_v1()
|
|
390
|
+
self.calc_wettedarea_v1()
|
|
391
|
+
self.calc_wettedperimeters_v1()
|
|
392
|
+
self.calc_wettedperimeter_v1()
|
|
393
|
+
cpdef void use_wettedarea(self, double wettedarea) noexcept nogil:
|
|
394
|
+
self.set_wettedarea_v1(wettedarea)
|
|
395
|
+
self.calc_waterdepth_v2()
|
|
396
|
+
self.calc_waterlevel_v1()
|
|
397
|
+
self.calc_wettedareas_v1()
|
|
398
|
+
self.calc_wettedarea_v1()
|
|
399
|
+
self.calc_wettedperimeters_v1()
|
|
400
|
+
self.calc_wettedperimeter_v1()
|
|
Binary file
|