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,34 @@
|
|
|
1
|
+
.. _HydPy-GA:
|
|
2
|
+
|
|
3
|
+
HydPy-GA (Green-Ampt)
|
|
4
|
+
=====================
|
|
5
|
+
|
|
6
|
+
The members of HydPy-GA calculate surface water infiltration into soils based on the
|
|
7
|
+
simplifying Green-Ampt assumption of "piston-like" wetting fronts. Opposed to purely
|
|
8
|
+
volume-based approaches, they consider the influence of rainfall intensity on
|
|
9
|
+
infiltration and, thus, the potential generation of surface runoff. Hence, one might
|
|
10
|
+
prefer them when dealing with short but intensive (often convective) rainfall events.
|
|
11
|
+
However, Green-Ampt methods are also usually more demanding regarding computational
|
|
12
|
+
effort and the required geodata and are more sensitive to data uncertainties. Compared
|
|
13
|
+
with numerical approximations of the Richards equation, they are less flexible (e.g.
|
|
14
|
+
because of neglecting soil heterogeneities) but more stable and efficient (as they rely
|
|
15
|
+
on relatively simple ordinary instead of highly-stiff partial differential equations).
|
|
16
|
+
|
|
17
|
+
So far, |ga_garto| is the only HydPy-GA member usable as a stand-alone model. It
|
|
18
|
+
implements GARTO, a "Green-Ampt infiltration with Redistribution" model that
|
|
19
|
+
"incorporates features from the Talbot-Ogden infiltration and redistribution method"
|
|
20
|
+
:cite:p:`ref-Lai2015`. It should outperform simpler Green-Ampt approaches when
|
|
21
|
+
simulating complex rainfall events that include significant low-intensity subperiods.
|
|
22
|
+
|
|
23
|
+
Hydrologically, |ga_garto_submodel1| works like |ga_garto|, Technically, it is a
|
|
24
|
+
submodel that can hook into larger main models like |lland_dd| to include (additional)
|
|
25
|
+
surface runoff due to infiltration excess into simulations.
|
|
26
|
+
|
|
27
|
+
Available models:
|
|
28
|
+
|
|
29
|
+
.. toctree::
|
|
30
|
+
:maxdepth: 1
|
|
31
|
+
|
|
32
|
+
ga
|
|
33
|
+
ga_garto
|
|
34
|
+
ga_garto_submodel1
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
|
|
2
|
+
.. _HydPy-H:
|
|
3
|
+
|
|
4
|
+
HydPy-H (HBV)
|
|
5
|
+
=============
|
|
6
|
+
|
|
7
|
+
*HydPy* implements a very close emulation of the central routines of the famous HBV96
|
|
8
|
+
model, introduced by :cite:t:`ref-Lindstrom1997HBV96`. As discussed by
|
|
9
|
+
:cite:t:`ref-Tyralla2013`, the results of |hland_96| and the IHMS-HBV96 implementation
|
|
10
|
+
of the Swedish Meteorological and Hydrological Institute agree very well for the tested
|
|
11
|
+
river basins. This documentation focusses on technical aspects of HydPy-H and tries to
|
|
12
|
+
be as precise as possible regarding the implementation of the process equations. The
|
|
13
|
+
background of the scientifical development of the HBV96 model is more thoroughly
|
|
14
|
+
covered in :cite:t:`ref-Lindstrom1997HBV96`.
|
|
15
|
+
|
|
16
|
+
Available models:
|
|
17
|
+
|
|
18
|
+
.. toctree::
|
|
19
|
+
:maxdepth: 1
|
|
20
|
+
|
|
21
|
+
hland
|
|
22
|
+
hland_96
|
|
23
|
+
hland_96p
|
|
24
|
+
hland_96c
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
|
|
2
|
+
.. _`LARSIM`: http://www.larsim.de/en/the-model/
|
|
3
|
+
|
|
4
|
+
.. _HydPy-KinW:
|
|
5
|
+
|
|
6
|
+
HydPy-KinW
|
|
7
|
+
==========
|
|
8
|
+
|
|
9
|
+
The HydPy-KinW model family provides storage-based routing methods that rely on the
|
|
10
|
+
simplifying kinematic wave assumption. Currently, all its members follow routing
|
|
11
|
+
methods applied by the `LARSIM`_ model.
|
|
12
|
+
|
|
13
|
+
For reasons of consistency with the original LARSIM implementation, the names of all
|
|
14
|
+
parameter and sequence classes are German terms and abbreviations. Additionally, the
|
|
15
|
+
documentation on each parameter or sequence contains an English translation.
|
|
16
|
+
|
|
17
|
+
.. warning::
|
|
18
|
+
|
|
19
|
+
We might change the implemented application models soon. Backward-incompatible
|
|
20
|
+
changes might include switching to English variable names, improving numerical
|
|
21
|
+
performance, or supporting more channel profile geometries. It is also possbile we
|
|
22
|
+
drop HydPy-KinW entirely if, for example, alternative routing methods like
|
|
23
|
+
|musk_mct| prove superior in every respect.
|
|
24
|
+
|
|
25
|
+
Available models:
|
|
26
|
+
|
|
27
|
+
.. toctree::
|
|
28
|
+
:maxdepth: 1
|
|
29
|
+
|
|
30
|
+
kinw
|
|
31
|
+
kinw_williams
|
|
32
|
+
kinw_williams_ext
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
|
|
2
|
+
.. _`LARSIM`: http://www.larsim.de/en/the-model/
|
|
3
|
+
.. _`German Federal Institute of Hydrology (BfG)`: https://www.bafg.de/EN
|
|
4
|
+
.. _Bremicker: http://www.larsim.info/fileadmin/files/Dokumentation/FSH-Bd11-Bremicker.pdf
|
|
5
|
+
.. _LARSIM-Entwicklergemeinschaft: http://www.larsim.info/fileadmin/files/Dokumentation/LARSIM-Dokumentation.pdf
|
|
6
|
+
.. _LARSIM Online-Hilfe: http://www.larsim.info/larsim-hilfe/
|
|
7
|
+
.. _KLIWAS: http://www.kliwas.de/KLIWAS/DE/Service/Downloads/Publikationen/abschlussbericht.pdf;jsessionid=C89ED85DF782A3D5FE117808A6129002.live21303?__blob=publicationFile
|
|
8
|
+
|
|
9
|
+
.. _HydPy-L:
|
|
10
|
+
|
|
11
|
+
HydPy-L (LARSIM)
|
|
12
|
+
================
|
|
13
|
+
|
|
14
|
+
*HydPy* implements a close but not exact emulation of the central routines of the
|
|
15
|
+
`LARSIM`_ model, applied by many forecasting centres in Germany and some neighbouring
|
|
16
|
+
countries. The version 1 application model of *HydPy-L* agrees very well with a LARSIM
|
|
17
|
+
configuration called LARSIM-ME ("ME" stands for Middle Europe), used by the `German
|
|
18
|
+
Federal Institute of Hydrology (BfG)`_ for calculating hydroclimatic scenarios for
|
|
19
|
+
large river basins (see e. g. the `KLIWAS`_ project).
|
|
20
|
+
|
|
21
|
+
*HydPy-L* is partly based on the original publication on LARSIM (`BREMICKER`_), the
|
|
22
|
+
summary of the theory and the range of applications of LARSIM, which is continuously
|
|
23
|
+
updated by the LARSIM development community (`LARSIM-Entwicklergemeinschaft`_), the
|
|
24
|
+
LARSIM online documentation (`LARSIM Online-Hilfe`_), and some helpful hints of the
|
|
25
|
+
colleagues of the LUBW (Landesanstalt für Umwelt, Messungen und Naturschutz
|
|
26
|
+
Baden-Württemberg) and the HYDRON GmbH. Some other parts of *HydPy-L* have been
|
|
27
|
+
programmed more independently and were incorporated into the original LARSIM
|
|
28
|
+
implementation later.
|
|
29
|
+
|
|
30
|
+
Available models:
|
|
31
|
+
|
|
32
|
+
.. toctree::
|
|
33
|
+
:maxdepth: 1
|
|
34
|
+
|
|
35
|
+
lland
|
|
36
|
+
lland_dd
|
|
37
|
+
lland_knauf
|
|
38
|
+
lland_knauf_ic
|
|
39
|
+
|
|
40
|
+
For reasons of consistency with the original LARSIM implementation, the names of all
|
|
41
|
+
parameter and sequence classes are German terms and abbreviations. Additionally, the
|
|
42
|
+
documentation on each parameter or sequence contains an English translation.
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
.. _HydPy-Meteo:
|
|
2
|
+
|
|
3
|
+
HydPy-Meteo
|
|
4
|
+
===========
|
|
5
|
+
|
|
6
|
+
The `HydPy-Meteo` model family provides models that calculate meteorological factors.
|
|
7
|
+
One example is |meteo_glob_fao56|, which calculates global and clear sky solar
|
|
8
|
+
radiation. Application models of other model families, for example, |evap_ret_fao56|,
|
|
9
|
+
require such factors as input. Users can either prepare the complete time series of
|
|
10
|
+
these factors during preprocessing and let |evap_ret_fao56| read them from files before
|
|
11
|
+
or during a simulation or couple |meteo_glob_fao56| and |evap_ret_fao56| to calculate
|
|
12
|
+
global and clear sky radiation "on the fly".
|
|
13
|
+
|
|
14
|
+
Available models:
|
|
15
|
+
|
|
16
|
+
.. toctree::
|
|
17
|
+
:maxdepth: 1
|
|
18
|
+
|
|
19
|
+
meteo
|
|
20
|
+
meteo_glob_io
|
|
21
|
+
meteo_clear_glob_io
|
|
22
|
+
meteo_psun_sun_glob_io
|
|
23
|
+
meteo_temp_io
|
|
24
|
+
meteo_precip_io
|
|
25
|
+
meteo_glob_fao56
|
|
26
|
+
meteo_glob_morsim
|
|
27
|
+
meteo_sun_fao56
|
|
28
|
+
meteo_sun_morsim
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
|
|
2
|
+
.. _HydPy-Musk:
|
|
3
|
+
|
|
4
|
+
HydPy-Musk (Muskingum)
|
|
5
|
+
======================
|
|
6
|
+
|
|
7
|
+
The HydPy-Musk model family provides models that solve the routing problem like the
|
|
8
|
+
classic Muskingum method or its derivatives. One can understand all application models
|
|
9
|
+
as non-adaptive finite-difference approximations of (extremely) simplified versions of
|
|
10
|
+
the Saint-Vernant equations. Hence, they are more limited than hydrodynamical
|
|
11
|
+
approaches but are simpler to handle and much more efficient regarding computation
|
|
12
|
+
times.
|
|
13
|
+
|
|
14
|
+
Available models:
|
|
15
|
+
|
|
16
|
+
.. toctree::
|
|
17
|
+
:maxdepth: 1
|
|
18
|
+
|
|
19
|
+
musk
|
|
20
|
+
musk_classic
|
|
21
|
+
musk_mct
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
|
|
2
|
+
.. _HydPy-Rconc:
|
|
3
|
+
|
|
4
|
+
HydPy-Rconc
|
|
5
|
+
===========
|
|
6
|
+
|
|
7
|
+
All HydPy-Rconc models are submodels that calculate runoff concentration by either the
|
|
8
|
+
convolution of a unit hydrograph or the linear storage cascade approach (Nash-Cascade).
|
|
9
|
+
|
|
10
|
+
Available models:
|
|
11
|
+
|
|
12
|
+
.. toctree::
|
|
13
|
+
:maxdepth: 1
|
|
14
|
+
|
|
15
|
+
rconc
|
|
16
|
+
rconc_uh
|
|
17
|
+
rconc_nash
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
|
|
2
|
+
.. _HydPy-SW1d:
|
|
3
|
+
|
|
4
|
+
HydPy-SW1D (Shallow Water 1D)
|
|
5
|
+
=============================
|
|
6
|
+
|
|
7
|
+
All models of the HydPy-SW1D model family serve to solve the 1-dimensional shallow
|
|
8
|
+
water equations. Opposed to models like |musk_mct|, they do so in a more
|
|
9
|
+
`hydrodynamical` manner, which extends their scope to situations where traditional
|
|
10
|
+
`hydrological` flood routing approaches fail. Most importantly, they can account for
|
|
11
|
+
backwater effects. However, this additional functionality comes at the cost of
|
|
12
|
+
increased complexity, as less stable numerical schemes are used, and the different
|
|
13
|
+
parts of a channel network must be coupled more tightly. The application model
|
|
14
|
+
|sw1d_channel| documentation discusses the first and the application model
|
|
15
|
+
|sw1d_network| documentation discusses the second topic.
|
|
16
|
+
|
|
17
|
+
The available application models are responsible for different tasks. sw1d_channel is a
|
|
18
|
+
"normal" main model that is associated with |Element| object as usual. The
|
|
19
|
+
particularity is that one usually does not apply |sw1d_channel| to perform simulations.
|
|
20
|
+
Behind the scenes, *HydPy* couples all |sw1d_channel| models (or, more precisely, the
|
|
21
|
+
involved submodels) belonging to the same |Element.collective| and delegates the actual
|
|
22
|
+
simulation work to an automatically generated |sw1d_network| instance.
|
|
23
|
+
|
|
24
|
+
By themself, |sw1d_channel| and |sw1d_network| provide little "hydrodynamical"
|
|
25
|
+
functionality. Instead, they rely on submodels compatible with a finite volume
|
|
26
|
+
staggered grid discretisation. First, they need submodels following the
|
|
27
|
+
|StorageModel_V1| interface (as |sw1d_storage|) for keeping track of the amount of
|
|
28
|
+
water stored in a channel segment. Second, they need submodels for providing the
|
|
29
|
+
inflow into the upper segments (like |sw1d_q_in|, which follows the |RoutingModel_V1|
|
|
30
|
+
interface), for calculating the flow between channel segments (like |sw1d_lias|, which
|
|
31
|
+
follows the |RoutingModel_V2| interface), and for removing water from the lower
|
|
32
|
+
segments (like |sw1d_weir_out|, which follows the |RoutingModel_V3| interface).
|
|
33
|
+
|
|
34
|
+
Available models:
|
|
35
|
+
|
|
36
|
+
.. toctree::
|
|
37
|
+
:maxdepth: 1
|
|
38
|
+
|
|
39
|
+
sw1d
|
|
40
|
+
sw1d_channel
|
|
41
|
+
sw1d_network
|
|
42
|
+
sw1d_storage
|
|
43
|
+
sw1d_q_in
|
|
44
|
+
sw1d_lias
|
|
45
|
+
sw1d_lias_sluice
|
|
46
|
+
sw1d_pump
|
|
47
|
+
sw1d_q_out
|
|
48
|
+
sw1d_weir_out
|
|
49
|
+
sw1d_gate_out
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
|
|
2
|
+
.. _HydPy-Test:
|
|
3
|
+
|
|
4
|
+
HydPy-Test
|
|
5
|
+
==========
|
|
6
|
+
|
|
7
|
+
The HydPy-Test base model is thought for providing simple test models to test and
|
|
8
|
+
explain the functionality of some framework features. So far, three applications
|
|
9
|
+
models for testing numerical integration algorithms are available.
|
|
10
|
+
|
|
11
|
+
Available models:
|
|
12
|
+
|
|
13
|
+
.. toctree::
|
|
14
|
+
:maxdepth: 1
|
|
15
|
+
|
|
16
|
+
test
|
|
17
|
+
test_stiff0d
|
|
18
|
+
test_stiff1d
|
|
19
|
+
test_discontinous
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
|
|
2
|
+
.. _`WALRUS`: https://www.wur.nl/en/Research-Results/Chair-groups/Environmental-Sciences/Hydrology-and-Quantitative-Water-Management-Group/Research/WALRUS-1.htm
|
|
3
|
+
|
|
4
|
+
.. _HydPy-W:
|
|
5
|
+
|
|
6
|
+
HydPy-W (WALRUS)
|
|
7
|
+
================
|
|
8
|
+
|
|
9
|
+
The HydPy-W model family is based on the `WALRUS`_ model, specifically designed to
|
|
10
|
+
simulate surface water fluxes in lowland catchments influenced by near-surface
|
|
11
|
+
groundwater :cite:`ref-Brauer2014`.
|
|
12
|
+
|
|
13
|
+
Available models:
|
|
14
|
+
|
|
15
|
+
.. toctree::
|
|
16
|
+
:maxdepth: 1
|
|
17
|
+
|
|
18
|
+
wland
|
|
19
|
+
wland_wag
|
|
20
|
+
wland_gd
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
|
|
2
|
+
.. _HydPy-WHMod:
|
|
3
|
+
|
|
4
|
+
HydPy-WHMod
|
|
5
|
+
===========
|
|
6
|
+
|
|
7
|
+
The HydPy-WHMod model family provides hydrological models for analysing and predicting
|
|
8
|
+
various aspects of the water balance at specific sites and larger areas. It focusss on
|
|
9
|
+
SVAT-like descriptions of vertical processes. The basic model concept was initially
|
|
10
|
+
developed by :cite:t:`ref-Probst2002`.
|
|
11
|
+
|
|
12
|
+
Base model:
|
|
13
|
+
|
|
14
|
+
.. toctree::
|
|
15
|
+
:maxdepth: 1
|
|
16
|
+
|
|
17
|
+
whmod
|
|
18
|
+
whmod_rural
|
|
19
|
+
whmod_urban
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
|
|
2
|
+
.. _HydPy-WQ:
|
|
3
|
+
|
|
4
|
+
HydPy-WQ
|
|
5
|
+
========
|
|
6
|
+
|
|
7
|
+
All HydPy-WQ models are "function-like" submodels that calculate discharge based on
|
|
8
|
+
information like the current water level, as needed, for example, for flood routing.
|
|
9
|
+
We intend to increase the number of available submodels and possible main models
|
|
10
|
+
step-wise to give users more freedom in choosing the preferred approach.
|
|
11
|
+
|
|
12
|
+
Available models:
|
|
13
|
+
|
|
14
|
+
.. toctree::
|
|
15
|
+
:maxdepth: 1
|
|
16
|
+
|
|
17
|
+
wq
|
|
18
|
+
wq_trapeze
|
|
19
|
+
wq_trapeze_strickler
|
|
20
|
+
wq_walrus
|
|
File without changes
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
|
|
2
|
+
.. _HydPy project page: https://github.com/hydpy-dev
|
|
3
|
+
.. _hydpy repository: https://github.com/hydpy-dev/hydpy
|
|
4
|
+
.. _Delft-FEWS-demos repository: https://github.com/hydpy-dev/Delft-FEWS-demos
|
|
5
|
+
.. _Delft-FEWS: https://oss.deltares.nl/web/delft-fews
|
|
6
|
+
.. _OpenDA repository: https://github.com/hydpy-dev/OpenDA
|
|
7
|
+
.. _OpenDA: http://openda.org/
|
|
8
|
+
.. _Dud: https://github.com/hydpy-dev/OpenDA/blob/master/demos/openda_projects/DUD/README.rst
|
|
9
|
+
.. _Travis CI: https://travis-ci.com/
|
|
10
|
+
.. _AppVeyor: https://www.appveyor.com/
|
|
11
|
+
|
|
12
|
+
.. _additional_repositories:
|
|
13
|
+
|
|
14
|
+
Additional repositories
|
|
15
|
+
_______________________
|
|
16
|
+
|
|
17
|
+
The `HydPy project page`_ does not only contain the `hydpy repository`_
|
|
18
|
+
itself, but also repositories for *HydPy* extensions. At the time of
|
|
19
|
+
writing, there is the `Delft-FEWS-demos repository`_, providing
|
|
20
|
+
configuration files for using *HydPy* within `Delft-FEWS`_, and the
|
|
21
|
+
`OpenDA repository`_, providing a based wrapper wrapper for optimising
|
|
22
|
+
*HydPy* simulations with `OpenDA`_. Additional repositories should be
|
|
23
|
+
created for all new *HydPy* functionalities not integrating naturally
|
|
24
|
+
into its source files. The `OpenDA`_ wrapper, for example, must respect
|
|
25
|
+
both the logic of `OpenDA`_ and *HydPy*. Programming such a wrapper
|
|
26
|
+
within the main `hydpy repository`_ would impair the consistency and
|
|
27
|
+
thus the maintainability of *HydPy*.
|
|
28
|
+
|
|
29
|
+
We cannot give clear recommendations on the design of additional
|
|
30
|
+
repositories, due to their potentially very diverse nature (for example,
|
|
31
|
+
the `Delft-FEWS-demos repository`_ is primarily XML based, and the
|
|
32
|
+
`OpenDA repository`_ is primarily Java based). At least, try to
|
|
33
|
+
compile online documentation pages comparable to the ones of *HydPy*.
|
|
34
|
+
For example, we added linked *README* files to the subfolders of the
|
|
35
|
+
`OpenDA repository`_, which seems to be an acceptable lightweight alternative.
|
|
36
|
+
When following the *rst* file format instead of the commonly used *md*
|
|
37
|
+
file format, one can even include doctests into such *README* files,
|
|
38
|
+
as we did for explaining the `Dud`_ algorithm. Ideally, one would also
|
|
39
|
+
test the code and build the sources on `Travis CI`_ or `AppVeyor`_, but t
|
|
40
|
+
here might be software or license restrictions preventing this.
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
|
|
2
|
+
.. _auxiliaries:
|
|
3
|
+
|
|
4
|
+
Auxiliary Tools
|
|
5
|
+
===============
|
|
6
|
+
|
|
7
|
+
The `auxs` subpackage provides features that are not essential for the functionality of
|
|
8
|
+
HydPy in general, but possibly help when implementing new models or writing workflow
|
|
9
|
+
scripts.
|
|
10
|
+
|
|
11
|
+
The available `auxs` modules cover diverse topics, ranging from hydrological approaches
|
|
12
|
+
like calculating Unit Hydrograph ordinates (|iuhtools|) to pure mathematical issues
|
|
13
|
+
like numerical integration (|quadtools|). A short look into each module's general
|
|
14
|
+
description should help determine its purpose.
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
.. toctree::
|
|
18
|
+
:hidden:
|
|
19
|
+
|
|
20
|
+
anntools
|
|
21
|
+
armatools
|
|
22
|
+
calibtools
|
|
23
|
+
interptools
|
|
24
|
+
iuhtools
|
|
25
|
+
networktools
|
|
26
|
+
ppolytools
|
|
27
|
+
quadtools
|
|
28
|
+
roottools
|
|
29
|
+
smoothtools
|
|
30
|
+
statstools
|
|
31
|
+
validtools
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
.. _GitHub: https://github.com
|
|
2
|
+
.. _Travis CI: https://travis-ci.com/
|
|
3
|
+
.. _AppVeyor: https://www.appveyor.com/
|
|
4
|
+
.. _hydpy repository: https://github.com/hydpy-dev/hydpy
|
|
5
|
+
.. _Travis log-page: https://travis-ci.com/hydpy-dev/hydpy
|
|
6
|
+
.. _AppVeyor log-page: https://ci.appveyor.com/project/tyralla/hydpy/history
|
|
7
|
+
.. _travis.yml: https://github.com/hydpy-dev/hydpy/blob/master/.travis.yml
|
|
8
|
+
.. _setup.py: https://github.com/hydpy-dev/hydpy/blob/master/setup.py
|
|
9
|
+
.. _GitHub pages: https://pages.github.com/
|
|
10
|
+
.. _appveyor.yml: https://github.com/hydpy-dev/hydpy/blob/master/appveyor.yml
|
|
11
|
+
.. _Python Package Index: https://pypi.org/project/HydPy/
|
|
12
|
+
|
|
13
|
+
.. _continuous_integration:
|
|
14
|
+
|
|
15
|
+
Continuous Integration
|
|
16
|
+
______________________
|
|
17
|
+
|
|
18
|
+
To contribute to the code base of *HydPy*, you need a copy of its sources
|
|
19
|
+
(a separate fork, see section :ref:`version_control`). The existence
|
|
20
|
+
of multiple copies of the same code bears the danger of integration problems
|
|
21
|
+
due to incompatible changes. An obvious problem is when two developers
|
|
22
|
+
introduce different changes to the same code lines. However, even untuned
|
|
23
|
+
changes in separate code sections can break functionalities. As a means to
|
|
24
|
+
reduce such risks, different working copies should be synchronised
|
|
25
|
+
"continuously". Taking the code changes of colleagues into account as often
|
|
26
|
+
as possible decreases the likelihood of simultaneous changes to the same code
|
|
27
|
+
sections and keeps the complexity of possible conflicts to a minimum.
|
|
28
|
+
|
|
29
|
+
The online development of *HydPy* relies, besides `GitHub`_, on `Travis CI`_
|
|
30
|
+
and `AppVeyor`_. Both are a hosted, distributed continuous integration
|
|
31
|
+
services. They are configured to check and eventually release new *HydPy*
|
|
32
|
+
versions in different ways. Each time someone suggests changes to the
|
|
33
|
+
`hydpy repository`_, either via a direct commit or a pull request (see
|
|
34
|
+
section :ref:`version_control`), `GitHub`_ sends a message to the servers of
|
|
35
|
+
`Travis CI`_ and `AppVeyor`_. They then download the new source code,
|
|
36
|
+
examine it, and log their results to the `Travis log-page`_ and the
|
|
37
|
+
`AppVeyor log-page`_, respectively.
|
|
38
|
+
|
|
39
|
+
`travis.yml`_ defines the following `Travis CI`_ workflow:
|
|
40
|
+
|
|
41
|
+
* Download and install all *HydPy* dependencies on the Debian based
|
|
42
|
+
Linux operating system Ubuntu separately for each currently
|
|
43
|
+
supported CPython version.
|
|
44
|
+
* Call `setup.py`_ to copy *HydPy* to the site-packages folder and
|
|
45
|
+
build some additional files (e.g. Dynamic Link Library files).
|
|
46
|
+
For reasons of measuring code coverage, `setup.py`_ also triggers
|
|
47
|
+
all "conventional" unit tests and doctests.
|
|
48
|
+
* Prepare a test coverage report (see section :ref:`tests_and_documentation`).
|
|
49
|
+
* Generate the online documentation (for the latest stable Python version).
|
|
50
|
+
* Publish the online documentation on `GitHub pages`_ in case the
|
|
51
|
+
build process succeeded, all tests passed, and no formatting errors
|
|
52
|
+
or wrong links corrupted the documentation. Additionally, the evaluated
|
|
53
|
+
branch must be the master branch.
|
|
54
|
+
|
|
55
|
+
The workflow defined by `appveyour.yml` is as follows:
|
|
56
|
+
|
|
57
|
+
* As on `Travis CI`_, download and install all *HydPy* dependencies for
|
|
58
|
+
each supported CPython version, but on Windows Server instead of Linux.
|
|
59
|
+
* As on `Travis CI`_, call `setup.py`_ to install *HydPy*, but do not
|
|
60
|
+
measure code coverage.
|
|
61
|
+
* Create binary distributions for the respective Python versions based
|
|
62
|
+
on the extension files generated in the last step.
|
|
63
|
+
* Remove the already installed files, reinstall *HydPy* based on the
|
|
64
|
+
new binary distributions, and apply all tests.
|
|
65
|
+
* Make all artefacts available (currently, besides the binary distributions,
|
|
66
|
+
the automatically generated XML schema files).
|
|
67
|
+
* Upload the binary distributions to the `Python Package Index`_ for
|
|
68
|
+
tagged commits in case all tests passed.
|
|
69
|
+
|
|
70
|
+
Together, both continuous integration services capture a wide range
|
|
71
|
+
of possible problems, not only addressing the implemented hydrological
|
|
72
|
+
models, but also the release and documentation cycles. If applied
|
|
73
|
+
regularly, chances are good to trace unexpected errors to specific code
|
|
74
|
+
changes. Additionally, `Travis CI`_ and `AppVeyor`_ help you to decide
|
|
75
|
+
if contributions by colleagues are mature enough to be merged in your code.
|
hydpy/docs/rst/core.rst
ADDED
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
|
|
2
|
+
.. _core:
|
|
3
|
+
|
|
4
|
+
Core Tools
|
|
5
|
+
==========
|
|
6
|
+
|
|
7
|
+
The `core` subpackage of HydPy essentially defines how models can and should be
|
|
8
|
+
programmed, documented and applied. As can be seen in the sidebar, the list of modules
|
|
9
|
+
contained in the core subpackage is quite extensive. The following paragraphs explain
|
|
10
|
+
which central aspects of using HydPy are related to which module.
|
|
11
|
+
|
|
12
|
+
Module |hydpytools| provides the |HydPy| class. This class aims to help users
|
|
13
|
+
accomplish complex things via a simple interface. Very often, you will only need to
|
|
14
|
+
initialise an |HydPy| object and call its methods to, for example, load all input data,
|
|
15
|
+
perform a simulation run, and store the relevant results. So, getting an overview of
|
|
16
|
+
the methods of class |HydPy| is generally a good idea.
|
|
17
|
+
|
|
18
|
+
Module |filetools| defines the standard directory structure of HydPy projects and its
|
|
19
|
+
possible modifications. Also, it is responsible for many aspects of loading data from
|
|
20
|
+
files and storing data in files. It is supplemented by module |netcdftools| for
|
|
21
|
+
reading data from and storing data to NetCDF files.
|
|
22
|
+
|
|
23
|
+
HydPy represents the network of a river basin via connected objects of the classes
|
|
24
|
+
|Node| and |Element|, defined in module |devicetools|. It is often helpful to create
|
|
25
|
+
subsets of networks named "selections", for which module |selectiontools| provides some
|
|
26
|
+
convenient features. (In this context, reading the documentation on module
|
|
27
|
+
|networktools| might also be interesting, as this module implements strategies to
|
|
28
|
+
derive networks for large basins.)
|
|
29
|
+
|
|
30
|
+
The modules |modeltools|, |parametertools|, and |sequencetools| form the basis for
|
|
31
|
+
programming models. While |modeltools| focuses on the more general aspects,
|
|
32
|
+
|parametertools|, and |sequencetools| cover the more specific topics of implementing
|
|
33
|
+
model parameters and sequences.
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
Module |timetools| provides multiple classes that wrap the "date and time"
|
|
37
|
+
functionalities of the Python standard library to simplify and standardise the related
|
|
38
|
+
operations (which are prone to hard-to-detect errors) in workflow scripts.
|
|
39
|
+
|
|
40
|
+
If you are thinking about contributing to HydPy's source code, you should also read the
|
|
41
|
+
documentation of some other modules. Then, essential are |autodoctools| (deals with
|
|
42
|
+
automatised generation of this online documentation), |testtools| (provides features
|
|
43
|
+
for automatised testing via doctests), |objecttools| (contains different kinds of
|
|
44
|
+
features to simplify and standardise writing HydPy code), and |typingtools| (makes
|
|
45
|
+
general and HydPy-specific type hint features available).
|
|
46
|
+
|
|
47
|
+
.. toctree::
|
|
48
|
+
:hidden:
|
|
49
|
+
|
|
50
|
+
aliastools
|
|
51
|
+
autodoctools
|
|
52
|
+
auxfiletools
|
|
53
|
+
devicetools
|
|
54
|
+
exceptiontools
|
|
55
|
+
filetools
|
|
56
|
+
hydpytools
|
|
57
|
+
importtools
|
|
58
|
+
indextools
|
|
59
|
+
itemtools
|
|
60
|
+
masktools
|
|
61
|
+
modeltools
|
|
62
|
+
netcdftools
|
|
63
|
+
objecttools
|
|
64
|
+
optiontools
|
|
65
|
+
parametertools
|
|
66
|
+
printtools
|
|
67
|
+
propertytools
|
|
68
|
+
pubtools
|
|
69
|
+
selectiontools
|
|
70
|
+
sequencetools
|
|
71
|
+
seriestools
|
|
72
|
+
testtools
|
|
73
|
+
timetools
|
|
74
|
+
typingtools
|
|
75
|
+
variabletools
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
|
|
2
|
+
.. _cythons:
|
|
3
|
+
|
|
4
|
+
Cython Tools
|
|
5
|
+
============
|
|
6
|
+
|
|
7
|
+
The modules of the `cythons` subpackage should only be of interest to framework
|
|
8
|
+
developers (and eventually some model developers).
|
|
9
|
+
|
|
10
|
+
The most crucial module (and so far the only one which is a Python module) is
|
|
11
|
+
|modelutils|, which implements the routines to translate Python code into Cython code,
|
|
12
|
+
to translate Cython code into C code, to compile C code, and to embed the compilation
|
|
13
|
+
into a "Python dll" (a "pyd" file on Windows and a "so" file on Linux systems).
|
|
14
|
+
|
|
15
|
+
The other modules are Cython extension modules. Often, they are named similar to the
|
|
16
|
+
Python modules of other packages (for example, |anntools| and :ref:`annutils`). The
|
|
17
|
+
respective Cython extension module then implements the performance-critical part of the
|
|
18
|
+
required functionality.
|
|
19
|
+
|
|
20
|
+
The required dll files are shipped with the available HydPy wheels or automatically
|
|
21
|
+
generated when building HydPy locally. You can find them in the `cythons` subpackage
|
|
22
|
+
`autogen`. The same holds for the dll files of the "cythonized" hydrological models.
|
|
23
|
+
|
|
24
|
+
If you want to change a model in Python (for example, for testing) and also want to
|
|
25
|
+
update its cythonized counterpart, use the responsible |Cythonizer| instance, which is
|
|
26
|
+
a member of the subpackage (in case of a base model) or module (in case of an
|
|
27
|
+
application model).
|
|
28
|
+
|
|
29
|
+
Note that it is more effort to maintain Cython code than to maintain Python code. So
|
|
30
|
+
please refrain from writing Cython code when the expected computational time gain is
|
|
31
|
+
small or when Python offers other strategies to decrease computation times.
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
.. toctree::
|
|
35
|
+
:hidden:
|
|
36
|
+
|
|
37
|
+
annutils
|
|
38
|
+
configutils
|
|
39
|
+
interfaceutils
|
|
40
|
+
interputils
|
|
41
|
+
modelutils
|
|
42
|
+
pointerutils
|
|
43
|
+
ppolyutils
|
|
44
|
+
quadutils
|
|
45
|
+
rootutils
|
|
46
|
+
sequenceutils
|
|
47
|
+
smoothutils
|