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,324 @@
|
|
|
1
|
+
# pylint: disable=unused-argument
|
|
2
|
+
"""This module defines submodel interfaces for calculating 1-dimensional water flows."""
|
|
3
|
+
# import...
|
|
4
|
+
# ...from standard library
|
|
5
|
+
from __future__ import annotations
|
|
6
|
+
|
|
7
|
+
# ...from hydpy
|
|
8
|
+
from hydpy.core import modeltools
|
|
9
|
+
from hydpy.core.typingtools import *
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class CrossSectionModel_V1(modeltools.SubmodelInterface):
|
|
13
|
+
"""Interface for calculating the discharge and related properties at a channel
|
|
14
|
+
cross-section."""
|
|
15
|
+
|
|
16
|
+
typeid: ClassVar[Literal[1]] = 1
|
|
17
|
+
"""Type identifier for |CrossSectionModel_V1| submodels."""
|
|
18
|
+
|
|
19
|
+
def prepare_bottomslope(self, bottomslope: int) -> None:
|
|
20
|
+
"""Set the bottom's slope (in the longitudinal direction) [-]."""
|
|
21
|
+
|
|
22
|
+
@modeltools.abstractmodelmethod
|
|
23
|
+
def use_waterdepth(self, waterdepth: float, /) -> None:
|
|
24
|
+
"""Set the water depth in m and use it to calculate all other properties."""
|
|
25
|
+
|
|
26
|
+
@modeltools.abstractmodelmethod
|
|
27
|
+
def use_waterlevel(self, waterlevel: float, /) -> None:
|
|
28
|
+
"""Set the water level in m and use it to calculate all other properties."""
|
|
29
|
+
|
|
30
|
+
@modeltools.abstractmodelmethod
|
|
31
|
+
def get_wettedarea(self) -> float:
|
|
32
|
+
"""Get the wetted area in m²."""
|
|
33
|
+
|
|
34
|
+
@modeltools.abstractmodelmethod
|
|
35
|
+
def get_surfacewidth(self) -> float:
|
|
36
|
+
"""Get the surface width in m."""
|
|
37
|
+
|
|
38
|
+
@modeltools.abstractmodelmethod
|
|
39
|
+
def get_discharge(self) -> float:
|
|
40
|
+
"""Get the discharge in m³/s."""
|
|
41
|
+
|
|
42
|
+
@modeltools.abstractmodelmethod
|
|
43
|
+
def get_celerity(self) -> float:
|
|
44
|
+
"""Get the wave celerity in m/s."""
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
class CrossSectionModel_V2(modeltools.SubmodelInterface):
|
|
48
|
+
"""Interface for calculating discharge-related properties at a channel
|
|
49
|
+
cross-section."""
|
|
50
|
+
|
|
51
|
+
typeid: ClassVar[Literal[2]] = 2
|
|
52
|
+
"""Type identifier for |CrossSectionModel_V2| submodels."""
|
|
53
|
+
|
|
54
|
+
@modeltools.abstractmodelmethod
|
|
55
|
+
def use_waterdepth(self, waterdepth: float, /) -> None:
|
|
56
|
+
"""Set the water depth in m and use it to calculate all other properties."""
|
|
57
|
+
|
|
58
|
+
@modeltools.abstractmodelmethod
|
|
59
|
+
def use_waterlevel(self, waterlevel: float, /) -> None:
|
|
60
|
+
"""Set the water level in m and use it to calculate all other properties."""
|
|
61
|
+
|
|
62
|
+
@modeltools.abstractmodelmethod
|
|
63
|
+
def use_wettedarea(self, wettedarea: float, /) -> None:
|
|
64
|
+
"""Set the wetted area in m² and use it to calculate all other properties."""
|
|
65
|
+
|
|
66
|
+
@modeltools.abstractmodelmethod
|
|
67
|
+
def get_waterdepth(self) -> float:
|
|
68
|
+
"""Get the water depth in m."""
|
|
69
|
+
|
|
70
|
+
@modeltools.abstractmodelmethod
|
|
71
|
+
def get_waterlevel(self) -> float:
|
|
72
|
+
"""Get the water level in m."""
|
|
73
|
+
|
|
74
|
+
@modeltools.abstractmodelmethod
|
|
75
|
+
def get_wettedarea(self) -> float:
|
|
76
|
+
"""Get the wetted area in m²."""
|
|
77
|
+
|
|
78
|
+
@modeltools.abstractmodelmethod
|
|
79
|
+
def get_wettedperimeter(self) -> float:
|
|
80
|
+
"""Get the wetted perimeter in m."""
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
class RoutingModelBase(modeltools.SubmodelInterface):
|
|
84
|
+
"""Base interface for routing models at inflow, central, and outflow locations.
|
|
85
|
+
|
|
86
|
+
An essential note for model developers: All main models using submodels that follow
|
|
87
|
+
the interface |RoutingModel_V1|, |RoutingModel_V2|, or |RoutingModel_V3| must call
|
|
88
|
+
|RoutingModelBase.perform_preprocessing| at the beginning of each external
|
|
89
|
+
simulation step, call |RoutingModelBase.determine_maxtimestep|,
|
|
90
|
+
|RoutingModelBase.set_timestep|, and |RoutingModelBase.determine_discharge| in the
|
|
91
|
+
mentioned order during each internal simulation step, and call
|
|
92
|
+
|RoutingModelBase.perform_postprocessing| at the end of each simulation step.
|
|
93
|
+
Before |RoutingModelBase.determine_discharge| is called, methods
|
|
94
|
+
|RoutingModelBase.get_discharge|, |RoutingModel_V1.get_partialdischargeupstream|,
|
|
95
|
+
and |RoutingModel_V3.get_partialdischargedownstream| (if implemented) must return
|
|
96
|
+
the "old" discharge previously calculated or read from condition files.
|
|
97
|
+
"""
|
|
98
|
+
|
|
99
|
+
typeid: ClassVar[int]
|
|
100
|
+
"""Type identifier for the respective routing submodels."""
|
|
101
|
+
|
|
102
|
+
@modeltools.abstractmodelmethod
|
|
103
|
+
def perform_preprocessing(self) -> None:
|
|
104
|
+
"""Preprocess all data that is invariant during each external simulation
|
|
105
|
+
step."""
|
|
106
|
+
assert False
|
|
107
|
+
|
|
108
|
+
@modeltools.abstractmodelmethod
|
|
109
|
+
def perform_postprocessing(self) -> None:
|
|
110
|
+
"""Execute all tasks necessary at the end of each external simulation step."""
|
|
111
|
+
assert False
|
|
112
|
+
|
|
113
|
+
@modeltools.abstractmodelmethod
|
|
114
|
+
def determine_maxtimestep(self) -> None:
|
|
115
|
+
"""Determine the highest possible computation time step."""
|
|
116
|
+
assert False
|
|
117
|
+
|
|
118
|
+
@modeltools.abstractmodelmethod
|
|
119
|
+
def get_maxtimestep(self) -> float:
|
|
120
|
+
"""Get the highest possible computation time step in s."""
|
|
121
|
+
assert False
|
|
122
|
+
|
|
123
|
+
@modeltools.abstractmodelmethod
|
|
124
|
+
def set_timestep(self, timestep: float) -> None:
|
|
125
|
+
"""Set the actual computation time step in s."""
|
|
126
|
+
|
|
127
|
+
@modeltools.abstractmodelmethod
|
|
128
|
+
def determine_discharge(self) -> None:
|
|
129
|
+
"""Determine the discharge."""
|
|
130
|
+
assert False
|
|
131
|
+
|
|
132
|
+
@modeltools.abstractmodelmethod
|
|
133
|
+
def get_discharge(self) -> float:
|
|
134
|
+
"""Get the simulated total discharge in m³/s."""
|
|
135
|
+
assert False
|
|
136
|
+
|
|
137
|
+
@modeltools.abstractmodelmethod
|
|
138
|
+
def get_dischargevolume(self) -> float:
|
|
139
|
+
"""Get the simulated total discharge in m."""
|
|
140
|
+
assert False
|
|
141
|
+
|
|
142
|
+
|
|
143
|
+
class RoutingModel_V1(RoutingModelBase):
|
|
144
|
+
"""Interface for calculating the inflow into a channel."""
|
|
145
|
+
|
|
146
|
+
typeid: ClassVar[Literal[1]] = 1
|
|
147
|
+
"""Type identifier for |RoutingModel_V1| submodels."""
|
|
148
|
+
|
|
149
|
+
routingmodelsdownstream: modeltools.SubmodelsProperty[
|
|
150
|
+
RoutingModel_V2 | RoutingModel_V3
|
|
151
|
+
]
|
|
152
|
+
"""References to the neighbour routing models lying downstream."""
|
|
153
|
+
storagemodeldownstream: modeltools.SubmodelProperty[StorageModel_V1]
|
|
154
|
+
"""Required reference to the neighbour storage model downstream."""
|
|
155
|
+
|
|
156
|
+
@modeltools.abstractmodelmethod
|
|
157
|
+
def get_partialdischargeupstream(self, clientdischarge: float) -> float:
|
|
158
|
+
"""Get the simulated partial discharge in m³/s.
|
|
159
|
+
|
|
160
|
+
For multiple downstream models, |RoutingModel_V1.get_partialdischargeupstream|
|
|
161
|
+
returns the discharge portion that it attributes to the client model.
|
|
162
|
+
"""
|
|
163
|
+
assert False
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
class RoutingModel_V2(RoutingModelBase):
|
|
167
|
+
"""Interface for calculating the discharge between two channel segments.
|
|
168
|
+
|
|
169
|
+
The usage instructions described for the |RoutingModel_V1| interface also apply for
|
|
170
|
+
|RoutingModel_V2|.
|
|
171
|
+
"""
|
|
172
|
+
|
|
173
|
+
typeid: ClassVar[Literal[2]] = 2
|
|
174
|
+
"""Type identifier for |RoutingModel_V2| submodels."""
|
|
175
|
+
|
|
176
|
+
routingmodelsupstream: modeltools.SubmodelsProperty[
|
|
177
|
+
RoutingModel_V1 | RoutingModel_V2
|
|
178
|
+
]
|
|
179
|
+
"""References to the neighbour routing models lying upstream."""
|
|
180
|
+
routingmodelsdownstream: modeltools.SubmodelsProperty[
|
|
181
|
+
RoutingModel_V2 | RoutingModel_V3
|
|
182
|
+
]
|
|
183
|
+
"""References to the neighbour routing models lying downstream."""
|
|
184
|
+
storagemodelupstream: modeltools.SubmodelProperty[StorageModel_V1]
|
|
185
|
+
"""Required reference to the neighbour storage model upstream."""
|
|
186
|
+
storagemodeldownstream: modeltools.SubmodelProperty[StorageModel_V1]
|
|
187
|
+
"""Required reference to the neighbour storage model downstream."""
|
|
188
|
+
|
|
189
|
+
@modeltools.abstractmodelmethod
|
|
190
|
+
def get_partialdischargeupstream(self, clientdischarge: float) -> float:
|
|
191
|
+
"""Get the simulated partial discharge in m³/s.
|
|
192
|
+
|
|
193
|
+
For multiple downstream models, |RoutingModel_V1.get_partialdischargeupstream|
|
|
194
|
+
returns the discharge portion that it attributes to the client model.
|
|
195
|
+
"""
|
|
196
|
+
assert False
|
|
197
|
+
|
|
198
|
+
@modeltools.abstractmodelmethod
|
|
199
|
+
def get_partialdischargedownstream(self, clientdischarge: float) -> float:
|
|
200
|
+
"""Get the simulated partial discharge in m³/s.
|
|
201
|
+
|
|
202
|
+
For multiple upstream models, |RoutingModel_V2.get_partialdischargedownstream|
|
|
203
|
+
returns the discharge portion that it attributes to the client model.
|
|
204
|
+
"""
|
|
205
|
+
assert False
|
|
206
|
+
|
|
207
|
+
|
|
208
|
+
class RoutingModel_V3(RoutingModelBase):
|
|
209
|
+
"""Interface for calculating the outflow of a channel.
|
|
210
|
+
|
|
211
|
+
The usage instructions described for the |RoutingModel_V1| interface also apply for
|
|
212
|
+
|RoutingModel_V2|.
|
|
213
|
+
"""
|
|
214
|
+
|
|
215
|
+
typeid: ClassVar[Literal[3]] = 3
|
|
216
|
+
"""Type identifier for |RoutingModel_V3| submodels."""
|
|
217
|
+
|
|
218
|
+
routingmodelsupstream: modeltools.SubmodelsProperty[
|
|
219
|
+
RoutingModel_V1 | RoutingModel_V2
|
|
220
|
+
]
|
|
221
|
+
"""References to the neighbour routing models lying upstream."""
|
|
222
|
+
storagemodelupstream: modeltools.SubmodelProperty[StorageModel_V1]
|
|
223
|
+
"""Required reference to the neighbour storage model upstream."""
|
|
224
|
+
|
|
225
|
+
@modeltools.abstractmodelmethod
|
|
226
|
+
def get_partialdischargedownstream(self, clientdischarge: float) -> float:
|
|
227
|
+
"""Get the simulated partial discharge in m³/s.
|
|
228
|
+
|
|
229
|
+
For multiple upstream models, |RoutingModel_V3.get_partialdischargedownstream|
|
|
230
|
+
returns the discharge portion that it attributes to the client model.
|
|
231
|
+
"""
|
|
232
|
+
assert False
|
|
233
|
+
|
|
234
|
+
|
|
235
|
+
class StorageModel_V1(modeltools.SubmodelInterface):
|
|
236
|
+
"""Interface for calculating the water amount stored in a single channel segment."""
|
|
237
|
+
|
|
238
|
+
typeid: ClassVar[Literal[1]] = 1
|
|
239
|
+
"""Type identifier for |StorageModel_V1| submodels."""
|
|
240
|
+
|
|
241
|
+
routingmodelsupstream: modeltools.SubmodelsProperty[
|
|
242
|
+
RoutingModel_V1 | RoutingModel_V2 | RoutingModel_V3
|
|
243
|
+
]
|
|
244
|
+
"""Optional reference to the neighbour routing model upstream."""
|
|
245
|
+
routingmodelsdownstream: modeltools.SubmodelsProperty[
|
|
246
|
+
RoutingModel_V1 | RoutingModel_V2 | RoutingModel_V3
|
|
247
|
+
]
|
|
248
|
+
"""Optional reference to the neighbour routing model downstream."""
|
|
249
|
+
|
|
250
|
+
@modeltools.abstractmodelmethod
|
|
251
|
+
def perform_preprocessing(self) -> None:
|
|
252
|
+
"""Preprocess all data that is invariant during each external simulation
|
|
253
|
+
step."""
|
|
254
|
+
assert False
|
|
255
|
+
|
|
256
|
+
@modeltools.abstractmodelmethod
|
|
257
|
+
def perform_postprocessing(self) -> None:
|
|
258
|
+
"""Execute all tasks necessary at the end of each external simulation step."""
|
|
259
|
+
assert False
|
|
260
|
+
|
|
261
|
+
@modeltools.abstractmodelmethod
|
|
262
|
+
def set_timestep(self, timestep: float) -> None:
|
|
263
|
+
"""Set the actual computation time step in s."""
|
|
264
|
+
assert False
|
|
265
|
+
|
|
266
|
+
@modeltools.abstractmodelmethod
|
|
267
|
+
def update_storage(self) -> None:
|
|
268
|
+
"""Update the stored water content."""
|
|
269
|
+
assert False
|
|
270
|
+
|
|
271
|
+
@modeltools.abstractmodelmethod
|
|
272
|
+
def get_watervolume(self) -> float:
|
|
273
|
+
"""Get the current water volume in 1000 m³."""
|
|
274
|
+
assert False
|
|
275
|
+
|
|
276
|
+
@modeltools.abstractmodelmethod
|
|
277
|
+
def get_waterlevel(self) -> float:
|
|
278
|
+
"""Get the current water level in m."""
|
|
279
|
+
assert False
|
|
280
|
+
|
|
281
|
+
|
|
282
|
+
class ChannelModel_V1(modeltools.SubmodelInterface):
|
|
283
|
+
"""Interface for handling routing and storage submodels.
|
|
284
|
+
|
|
285
|
+
The purpose of any model that follows the |ChannelModel_V1| interface is to collect
|
|
286
|
+
and connect the routing and storage submodels required to simulate the water flow
|
|
287
|
+
through a single channel (without confluences or branches). It can but must not be
|
|
288
|
+
able to perform the actual simulation itself. See |sw1d_channel| as an example,
|
|
289
|
+
which usually delegates simulations to |sw1d_network|.
|
|
290
|
+
"""
|
|
291
|
+
|
|
292
|
+
typeid: ClassVar[Literal[1]] = 1
|
|
293
|
+
"""Type identifier for |ChannelModel_V1| submodels."""
|
|
294
|
+
|
|
295
|
+
storagemodels: modeltools.SubmodelsProperty[StorageModel_V1]
|
|
296
|
+
"""References to the storage submodels.
|
|
297
|
+
|
|
298
|
+
There must be one storage model for each channel segment.
|
|
299
|
+
"""
|
|
300
|
+
routingmodels: modeltools.SubmodelsProperty[
|
|
301
|
+
RoutingModel_V1 | RoutingModel_V2 | RoutingModel_V3
|
|
302
|
+
]
|
|
303
|
+
"""References to the routing submodels.
|
|
304
|
+
|
|
305
|
+
There must be one routing model for each interface between two channel segments.
|
|
306
|
+
Additionally, one routing model can be at the first position for simulating
|
|
307
|
+
"longitudinal inflow" into the channel. And there can be one routing model at the
|
|
308
|
+
last position for calculating "longitudinal outflow".
|
|
309
|
+
|
|
310
|
+
Note that "inflow" and "outflow" here only refer to the location but not
|
|
311
|
+
necessarily to water increases or decreases in the channel's water amount, as both
|
|
312
|
+
might be positive or negative, depending on the selected submodel.
|
|
313
|
+
|
|
314
|
+
If neither the upstream channel model defines a routing model for its last
|
|
315
|
+
position nor the corresponding downstream channel model for its first position,
|
|
316
|
+
both channels cannot become connected. If both channel models define routing
|
|
317
|
+
models for the mentioned positions, it is unclear which is relevant. We suggest
|
|
318
|
+
the following convention. Of course, add routing submodels that handle "external
|
|
319
|
+
longitudinal inflow" (e.g. |sw1d_q_in|) at the first position and routing submodels
|
|
320
|
+
that handle "external longitudinal outflow" (e.g. |sw1d_weir_out|) at the last
|
|
321
|
+
position. Add routing submodels that handle "internal longitudinal flow" (e.g.
|
|
322
|
+
|sw1d_lias|) at the last position for places with confluences or without
|
|
323
|
+
tributaries. For branches, add them to the first position.
|
|
324
|
+
"""
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"""This module defines submodel interfaces for soil-related processes.
|
|
2
|
+
|
|
3
|
+
.. _`issue 89`: https://github.com/hydpy-dev/hydpy/issues/89
|
|
4
|
+
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
# import...
|
|
8
|
+
# ...from hydpy
|
|
9
|
+
from hydpy.core import modeltools
|
|
10
|
+
from hydpy.core.typingtools import *
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class SoilModel_V1(modeltools.SubmodelInterface):
|
|
14
|
+
"""Soil submodel interface for calculating infiltration and percolation in multiple
|
|
15
|
+
soil compartments.
|
|
16
|
+
|
|
17
|
+
|SoilModel_V1| is for submodels that update their states internally. If the
|
|
18
|
+
submodel calculates infiltration and percolation based on the given soil surface
|
|
19
|
+
water supply, it also adjusts its soil moisture content. Hence, it offers a method
|
|
20
|
+
for getting the current soil water content (|SoilModel_V1.get_soilwatercontent|)
|
|
21
|
+
but not for setting it.
|
|
22
|
+
|
|
23
|
+
The reason for implementing |SoilModel_V1| was to couple |lland| with |ga_garto|,
|
|
24
|
+
as discussed in `issue 89`_.
|
|
25
|
+
|
|
26
|
+
All units in mm or mm/T. The method parameter "k" is the index of the considered
|
|
27
|
+
soil compartment.
|
|
28
|
+
"""
|
|
29
|
+
|
|
30
|
+
typeid: ClassVar[Literal[1]] = 1
|
|
31
|
+
"""Type identifier for |SoilModel_V1| submodels."""
|
|
32
|
+
|
|
33
|
+
def prepare_nmbzones(self, nmbzones: int) -> None:
|
|
34
|
+
"""Set the number of zones in which the actual calculations take place."""
|
|
35
|
+
|
|
36
|
+
@modeltools.abstractmodelmethod
|
|
37
|
+
def set_initialsurfacewater(self, k: int, v: float) -> None:
|
|
38
|
+
"""Set the surface water depth initially ponded at the soil's surface.
|
|
39
|
+
|
|
40
|
+
If the caller subtracts a fraction from the water reaching the surface before
|
|
41
|
+
executing |SoilModel_V1.execute_infiltration|, he should pass the original
|
|
42
|
+
(unreduced) water amount to |SoilModel_V1.set_initialsurfacewater|.
|
|
43
|
+
"""
|
|
44
|
+
|
|
45
|
+
@modeltools.abstractmodelmethod
|
|
46
|
+
def set_actualsurfacewater(self, k: int, v: float) -> None:
|
|
47
|
+
"""Set the surface water depth that is actually available for infiltration.
|
|
48
|
+
|
|
49
|
+
If the caller subtracts a fraction from the water reaching the surface before
|
|
50
|
+
executing |SoilModel_V1.execute_infiltration|, he should pass the resulting
|
|
51
|
+
(reduced) water amount to |SoilModel_V1.set_actualsurfacewater|.
|
|
52
|
+
"""
|
|
53
|
+
|
|
54
|
+
@modeltools.abstractmodelmethod
|
|
55
|
+
def set_soilwatersupply(self, k: int, v: float) -> None:
|
|
56
|
+
"""Set the direct water supply to the soil's body (e.g. due to capillary
|
|
57
|
+
rise)."""
|
|
58
|
+
|
|
59
|
+
@modeltools.abstractmodelmethod
|
|
60
|
+
def set_soilwaterdemand(self, k: int, v: float) -> None:
|
|
61
|
+
"""Set the direct water demand from the soil's body (e.g. due to
|
|
62
|
+
evapotranspiration)."""
|
|
63
|
+
|
|
64
|
+
@modeltools.abstractmodelmethod
|
|
65
|
+
def execute_infiltration(self, k: int) -> None:
|
|
66
|
+
"""Execute the infiltration routine (that might also calculate percolation)
|
|
67
|
+
based on the given surface water supply.
|
|
68
|
+
"""
|
|
69
|
+
|
|
70
|
+
@modeltools.abstractmodelmethod
|
|
71
|
+
def add_soilwater(self, k: int) -> None:
|
|
72
|
+
"""Add the given (direct) soil water supply."""
|
|
73
|
+
|
|
74
|
+
@modeltools.abstractmodelmethod
|
|
75
|
+
def remove_soilwater(self, k: int) -> None:
|
|
76
|
+
"""Remove the given (direct) soil water demand."""
|
|
77
|
+
|
|
78
|
+
@modeltools.abstractmodelmethod
|
|
79
|
+
def get_infiltration(self, k: int) -> float:
|
|
80
|
+
"""Get the previously calculated infiltration rate."""
|
|
81
|
+
|
|
82
|
+
@modeltools.abstractmodelmethod
|
|
83
|
+
def get_percolation(self, k: int) -> float:
|
|
84
|
+
"""Get the previously calculated percolation rate."""
|
|
85
|
+
|
|
86
|
+
@modeltools.abstractmodelmethod
|
|
87
|
+
def get_soilwateraddition(self, k: int) -> float:
|
|
88
|
+
"""Get the previously calculated actual soil water addition."""
|
|
89
|
+
|
|
90
|
+
@modeltools.abstractmodelmethod
|
|
91
|
+
def get_soilwaterremoval(self, k: int) -> float:
|
|
92
|
+
"""Get the previously calculated actual soil water removal."""
|
|
93
|
+
|
|
94
|
+
@modeltools.abstractmodelmethod
|
|
95
|
+
def get_soilwatercontent(self, k: int) -> float:
|
|
96
|
+
"""Get the current soil water content."""
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
"""This module defines submodel interfaces for sharing (model) states."""
|
|
2
|
+
|
|
3
|
+
# import...
|
|
4
|
+
# ...from hydpy
|
|
5
|
+
from hydpy.core import modeltools
|
|
6
|
+
from hydpy.core.typingtools import *
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class IntercModel_V1(modeltools.SubmodelInterface):
|
|
10
|
+
"""Pure getter interface for using main models as sub-submodels or simple dummy
|
|
11
|
+
models as submodels for querying the amount of intercepted water."""
|
|
12
|
+
|
|
13
|
+
typeid: ClassVar[Literal[1]] = 1
|
|
14
|
+
"""Type identifier for |IntercModel_V1| submodels."""
|
|
15
|
+
|
|
16
|
+
def prepare_nmbzones(self, nmbzones: int) -> None:
|
|
17
|
+
"""Set the number of zones in which the actual calculations take place."""
|
|
18
|
+
|
|
19
|
+
@modeltools.abstractmodelmethod
|
|
20
|
+
def get_interceptedwater(self, k: int) -> float:
|
|
21
|
+
"""Get the selected zone's amount of intercepted water in mm."""
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
class SoilWaterModel_V1(modeltools.SubmodelInterface):
|
|
25
|
+
"""Pure getter interface for using main models as sub-submodels or simple dummy
|
|
26
|
+
models as submodels for querying the soil water content."""
|
|
27
|
+
|
|
28
|
+
typeid: ClassVar[Literal[1]] = 1
|
|
29
|
+
"""Type identifier for |SoilWaterModel_V1| submodels."""
|
|
30
|
+
|
|
31
|
+
def prepare_nmbzones(self, nmbzones: int) -> None:
|
|
32
|
+
"""Set the number of zones in which the actual calculations take place."""
|
|
33
|
+
|
|
34
|
+
@modeltools.abstractmodelmethod
|
|
35
|
+
def get_soilwater(self, k: int) -> float:
|
|
36
|
+
"""Get the selected zone's soil water content in mm."""
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
class SnowCoverModel_V1(modeltools.SubmodelInterface):
|
|
40
|
+
"""Pure getter interface for using main models as sub-submodels or simple dummy
|
|
41
|
+
models as submodels for querying the snow cover degree."""
|
|
42
|
+
|
|
43
|
+
typeid: ClassVar[Literal[1]] = 1
|
|
44
|
+
"""Type identifier for |SnowCoverModel_V1| submodels."""
|
|
45
|
+
|
|
46
|
+
def prepare_nmbzones(self, nmbzones: int) -> None:
|
|
47
|
+
"""Set the number of zones in which the actual calculations take place."""
|
|
48
|
+
|
|
49
|
+
@modeltools.abstractmodelmethod
|
|
50
|
+
def get_snowcover(self, k: int) -> float:
|
|
51
|
+
"""Get the selected zone's snow cover degree as a fraction."""
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
class SnowyCanopyModel_V1(modeltools.SubmodelInterface):
|
|
55
|
+
"""Pure getter interface for using main models as sub-submodels or simple dummy
|
|
56
|
+
models as submodels for querying the snow cover degree in the canopies of tree-like
|
|
57
|
+
vegetation."""
|
|
58
|
+
|
|
59
|
+
typeid: ClassVar[Literal[1]] = 1
|
|
60
|
+
"""Type identifier for |SnowyCanopyModel_V1| submodels."""
|
|
61
|
+
|
|
62
|
+
def prepare_nmbzones(self, nmbzones: int) -> None:
|
|
63
|
+
"""Set the number of zones in which the actual calculations take place."""
|
|
64
|
+
|
|
65
|
+
@modeltools.abstractmodelmethod
|
|
66
|
+
def get_snowycanopy(self, k: int) -> float:
|
|
67
|
+
"""Get the selected zone's snow cover degree in the canopies of tree-like
|
|
68
|
+
vegetation (or |numpy.nan| if the zone's vegetation is not tree-like)."""
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
class SnowAlbedoModel_V1(modeltools.SubmodelInterface):
|
|
72
|
+
"""Pure getter interface for using main models as sub-submodels or simple dummy
|
|
73
|
+
models as submodels for querying the current snow albedo."""
|
|
74
|
+
|
|
75
|
+
typeid: ClassVar[Literal[1]] = 1
|
|
76
|
+
"""Type identifier for |SnowAlbedoModel_V1| submodels."""
|
|
77
|
+
|
|
78
|
+
def prepare_nmbzones(self, nmbzones: int) -> None:
|
|
79
|
+
"""Set the number of zones in which the actual calculations take place."""
|
|
80
|
+
|
|
81
|
+
@modeltools.abstractmodelmethod
|
|
82
|
+
def get_snowalbedo(self, k: int) -> float:
|
|
83
|
+
"""Get the selected zone's snow albedo as a fraction.
|
|
84
|
+
|
|
85
|
+
For snow-free zones, |SnowAlbedoModel_V1.get_snowalbedo| should return
|
|
86
|
+
|numpy.nan|.
|
|
87
|
+
"""
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
class WaterLevelModel_V1(modeltools.SubmodelInterface):
|
|
91
|
+
"""Pure getter interface for querying the current water level."""
|
|
92
|
+
|
|
93
|
+
typeid: ClassVar[Literal[1]] = 1
|
|
94
|
+
"""Type identifier for |WaterLevelModel_V1| submodels."""
|
|
95
|
+
|
|
96
|
+
@modeltools.abstractmodelmethod
|
|
97
|
+
def get_waterlevel(self) -> float:
|
|
98
|
+
"""Determine the water level and return it in m."""
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"""This module defines submodel interfaces for providing temperature."""
|
|
2
|
+
|
|
3
|
+
# import...
|
|
4
|
+
# ...from hydpy
|
|
5
|
+
from hydpy.core import modeltools
|
|
6
|
+
from hydpy.core.typingtools import *
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class TempModel_V1(modeltools.SubmodelInterface):
|
|
10
|
+
"""Pure getter interface for using main models as sub-submodels."""
|
|
11
|
+
|
|
12
|
+
typeid: ClassVar[Literal[1]] = 1
|
|
13
|
+
"""Type identifier for |TempModel_V1| submodels."""
|
|
14
|
+
|
|
15
|
+
@modeltools.abstractmodelmethod
|
|
16
|
+
def get_temperature(self, k: int) -> float:
|
|
17
|
+
"""Get the selected zone's temperature value in °C."""
|
|
18
|
+
|
|
19
|
+
@modeltools.abstractmodelmethod
|
|
20
|
+
def get_meantemperature(self) -> float:
|
|
21
|
+
"""Get the basin's mean temperature value in °C."""
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
class TempModel_V2(modeltools.SubmodelInterface):
|
|
25
|
+
"""Simple interface for determining the temperature in one step."""
|
|
26
|
+
|
|
27
|
+
typeid: ClassVar[Literal[2]] = 2
|
|
28
|
+
"""Type identifier for |TempModel_V2| submodels."""
|
|
29
|
+
|
|
30
|
+
def prepare_nmbzones(self, nmbzones: int) -> None:
|
|
31
|
+
"""Set the number of zones in which the actual calculations take place."""
|
|
32
|
+
|
|
33
|
+
def prepare_subareas(self, subareas: Sequence[float]) -> None:
|
|
34
|
+
"""Set the areas of the individual zones in km²."""
|
|
35
|
+
|
|
36
|
+
@modeltools.abstractmodelmethod
|
|
37
|
+
def determine_temperature(self) -> None:
|
|
38
|
+
"""Determine temperature."""
|
|
39
|
+
|
|
40
|
+
@modeltools.abstractmodelmethod
|
|
41
|
+
def get_temperature(self, k: int) -> float:
|
|
42
|
+
"""Get the selected zone's temperature value in °C."""
|
|
43
|
+
|
|
44
|
+
@modeltools.abstractmodelmethod
|
|
45
|
+
def get_meantemperature(self) -> float:
|
|
46
|
+
"""Get the previously calculated average temperature in °C."""
|
hydpy/models/__init__.py
ADDED
|
File without changes
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"""
|
|
2
|
+
|arma.DOCNAME.complete| provides features to implement flood routing models based on
|
|
3
|
+
autoregressive (AR) and moving-average (MA) methods.
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
# import...
|
|
7
|
+
# ...from HydPy
|
|
8
|
+
from hydpy.exe.modelimports import *
|
|
9
|
+
|
|
10
|
+
# ...from arma
|
|
11
|
+
from hydpy.models.arma.arma_model import Model
|
|
12
|
+
|
|
13
|
+
tester = Tester()
|
|
14
|
+
cythonizer = Cythonizer()
|