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
|
Binary file
|
|
@@ -0,0 +1,119 @@
|
|
|
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
|
+
cdef public numpy.npy_bool TYPE_CHECKING = False
|
|
32
|
+
@cython.final
|
|
33
|
+
cdef class Parameters:
|
|
34
|
+
cdef public ControlParameters control
|
|
35
|
+
cdef public DerivedParameters derived
|
|
36
|
+
@cython.final
|
|
37
|
+
cdef class ControlParameters:
|
|
38
|
+
cdef public numpy.int64_t nmbsegments
|
|
39
|
+
@cython.final
|
|
40
|
+
cdef class DerivedParameters:
|
|
41
|
+
cdef public double seconds
|
|
42
|
+
@cython.final
|
|
43
|
+
cdef class Sequences:
|
|
44
|
+
cdef public FactorSequences factors
|
|
45
|
+
cdef public FluxSequences fluxes
|
|
46
|
+
@cython.final
|
|
47
|
+
cdef class FactorSequences:
|
|
48
|
+
cdef public double timestep
|
|
49
|
+
cdef public numpy.int64_t _timestep_ndim
|
|
50
|
+
cdef public numpy.int64_t _timestep_length
|
|
51
|
+
cdef public bint _timestep_ramflag
|
|
52
|
+
cdef public double[:] _timestep_array
|
|
53
|
+
cdef public bint _timestep_diskflag_reading
|
|
54
|
+
cdef public bint _timestep_diskflag_writing
|
|
55
|
+
cdef public double[:] _timestep_ncarray
|
|
56
|
+
cdef public bint _timestep_outputflag
|
|
57
|
+
cdef double *_timestep_outputpointer
|
|
58
|
+
cdef public double[:] waterlevels
|
|
59
|
+
cdef public numpy.int64_t _waterlevels_ndim
|
|
60
|
+
cdef public numpy.int64_t _waterlevels_length
|
|
61
|
+
cdef public numpy.int64_t _waterlevels_length_0
|
|
62
|
+
cdef public bint _waterlevels_ramflag
|
|
63
|
+
cdef public double[:,:] _waterlevels_array
|
|
64
|
+
cdef public bint _waterlevels_diskflag_reading
|
|
65
|
+
cdef public bint _waterlevels_diskflag_writing
|
|
66
|
+
cdef public double[:] _waterlevels_ncarray
|
|
67
|
+
cpdef inline void load_data(self, numpy.int64_t idx) noexcept nogil
|
|
68
|
+
cpdef inline void save_data(self, numpy.int64_t idx) noexcept nogil
|
|
69
|
+
cpdef inline set_pointeroutput(self, str name, pointerutils.PDouble value)
|
|
70
|
+
cpdef inline void update_outputs(self) noexcept nogil
|
|
71
|
+
@cython.final
|
|
72
|
+
cdef class FluxSequences:
|
|
73
|
+
cdef public double[:] discharges
|
|
74
|
+
cdef public numpy.int64_t _discharges_ndim
|
|
75
|
+
cdef public numpy.int64_t _discharges_length
|
|
76
|
+
cdef public numpy.int64_t _discharges_length_0
|
|
77
|
+
cdef public bint _discharges_ramflag
|
|
78
|
+
cdef public double[:,:] _discharges_array
|
|
79
|
+
cdef public bint _discharges_diskflag_reading
|
|
80
|
+
cdef public bint _discharges_diskflag_writing
|
|
81
|
+
cdef public double[:] _discharges_ncarray
|
|
82
|
+
cpdef inline void load_data(self, numpy.int64_t idx) noexcept nogil
|
|
83
|
+
cpdef inline void save_data(self, numpy.int64_t idx) noexcept nogil
|
|
84
|
+
cpdef inline set_pointeroutput(self, str name, pointerutils.PDouble value)
|
|
85
|
+
cpdef inline void update_outputs(self) noexcept nogil
|
|
86
|
+
@cython.final
|
|
87
|
+
cdef class Model(masterinterface.MasterInterface):
|
|
88
|
+
cdef public double timeleft
|
|
89
|
+
cdef public Parameters parameters
|
|
90
|
+
cdef public Sequences sequences
|
|
91
|
+
cdef public interfaceutils.SubmodelsProperty routingmodels
|
|
92
|
+
cdef public interfaceutils.SubmodelsProperty storagemodels
|
|
93
|
+
cpdef inline void simulate(self, numpy.int64_t idx) noexcept nogil
|
|
94
|
+
cpdef void reset_reuseflags(self) noexcept nogil
|
|
95
|
+
cpdef void load_data(self, numpy.int64_t idx) noexcept nogil
|
|
96
|
+
cpdef void save_data(self, numpy.int64_t idx) noexcept nogil
|
|
97
|
+
cpdef void new2old(self) noexcept nogil
|
|
98
|
+
cpdef inline void run(self) noexcept nogil
|
|
99
|
+
cpdef inline void update_inlets(self) noexcept nogil
|
|
100
|
+
cpdef inline void update_outlets(self) noexcept nogil
|
|
101
|
+
cpdef inline void update_receivers(self, numpy.int64_t idx) noexcept nogil
|
|
102
|
+
cpdef inline void update_senders(self, numpy.int64_t idx) noexcept nogil
|
|
103
|
+
cpdef inline void update_outputs(self) noexcept nogil
|
|
104
|
+
cpdef inline void trigger_preprocessing_v1(self) noexcept nogil
|
|
105
|
+
cpdef inline void calc_maxtimesteps_v1(self) noexcept nogil
|
|
106
|
+
cpdef inline void calc_timestep_v1(self) noexcept nogil
|
|
107
|
+
cpdef inline void send_timestep_v1(self) noexcept nogil
|
|
108
|
+
cpdef inline void calc_discharges_v1(self) noexcept nogil
|
|
109
|
+
cpdef inline void update_storages_v1(self) noexcept nogil
|
|
110
|
+
cpdef inline void query_waterlevels_v1(self) noexcept nogil
|
|
111
|
+
cpdef inline void trigger_postprocessing_v1(self) noexcept nogil
|
|
112
|
+
cpdef inline void calc_discharges_v2(self) noexcept nogil
|
|
113
|
+
cpdef inline void trigger_preprocessing(self) noexcept nogil
|
|
114
|
+
cpdef inline void calc_maxtimesteps(self) noexcept nogil
|
|
115
|
+
cpdef inline void calc_timestep(self) noexcept nogil
|
|
116
|
+
cpdef inline void send_timestep(self) noexcept nogil
|
|
117
|
+
cpdef inline void update_storages(self) noexcept nogil
|
|
118
|
+
cpdef inline void query_waterlevels(self) noexcept nogil
|
|
119
|
+
cpdef inline void trigger_postprocessing(self) noexcept nogil
|
|
@@ -0,0 +1,300 @@
|
|
|
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
|
+
cdef public numpy.npy_bool TYPE_CHECKING = False
|
|
39
|
+
@cython.final
|
|
40
|
+
cdef class Parameters:
|
|
41
|
+
pass
|
|
42
|
+
@cython.final
|
|
43
|
+
cdef class ControlParameters:
|
|
44
|
+
pass
|
|
45
|
+
@cython.final
|
|
46
|
+
cdef class DerivedParameters:
|
|
47
|
+
pass
|
|
48
|
+
@cython.final
|
|
49
|
+
cdef class Sequences:
|
|
50
|
+
pass
|
|
51
|
+
@cython.final
|
|
52
|
+
cdef class FactorSequences:
|
|
53
|
+
cpdef inline void load_data(self, numpy.int64_t idx) noexcept nogil:
|
|
54
|
+
cdef numpy.int64_t jdx0
|
|
55
|
+
cdef numpy.int64_t k
|
|
56
|
+
if self._timestep_diskflag_reading:
|
|
57
|
+
self.timestep = self._timestep_ncarray[0]
|
|
58
|
+
elif self._timestep_ramflag:
|
|
59
|
+
self.timestep = self._timestep_array[idx]
|
|
60
|
+
if self._waterlevels_diskflag_reading:
|
|
61
|
+
k = 0
|
|
62
|
+
for jdx0 in range(self._waterlevels_length_0):
|
|
63
|
+
self.waterlevels[jdx0] = self._waterlevels_ncarray[k]
|
|
64
|
+
k += 1
|
|
65
|
+
elif self._waterlevels_ramflag:
|
|
66
|
+
for jdx0 in range(self._waterlevels_length_0):
|
|
67
|
+
self.waterlevels[jdx0] = self._waterlevels_array[idx, jdx0]
|
|
68
|
+
cpdef inline void save_data(self, numpy.int64_t idx) noexcept nogil:
|
|
69
|
+
cdef numpy.int64_t jdx0
|
|
70
|
+
cdef numpy.int64_t k
|
|
71
|
+
if self._timestep_diskflag_writing:
|
|
72
|
+
self._timestep_ncarray[0] = self.timestep
|
|
73
|
+
if self._timestep_ramflag:
|
|
74
|
+
self._timestep_array[idx] = self.timestep
|
|
75
|
+
if self._waterlevels_diskflag_writing:
|
|
76
|
+
k = 0
|
|
77
|
+
for jdx0 in range(self._waterlevels_length_0):
|
|
78
|
+
self._waterlevels_ncarray[k] = self.waterlevels[jdx0]
|
|
79
|
+
k += 1
|
|
80
|
+
if self._waterlevels_ramflag:
|
|
81
|
+
for jdx0 in range(self._waterlevels_length_0):
|
|
82
|
+
self._waterlevels_array[idx, jdx0] = self.waterlevels[jdx0]
|
|
83
|
+
cpdef inline set_pointeroutput(self, str name, pointerutils.PDouble value):
|
|
84
|
+
if name == "timestep":
|
|
85
|
+
self._timestep_outputpointer = value.p_value
|
|
86
|
+
cpdef inline void update_outputs(self) noexcept nogil:
|
|
87
|
+
if self._timestep_outputflag:
|
|
88
|
+
self._timestep_outputpointer[0] = self.timestep
|
|
89
|
+
@cython.final
|
|
90
|
+
cdef class FluxSequences:
|
|
91
|
+
cpdef inline void load_data(self, numpy.int64_t idx) noexcept nogil:
|
|
92
|
+
cdef numpy.int64_t jdx0
|
|
93
|
+
cdef numpy.int64_t k
|
|
94
|
+
if self._discharges_diskflag_reading:
|
|
95
|
+
k = 0
|
|
96
|
+
for jdx0 in range(self._discharges_length_0):
|
|
97
|
+
self.discharges[jdx0] = self._discharges_ncarray[k]
|
|
98
|
+
k += 1
|
|
99
|
+
elif self._discharges_ramflag:
|
|
100
|
+
for jdx0 in range(self._discharges_length_0):
|
|
101
|
+
self.discharges[jdx0] = self._discharges_array[idx, jdx0]
|
|
102
|
+
cpdef inline void save_data(self, numpy.int64_t idx) noexcept nogil:
|
|
103
|
+
cdef numpy.int64_t jdx0
|
|
104
|
+
cdef numpy.int64_t k
|
|
105
|
+
if self._discharges_diskflag_writing:
|
|
106
|
+
k = 0
|
|
107
|
+
for jdx0 in range(self._discharges_length_0):
|
|
108
|
+
self._discharges_ncarray[k] = self.discharges[jdx0]
|
|
109
|
+
k += 1
|
|
110
|
+
if self._discharges_ramflag:
|
|
111
|
+
for jdx0 in range(self._discharges_length_0):
|
|
112
|
+
self._discharges_array[idx, jdx0] = self.discharges[jdx0]
|
|
113
|
+
cpdef inline set_pointeroutput(self, str name, pointerutils.PDouble value):
|
|
114
|
+
pass
|
|
115
|
+
cpdef inline void update_outputs(self) noexcept nogil:
|
|
116
|
+
pass
|
|
117
|
+
@cython.final
|
|
118
|
+
cdef class Model(masterinterface.MasterInterface):
|
|
119
|
+
def __init__(self):
|
|
120
|
+
super().__init__()
|
|
121
|
+
self.routingmodels = interfaceutils.SubmodelsProperty()
|
|
122
|
+
self.storagemodels = interfaceutils.SubmodelsProperty()
|
|
123
|
+
cpdef inline void simulate(self, numpy.int64_t idx) noexcept nogil:
|
|
124
|
+
self.idx_sim = idx
|
|
125
|
+
self.load_data(idx)
|
|
126
|
+
self.update_inlets()
|
|
127
|
+
self.run()
|
|
128
|
+
self.update_outlets()
|
|
129
|
+
self.update_outputs()
|
|
130
|
+
cpdef void reset_reuseflags(self) noexcept nogil:
|
|
131
|
+
pass
|
|
132
|
+
cpdef void load_data(self, numpy.int64_t idx) noexcept nogil:
|
|
133
|
+
self.idx_sim = idx
|
|
134
|
+
cdef numpy.int64_t i_submodel
|
|
135
|
+
for i_submodel in range(self.routingmodels.number):
|
|
136
|
+
if self.routingmodels.typeids[i_submodel] > 0:
|
|
137
|
+
(<masterinterface.MasterInterface>self.routingmodels.submodels[i_submodel]).load_data(idx)
|
|
138
|
+
for i_submodel in range(self.storagemodels.number):
|
|
139
|
+
if self.storagemodels.typeids[i_submodel] > 0:
|
|
140
|
+
(<masterinterface.MasterInterface>self.storagemodels.submodels[i_submodel]).load_data(idx)
|
|
141
|
+
cpdef void save_data(self, numpy.int64_t idx) noexcept nogil:
|
|
142
|
+
self.idx_sim = idx
|
|
143
|
+
self.sequences.factors.save_data(idx)
|
|
144
|
+
self.sequences.fluxes.save_data(idx)
|
|
145
|
+
cdef numpy.int64_t i_submodel
|
|
146
|
+
for i_submodel in range(self.routingmodels.number):
|
|
147
|
+
if self.routingmodels.typeids[i_submodel] > 0:
|
|
148
|
+
(<masterinterface.MasterInterface>self.routingmodels.submodels[i_submodel]).save_data(idx)
|
|
149
|
+
for i_submodel in range(self.storagemodels.number):
|
|
150
|
+
if self.storagemodels.typeids[i_submodel] > 0:
|
|
151
|
+
(<masterinterface.MasterInterface>self.storagemodels.submodels[i_submodel]).save_data(idx)
|
|
152
|
+
cpdef void new2old(self) noexcept nogil:
|
|
153
|
+
cdef numpy.int64_t i_submodel
|
|
154
|
+
for i_submodel in range(self.routingmodels.number):
|
|
155
|
+
if self.routingmodels.typeids[i_submodel] > 0:
|
|
156
|
+
(<masterinterface.MasterInterface>self.routingmodels.submodels[i_submodel]).new2old()
|
|
157
|
+
for i_submodel in range(self.storagemodels.number):
|
|
158
|
+
if self.storagemodels.typeids[i_submodel] > 0:
|
|
159
|
+
(<masterinterface.MasterInterface>self.storagemodels.submodels[i_submodel]).new2old()
|
|
160
|
+
cpdef inline void run(self) noexcept nogil:
|
|
161
|
+
self.timeleft = self.parameters.derived.seconds
|
|
162
|
+
while True:
|
|
163
|
+
self.calc_maxtimesteps_v1()
|
|
164
|
+
self.calc_timestep_v1()
|
|
165
|
+
self.send_timestep_v1()
|
|
166
|
+
self.calc_discharges_v1()
|
|
167
|
+
self.update_storages_v1()
|
|
168
|
+
self.query_waterlevels_v1()
|
|
169
|
+
if self.timeleft <= 0.0:
|
|
170
|
+
break
|
|
171
|
+
self.new2old()
|
|
172
|
+
cpdef inline void update_inlets(self) noexcept nogil:
|
|
173
|
+
self.trigger_preprocessing_v1()
|
|
174
|
+
cpdef inline void update_outlets(self) noexcept nogil:
|
|
175
|
+
self.trigger_postprocessing_v1()
|
|
176
|
+
self.calc_discharges_v2()
|
|
177
|
+
cpdef inline void update_receivers(self, numpy.int64_t idx) noexcept nogil:
|
|
178
|
+
self.idx_sim = idx
|
|
179
|
+
pass
|
|
180
|
+
cpdef inline void update_senders(self, numpy.int64_t idx) noexcept nogil:
|
|
181
|
+
self.idx_sim = idx
|
|
182
|
+
pass
|
|
183
|
+
cpdef inline void update_outputs(self) noexcept nogil:
|
|
184
|
+
self.sequences.factors.update_outputs()
|
|
185
|
+
cpdef inline void trigger_preprocessing_v1(self) noexcept nogil:
|
|
186
|
+
cdef numpy.int64_t i
|
|
187
|
+
for i in range(self.routingmodels.number):
|
|
188
|
+
if self.routingmodels.typeids[i] in (1, 2, 3):
|
|
189
|
+
(<masterinterface.MasterInterface>self.routingmodels.submodels[i]).perform_preprocessing()
|
|
190
|
+
for i in range(self.storagemodels.number):
|
|
191
|
+
if self.storagemodels.typeids[i] == 1:
|
|
192
|
+
(<masterinterface.MasterInterface>self.storagemodels.submodels[i]).perform_preprocessing()
|
|
193
|
+
cpdef inline void calc_maxtimesteps_v1(self) noexcept nogil:
|
|
194
|
+
cdef numpy.int64_t i
|
|
195
|
+
for i in range(self.routingmodels.number):
|
|
196
|
+
if self.routingmodels.typeids[i] in (1, 2, 3):
|
|
197
|
+
(<masterinterface.MasterInterface>self.routingmodels.submodels[i]).determine_maxtimestep()
|
|
198
|
+
cpdef inline void calc_timestep_v1(self) noexcept nogil:
|
|
199
|
+
cdef double timestep
|
|
200
|
+
cdef numpy.int64_t i
|
|
201
|
+
self.sequences.factors.timestep = inf
|
|
202
|
+
for i in range(self.routingmodels.number):
|
|
203
|
+
if self.routingmodels.typeids[i] in (1, 2, 3):
|
|
204
|
+
timestep = (<masterinterface.MasterInterface>self.routingmodels.submodels[i]).get_maxtimestep()
|
|
205
|
+
self.sequences.factors.timestep = min(self.sequences.factors.timestep, timestep)
|
|
206
|
+
if self.sequences.factors.timestep < self.timeleft:
|
|
207
|
+
self.timeleft = self.timeleft - (self.sequences.factors.timestep)
|
|
208
|
+
else:
|
|
209
|
+
self.sequences.factors.timestep = self.timeleft
|
|
210
|
+
self.timeleft = 0.0
|
|
211
|
+
cpdef inline void send_timestep_v1(self) noexcept nogil:
|
|
212
|
+
cdef numpy.int64_t i
|
|
213
|
+
for i in range(self.routingmodels.number):
|
|
214
|
+
if self.routingmodels.typeids[i] in (1, 2, 3):
|
|
215
|
+
(<masterinterface.MasterInterface>self.routingmodels.submodels[i]).set_timestep(self.sequences.factors.timestep)
|
|
216
|
+
for i in range(self.storagemodels.number):
|
|
217
|
+
if self.storagemodels.typeids[i] == 1:
|
|
218
|
+
(<masterinterface.MasterInterface>self.storagemodels.submodels[i]).set_timestep(self.sequences.factors.timestep)
|
|
219
|
+
cpdef inline void calc_discharges_v1(self) noexcept nogil:
|
|
220
|
+
cdef numpy.int64_t i
|
|
221
|
+
for i in range(self.routingmodels.number):
|
|
222
|
+
if self.routingmodels.typeids[i] in (1, 2, 3):
|
|
223
|
+
(<masterinterface.MasterInterface>self.routingmodels.submodels[i]).determine_discharge()
|
|
224
|
+
cpdef inline void update_storages_v1(self) noexcept nogil:
|
|
225
|
+
cdef numpy.int64_t i
|
|
226
|
+
for i in range(self.storagemodels.number):
|
|
227
|
+
if self.storagemodels.typeids[i] == 1:
|
|
228
|
+
(<masterinterface.MasterInterface>self.storagemodels.submodels[i]).update_storage()
|
|
229
|
+
cpdef inline void query_waterlevels_v1(self) noexcept nogil:
|
|
230
|
+
cdef numpy.int64_t i
|
|
231
|
+
for i in range(self.storagemodels.number):
|
|
232
|
+
if self.storagemodels.typeids[i] == 1:
|
|
233
|
+
self.sequences.factors.waterlevels[i] = (<masterinterface.MasterInterface>self.storagemodels.submodels[i]).get_waterlevel()
|
|
234
|
+
cpdef inline void trigger_postprocessing_v1(self) noexcept nogil:
|
|
235
|
+
cdef numpy.int64_t i
|
|
236
|
+
for i in range(self.routingmodels.number):
|
|
237
|
+
if self.routingmodels.typeids[i] in (1, 2, 3):
|
|
238
|
+
(<masterinterface.MasterInterface>self.routingmodels.submodels[i]).perform_postprocessing()
|
|
239
|
+
for i in range(self.storagemodels.number):
|
|
240
|
+
if self.storagemodels.typeids[i] == 1:
|
|
241
|
+
(<masterinterface.MasterInterface>self.storagemodels.submodels[i]).perform_postprocessing()
|
|
242
|
+
cpdef inline void calc_discharges_v2(self) noexcept nogil:
|
|
243
|
+
cdef numpy.int64_t i
|
|
244
|
+
for i in range(self.routingmodels.number):
|
|
245
|
+
if self.routingmodels.typeids[i] in (1, 2, 3):
|
|
246
|
+
self.sequences.fluxes.discharges[i] = ( (<masterinterface.MasterInterface>self.routingmodels.submodels[i]).get_dischargevolume() / self.parameters.derived.seconds )
|
|
247
|
+
else:
|
|
248
|
+
self.sequences.fluxes.discharges[i] = 0.0
|
|
249
|
+
cpdef inline void trigger_preprocessing(self) noexcept nogil:
|
|
250
|
+
cdef numpy.int64_t i
|
|
251
|
+
for i in range(self.routingmodels.number):
|
|
252
|
+
if self.routingmodels.typeids[i] in (1, 2, 3):
|
|
253
|
+
(<masterinterface.MasterInterface>self.routingmodels.submodels[i]).perform_preprocessing()
|
|
254
|
+
for i in range(self.storagemodels.number):
|
|
255
|
+
if self.storagemodels.typeids[i] == 1:
|
|
256
|
+
(<masterinterface.MasterInterface>self.storagemodels.submodels[i]).perform_preprocessing()
|
|
257
|
+
cpdef inline void calc_maxtimesteps(self) noexcept nogil:
|
|
258
|
+
cdef numpy.int64_t i
|
|
259
|
+
for i in range(self.routingmodels.number):
|
|
260
|
+
if self.routingmodels.typeids[i] in (1, 2, 3):
|
|
261
|
+
(<masterinterface.MasterInterface>self.routingmodels.submodels[i]).determine_maxtimestep()
|
|
262
|
+
cpdef inline void calc_timestep(self) noexcept nogil:
|
|
263
|
+
cdef double timestep
|
|
264
|
+
cdef numpy.int64_t i
|
|
265
|
+
self.sequences.factors.timestep = inf
|
|
266
|
+
for i in range(self.routingmodels.number):
|
|
267
|
+
if self.routingmodels.typeids[i] in (1, 2, 3):
|
|
268
|
+
timestep = (<masterinterface.MasterInterface>self.routingmodels.submodels[i]).get_maxtimestep()
|
|
269
|
+
self.sequences.factors.timestep = min(self.sequences.factors.timestep, timestep)
|
|
270
|
+
if self.sequences.factors.timestep < self.timeleft:
|
|
271
|
+
self.timeleft = self.timeleft - (self.sequences.factors.timestep)
|
|
272
|
+
else:
|
|
273
|
+
self.sequences.factors.timestep = self.timeleft
|
|
274
|
+
self.timeleft = 0.0
|
|
275
|
+
cpdef inline void send_timestep(self) noexcept nogil:
|
|
276
|
+
cdef numpy.int64_t i
|
|
277
|
+
for i in range(self.routingmodels.number):
|
|
278
|
+
if self.routingmodels.typeids[i] in (1, 2, 3):
|
|
279
|
+
(<masterinterface.MasterInterface>self.routingmodels.submodels[i]).set_timestep(self.sequences.factors.timestep)
|
|
280
|
+
for i in range(self.storagemodels.number):
|
|
281
|
+
if self.storagemodels.typeids[i] == 1:
|
|
282
|
+
(<masterinterface.MasterInterface>self.storagemodels.submodels[i]).set_timestep(self.sequences.factors.timestep)
|
|
283
|
+
cpdef inline void update_storages(self) noexcept nogil:
|
|
284
|
+
cdef numpy.int64_t i
|
|
285
|
+
for i in range(self.storagemodels.number):
|
|
286
|
+
if self.storagemodels.typeids[i] == 1:
|
|
287
|
+
(<masterinterface.MasterInterface>self.storagemodels.submodels[i]).update_storage()
|
|
288
|
+
cpdef inline void query_waterlevels(self) noexcept nogil:
|
|
289
|
+
cdef numpy.int64_t i
|
|
290
|
+
for i in range(self.storagemodels.number):
|
|
291
|
+
if self.storagemodels.typeids[i] == 1:
|
|
292
|
+
self.sequences.factors.waterlevels[i] = (<masterinterface.MasterInterface>self.storagemodels.submodels[i]).get_waterlevel()
|
|
293
|
+
cpdef inline void trigger_postprocessing(self) noexcept nogil:
|
|
294
|
+
cdef numpy.int64_t i
|
|
295
|
+
for i in range(self.routingmodels.number):
|
|
296
|
+
if self.routingmodels.typeids[i] in (1, 2, 3):
|
|
297
|
+
(<masterinterface.MasterInterface>self.routingmodels.submodels[i]).perform_postprocessing()
|
|
298
|
+
for i in range(self.storagemodels.number):
|
|
299
|
+
if self.storagemodels.typeids[i] == 1:
|
|
300
|
+
(<masterinterface.MasterInterface>self.storagemodels.submodels[i]).perform_postprocessing()
|
|
Binary file
|
|
@@ -0,0 +1,240 @@
|
|
|
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
|
+
cdef public FixedParameters fixed
|
|
36
|
+
@cython.final
|
|
37
|
+
cdef class ControlParameters:
|
|
38
|
+
cdef public double lengthupstream
|
|
39
|
+
cdef public double bottomlevel
|
|
40
|
+
cdef public double timestepfactor
|
|
41
|
+
cdef public double dampingradius
|
|
42
|
+
cdef public double gateheight
|
|
43
|
+
cdef CallbackType gateheight_callback
|
|
44
|
+
cdef CallbackWrapper _gateheight_wrapper
|
|
45
|
+
cdef public double gatewidth
|
|
46
|
+
cdef public double flowcoefficient
|
|
47
|
+
cpdef void init_gateheight_callback(self)
|
|
48
|
+
cpdef CallbackWrapper get_gateheight_callback(self)
|
|
49
|
+
cpdef void set_gateheight_callback(self, CallbackWrapper wrapper)
|
|
50
|
+
@cython.final
|
|
51
|
+
cdef class DerivedParameters:
|
|
52
|
+
cdef public double seconds
|
|
53
|
+
@cython.final
|
|
54
|
+
cdef class FixedParameters:
|
|
55
|
+
cdef public double gravitationalacceleration
|
|
56
|
+
@cython.final
|
|
57
|
+
cdef class Sequences:
|
|
58
|
+
cdef public InletSequences inlets
|
|
59
|
+
cdef public ReceiverSequences receivers
|
|
60
|
+
cdef public FactorSequences factors
|
|
61
|
+
cdef public FluxSequences fluxes
|
|
62
|
+
cdef public StateSequences states
|
|
63
|
+
cdef public OutletSequences outlets
|
|
64
|
+
cdef public StateSequences old_states
|
|
65
|
+
cdef public StateSequences new_states
|
|
66
|
+
@cython.final
|
|
67
|
+
cdef class InletSequences:
|
|
68
|
+
cdef double **longq
|
|
69
|
+
cdef public numpy.int64_t len_longq
|
|
70
|
+
cdef public numpy.int64_t[:] _longq_ready
|
|
71
|
+
cdef public numpy.int64_t _longq_ndim
|
|
72
|
+
cdef public numpy.int64_t _longq_length
|
|
73
|
+
cdef public numpy.int64_t _longq_length_0
|
|
74
|
+
cpdef inline alloc(self, name, numpy.int64_t length)
|
|
75
|
+
cpdef inline dealloc(self, name)
|
|
76
|
+
cpdef inline set_pointer1d(self, str name, pointerutils.Double value, numpy.int64_t idx)
|
|
77
|
+
cpdef get_value(self, str name)
|
|
78
|
+
cpdef set_value(self, str name, value)
|
|
79
|
+
@cython.final
|
|
80
|
+
cdef class ReceiverSequences:
|
|
81
|
+
cdef double *waterlevel
|
|
82
|
+
cdef public numpy.int64_t _waterlevel_ndim
|
|
83
|
+
cdef public numpy.int64_t _waterlevel_length
|
|
84
|
+
cpdef inline set_pointer0d(self, str name, pointerutils.Double value)
|
|
85
|
+
cpdef get_value(self, str name)
|
|
86
|
+
cpdef set_value(self, str name, value)
|
|
87
|
+
@cython.final
|
|
88
|
+
cdef class FactorSequences:
|
|
89
|
+
cdef public double maxtimestep
|
|
90
|
+
cdef public numpy.int64_t _maxtimestep_ndim
|
|
91
|
+
cdef public numpy.int64_t _maxtimestep_length
|
|
92
|
+
cdef public bint _maxtimestep_ramflag
|
|
93
|
+
cdef public double[:] _maxtimestep_array
|
|
94
|
+
cdef public bint _maxtimestep_diskflag_reading
|
|
95
|
+
cdef public bint _maxtimestep_diskflag_writing
|
|
96
|
+
cdef public double[:] _maxtimestep_ncarray
|
|
97
|
+
cdef public bint _maxtimestep_outputflag
|
|
98
|
+
cdef double *_maxtimestep_outputpointer
|
|
99
|
+
cdef public double timestep
|
|
100
|
+
cdef public numpy.int64_t _timestep_ndim
|
|
101
|
+
cdef public numpy.int64_t _timestep_length
|
|
102
|
+
cdef public bint _timestep_ramflag
|
|
103
|
+
cdef public double[:] _timestep_array
|
|
104
|
+
cdef public bint _timestep_diskflag_reading
|
|
105
|
+
cdef public bint _timestep_diskflag_writing
|
|
106
|
+
cdef public double[:] _timestep_ncarray
|
|
107
|
+
cdef public bint _timestep_outputflag
|
|
108
|
+
cdef double *_timestep_outputpointer
|
|
109
|
+
cdef public double waterlevel
|
|
110
|
+
cdef public numpy.int64_t _waterlevel_ndim
|
|
111
|
+
cdef public numpy.int64_t _waterlevel_length
|
|
112
|
+
cdef public bint _waterlevel_ramflag
|
|
113
|
+
cdef public double[:] _waterlevel_array
|
|
114
|
+
cdef public bint _waterlevel_diskflag_reading
|
|
115
|
+
cdef public bint _waterlevel_diskflag_writing
|
|
116
|
+
cdef public double[:] _waterlevel_ncarray
|
|
117
|
+
cdef public bint _waterlevel_outputflag
|
|
118
|
+
cdef double *_waterlevel_outputpointer
|
|
119
|
+
cdef public double waterlevelupstream
|
|
120
|
+
cdef public numpy.int64_t _waterlevelupstream_ndim
|
|
121
|
+
cdef public numpy.int64_t _waterlevelupstream_length
|
|
122
|
+
cdef public bint _waterlevelupstream_ramflag
|
|
123
|
+
cdef public double[:] _waterlevelupstream_array
|
|
124
|
+
cdef public bint _waterlevelupstream_diskflag_reading
|
|
125
|
+
cdef public bint _waterlevelupstream_diskflag_writing
|
|
126
|
+
cdef public double[:] _waterlevelupstream_ncarray
|
|
127
|
+
cdef public bint _waterlevelupstream_outputflag
|
|
128
|
+
cdef double *_waterlevelupstream_outputpointer
|
|
129
|
+
cdef public double waterleveldownstream
|
|
130
|
+
cdef public numpy.int64_t _waterleveldownstream_ndim
|
|
131
|
+
cdef public numpy.int64_t _waterleveldownstream_length
|
|
132
|
+
cdef public bint _waterleveldownstream_ramflag
|
|
133
|
+
cdef public double[:] _waterleveldownstream_array
|
|
134
|
+
cdef public bint _waterleveldownstream_diskflag_reading
|
|
135
|
+
cdef public bint _waterleveldownstream_diskflag_writing
|
|
136
|
+
cdef public double[:] _waterleveldownstream_ncarray
|
|
137
|
+
cdef public bint _waterleveldownstream_outputflag
|
|
138
|
+
cdef double *_waterleveldownstream_outputpointer
|
|
139
|
+
cpdef inline void load_data(self, numpy.int64_t idx) noexcept nogil
|
|
140
|
+
cpdef inline void save_data(self, numpy.int64_t idx) noexcept nogil
|
|
141
|
+
cpdef inline set_pointeroutput(self, str name, pointerutils.PDouble value)
|
|
142
|
+
cpdef inline void update_outputs(self) noexcept nogil
|
|
143
|
+
@cython.final
|
|
144
|
+
cdef class FluxSequences:
|
|
145
|
+
cdef public double dischargevolume
|
|
146
|
+
cdef public numpy.int64_t _dischargevolume_ndim
|
|
147
|
+
cdef public numpy.int64_t _dischargevolume_length
|
|
148
|
+
cdef public bint _dischargevolume_ramflag
|
|
149
|
+
cdef public double[:] _dischargevolume_array
|
|
150
|
+
cdef public bint _dischargevolume_diskflag_reading
|
|
151
|
+
cdef public bint _dischargevolume_diskflag_writing
|
|
152
|
+
cdef public double[:] _dischargevolume_ncarray
|
|
153
|
+
cdef public bint _dischargevolume_outputflag
|
|
154
|
+
cdef double *_dischargevolume_outputpointer
|
|
155
|
+
cpdef inline void load_data(self, numpy.int64_t idx) noexcept nogil
|
|
156
|
+
cpdef inline void save_data(self, numpy.int64_t idx) noexcept nogil
|
|
157
|
+
cpdef inline set_pointeroutput(self, str name, pointerutils.PDouble value)
|
|
158
|
+
cpdef inline void update_outputs(self) noexcept nogil
|
|
159
|
+
@cython.final
|
|
160
|
+
cdef class StateSequences:
|
|
161
|
+
cdef public double discharge
|
|
162
|
+
cdef public numpy.int64_t _discharge_ndim
|
|
163
|
+
cdef public numpy.int64_t _discharge_length
|
|
164
|
+
cdef public bint _discharge_ramflag
|
|
165
|
+
cdef public double[:] _discharge_array
|
|
166
|
+
cdef public bint _discharge_diskflag_reading
|
|
167
|
+
cdef public bint _discharge_diskflag_writing
|
|
168
|
+
cdef public double[:] _discharge_ncarray
|
|
169
|
+
cdef public bint _discharge_outputflag
|
|
170
|
+
cdef double *_discharge_outputpointer
|
|
171
|
+
cpdef inline void load_data(self, numpy.int64_t idx) noexcept nogil
|
|
172
|
+
cpdef inline void save_data(self, numpy.int64_t idx) noexcept nogil
|
|
173
|
+
cpdef inline set_pointeroutput(self, str name, pointerutils.PDouble value)
|
|
174
|
+
cpdef inline void update_outputs(self) noexcept nogil
|
|
175
|
+
@cython.final
|
|
176
|
+
cdef class OutletSequences:
|
|
177
|
+
cdef double **longq
|
|
178
|
+
cdef public numpy.int64_t len_longq
|
|
179
|
+
cdef public numpy.int64_t[:] _longq_ready
|
|
180
|
+
cdef public numpy.int64_t _longq_ndim
|
|
181
|
+
cdef public numpy.int64_t _longq_length
|
|
182
|
+
cdef public numpy.int64_t _longq_length_0
|
|
183
|
+
cpdef inline alloc(self, name, numpy.int64_t length)
|
|
184
|
+
cpdef inline dealloc(self, name)
|
|
185
|
+
cpdef inline set_pointer1d(self, str name, pointerutils.Double value, numpy.int64_t idx)
|
|
186
|
+
cpdef get_value(self, str name)
|
|
187
|
+
cpdef set_value(self, str name, value)
|
|
188
|
+
@cython.final
|
|
189
|
+
cdef class Model(masterinterface.MasterInterface):
|
|
190
|
+
cdef public Parameters parameters
|
|
191
|
+
cdef public Sequences sequences
|
|
192
|
+
cdef public interfaceutils.SubmodelsProperty routingmodelsupstream
|
|
193
|
+
cdef public masterinterface.MasterInterface storagemodelupstream
|
|
194
|
+
cdef public numpy.npy_bool storagemodelupstream_is_mainmodel
|
|
195
|
+
cdef public numpy.int64_t storagemodelupstream_typeid
|
|
196
|
+
cpdef inline void simulate(self, numpy.int64_t idx) noexcept nogil
|
|
197
|
+
cpdef void reset_reuseflags(self) noexcept nogil
|
|
198
|
+
cpdef void load_data(self, numpy.int64_t idx) noexcept nogil
|
|
199
|
+
cpdef void save_data(self, numpy.int64_t idx) noexcept nogil
|
|
200
|
+
cpdef void new2old(self) noexcept nogil
|
|
201
|
+
cpdef inline void run(self) noexcept nogil
|
|
202
|
+
cpdef inline void update_inlets(self) noexcept nogil
|
|
203
|
+
cpdef inline void update_outlets(self) noexcept nogil
|
|
204
|
+
cpdef inline void update_receivers(self, numpy.int64_t idx) noexcept nogil
|
|
205
|
+
cpdef inline void update_senders(self, numpy.int64_t idx) noexcept nogil
|
|
206
|
+
cpdef inline void update_outputs(self) noexcept nogil
|
|
207
|
+
cpdef double get_maxtimestep_v1(self) noexcept nogil
|
|
208
|
+
cpdef double get_discharge_v1(self) noexcept nogil
|
|
209
|
+
cpdef double get_partialdischargedownstream_v1(self, double clientdischarge) noexcept nogil
|
|
210
|
+
cpdef double get_dischargevolume_v1(self) noexcept nogil
|
|
211
|
+
cpdef void set_timestep_v1(self, double timestep) noexcept nogil
|
|
212
|
+
cpdef inline void pick_waterleveldownstream_v1(self) noexcept nogil
|
|
213
|
+
cpdef inline void reset_dischargevolume_v1(self) noexcept nogil
|
|
214
|
+
cpdef inline void calc_waterlevelupstream_v1(self) noexcept nogil
|
|
215
|
+
cpdef inline void calc_waterlevel_v4(self) noexcept nogil
|
|
216
|
+
cpdef inline void calc_maxtimestep_v5(self) noexcept nogil
|
|
217
|
+
cpdef inline void calc_discharge_v3(self) noexcept nogil
|
|
218
|
+
cpdef inline void update_dischargevolume_v1(self) noexcept nogil
|
|
219
|
+
cpdef inline void pass_discharge_v1(self) noexcept nogil
|
|
220
|
+
cpdef double get_maxtimestep(self) noexcept nogil
|
|
221
|
+
cpdef double get_discharge(self) noexcept nogil
|
|
222
|
+
cpdef double get_partialdischargedownstream(self, double clientdischarge) noexcept nogil
|
|
223
|
+
cpdef double get_dischargevolume(self) noexcept nogil
|
|
224
|
+
cpdef void set_timestep(self, double timestep) noexcept nogil
|
|
225
|
+
cpdef inline void pick_waterleveldownstream(self) noexcept nogil
|
|
226
|
+
cpdef inline void reset_dischargevolume(self) noexcept nogil
|
|
227
|
+
cpdef inline void calc_waterlevelupstream(self) noexcept nogil
|
|
228
|
+
cpdef inline void calc_waterlevel(self) noexcept nogil
|
|
229
|
+
cpdef inline void calc_maxtimestep(self) noexcept nogil
|
|
230
|
+
cpdef inline void calc_discharge(self) noexcept nogil
|
|
231
|
+
cpdef inline void update_dischargevolume(self) noexcept nogil
|
|
232
|
+
cpdef inline void pass_discharge(self) noexcept nogil
|
|
233
|
+
cpdef void perform_preprocessing_v5(self) noexcept nogil
|
|
234
|
+
cpdef void determine_maxtimestep_v5(self) noexcept nogil
|
|
235
|
+
cpdef void determine_discharge_v6(self) noexcept nogil
|
|
236
|
+
cpdef void perform_postprocessing_v2(self) noexcept nogil
|
|
237
|
+
cpdef void perform_preprocessing(self) noexcept nogil
|
|
238
|
+
cpdef void determine_maxtimestep(self) noexcept nogil
|
|
239
|
+
cpdef void determine_discharge(self) noexcept nogil
|
|
240
|
+
cpdef void perform_postprocessing(self) noexcept nogil
|