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
hydpy/models/conv_idw.py
ADDED
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
# pylint: disable=line-too-long, unused-wildcard-import
|
|
2
|
+
"""
|
|
3
|
+
|conv_idw| performs simple inverse distance weighted interpolations between an
|
|
4
|
+
arbitrary number of models (or data files) providing output and an arbitrary number of
|
|
5
|
+
models requiring input.
|
|
6
|
+
|
|
7
|
+
Integration tests
|
|
8
|
+
=================
|
|
9
|
+
|
|
10
|
+
.. how_to_understand_integration_tests::
|
|
11
|
+
|
|
12
|
+
We perform the following examples over a simulation period of 3 days:
|
|
13
|
+
|
|
14
|
+
>>> from hydpy import Element, Node, pub
|
|
15
|
+
>>> pub.timegrids = "2000-01-01", "2000-01-04", "1d"
|
|
16
|
+
|
|
17
|
+
|conv_idw| implements no parameter with values depending on the simulation step size,
|
|
18
|
+
which is why we can pass anything (or nothing) to function |parameterstep| without
|
|
19
|
+
changing the following results:
|
|
20
|
+
|
|
21
|
+
>>> from hydpy.models.conv_idw import *
|
|
22
|
+
>>> parameterstep()
|
|
23
|
+
|
|
24
|
+
Due to the following configuration, |conv_idw| queries its input from the inlet nodes
|
|
25
|
+
`in1`, `in2`, and `in3` and passes the interpolation results to the outlet nodes
|
|
26
|
+
`out1`, `out2`, `out3`, and `out4`:
|
|
27
|
+
|
|
28
|
+
>>> in1, in2, in3 = Node("in1"), Node("in2"), Node("in3")
|
|
29
|
+
>>> element = Element("conv",
|
|
30
|
+
... inlets=(in1, in2, in3),
|
|
31
|
+
... outlets=["out1", "out2", "out3", "out4"])
|
|
32
|
+
|
|
33
|
+
The following coordinate definitions contain the particular case of outlet node `out1`,
|
|
34
|
+
being at the same location as inlet node `in1`:
|
|
35
|
+
|
|
36
|
+
>>> inputcoordinates(
|
|
37
|
+
... in1=(0.0, 3.0),
|
|
38
|
+
... in2=(2.0, -1.0),
|
|
39
|
+
... in3=(4.0, 2.0))
|
|
40
|
+
>>> outputcoordinates(
|
|
41
|
+
... out1=(0.0, 3.0),
|
|
42
|
+
... out2=(3.0, -2.0),
|
|
43
|
+
... out3=(1.0, 2.0),
|
|
44
|
+
... out4=(1.0, 1.0))
|
|
45
|
+
|
|
46
|
+
We set the power parameter |Power| to the standard value of two:
|
|
47
|
+
|
|
48
|
+
>>> power(2.0)
|
|
49
|
+
|
|
50
|
+
In the first example, we perform a complete inverse distance weighted interpolation,
|
|
51
|
+
where we take all input location into account, as long as they provide input data:
|
|
52
|
+
|
|
53
|
+
>>> maxnmbinputs(3)
|
|
54
|
+
|
|
55
|
+
|conv_idw| does not implement any state or log sequences and thus has no memory at all,
|
|
56
|
+
making finalising the test setup quite easy. We only need to define time series for
|
|
57
|
+
both inlet nodes. Note that we set some |numpy| |numpy.nan| values to demonstrate how
|
|
58
|
+
|conv_idw| deals with missing values:
|
|
59
|
+
|
|
60
|
+
>>> element.model = model
|
|
61
|
+
>>> from hydpy.core.testtools import IntegrationTest
|
|
62
|
+
>>> test = IntegrationTest(element)
|
|
63
|
+
>>> test.dateformat = "%Y-%m-%d"
|
|
64
|
+
>>> with pub.options.checkseries(False):
|
|
65
|
+
... in1.sequences.sim.series = 1.0, nan, nan
|
|
66
|
+
... in2.sequences.sim.series = 3.0, 2.0, nan
|
|
67
|
+
... in3.sequences.sim.series = 4.0, nan, nan
|
|
68
|
+
|
|
69
|
+
If available, outlet node `in1` receives its value from inlet node `in1` due to the
|
|
70
|
+
same location. At the second time step, all outlet nodes receive the same data as only
|
|
71
|
+
inlet node `in2` provides any data. When no inlet node provides data, the outlet nodes
|
|
72
|
+
receive |numpy.nan| values:
|
|
73
|
+
|
|
74
|
+
>>> test()
|
|
75
|
+
| date | inputs | outputs | in1 | in2 | in3 | out1 | out2 | out3 | out4 |
|
|
76
|
+
---------------------------------------------------------------------------------------------------------
|
|
77
|
+
| 2000-01-01 | 1.0 3.0 4.0 | 1.0 3.0 1.75 2.4 | 1.0 | 3.0 | 4.0 | 1.0 | 3.0 | 1.75 | 2.4 |
|
|
78
|
+
| 2000-01-02 | nan 2.0 nan | 2.0 2.0 2.0 2.0 | nan | 2.0 | nan | 2.0 | 2.0 | 2.0 | 2.0 |
|
|
79
|
+
| 2000-01-03 | nan nan nan | nan nan nan nan | nan | nan | nan | nan | nan | nan | nan |
|
|
80
|
+
|
|
81
|
+
We can restrict the number of considered inlet nodes via parameter |MaxNmbInputs|,
|
|
82
|
+
which can increase computation speed. However, do not set to low values. Otherwise,
|
|
83
|
+
you might deteriorate accuracy severely or run into the risk of unhandled |numpy.nan|
|
|
84
|
+
values:
|
|
85
|
+
|
|
86
|
+
>>> maxnmbinputs(2)
|
|
87
|
+
>>> test()
|
|
88
|
+
| date | inputs | outputs | in1 | in2 | in3 | out1 | out2 | out3 | out4 |
|
|
89
|
+
--------------------------------------------------------------------------------------------------------------------------
|
|
90
|
+
| 2000-01-01 | 1.0 3.0 4.0 | 1.0 3.105263 1.545455 2.0 | 1.0 | 3.0 | 4.0 | 1.0 | 3.105263 | 1.545455 | 2.0 |
|
|
91
|
+
| 2000-01-02 | nan 2.0 nan | nan 2.0 nan 2.0 | nan | 2.0 | nan | nan | 2.0 | nan | 2.0 |
|
|
92
|
+
| 2000-01-03 | nan nan nan | nan nan nan nan | nan | nan | nan | nan | nan | nan | nan |
|
|
93
|
+
"""
|
|
94
|
+
# import...
|
|
95
|
+
# ...from HydPy
|
|
96
|
+
from hydpy.core import modeltools
|
|
97
|
+
from hydpy.exe.modelimports import *
|
|
98
|
+
from hydpy.models.conv import conv_model
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
class Model(conv_model.BaseModel):
|
|
102
|
+
"""|conv_idw.DOCNAME.complete|."""
|
|
103
|
+
|
|
104
|
+
DOCNAME = modeltools.DocName(
|
|
105
|
+
short="Conv-IDW", description="inverse distance weighted interpolation"
|
|
106
|
+
)
|
|
107
|
+
__HYDPY_ROOTMODEL__ = True
|
|
108
|
+
|
|
109
|
+
INLET_METHODS = (conv_model.Pick_Inputs_V1,)
|
|
110
|
+
RECEIVER_METHODS = ()
|
|
111
|
+
RUN_METHODS = (conv_model.Calc_Outputs_V2,)
|
|
112
|
+
ADD_METHODS = (conv_model.Interpolate_InverseDistance_V1,)
|
|
113
|
+
OUTLET_METHODS = (conv_model.Pass_Outputs_V1,)
|
|
114
|
+
SENDER_METHODS = ()
|
|
115
|
+
SUBMODELINTERFACES = ()
|
|
116
|
+
SUBMODELS = ()
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
tester = Tester()
|
|
120
|
+
cythonizer = Cythonizer()
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
# pylint: disable=line-too-long, unused-wildcard-import
|
|
2
|
+
"""
|
|
3
|
+
|conv_idw_ed| extends |conv_idw| by taking an additional statistical relationship
|
|
4
|
+
between the interpolated variable and an arbitrary independent variable into account.
|
|
5
|
+
A typical use case is elevation-dependent temperature interpolation. You can
|
|
6
|
+
understand the approach of |conv_idw_ed| as a simplification of External Drift Kriging.
|
|
7
|
+
|
|
8
|
+
The algorithm works as follows (we take elevation-dependent temperature interpolation
|
|
9
|
+
as an example):
|
|
10
|
+
|
|
11
|
+
* Estimate the linear regression coefficients to model the relationship between air
|
|
12
|
+
temperature and elevation at the available stations for the current simulation time
|
|
13
|
+
step (or take the given default values).
|
|
14
|
+
* Use the resulting linear model to predict the temperature at the stations and the
|
|
15
|
+
interpolation target points.
|
|
16
|
+
* Calculate the residuals (differences between predictions and measurements) at all
|
|
17
|
+
stations.
|
|
18
|
+
* Interpolate the residuals based on the same inverse distance weighting approach as
|
|
19
|
+
applied by application model |conv_idw|.
|
|
20
|
+
* Combine the predicted temperature values and the interpolated residuals to gain the
|
|
21
|
+
final interpolation results at all target points.
|
|
22
|
+
|
|
23
|
+
For perfect correlations between temperature and elevation, the interpolated values
|
|
24
|
+
depend only on elevation. If there is no correlation, the interpolated values depend
|
|
25
|
+
solely on spatial proximity to the stations.
|
|
26
|
+
|
|
27
|
+
Integration tests
|
|
28
|
+
=================
|
|
29
|
+
|
|
30
|
+
.. how_to_understand_integration_tests::
|
|
31
|
+
|
|
32
|
+
We start the following explanations with repeating the examples documented for
|
|
33
|
+
application model |conv_idw|. Hence, we first define identical test settings (please
|
|
34
|
+
see the documentation on application model |conv_idw| for more information):
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
>>> from hydpy import Element, Node, pub
|
|
38
|
+
>>> pub.timegrids = "2000-01-01", "2000-01-04", "1d"
|
|
39
|
+
|
|
40
|
+
>>> from hydpy.models.conv_idw_ed import *
|
|
41
|
+
>>> parameterstep()
|
|
42
|
+
|
|
43
|
+
>>> in1, in2, in3 = Node("in1"), Node("in2"), Node("in3")
|
|
44
|
+
>>> element = Element("conv",
|
|
45
|
+
... inlets=(in1, in2, in3),
|
|
46
|
+
... outlets=["out1", "out2", "out3", "out4"])
|
|
47
|
+
|
|
48
|
+
>>> inputcoordinates(in1=(0.0, 3.0),
|
|
49
|
+
... in2=(2.0, -1.0),
|
|
50
|
+
... in3=(4.0, 2.0))
|
|
51
|
+
>>> outputcoordinates(out1=(0.0, 3.0),
|
|
52
|
+
... out2=(3.0, -2.0),
|
|
53
|
+
... out3=(1.0, 2.0),
|
|
54
|
+
... out4=(1.0, 1.0))
|
|
55
|
+
>>> power(2.0)
|
|
56
|
+
>>> maxnmbinputs(3)
|
|
57
|
+
|
|
58
|
+
>>> element.model = model
|
|
59
|
+
>>> from hydpy.core.testtools import IntegrationTest
|
|
60
|
+
>>> test = IntegrationTest(element)
|
|
61
|
+
>>> test.dateformat = "%Y-%m-%d"
|
|
62
|
+
>>> with pub.options.checkseries(False):
|
|
63
|
+
... in1.sequences.sim.series = 1.0, nan, nan
|
|
64
|
+
... in2.sequences.sim.series = 3.0, 2.0, nan
|
|
65
|
+
... in3.sequences.sim.series = 4.0, nan, nan
|
|
66
|
+
|
|
67
|
+
Next, we prepare the additional parameters of |conv_idw_ed|. Most importantly, we
|
|
68
|
+
define the values of the independent variable for all input and output nodes:
|
|
69
|
+
|
|
70
|
+
>>> inputheights(in1=0.0,
|
|
71
|
+
... in2=2.0,
|
|
72
|
+
... in3=4.0)
|
|
73
|
+
>>> outputheights(out1=0.0,
|
|
74
|
+
... out2=1.0,
|
|
75
|
+
... out3=2.0,
|
|
76
|
+
... out4=3.0)
|
|
77
|
+
|
|
78
|
+
In our example calculations, we use three input nodes. However, we first set the
|
|
79
|
+
number of data-points that must be available to estimate the linear model to four,
|
|
80
|
+
which of course is impossible. Hence, |conv_idw_ed| will always use the default
|
|
81
|
+
values. We set both of them to zero and thus effectively disable the "external drift"
|
|
82
|
+
functionality so that |conv_idw_ed| works exactly like |conv_idw|:
|
|
83
|
+
|
|
84
|
+
>>> minnmbinputs(4)
|
|
85
|
+
>>> defaultconstant(0.0)
|
|
86
|
+
>>> defaultfactor(0.0)
|
|
87
|
+
|
|
88
|
+
Under the given configuration, |conv_idw_ed| reproduces the results of the test
|
|
89
|
+
examples documented for application model |conv_idw| precisely:
|
|
90
|
+
|
|
91
|
+
>>> test()
|
|
92
|
+
| date | inputs | actualconstant | actualfactor | inputpredictions | outputpredictions | inputresiduals | outputresiduals | outputs | in1 | in2 | in3 | out1 | out2 | out3 | out4 |
|
|
93
|
+
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
94
|
+
| 2000-01-01 | 1.0 3.0 4.0 | 0.0 | 0.0 | 0.0 0.0 0.0 | 0.0 0.0 0.0 0.0 | 1.0 3.0 4.0 | 1.0 3.0 1.75 2.4 | 1.0 3.0 1.75 2.4 | 1.0 | 3.0 | 4.0 | 1.0 | 3.0 | 1.75 | 2.4 |
|
|
95
|
+
| 2000-01-02 | nan 2.0 nan | 0.0 | 0.0 | 0.0 0.0 0.0 | 0.0 0.0 0.0 0.0 | nan 2.0 nan | 2.0 2.0 2.0 2.0 | 2.0 2.0 2.0 2.0 | nan | 2.0 | nan | 2.0 | 2.0 | 2.0 | 2.0 |
|
|
96
|
+
| 2000-01-03 | nan nan nan | 0.0 | 0.0 | 0.0 0.0 0.0 | 0.0 0.0 0.0 0.0 | nan nan nan | nan nan nan nan | nan nan nan nan | nan | nan | nan | nan | nan | nan | nan |
|
|
97
|
+
|
|
98
|
+
>>> maxnmbinputs(2)
|
|
99
|
+
>>> test()
|
|
100
|
+
| date | inputs | actualconstant | actualfactor | inputpredictions | outputpredictions | inputresiduals | outputresiduals | outputs | in1 | in2 | in3 | out1 | out2 | out3 | out4 |
|
|
101
|
+
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
102
|
+
| 2000-01-01 | 1.0 3.0 4.0 | 0.0 | 0.0 | 0.0 0.0 0.0 | 0.0 0.0 0.0 0.0 | 1.0 3.0 4.0 | 1.0 3.105263 1.545455 2.0 | 1.0 3.105263 1.545455 2.0 | 1.0 | 3.0 | 4.0 | 1.0 | 3.105263 | 1.545455 | 2.0 |
|
|
103
|
+
| 2000-01-02 | nan 2.0 nan | 0.0 | 0.0 | 0.0 0.0 0.0 | 0.0 0.0 0.0 0.0 | nan 2.0 nan | nan 2.0 nan 2.0 | nan 2.0 nan 2.0 | nan | 2.0 | nan | nan | 2.0 | nan | 2.0 |
|
|
104
|
+
| 2000-01-03 | nan nan nan | 0.0 | 0.0 | 0.0 0.0 0.0 | 0.0 0.0 0.0 0.0 | nan nan nan | nan nan nan nan | nan nan nan nan | nan | nan | nan | nan | nan | nan | nan |
|
|
105
|
+
|
|
106
|
+
Now we enable the "external drift" functionality by providing non-zero default values.
|
|
107
|
+
Hence, |conv_idw_ed| employs the same linear model in all simulation time steps:
|
|
108
|
+
|
|
109
|
+
>>> maxnmbinputs(3)
|
|
110
|
+
>>> defaultfactor(1.0)
|
|
111
|
+
>>> defaultconstant(2.0)
|
|
112
|
+
>>> test()
|
|
113
|
+
| date | inputs | actualconstant | actualfactor | inputpredictions | outputpredictions | inputresiduals | outputresiduals | outputs | in1 | in2 | in3 | out1 | out2 | out3 | out4 |
|
|
114
|
+
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
115
|
+
| 2000-01-01 | 1.0 3.0 4.0 | 2.0 | 1.0 | 2.0 4.0 6.0 | 2.0 3.0 4.0 5.0 | -1.0 -1.0 -2.0 | -1.0 -1.1 -1.15625 -1.2 | 1.0 1.9 2.84375 3.8 | 1.0 | 3.0 | 4.0 | 1.0 | 1.9 | 2.84375 | 3.8 |
|
|
116
|
+
| 2000-01-02 | nan 2.0 nan | 2.0 | 1.0 | 2.0 4.0 6.0 | 2.0 3.0 4.0 5.0 | nan -2.0 nan | -2.0 -2.0 -2.0 -2.0 | 0.0 1.0 2.0 3.0 | nan | 2.0 | nan | 0.0 | 1.0 | 2.0 | 3.0 |
|
|
117
|
+
| 2000-01-03 | nan nan nan | 2.0 | 1.0 | 2.0 4.0 6.0 | 2.0 3.0 4.0 5.0 | nan nan nan | nan nan nan nan | nan nan nan nan | nan | nan | nan | nan | nan | nan | nan |
|
|
118
|
+
|
|
119
|
+
If we set the required number of data-points to three (two would also be fine),
|
|
120
|
+
|conv_idw_ed| estimates the parameters of the linear model (|ActualFactor| and
|
|
121
|
+
|ActualConstant|) in the first time step on its own, and falls back to the default
|
|
122
|
+
values in the remaining time steps:
|
|
123
|
+
|
|
124
|
+
>>> minnmbinputs(2)
|
|
125
|
+
>>> test()
|
|
126
|
+
| date | inputs | actualconstant | actualfactor | inputpredictions | outputpredictions | inputresiduals | outputresiduals | outputs | in1 | in2 | in3 | out1 | out2 | out3 | out4 |
|
|
127
|
+
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
128
|
+
| 2000-01-01 | 1.0 3.0 4.0 | 1.166667 | 0.75 | 1.166667 2.666667 4.166667 | 1.166667 1.916667 2.666667 3.416667 | -0.166667 0.333333 -0.166667 | -0.166667 0.258333 -0.096354 0.033333 | 1.0 2.175 2.570312 3.45 | 1.0 | 3.0 | 4.0 | 1.0 | 2.175 | 2.570312 | 3.45 |
|
|
129
|
+
| 2000-01-02 | nan 2.0 nan | 2.0 | 1.0 | 2.0 4.0 6.0 | 2.0 3.0 4.0 5.0 | nan -2.0 nan | -2.0 -2.0 -2.0 -2.0 | 0.0 1.0 2.0 3.0 | nan | 2.0 | nan | 0.0 | 1.0 | 2.0 | 3.0 |
|
|
130
|
+
| 2000-01-03 | nan nan nan | 2.0 | 1.0 | 2.0 4.0 6.0 | 2.0 3.0 4.0 5.0 | nan nan nan | nan nan nan nan | nan nan nan nan | nan | nan | nan | nan | nan | nan | nan |
|
|
131
|
+
|
|
132
|
+
The final example shows that everything works as expected for the edge cases of perfect
|
|
133
|
+
and missing correlation. In the first time step, there is a perfect (negative)
|
|
134
|
+
correlation at the input nodes. Hence, all residuals (calculated for the input nodes
|
|
135
|
+
and interpolated for the output nodes) are zero. In the second time step, there is no
|
|
136
|
+
correlation. Hence, all values predicted by the linear model are the same. The third
|
|
137
|
+
time step shows that |conv_idw_ed| handles the special (but not uncommon) case of
|
|
138
|
+
missing variability in the input values well:
|
|
139
|
+
|
|
140
|
+
>>> in1.sequences.sim.series = 4.0, 0.0, 0.0
|
|
141
|
+
>>> in2.sequences.sim.series = 3.0, 1.0, 0.0
|
|
142
|
+
>>> in3.sequences.sim.series = 2.0, 0.0, 0.0
|
|
143
|
+
>>> test()
|
|
144
|
+
| date | inputs | actualconstant | actualfactor | inputpredictions | outputpredictions | inputresiduals | outputresiduals | outputs | in1 | in2 | in3 | out1 | out2 | out3 | out4 |
|
|
145
|
+
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
146
|
+
| 2000-01-01 | 4.0 3.0 2.0 | 4.0 | -0.5 | 4.0 3.0 2.0 | 4.0 3.5 3.0 2.5 | 0.0 0.0 0.0 | 0.0 0.0 0.0 0.0 | 4.0 3.5 3.0 2.5 | 4.0 | 3.0 | 2.0 | 4.0 | 3.5 | 3.0 | 2.5 |
|
|
147
|
+
| 2000-01-02 | 0.0 1.0 0.0 | 0.333333 | 0.0 | 0.333333 0.333333 0.333333 | 0.333333 0.333333 0.333333 0.333333 | -0.333333 0.666667 -0.333333 | -0.333333 0.516667 -0.192708 0.066667 | 0.0 0.85 0.140625 0.4 | 0.0 | 1.0 | 0.0 | 0.0 | 0.85 | 0.140625 | 0.4 |
|
|
148
|
+
| 2000-01-03 | 0.0 0.0 0.0 | 0.0 | 0.0 | 0.0 0.0 0.0 | 0.0 0.0 0.0 0.0 | 0.0 0.0 0.0 | 0.0 0.0 0.0 0.0 | 0.0 0.0 0.0 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
|
|
149
|
+
"""
|
|
150
|
+
# import...
|
|
151
|
+
# ...from HydPy
|
|
152
|
+
from hydpy.core import modeltools
|
|
153
|
+
from hydpy.exe.modelimports import *
|
|
154
|
+
from hydpy.models.conv import conv_model
|
|
155
|
+
|
|
156
|
+
|
|
157
|
+
class Model(conv_model.BaseModel):
|
|
158
|
+
"""|conv_idw_ed.DOCNAME.complete|."""
|
|
159
|
+
|
|
160
|
+
DOCNAME = modeltools.DocName(
|
|
161
|
+
short="Conv-IDW-ED",
|
|
162
|
+
description="inverse distance weighted interpolation with external drift",
|
|
163
|
+
)
|
|
164
|
+
__HYDPY_ROOTMODEL__ = True
|
|
165
|
+
|
|
166
|
+
INLET_METHODS = (conv_model.Pick_Inputs_V1,)
|
|
167
|
+
RECEIVER_METHODS = ()
|
|
168
|
+
ADD_METHODS = (conv_model.Return_Mean_V1, conv_model.Interpolate_InverseDistance_V1)
|
|
169
|
+
RUN_METHODS = (
|
|
170
|
+
conv_model.Calc_ActualConstant_ActualFactor_V1,
|
|
171
|
+
conv_model.Calc_InputPredictions_V1,
|
|
172
|
+
conv_model.Calc_OutputPredictions_V1,
|
|
173
|
+
conv_model.Calc_InputResiduals_V1,
|
|
174
|
+
conv_model.Calc_OutputResiduals_V1,
|
|
175
|
+
conv_model.Calc_Outputs_V3,
|
|
176
|
+
)
|
|
177
|
+
OUTLET_METHODS = (conv_model.Pass_Outputs_V1,)
|
|
178
|
+
SENDER_METHODS = ()
|
|
179
|
+
SUBMODELINTERFACES = ()
|
|
180
|
+
SUBMODELS = ()
|
|
181
|
+
|
|
182
|
+
|
|
183
|
+
tester = Tester()
|
|
184
|
+
cythonizer = Cythonizer()
|
hydpy/models/conv_nn.py
ADDED
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
# pylint: disable=line-too-long, unused-wildcard-import
|
|
2
|
+
"""
|
|
3
|
+
|conv_nn| performs simple nearest-neighbour interpolations between an arbitrary number
|
|
4
|
+
of models (or data files) providing output and an arbitrary number of models requiring
|
|
5
|
+
input.
|
|
6
|
+
|
|
7
|
+
Integration tests
|
|
8
|
+
=================
|
|
9
|
+
|
|
10
|
+
.. how_to_understand_integration_tests::
|
|
11
|
+
|
|
12
|
+
We perform the following examples over a simulation period of 3 days:
|
|
13
|
+
|
|
14
|
+
>>> from hydpy import Element, Node, pub
|
|
15
|
+
>>> pub.timegrids = "2000-01-01", "2000-01-04", "1d"
|
|
16
|
+
|
|
17
|
+
|conv_nn| implements no parameter with values depending on the simulation step size,
|
|
18
|
+
which is why we can pass anything (or nothing) to function |parameterstep| without
|
|
19
|
+
changing the following results:
|
|
20
|
+
|
|
21
|
+
>>> from hydpy.models.conv_nn import *
|
|
22
|
+
>>> parameterstep()
|
|
23
|
+
|
|
24
|
+
Due to the following configuration, |conv_nn| queries its input from the inlet nodes
|
|
25
|
+
`in1` and `in2` and passes the interpolation results to the outlet nodes `out1`,
|
|
26
|
+
`out2`, `out3`, and `out4`:
|
|
27
|
+
|
|
28
|
+
>>> in1, in2 = Node("in1"), Node("in2")
|
|
29
|
+
>>> element = Element("conv",
|
|
30
|
+
... inlets=(in1, in2),
|
|
31
|
+
... outlets=["out1", "out2", "out3", "out4"])
|
|
32
|
+
|
|
33
|
+
The following coordinate definitions contain the particular case of outlet node `out4`,
|
|
34
|
+
being in the middle of inlet nodes `in1` and `in2` exactly:
|
|
35
|
+
|
|
36
|
+
>>> inputcoordinates(
|
|
37
|
+
... in1=(0.0, 3.0),
|
|
38
|
+
... in2=(2.0, -1.0))
|
|
39
|
+
>>> outputcoordinates(
|
|
40
|
+
... out1=(0.0, 3.0),
|
|
41
|
+
... out2=(3.0, -2.0),
|
|
42
|
+
... out3=(1.0, 2.0),
|
|
43
|
+
... out4=(1.0, 1.0))
|
|
44
|
+
|
|
45
|
+
In the first example, we perform a strict nearest-neighbour interpolation, where we
|
|
46
|
+
always take only one input location into account, even in case of missing data:
|
|
47
|
+
|
|
48
|
+
>>> maxnmbinputs(1)
|
|
49
|
+
|
|
50
|
+
|conv_nn| does not implement any state or log sequences and thus has no memory at all,
|
|
51
|
+
making finalising the test setup quite easy. We only need to define time series for
|
|
52
|
+
both inlet nodes. Note that we set some |numpy| |numpy.nan| values to demonstrate how
|
|
53
|
+
|conv_nn| deals with missing values:
|
|
54
|
+
|
|
55
|
+
>>> element.model = model
|
|
56
|
+
>>> from hydpy.core.testtools import IntegrationTest
|
|
57
|
+
>>> test = IntegrationTest(element)
|
|
58
|
+
>>> test.dateformat = "%Y-%m-%d"
|
|
59
|
+
>>> with pub.options.checkseries(False):
|
|
60
|
+
... in1.sequences.sim.series = 1.0, 2.0, nan
|
|
61
|
+
... in2.sequences.sim.series = 4.0, nan, nan
|
|
62
|
+
|
|
63
|
+
The calculated results provide no surprises. However, outlet node `out4` receives the
|
|
64
|
+
output of node `in1` instead of the equidistant node `in2`, which is due to their
|
|
65
|
+
definition order when preparing parameter |InputCoordinates| above:
|
|
66
|
+
|
|
67
|
+
>>> test()
|
|
68
|
+
| date | inputs | outputs | in1 | in2 | out1 | out2 | out3 | out4 |
|
|
69
|
+
---------------------------------------------------------------------------------------------
|
|
70
|
+
| 2000-01-01 | 1.0 4.0 | 1.0 4.0 1.0 1.0 | 1.0 | 4.0 | 1.0 | 4.0 | 1.0 | 1.0 |
|
|
71
|
+
| 2000-01-02 | 2.0 nan | 2.0 nan 2.0 2.0 | 2.0 | nan | 2.0 | nan | 2.0 | 2.0 |
|
|
72
|
+
| 2000-01-03 | nan nan | nan nan nan nan | nan | nan | nan | nan | nan | nan |
|
|
73
|
+
|
|
74
|
+
For the last timestep, where no input values are available at all, there is nothing we
|
|
75
|
+
can do. However, by using the second nearest location as an alternative, we at least
|
|
76
|
+
achieve complete output for the second timestep:
|
|
77
|
+
|
|
78
|
+
>>> maxnmbinputs(2)
|
|
79
|
+
>>> test()
|
|
80
|
+
| date | inputs | outputs | in1 | in2 | out1 | out2 | out3 | out4 |
|
|
81
|
+
---------------------------------------------------------------------------------------------
|
|
82
|
+
| 2000-01-01 | 1.0 4.0 | 1.0 4.0 1.0 1.0 | 1.0 | 4.0 | 1.0 | 4.0 | 1.0 | 1.0 |
|
|
83
|
+
| 2000-01-02 | 2.0 nan | 2.0 2.0 2.0 2.0 | 2.0 | nan | 2.0 | 2.0 | 2.0 | 2.0 |
|
|
84
|
+
| 2000-01-03 | nan nan | nan nan nan nan | nan | nan | nan | nan | nan | nan |
|
|
85
|
+
"""
|
|
86
|
+
# import...
|
|
87
|
+
# ...from HydPy
|
|
88
|
+
from hydpy.core import modeltools
|
|
89
|
+
from hydpy.exe.modelimports import *
|
|
90
|
+
from hydpy.models.conv import conv_model
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
class Model(conv_model.BaseModel):
|
|
94
|
+
"""|conv_nn.DOCNAME.complete|."""
|
|
95
|
+
|
|
96
|
+
DOCNAME = modeltools.DocName(
|
|
97
|
+
short="Conv-NN", description="nearest neighbour interpolation"
|
|
98
|
+
)
|
|
99
|
+
__HYDPY_ROOTMODEL__ = True
|
|
100
|
+
|
|
101
|
+
INLET_METHODS = (conv_model.Pick_Inputs_V1,)
|
|
102
|
+
RECEIVER_METHODS = ()
|
|
103
|
+
RUN_METHODS = (conv_model.Calc_Outputs_V1,)
|
|
104
|
+
ADD_METHODS = ()
|
|
105
|
+
OUTLET_METHODS = (conv_model.Pass_Outputs_V1,)
|
|
106
|
+
SENDER_METHODS = ()
|
|
107
|
+
SUBMODELINTERFACES = ()
|
|
108
|
+
SUBMODELS = ()
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
tester = Tester()
|
|
112
|
+
cythonizer = Cythonizer()
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"""
|
|
2
|
+
The |dam.DOCNAME.long| base model provides features to implement water barriers like
|
|
3
|
+
dams, weirs, lakes, or polders.
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
# import...
|
|
7
|
+
# ...from HydPy
|
|
8
|
+
from hydpy.auxs.anntools import ANN
|
|
9
|
+
from hydpy.auxs.ppolytools import Poly, PPoly
|
|
10
|
+
from hydpy.exe.modelimports import *
|
|
11
|
+
|
|
12
|
+
# ...from dam
|
|
13
|
+
from hydpy.models.dam.dam_model import Model
|
|
14
|
+
|
|
15
|
+
tester = Tester()
|
|
16
|
+
cythonizer = Cythonizer()
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# pylint: disable=missing-module-docstring
|
|
2
|
+
|
|
3
|
+
# import...
|
|
4
|
+
# ...from HydPy
|
|
5
|
+
from hydpy.core import sequencetools
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class SurfaceArea(sequencetools.AideSequence):
|
|
9
|
+
"""Surface area [km²]."""
|
|
10
|
+
|
|
11
|
+
NDIM, NUMERIC, SPAN = 0, True, (None, None)
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class AllowedDischarge(sequencetools.AideSequence):
|
|
15
|
+
"""Discharge threshold not to be overcut by the actual discharge [m³/s]."""
|
|
16
|
+
|
|
17
|
+
NDIM, NUMERIC, SPAN = 0, True, (None, None)
|