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,82 @@
|
|
|
1
|
+
#!python
|
|
2
|
+
# distutils: define_macros=NPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION
|
|
3
|
+
# cython: language_level=3
|
|
4
|
+
# cython: cpow=True
|
|
5
|
+
# cython: boundscheck=False
|
|
6
|
+
# cython: wraparound=False
|
|
7
|
+
# cython: initializedcheck=False
|
|
8
|
+
# cython: cdivision=True
|
|
9
|
+
from typing import Optional
|
|
10
|
+
import numpy
|
|
11
|
+
cimport numpy
|
|
12
|
+
from libc.math cimport exp, fabs, log, sin, cos, tan, tanh, asin, acos, atan, isnan, isinf
|
|
13
|
+
from libc.math cimport NAN as nan
|
|
14
|
+
from libc.math cimport INFINITY as inf
|
|
15
|
+
import cython
|
|
16
|
+
from cpython.mem cimport PyMem_Malloc
|
|
17
|
+
from cpython.mem cimport PyMem_Realloc
|
|
18
|
+
from cpython.mem cimport PyMem_Free
|
|
19
|
+
from hydpy.cythons.autogen cimport configutils
|
|
20
|
+
from hydpy.cythons.autogen cimport interfaceutils
|
|
21
|
+
from hydpy.cythons.autogen cimport interputils
|
|
22
|
+
from hydpy.cythons.autogen import pointerutils
|
|
23
|
+
from hydpy.cythons.autogen cimport pointerutils
|
|
24
|
+
from hydpy.cythons.autogen cimport quadutils
|
|
25
|
+
from hydpy.cythons.autogen cimport rootutils
|
|
26
|
+
from hydpy.cythons.autogen cimport smoothutils
|
|
27
|
+
from hydpy.cythons.autogen cimport masterinterface
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
cdef void do_nothing(Model model) noexcept nogil:
|
|
31
|
+
pass
|
|
32
|
+
|
|
33
|
+
cpdef get_wrapper():
|
|
34
|
+
cdef CallbackWrapper wrapper = CallbackWrapper()
|
|
35
|
+
wrapper.callback = do_nothing
|
|
36
|
+
return wrapper
|
|
37
|
+
|
|
38
|
+
@cython.final
|
|
39
|
+
cdef class Parameters:
|
|
40
|
+
pass
|
|
41
|
+
@cython.final
|
|
42
|
+
cdef class ControlParameters:
|
|
43
|
+
pass
|
|
44
|
+
@cython.final
|
|
45
|
+
cdef class DerivedParameters:
|
|
46
|
+
pass
|
|
47
|
+
@cython.final
|
|
48
|
+
cdef class Sequences:
|
|
49
|
+
pass
|
|
50
|
+
@cython.final
|
|
51
|
+
cdef class Model(masterinterface.MasterInterface):
|
|
52
|
+
cpdef inline void simulate(self, numpy.int64_t idx) noexcept nogil:
|
|
53
|
+
self.idx_sim = idx
|
|
54
|
+
self.run()
|
|
55
|
+
cpdef void reset_reuseflags(self) noexcept nogil:
|
|
56
|
+
pass
|
|
57
|
+
cpdef inline void run(self) noexcept nogil:
|
|
58
|
+
pass
|
|
59
|
+
cpdef inline void update_inlets(self) noexcept nogil:
|
|
60
|
+
pass
|
|
61
|
+
cpdef inline void update_outlets(self) noexcept nogil:
|
|
62
|
+
pass
|
|
63
|
+
cpdef inline void update_receivers(self, numpy.int64_t idx) noexcept nogil:
|
|
64
|
+
self.idx_sim = idx
|
|
65
|
+
pass
|
|
66
|
+
cpdef inline void update_senders(self, numpy.int64_t idx) noexcept nogil:
|
|
67
|
+
self.idx_sim = idx
|
|
68
|
+
pass
|
|
69
|
+
cpdef inline void update_outputs(self) noexcept nogil:
|
|
70
|
+
pass
|
|
71
|
+
cpdef double calculate_discharge_v1(self, double waterdepth) noexcept nogil:
|
|
72
|
+
cdef double f
|
|
73
|
+
cdef double h
|
|
74
|
+
h = smoothutils.smooth_logistic2( waterdepth - self.parameters.control.crestheight, self.parameters.derived.crestheightregularisation )
|
|
75
|
+
f = (h / (self.parameters.control.channeldepth - self.parameters.control.crestheight)) ** self.parameters.control.dischargeexponent
|
|
76
|
+
return self.parameters.control.bankfulldischarge * f
|
|
77
|
+
cpdef double calculate_discharge(self, double waterdepth) noexcept nogil:
|
|
78
|
+
cdef double f
|
|
79
|
+
cdef double h
|
|
80
|
+
h = smoothutils.smooth_logistic2( waterdepth - self.parameters.control.crestheight, self.parameters.derived.crestheightregularisation )
|
|
81
|
+
f = (h / (self.parameters.control.channeldepth - self.parameters.control.crestheight)) ** self.parameters.control.dischargeexponent
|
|
82
|
+
return self.parameters.control.bankfulldischarge * f
|
|
Binary file
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# !python
|
|
2
|
+
# distutils: define_macros=NPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION
|
|
3
|
+
# cython: language_level=3
|
|
4
|
+
# cython: cpow=True
|
|
5
|
+
# cython: boundscheck=False
|
|
6
|
+
# cython: wraparound=False
|
|
7
|
+
# cython: initializedcheck=False
|
|
8
|
+
# cython: cdivision=True
|
|
9
|
+
|
|
10
|
+
"""This module defines the Cython declarations related to module
|
|
11
|
+
|configutils|.
|
|
12
|
+
"""
|
|
13
|
+
|
|
14
|
+
cdef class Config(object):
|
|
15
|
+
|
|
16
|
+
cdef public double _abs_error_max
|
|
17
|
+
cdef public double _rel_dt_min
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
# !python
|
|
2
|
+
# distutils: define_macros=NPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION
|
|
3
|
+
# cython: language_level=3
|
|
4
|
+
# cython: cpow=True
|
|
5
|
+
# cython: boundscheck=False
|
|
6
|
+
# cython: wraparound=False
|
|
7
|
+
# cython: initializedcheck=False
|
|
8
|
+
# cython: cdivision=True
|
|
9
|
+
|
|
10
|
+
"""This Cython module implements global configuration data for numerical
|
|
11
|
+
tool, which must be available at Cython speed during simulations.
|
|
12
|
+
|
|
13
|
+
All configuration data is available via attribute `config` of module |pub|.
|
|
14
|
+
|
|
15
|
+
Many numerical integration algorithms provide error estimates. An
|
|
16
|
+
integration result is only accepted, if the associated error estimate
|
|
17
|
+
is lower than a given threshold value.
|
|
18
|
+
|
|
19
|
+
The default value is:
|
|
20
|
+
|
|
21
|
+
>>> from hydpy.cythons.configutils import Config
|
|
22
|
+
>>> config = Config()
|
|
23
|
+
>>> from hydpy import round_
|
|
24
|
+
>>> round_(config.abs_error_max)
|
|
25
|
+
0.01
|
|
26
|
+
|
|
27
|
+
You can pass larger value, but note that too large tolerances as the
|
|
28
|
+
following would possible lead to poor simulation results:
|
|
29
|
+
|
|
30
|
+
>>> config.abs_error_max = 1e3
|
|
31
|
+
>>> round_(config.abs_error_max)
|
|
32
|
+
1000.0
|
|
33
|
+
|
|
34
|
+
Tolerances lower than zero or equal zero cannot be met and are thus
|
|
35
|
+
forbidden:
|
|
36
|
+
|
|
37
|
+
>>> config.abs_error_max = 0.
|
|
38
|
+
Traceback (most recent call last):
|
|
39
|
+
...
|
|
40
|
+
ValueError: The numerical tolerance value `abs_error_max` must be larger than zero, but the value `0.0` was given.
|
|
41
|
+
|
|
42
|
+
Under some circumstances, numerical integration algorithms might not
|
|
43
|
+
be able to achieve sufficient accuracy with reasonable effort. To
|
|
44
|
+
prevent model simulations from becoming too long, one can restrict
|
|
45
|
+
the smallest time step, with which an outer time step is allowed to
|
|
46
|
+
be solved...
|
|
47
|
+
|
|
48
|
+
The default value is:
|
|
49
|
+
|
|
50
|
+
>>> round_(config.rel_dt_min)
|
|
51
|
+
0.001
|
|
52
|
+
|
|
53
|
+
You can pass larger value, but note that too large step sizes as the
|
|
54
|
+
following would possible result in poor simulation results:
|
|
55
|
+
|
|
56
|
+
>>> config.rel_dt_min = 1.
|
|
57
|
+
>>> round_(config.rel_dt_min)
|
|
58
|
+
1.0
|
|
59
|
+
|
|
60
|
+
On the other hand, too small step sizes might result in too long
|
|
61
|
+
simulation times:
|
|
62
|
+
|
|
63
|
+
>>> config.rel_dt_min = 0.
|
|
64
|
+
>>> round_(config.rel_dt_min)
|
|
65
|
+
0.0
|
|
66
|
+
|
|
67
|
+
Tolerances lower than zero or larger than one do not make sense and
|
|
68
|
+
are thus forbidden:
|
|
69
|
+
|
|
70
|
+
>>> config.rel_dt_min = 1.1
|
|
71
|
+
Traceback (most recent call last):
|
|
72
|
+
...
|
|
73
|
+
ValueError: The smallest integration time step `_rel_dt_min` must not be smaller than zero or larger than one, but the value `1.1` was given.
|
|
74
|
+
|
|
75
|
+
"""
|
|
76
|
+
|
|
77
|
+
import cython
|
|
78
|
+
|
|
79
|
+
@cython.final
|
|
80
|
+
cdef class Config(object):
|
|
81
|
+
|
|
82
|
+
def __init__(self):
|
|
83
|
+
self._abs_error_max = 1e-2
|
|
84
|
+
self._rel_dt_min = 1e-3
|
|
85
|
+
|
|
86
|
+
def _get_abs_error_max(self):
|
|
87
|
+
"""Numerical error tolerance."""
|
|
88
|
+
return self._abs_error_max
|
|
89
|
+
|
|
90
|
+
def _set_abs_error_max(self, value):
|
|
91
|
+
value = float(value)
|
|
92
|
+
if value <= 0.:
|
|
93
|
+
raise ValueError(
|
|
94
|
+
f"The numerical tolerance value `abs_error_max` must be "
|
|
95
|
+
f"larger than zero, but the value `{value}` was given."
|
|
96
|
+
)
|
|
97
|
+
else:
|
|
98
|
+
self._abs_error_max = value
|
|
99
|
+
|
|
100
|
+
abs_error_max = property(_get_abs_error_max, _set_abs_error_max)
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
def _get_rel_dt_min(self):
|
|
104
|
+
"""Smallest numerical step size."""
|
|
105
|
+
return self._rel_dt_min
|
|
106
|
+
|
|
107
|
+
def _set_rel_dt_min(self, value):
|
|
108
|
+
value = float(value)
|
|
109
|
+
if (value < 0.) or (value > 1.):
|
|
110
|
+
raise ValueError(
|
|
111
|
+
f"The smallest integration time step `_rel_dt_min` must not be smaller "
|
|
112
|
+
f"than zero or larger than one, but the value `{value}` was given."
|
|
113
|
+
)
|
|
114
|
+
else:
|
|
115
|
+
self._rel_dt_min = value
|
|
116
|
+
|
|
117
|
+
rel_dt_min = property(_get_rel_dt_min, _set_rel_dt_min)
|
|
118
|
+
|
|
119
|
+
|
|
Binary file
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# !python
|
|
2
|
+
# distutils: define_macros=NPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION
|
|
3
|
+
# cython: language_level=3
|
|
4
|
+
# cython: cpow=True
|
|
5
|
+
# cython: boundscheck=False
|
|
6
|
+
# cython: wraparound=False
|
|
7
|
+
# cython: initializedcheck=False
|
|
8
|
+
# cython: cdivision=True
|
|
9
|
+
|
|
10
|
+
"""This module implements only the interface base class required to support casting to
|
|
11
|
+
specific subclasses in Cython."""
|
|
12
|
+
|
|
13
|
+
from cpython cimport PyObject
|
|
14
|
+
cimport numpy
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
cdef class BaseInterface:
|
|
18
|
+
|
|
19
|
+
cdef public numpy.int64_t typeid
|
|
20
|
+
cdef public numpy.int64_t idx_sim
|
|
21
|
+
|
|
22
|
+
cdef void reset_reuseflags(self) noexcept nogil
|
|
23
|
+
cdef void load_data(self, numpy.int64_t idx) noexcept nogil
|
|
24
|
+
cdef void save_data(self, numpy.int64_t idx) noexcept nogil
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
cdef class SubmodelsProperty:
|
|
28
|
+
|
|
29
|
+
cdef numpy.int64_t number
|
|
30
|
+
cdef numpy.int64_t[:] typeids
|
|
31
|
+
cdef PyObject **submodels
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
# !python
|
|
2
|
+
# distutils: define_macros=NPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION
|
|
3
|
+
# cython: language_level=3
|
|
4
|
+
# cython: cpow=True
|
|
5
|
+
# cython: boundscheck=False
|
|
6
|
+
# cython: wraparound=False
|
|
7
|
+
# cython: initializedcheck=False
|
|
8
|
+
# cython: cdivision=True
|
|
9
|
+
|
|
10
|
+
"""This module implements only the interface base class required to support casting to
|
|
11
|
+
specific subclasses in Cython."""
|
|
12
|
+
|
|
13
|
+
import numpy
|
|
14
|
+
|
|
15
|
+
from cpython cimport Py_DECREF
|
|
16
|
+
from libc.stdlib cimport free, malloc, realloc
|
|
17
|
+
cimport cython
|
|
18
|
+
|
|
19
|
+
from hydpy import config
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
cdef class BaseInterface:
|
|
23
|
+
|
|
24
|
+
cdef void reset_reuseflags(self) noexcept nogil:
|
|
25
|
+
pass
|
|
26
|
+
|
|
27
|
+
cdef void load_data(self, numpy.int64_t idx) noexcept nogil:
|
|
28
|
+
pass
|
|
29
|
+
|
|
30
|
+
cdef void save_data(self, numpy.int64_t idx) noexcept nogil:
|
|
31
|
+
pass
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
cdef class SubmodelsProperty:
|
|
35
|
+
|
|
36
|
+
def __init__(self) -> None:
|
|
37
|
+
self.set_number(0)
|
|
38
|
+
|
|
39
|
+
def _get_number(self) -> int:
|
|
40
|
+
return self.number
|
|
41
|
+
|
|
42
|
+
def set_number(self, numpy.int64_t number) -> None:
|
|
43
|
+
assert number >= 0
|
|
44
|
+
free(self.submodels)
|
|
45
|
+
self.number = number
|
|
46
|
+
self.typeids = numpy.zeros(number, dtype=config.NP_INT)
|
|
47
|
+
self.submodels = <PyObject **>malloc(
|
|
48
|
+
number * cython.sizeof(cython.pointer(PyObject))
|
|
49
|
+
)
|
|
50
|
+
for i in range(number):
|
|
51
|
+
self.submodels[i] = <PyObject*>None
|
|
52
|
+
|
|
53
|
+
def _get_typeid(self, numpy.int64_t position) -> int:
|
|
54
|
+
assert 0 <= position < self.number
|
|
55
|
+
return self.typeids[position]
|
|
56
|
+
|
|
57
|
+
def _get_submodel(self, numpy.int64_t position):
|
|
58
|
+
assert 0 <= position < self.number
|
|
59
|
+
submodel = <object>self.submodels[position]
|
|
60
|
+
Py_DECREF(submodel)
|
|
61
|
+
return submodel
|
|
62
|
+
|
|
63
|
+
def put_submodel(self, submodel, numpy.int64_t typeid, numpy.int64_t position) -> None:
|
|
64
|
+
assert 0 <= position < self.number
|
|
65
|
+
self.typeids[position] = typeid
|
|
66
|
+
self.submodels[position] = <PyObject*>submodel
|
|
67
|
+
|
|
68
|
+
def append_submodel(self, submodel, numpy.int64_t typeid) -> None:
|
|
69
|
+
self.number += 1
|
|
70
|
+
if self.number > 1:
|
|
71
|
+
typeids = numpy.asarray(self.typeids).copy()
|
|
72
|
+
self.typeids = numpy.zeros(self.number, dtype=config.NP_INT)
|
|
73
|
+
for i in range(self.number - 1):
|
|
74
|
+
self.typeids[i] = typeids[i]
|
|
75
|
+
self.typeids[self.number - 1] = typeid
|
|
76
|
+
self.submodels = <PyObject **>realloc(
|
|
77
|
+
self.submodels, self.number * cython.sizeof(cython.pointer(PyObject))
|
|
78
|
+
)
|
|
79
|
+
self.submodels[self.number - 1] = <PyObject*>submodel
|
|
80
|
+
|
|
81
|
+
def __dealloc__(self) -> None:
|
|
82
|
+
free(self.submodels)
|
|
Binary file
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# !python
|
|
2
|
+
# distutils: define_macros=NPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION
|
|
3
|
+
# cython: language_level=3
|
|
4
|
+
# cython: cpow=True
|
|
5
|
+
# cython: boundscheck=False
|
|
6
|
+
# cython: wraparound=False
|
|
7
|
+
# cython: initializedcheck=False
|
|
8
|
+
# cython: cdivision=True
|
|
9
|
+
|
|
10
|
+
"""This module defines the Cython declarations related to module |interptools|."""
|
|
11
|
+
|
|
12
|
+
from cpython cimport PyObject
|
|
13
|
+
|
|
14
|
+
cimport numpy
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
cdef class SimpleInterpolator:
|
|
18
|
+
|
|
19
|
+
cdef public numpy.int64_t nmb_inputs
|
|
20
|
+
cdef public numpy.int64_t nmb_outputs
|
|
21
|
+
cdef PyObject *algorithm
|
|
22
|
+
cdef public numpy.int64_t algorithm_type
|
|
23
|
+
cdef public double[:] inputs
|
|
24
|
+
cdef public double[:] outputs
|
|
25
|
+
cdef public double[:] output_derivatives
|
|
26
|
+
|
|
27
|
+
cpdef inline void calculate_values(self) noexcept nogil
|
|
28
|
+
cpdef inline void calculate_derivatives(self, numpy.int64_t idx_input) noexcept nogil
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
cdef class SeasonalInterpolator(object):
|
|
32
|
+
|
|
33
|
+
cdef public numpy.int64_t nmb_inputs
|
|
34
|
+
cdef public numpy.int64_t nmb_outputs
|
|
35
|
+
cdef public numpy.int64_t nmb_algorithms
|
|
36
|
+
cdef public numpy.int64_t[:] algorithm_types
|
|
37
|
+
cdef PyObject **algorithms
|
|
38
|
+
cdef public double[:, :] ratios
|
|
39
|
+
cdef public double[:] inputs
|
|
40
|
+
cdef public double[:] outputs
|
|
41
|
+
|
|
42
|
+
cpdef inline void calculate_values(self, numpy.int64_t idx_season) noexcept nogil
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
# !python
|
|
2
|
+
# distutils: define_macros=NPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION
|
|
3
|
+
# cython: language_level=3
|
|
4
|
+
# cython: cpow=True
|
|
5
|
+
# cython: boundscheck=False
|
|
6
|
+
# cython: wraparound=False
|
|
7
|
+
# cython: initializedcheck=False
|
|
8
|
+
# cython: cdivision=True
|
|
9
|
+
|
|
10
|
+
"""This Cython module implements the performance-critical methods of the
|
|
11
|
+
Python module |interptools|.
|
|
12
|
+
"""
|
|
13
|
+
|
|
14
|
+
import numpy
|
|
15
|
+
|
|
16
|
+
cimport cython
|
|
17
|
+
from libc.math cimport NAN as nan
|
|
18
|
+
from libc.stdlib cimport malloc, free
|
|
19
|
+
|
|
20
|
+
from hydpy import config
|
|
21
|
+
from hydpy.cythons.autogen cimport annutils
|
|
22
|
+
from hydpy.cythons.autogen cimport ppolyutils
|
|
23
|
+
|
|
24
|
+
cdef numpy.int64_t _ANN = 0
|
|
25
|
+
cdef numpy.int64_t _PPOLY = 1
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
def _type2number():
|
|
29
|
+
from hydpy.auxs.anntools import ANN
|
|
30
|
+
from hydpy.auxs.ppolytools import PPoly
|
|
31
|
+
return {ANN: _ANN, PPoly: _PPOLY}
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
@cython.final
|
|
35
|
+
cdef class SimpleInterpolator:
|
|
36
|
+
|
|
37
|
+
def __init__(self, algorithm):
|
|
38
|
+
self.nmb_inputs = algorithm.nmb_inputs
|
|
39
|
+
self.nmb_outputs = algorithm.nmb_outputs
|
|
40
|
+
float_ = config.NP_FLOAT
|
|
41
|
+
self.inputs = numpy.zeros(self.nmb_inputs, dtype=float_)
|
|
42
|
+
self.outputs = numpy.zeros(self.nmb_outputs, dtype=float_)
|
|
43
|
+
self.output_derivatives = numpy.zeros(self.nmb_outputs, dtype=float_)
|
|
44
|
+
self.algorithm_type = _type2number()[type(algorithm)]
|
|
45
|
+
self.algorithm = <PyObject*>algorithm._calgorithm
|
|
46
|
+
|
|
47
|
+
cpdef inline void calculate_values(self) noexcept nogil:
|
|
48
|
+
cdef numpy.int64_t idx
|
|
49
|
+
if self.algorithm_type == _ANN:
|
|
50
|
+
for idx in range(self.nmb_inputs):
|
|
51
|
+
(<annutils.ANN>self.algorithm).inputs[idx] = self.inputs[idx]
|
|
52
|
+
(<annutils.ANN>self.algorithm).calculate_values()
|
|
53
|
+
for idx in range(self.nmb_outputs):
|
|
54
|
+
self.outputs[idx] = (<annutils.ANN>self.algorithm).outputs[idx]
|
|
55
|
+
elif self.algorithm_type == _PPOLY:
|
|
56
|
+
for idx in range(self.nmb_inputs):
|
|
57
|
+
(<ppolyutils.PPoly>self.algorithm).inputs[idx] = self.inputs[idx]
|
|
58
|
+
(<ppolyutils.PPoly>self.algorithm).calculate_values()
|
|
59
|
+
for idx in range(self.nmb_outputs):
|
|
60
|
+
self.outputs[idx] = (<ppolyutils.PPoly>self.algorithm).outputs[idx]
|
|
61
|
+
|
|
62
|
+
cpdef inline void calculate_derivatives(self, numpy.int64_t idx_input) noexcept nogil:
|
|
63
|
+
cdef numpy.int64_t idx_output
|
|
64
|
+
if self.algorithm_type == _ANN:
|
|
65
|
+
(<annutils.ANN>self.algorithm).calculate_derivatives(idx_input)
|
|
66
|
+
for idx_output in range(self.nmb_outputs):
|
|
67
|
+
self.output_derivatives[idx_output] = (<annutils.ANN>self.algorithm).output_derivatives[idx_output]
|
|
68
|
+
elif self.algorithm_type == _PPOLY:
|
|
69
|
+
(<ppolyutils.PPoly>self.algorithm).calculate_derivatives(idx_input)
|
|
70
|
+
for idx_output in range(self.nmb_outputs):
|
|
71
|
+
self.output_derivatives[idx_output] = (<ppolyutils.PPoly>self.algorithm).output_derivatives[idx_output]
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
@cython.final
|
|
75
|
+
cdef class SeasonalInterpolator:
|
|
76
|
+
|
|
77
|
+
def __init__(self, algorithms):
|
|
78
|
+
self.nmb_inputs = len(algorithms[0].inputs)
|
|
79
|
+
self.nmb_outputs = len(algorithms[0].outputs)
|
|
80
|
+
self.nmb_algorithms = len(algorithms)
|
|
81
|
+
float_ = config.NP_FLOAT
|
|
82
|
+
self.inputs = numpy.zeros(self.nmb_inputs, dtype=float_)
|
|
83
|
+
self.outputs = numpy.zeros(self.nmb_outputs, dtype=float_)
|
|
84
|
+
t2n = _type2number()
|
|
85
|
+
self.algorithm_types = numpy.array(
|
|
86
|
+
[t2n[type(alg)] for alg in algorithms], dtype=config.NP_INT
|
|
87
|
+
)
|
|
88
|
+
self.algorithms = <PyObject **>malloc(
|
|
89
|
+
self.nmb_algorithms * cython.sizeof(cython.pointer(PyObject))
|
|
90
|
+
)
|
|
91
|
+
for idx, algorithm in enumerate(algorithms):
|
|
92
|
+
self.algorithms[idx] = <PyObject*>algorithm._calgorithm
|
|
93
|
+
|
|
94
|
+
def __dealloc__(self):
|
|
95
|
+
free(self.algorithms)
|
|
96
|
+
|
|
97
|
+
cpdef inline void calculate_values(self, numpy.int64_t idx_season) noexcept nogil:
|
|
98
|
+
cdef numpy.int64_t idx_algorithm, idx_input, idx_output
|
|
99
|
+
cdef double ratio, frac
|
|
100
|
+
for idx_output in range(self.nmb_outputs):
|
|
101
|
+
self.outputs[idx_output] = 0.0
|
|
102
|
+
for idx_algorithm in range(self.nmb_algorithms):
|
|
103
|
+
ratio = self.ratios[idx_season, idx_algorithm]
|
|
104
|
+
if ratio > 0.0:
|
|
105
|
+
if self.algorithm_types[idx_algorithm] == _ANN:
|
|
106
|
+
for idx_input in range(self.nmb_inputs):
|
|
107
|
+
(<annutils.ANN>self.algorithms[idx_algorithm]).inputs[idx_input] = self.inputs[idx_input]
|
|
108
|
+
(<annutils.ANN>self.algorithms[idx_algorithm]).calculate_values()
|
|
109
|
+
for idx_output in range(self.nmb_outputs):
|
|
110
|
+
frac = ratio*(<annutils.ANN>self.algorithms[idx_algorithm]).outputs[idx_output]
|
|
111
|
+
self.outputs[idx_output] += frac
|
|
112
|
+
if self.algorithm_types[idx_algorithm] == _PPOLY:
|
|
113
|
+
for idx_input in range(self.nmb_inputs):
|
|
114
|
+
(<ppolyutils.PPoly>self.algorithms[idx_algorithm]).inputs[idx_input] = self.inputs[idx_input]
|
|
115
|
+
(<ppolyutils.PPoly>self.algorithms[idx_algorithm]).calculate_values()
|
|
116
|
+
for idx_output in range(self.nmb_outputs):
|
|
117
|
+
frac = ratio * (<ppolyutils.PPoly>self.algorithms[idx_algorithm]).outputs[idx_output]
|
|
118
|
+
self.outputs[idx_output] += frac
|
|
Binary file
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
# !python
|
|
2
|
+
# distutils: define_macros=NPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION
|
|
3
|
+
# cython: language_level=3
|
|
4
|
+
# cython: cpow=True
|
|
5
|
+
# cython: boundscheck=False
|
|
6
|
+
# cython: wraparound=False
|
|
7
|
+
# cython: initializedcheck=False
|
|
8
|
+
# cython: cdivision=True
|
|
9
|
+
|
|
10
|
+
cimport numpy
|
|
11
|
+
|
|
12
|
+
from hydpy.cythons.autogen cimport interfaceutils
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
cdef class MasterInterface(interfaceutils.BaseInterface):
|
|
16
|
+
|
|
17
|
+
cdef void new2old(self) noexcept nogil
|
|
18
|
+
|
|
19
|
+
cdef void determine_interceptionevaporation(self, ) noexcept nogil
|
|
20
|
+
|
|
21
|
+
cdef void determine_soilevapotranspiration(self, ) noexcept nogil
|
|
22
|
+
|
|
23
|
+
cdef void determine_waterevaporation(self, ) noexcept nogil
|
|
24
|
+
|
|
25
|
+
cdef double get_interceptionevaporation(self, numpy.int64_t k) noexcept nogil
|
|
26
|
+
|
|
27
|
+
cdef double get_soilevapotranspiration(self, numpy.int64_t k) noexcept nogil
|
|
28
|
+
|
|
29
|
+
cdef double get_waterevaporation(self, numpy.int64_t k) noexcept nogil
|
|
30
|
+
|
|
31
|
+
cdef double calculate_discharge(self, double waterdepth) noexcept nogil
|
|
32
|
+
|
|
33
|
+
cdef void determine_potentialevapotranspiration(self, ) noexcept nogil
|
|
34
|
+
|
|
35
|
+
cdef double get_meanpotentialevapotranspiration(self, ) noexcept nogil
|
|
36
|
+
|
|
37
|
+
cdef double get_potentialevapotranspiration(self, numpy.int64_t k) noexcept nogil
|
|
38
|
+
|
|
39
|
+
cdef void determine_potentialinterceptionevaporation(self, ) noexcept nogil
|
|
40
|
+
|
|
41
|
+
cdef void determine_potentialsoilevapotranspiration(self, ) noexcept nogil
|
|
42
|
+
|
|
43
|
+
cdef void determine_potentialwaterevaporation(self, ) noexcept nogil
|
|
44
|
+
|
|
45
|
+
cdef double get_potentialinterceptionevaporation(self, numpy.int64_t k) noexcept nogil
|
|
46
|
+
|
|
47
|
+
cdef double get_potentialsoilevapotranspiration(self, numpy.int64_t k) noexcept nogil
|
|
48
|
+
|
|
49
|
+
cdef double get_potentialwaterevaporation(self, numpy.int64_t k) noexcept nogil
|
|
50
|
+
|
|
51
|
+
cdef double get_precipitation(self, numpy.int64_t k) noexcept nogil
|
|
52
|
+
|
|
53
|
+
cdef void determine_precipitation(self, ) noexcept nogil
|
|
54
|
+
|
|
55
|
+
cdef double get_meanprecipitation(self, ) noexcept nogil
|
|
56
|
+
|
|
57
|
+
cdef double get_clearskysolarradiation(self, ) noexcept nogil
|
|
58
|
+
|
|
59
|
+
cdef double get_globalradiation(self, ) noexcept nogil
|
|
60
|
+
|
|
61
|
+
cdef double get_possiblesunshineduration(self, ) noexcept nogil
|
|
62
|
+
|
|
63
|
+
cdef double get_sunshineduration(self, ) noexcept nogil
|
|
64
|
+
|
|
65
|
+
cdef void process_radiation(self, ) noexcept nogil
|
|
66
|
+
|
|
67
|
+
cdef void determine_outflow(self, ) noexcept nogil
|
|
68
|
+
|
|
69
|
+
cdef double get_outflow(self, ) noexcept nogil
|
|
70
|
+
|
|
71
|
+
cdef void set_inflow(self, double inflow) noexcept nogil
|
|
72
|
+
|
|
73
|
+
cdef double get_celerity(self, ) noexcept nogil
|
|
74
|
+
|
|
75
|
+
cdef double get_discharge(self, ) noexcept nogil
|
|
76
|
+
|
|
77
|
+
cdef double get_surfacewidth(self, ) noexcept nogil
|
|
78
|
+
|
|
79
|
+
cdef double get_wettedarea(self, ) noexcept nogil
|
|
80
|
+
|
|
81
|
+
cdef void use_waterdepth(self, double waterdepth) noexcept nogil
|
|
82
|
+
|
|
83
|
+
cdef void use_waterlevel(self, double waterlevel) noexcept nogil
|
|
84
|
+
|
|
85
|
+
cdef double get_waterdepth(self, ) noexcept nogil
|
|
86
|
+
|
|
87
|
+
cdef double get_waterlevel(self, ) noexcept nogil
|
|
88
|
+
|
|
89
|
+
cdef double get_wettedperimeter(self, ) noexcept nogil
|
|
90
|
+
|
|
91
|
+
cdef void use_wettedarea(self, double wettedarea) noexcept nogil
|
|
92
|
+
|
|
93
|
+
cdef void determine_discharge(self, ) noexcept nogil
|
|
94
|
+
|
|
95
|
+
cdef void determine_maxtimestep(self, ) noexcept nogil
|
|
96
|
+
|
|
97
|
+
cdef double get_dischargevolume(self, ) noexcept nogil
|
|
98
|
+
|
|
99
|
+
cdef double get_maxtimestep(self, ) noexcept nogil
|
|
100
|
+
|
|
101
|
+
cdef void perform_postprocessing(self, ) noexcept nogil
|
|
102
|
+
|
|
103
|
+
cdef void perform_preprocessing(self, ) noexcept nogil
|
|
104
|
+
|
|
105
|
+
cdef void set_timestep(self, double timestep) noexcept nogil
|
|
106
|
+
|
|
107
|
+
cdef double get_partialdischargeupstream(self, double clientdischarge) noexcept nogil
|
|
108
|
+
|
|
109
|
+
cdef double get_partialdischargedownstream(self, double clientdischarge) noexcept nogil
|
|
110
|
+
|
|
111
|
+
cdef double get_watervolume(self, ) noexcept nogil
|
|
112
|
+
|
|
113
|
+
cdef void update_storage(self, ) noexcept nogil
|
|
114
|
+
|
|
115
|
+
cdef void add_soilwater(self, numpy.int64_t k) noexcept nogil
|
|
116
|
+
|
|
117
|
+
cdef void execute_infiltration(self, numpy.int64_t k) noexcept nogil
|
|
118
|
+
|
|
119
|
+
cdef double get_infiltration(self, numpy.int64_t k) noexcept nogil
|
|
120
|
+
|
|
121
|
+
cdef double get_percolation(self, numpy.int64_t k) noexcept nogil
|
|
122
|
+
|
|
123
|
+
cdef double get_soilwateraddition(self, numpy.int64_t k) noexcept nogil
|
|
124
|
+
|
|
125
|
+
cdef double get_soilwatercontent(self, numpy.int64_t k) noexcept nogil
|
|
126
|
+
|
|
127
|
+
cdef double get_soilwaterremoval(self, numpy.int64_t k) noexcept nogil
|
|
128
|
+
|
|
129
|
+
cdef void remove_soilwater(self, numpy.int64_t k) noexcept nogil
|
|
130
|
+
|
|
131
|
+
cdef void set_actualsurfacewater(self, numpy.int64_t k, double v) noexcept nogil
|
|
132
|
+
|
|
133
|
+
cdef void set_initialsurfacewater(self, numpy.int64_t k, double v) noexcept nogil
|
|
134
|
+
|
|
135
|
+
cdef void set_soilwaterdemand(self, numpy.int64_t k, double v) noexcept nogil
|
|
136
|
+
|
|
137
|
+
cdef void set_soilwatersupply(self, numpy.int64_t k, double v) noexcept nogil
|
|
138
|
+
|
|
139
|
+
cdef double get_interceptedwater(self, numpy.int64_t k) noexcept nogil
|
|
140
|
+
|
|
141
|
+
cdef double get_snowalbedo(self, numpy.int64_t k) noexcept nogil
|
|
142
|
+
|
|
143
|
+
cdef double get_snowcover(self, numpy.int64_t k) noexcept nogil
|
|
144
|
+
|
|
145
|
+
cdef double get_snowycanopy(self, numpy.int64_t k) noexcept nogil
|
|
146
|
+
|
|
147
|
+
cdef double get_soilwater(self, numpy.int64_t k) noexcept nogil
|
|
148
|
+
|
|
149
|
+
cdef double get_meantemperature(self, ) noexcept nogil
|
|
150
|
+
|
|
151
|
+
cdef double get_temperature(self, numpy.int64_t k) noexcept nogil
|
|
152
|
+
|
|
153
|
+
cdef void determine_temperature(self, ) noexcept nogil
|