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,282 @@
|
|
|
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 Sequences:
|
|
46
|
+
pass
|
|
47
|
+
@cython.final
|
|
48
|
+
cdef class ReceiverSequences:
|
|
49
|
+
cpdef inline alloc(self, name, numpy.int64_t length):
|
|
50
|
+
if name == "waterlevels":
|
|
51
|
+
self._waterlevels_length_0 = length
|
|
52
|
+
self._waterlevels_ready = numpy.full(length, 0, dtype=numpy.int64)
|
|
53
|
+
self.waterlevels = <double**> PyMem_Malloc(length * sizeof(double*))
|
|
54
|
+
cpdef inline dealloc(self, name):
|
|
55
|
+
if name == "waterlevels":
|
|
56
|
+
PyMem_Free(self.waterlevels)
|
|
57
|
+
cpdef inline set_pointer1d(self, str name, pointerutils.Double value, numpy.int64_t idx):
|
|
58
|
+
cdef pointerutils.PDouble pointer = pointerutils.PDouble(value)
|
|
59
|
+
if name == "waterlevels":
|
|
60
|
+
self.waterlevels[idx] = pointer.p_value
|
|
61
|
+
self._waterlevels_ready[idx] = 1
|
|
62
|
+
cpdef get_value(self, str name):
|
|
63
|
+
cdef numpy.int64_t idx
|
|
64
|
+
if name == "waterlevels":
|
|
65
|
+
values = numpy.empty(self.len_waterlevels)
|
|
66
|
+
for idx in range(self.len_waterlevels):
|
|
67
|
+
pointerutils.check0(self._waterlevels_length_0)
|
|
68
|
+
if self._waterlevels_ready[idx] == 0:
|
|
69
|
+
pointerutils.check1(self._waterlevels_length_0, idx)
|
|
70
|
+
pointerutils.check2(self._waterlevels_ready, idx)
|
|
71
|
+
values[idx] = self.waterlevels[idx][0]
|
|
72
|
+
return values
|
|
73
|
+
cpdef set_value(self, str name, value):
|
|
74
|
+
if name == "waterlevels":
|
|
75
|
+
for idx in range(self.len_waterlevels):
|
|
76
|
+
pointerutils.check0(self._waterlevels_length_0)
|
|
77
|
+
if self._waterlevels_ready[idx] == 0:
|
|
78
|
+
pointerutils.check1(self._waterlevels_length_0, idx)
|
|
79
|
+
pointerutils.check2(self._waterlevels_ready, idx)
|
|
80
|
+
self.waterlevels[idx][0] = value[idx]
|
|
81
|
+
@cython.final
|
|
82
|
+
cdef class FactorSequences:
|
|
83
|
+
cpdef inline void load_data(self, numpy.int64_t idx) noexcept nogil:
|
|
84
|
+
cdef numpy.int64_t jdx0
|
|
85
|
+
cdef numpy.int64_t k
|
|
86
|
+
if self._waterlevels_diskflag_reading:
|
|
87
|
+
k = 0
|
|
88
|
+
for jdx0 in range(self._waterlevels_length_0):
|
|
89
|
+
self.waterlevels[jdx0] = self._waterlevels_ncarray[k]
|
|
90
|
+
k += 1
|
|
91
|
+
elif self._waterlevels_ramflag:
|
|
92
|
+
for jdx0 in range(self._waterlevels_length_0):
|
|
93
|
+
self.waterlevels[jdx0] = self._waterlevels_array[idx, jdx0]
|
|
94
|
+
if self._deltawaterlevel_diskflag_reading:
|
|
95
|
+
self.deltawaterlevel = self._deltawaterlevel_ncarray[0]
|
|
96
|
+
elif self._deltawaterlevel_ramflag:
|
|
97
|
+
self.deltawaterlevel = self._deltawaterlevel_array[idx]
|
|
98
|
+
cpdef inline void save_data(self, numpy.int64_t idx) noexcept nogil:
|
|
99
|
+
cdef numpy.int64_t jdx0
|
|
100
|
+
cdef numpy.int64_t k
|
|
101
|
+
if self._waterlevels_diskflag_writing:
|
|
102
|
+
k = 0
|
|
103
|
+
for jdx0 in range(self._waterlevels_length_0):
|
|
104
|
+
self._waterlevels_ncarray[k] = self.waterlevels[jdx0]
|
|
105
|
+
k += 1
|
|
106
|
+
if self._waterlevels_ramflag:
|
|
107
|
+
for jdx0 in range(self._waterlevels_length_0):
|
|
108
|
+
self._waterlevels_array[idx, jdx0] = self.waterlevels[jdx0]
|
|
109
|
+
if self._deltawaterlevel_diskflag_writing:
|
|
110
|
+
self._deltawaterlevel_ncarray[0] = self.deltawaterlevel
|
|
111
|
+
if self._deltawaterlevel_ramflag:
|
|
112
|
+
self._deltawaterlevel_array[idx] = self.deltawaterlevel
|
|
113
|
+
cpdef inline set_pointeroutput(self, str name, pointerutils.PDouble value):
|
|
114
|
+
if name == "deltawaterlevel":
|
|
115
|
+
self._deltawaterlevel_outputpointer = value.p_value
|
|
116
|
+
cpdef inline void update_outputs(self) noexcept nogil:
|
|
117
|
+
if self._deltawaterlevel_outputflag:
|
|
118
|
+
self._deltawaterlevel_outputpointer[0] = self.deltawaterlevel
|
|
119
|
+
@cython.final
|
|
120
|
+
cdef class FluxSequences:
|
|
121
|
+
cpdef inline void load_data(self, numpy.int64_t idx) noexcept nogil:
|
|
122
|
+
cdef numpy.int64_t k
|
|
123
|
+
if self._potentialexchange_diskflag_reading:
|
|
124
|
+
self.potentialexchange = self._potentialexchange_ncarray[0]
|
|
125
|
+
elif self._potentialexchange_ramflag:
|
|
126
|
+
self.potentialexchange = self._potentialexchange_array[idx]
|
|
127
|
+
if self._actualexchange_diskflag_reading:
|
|
128
|
+
self.actualexchange = self._actualexchange_ncarray[0]
|
|
129
|
+
elif self._actualexchange_ramflag:
|
|
130
|
+
self.actualexchange = self._actualexchange_array[idx]
|
|
131
|
+
cpdef inline void save_data(self, numpy.int64_t idx) noexcept nogil:
|
|
132
|
+
cdef numpy.int64_t k
|
|
133
|
+
if self._potentialexchange_diskflag_writing:
|
|
134
|
+
self._potentialexchange_ncarray[0] = self.potentialexchange
|
|
135
|
+
if self._potentialexchange_ramflag:
|
|
136
|
+
self._potentialexchange_array[idx] = self.potentialexchange
|
|
137
|
+
if self._actualexchange_diskflag_writing:
|
|
138
|
+
self._actualexchange_ncarray[0] = self.actualexchange
|
|
139
|
+
if self._actualexchange_ramflag:
|
|
140
|
+
self._actualexchange_array[idx] = self.actualexchange
|
|
141
|
+
cpdef inline set_pointeroutput(self, str name, pointerutils.PDouble value):
|
|
142
|
+
if name == "potentialexchange":
|
|
143
|
+
self._potentialexchange_outputpointer = value.p_value
|
|
144
|
+
if name == "actualexchange":
|
|
145
|
+
self._actualexchange_outputpointer = value.p_value
|
|
146
|
+
cpdef inline void update_outputs(self) noexcept nogil:
|
|
147
|
+
if self._potentialexchange_outputflag:
|
|
148
|
+
self._potentialexchange_outputpointer[0] = self.potentialexchange
|
|
149
|
+
if self._actualexchange_outputflag:
|
|
150
|
+
self._actualexchange_outputpointer[0] = self.actualexchange
|
|
151
|
+
@cython.final
|
|
152
|
+
cdef class LogSequences:
|
|
153
|
+
pass
|
|
154
|
+
@cython.final
|
|
155
|
+
cdef class OutletSequences:
|
|
156
|
+
cpdef inline alloc(self, name, numpy.int64_t length):
|
|
157
|
+
if name == "exchange":
|
|
158
|
+
self._exchange_length_0 = length
|
|
159
|
+
self._exchange_ready = numpy.full(length, 0, dtype=numpy.int64)
|
|
160
|
+
self.exchange = <double**> PyMem_Malloc(length * sizeof(double*))
|
|
161
|
+
cpdef inline dealloc(self, name):
|
|
162
|
+
if name == "exchange":
|
|
163
|
+
PyMem_Free(self.exchange)
|
|
164
|
+
cpdef inline set_pointer1d(self, str name, pointerutils.Double value, numpy.int64_t idx):
|
|
165
|
+
cdef pointerutils.PDouble pointer = pointerutils.PDouble(value)
|
|
166
|
+
if name == "exchange":
|
|
167
|
+
self.exchange[idx] = pointer.p_value
|
|
168
|
+
self._exchange_ready[idx] = 1
|
|
169
|
+
cpdef get_value(self, str name):
|
|
170
|
+
cdef numpy.int64_t idx
|
|
171
|
+
if name == "exchange":
|
|
172
|
+
values = numpy.empty(self.len_exchange)
|
|
173
|
+
for idx in range(self.len_exchange):
|
|
174
|
+
pointerutils.check0(self._exchange_length_0)
|
|
175
|
+
if self._exchange_ready[idx] == 0:
|
|
176
|
+
pointerutils.check1(self._exchange_length_0, idx)
|
|
177
|
+
pointerutils.check2(self._exchange_ready, idx)
|
|
178
|
+
values[idx] = self.exchange[idx][0]
|
|
179
|
+
return values
|
|
180
|
+
cpdef set_value(self, str name, value):
|
|
181
|
+
if name == "exchange":
|
|
182
|
+
for idx in range(self.len_exchange):
|
|
183
|
+
pointerutils.check0(self._exchange_length_0)
|
|
184
|
+
if self._exchange_ready[idx] == 0:
|
|
185
|
+
pointerutils.check1(self._exchange_length_0, idx)
|
|
186
|
+
pointerutils.check2(self._exchange_ready, idx)
|
|
187
|
+
self.exchange[idx][0] = value[idx]
|
|
188
|
+
@cython.final
|
|
189
|
+
cdef class Model:
|
|
190
|
+
cpdef inline void simulate(self, numpy.int64_t idx) noexcept nogil:
|
|
191
|
+
self.idx_sim = idx
|
|
192
|
+
self.run()
|
|
193
|
+
self.update_outlets()
|
|
194
|
+
self.update_outputs()
|
|
195
|
+
cpdef void reset_reuseflags(self) noexcept nogil:
|
|
196
|
+
pass
|
|
197
|
+
cpdef void save_data(self, numpy.int64_t idx) noexcept nogil:
|
|
198
|
+
self.idx_sim = idx
|
|
199
|
+
self.sequences.factors.save_data(idx)
|
|
200
|
+
self.sequences.fluxes.save_data(idx)
|
|
201
|
+
cpdef inline void run(self) noexcept nogil:
|
|
202
|
+
self.update_waterlevels_v1()
|
|
203
|
+
self.calc_deltawaterlevel_v1()
|
|
204
|
+
self.calc_potentialexchange_v1()
|
|
205
|
+
self.calc_actualexchange_v1()
|
|
206
|
+
cpdef inline void update_inlets(self) noexcept nogil:
|
|
207
|
+
pass
|
|
208
|
+
cpdef inline void update_outlets(self) noexcept nogil:
|
|
209
|
+
self.pass_actualexchange_v1()
|
|
210
|
+
cpdef inline void update_receivers(self, numpy.int64_t idx) noexcept nogil:
|
|
211
|
+
self.idx_sim = idx
|
|
212
|
+
self.pic_loggedwaterlevels_v1()
|
|
213
|
+
cpdef inline void update_senders(self, numpy.int64_t idx) noexcept nogil:
|
|
214
|
+
self.idx_sim = idx
|
|
215
|
+
pass
|
|
216
|
+
cpdef inline void update_outputs(self) noexcept nogil:
|
|
217
|
+
self.sequences.factors.update_outputs()
|
|
218
|
+
self.sequences.fluxes.update_outputs()
|
|
219
|
+
cpdef inline void pic_loggedwaterlevels_v1(self) noexcept nogil:
|
|
220
|
+
cdef numpy.int64_t idx
|
|
221
|
+
for idx in range(2):
|
|
222
|
+
self.sequences.logs.loggedwaterlevels[idx] = self.sequences.receivers.waterlevels[idx][0]
|
|
223
|
+
cpdef inline void update_waterlevels_v1(self) noexcept nogil:
|
|
224
|
+
cdef numpy.int64_t idx
|
|
225
|
+
for idx in range(2):
|
|
226
|
+
self.sequences.factors.waterlevels[idx] = self.sequences.logs.loggedwaterlevels[idx]
|
|
227
|
+
cpdef inline void calc_deltawaterlevel_v1(self) noexcept nogil:
|
|
228
|
+
cdef double d_wl1
|
|
229
|
+
cdef double d_wl0
|
|
230
|
+
d_wl0 = max(self.sequences.factors.waterlevels[0], self.parameters.control.crestheight)
|
|
231
|
+
d_wl1 = max(self.sequences.factors.waterlevels[1], self.parameters.control.crestheight)
|
|
232
|
+
self.sequences.factors.deltawaterlevel = d_wl0 - d_wl1
|
|
233
|
+
cpdef inline void calc_potentialexchange_v1(self) noexcept nogil:
|
|
234
|
+
cdef double d_sig
|
|
235
|
+
cdef double d_dwl
|
|
236
|
+
if self.sequences.factors.deltawaterlevel >= 0.0:
|
|
237
|
+
d_dwl = self.sequences.factors.deltawaterlevel
|
|
238
|
+
d_sig = 1.0
|
|
239
|
+
else:
|
|
240
|
+
d_dwl = -self.sequences.factors.deltawaterlevel
|
|
241
|
+
d_sig = -1.0
|
|
242
|
+
self.sequences.fluxes.potentialexchange = d_sig * ( self.parameters.control.flowcoefficient * self.parameters.control.crestwidth * d_dwl**self.parameters.control.flowexponent )
|
|
243
|
+
cpdef inline void calc_actualexchange_v1(self) noexcept nogil:
|
|
244
|
+
if self.sequences.fluxes.potentialexchange >= 0.0:
|
|
245
|
+
self.sequences.fluxes.actualexchange = min(self.sequences.fluxes.potentialexchange, self.parameters.control.allowedexchange)
|
|
246
|
+
else:
|
|
247
|
+
self.sequences.fluxes.actualexchange = max(self.sequences.fluxes.potentialexchange, -self.parameters.control.allowedexchange)
|
|
248
|
+
cpdef inline void pass_actualexchange_v1(self) noexcept nogil:
|
|
249
|
+
self.sequences.outlets.exchange[0][0] = self.sequences.outlets.exchange[0][0] - (self.sequences.fluxes.actualexchange)
|
|
250
|
+
self.sequences.outlets.exchange[1][0] = self.sequences.outlets.exchange[1][0] + (self.sequences.fluxes.actualexchange)
|
|
251
|
+
cpdef inline void pic_loggedwaterlevels(self) noexcept nogil:
|
|
252
|
+
cdef numpy.int64_t idx
|
|
253
|
+
for idx in range(2):
|
|
254
|
+
self.sequences.logs.loggedwaterlevels[idx] = self.sequences.receivers.waterlevels[idx][0]
|
|
255
|
+
cpdef inline void update_waterlevels(self) noexcept nogil:
|
|
256
|
+
cdef numpy.int64_t idx
|
|
257
|
+
for idx in range(2):
|
|
258
|
+
self.sequences.factors.waterlevels[idx] = self.sequences.logs.loggedwaterlevels[idx]
|
|
259
|
+
cpdef inline void calc_deltawaterlevel(self) noexcept nogil:
|
|
260
|
+
cdef double d_wl1
|
|
261
|
+
cdef double d_wl0
|
|
262
|
+
d_wl0 = max(self.sequences.factors.waterlevels[0], self.parameters.control.crestheight)
|
|
263
|
+
d_wl1 = max(self.sequences.factors.waterlevels[1], self.parameters.control.crestheight)
|
|
264
|
+
self.sequences.factors.deltawaterlevel = d_wl0 - d_wl1
|
|
265
|
+
cpdef inline void calc_potentialexchange(self) noexcept nogil:
|
|
266
|
+
cdef double d_sig
|
|
267
|
+
cdef double d_dwl
|
|
268
|
+
if self.sequences.factors.deltawaterlevel >= 0.0:
|
|
269
|
+
d_dwl = self.sequences.factors.deltawaterlevel
|
|
270
|
+
d_sig = 1.0
|
|
271
|
+
else:
|
|
272
|
+
d_dwl = -self.sequences.factors.deltawaterlevel
|
|
273
|
+
d_sig = -1.0
|
|
274
|
+
self.sequences.fluxes.potentialexchange = d_sig * ( self.parameters.control.flowcoefficient * self.parameters.control.crestwidth * d_dwl**self.parameters.control.flowexponent )
|
|
275
|
+
cpdef inline void calc_actualexchange(self) noexcept nogil:
|
|
276
|
+
if self.sequences.fluxes.potentialexchange >= 0.0:
|
|
277
|
+
self.sequences.fluxes.actualexchange = min(self.sequences.fluxes.potentialexchange, self.parameters.control.allowedexchange)
|
|
278
|
+
else:
|
|
279
|
+
self.sequences.fluxes.actualexchange = max(self.sequences.fluxes.potentialexchange, -self.parameters.control.allowedexchange)
|
|
280
|
+
cpdef inline void pass_actualexchange(self) noexcept nogil:
|
|
281
|
+
self.sequences.outlets.exchange[0][0] = self.sequences.outlets.exchange[0][0] - (self.sequences.fluxes.actualexchange)
|
|
282
|
+
self.sequences.outlets.exchange[1][0] = self.sequences.outlets.exchange[1][0] + (self.sequences.fluxes.actualexchange)
|
|
Binary file
|
|
@@ -0,0 +1,353 @@
|
|
|
1
|
+
#!python
|
|
2
|
+
# distutils: define_macros=NPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION
|
|
3
|
+
# cython: language_level=3
|
|
4
|
+
# cython: cpow=True
|
|
5
|
+
# cython: boundscheck=False
|
|
6
|
+
# cython: wraparound=False
|
|
7
|
+
# cython: initializedcheck=False
|
|
8
|
+
# cython: cdivision=True
|
|
9
|
+
from typing import Optional
|
|
10
|
+
import numpy
|
|
11
|
+
cimport numpy
|
|
12
|
+
from libc.math cimport exp, fabs, log, sin, cos, tan, tanh, asin, acos, atan, isnan, isinf
|
|
13
|
+
from libc.math cimport NAN as nan
|
|
14
|
+
from libc.math cimport INFINITY as inf
|
|
15
|
+
import cython
|
|
16
|
+
from cpython.mem cimport PyMem_Malloc
|
|
17
|
+
from cpython.mem cimport PyMem_Realloc
|
|
18
|
+
from cpython.mem cimport PyMem_Free
|
|
19
|
+
from hydpy.cythons.autogen cimport configutils
|
|
20
|
+
from hydpy.cythons.autogen cimport interfaceutils
|
|
21
|
+
from hydpy.cythons.autogen cimport interputils
|
|
22
|
+
from hydpy.cythons.autogen import pointerutils
|
|
23
|
+
from hydpy.cythons.autogen cimport pointerutils
|
|
24
|
+
from hydpy.cythons.autogen cimport quadutils
|
|
25
|
+
from hydpy.cythons.autogen cimport rootutils
|
|
26
|
+
from hydpy.cythons.autogen cimport smoothutils
|
|
27
|
+
from hydpy.cythons.autogen cimport masterinterface
|
|
28
|
+
ctypedef void (*CallbackType) (Model) noexcept nogil
|
|
29
|
+
cdef class CallbackWrapper:
|
|
30
|
+
cdef CallbackType callback
|
|
31
|
+
@cython.final
|
|
32
|
+
cdef class Parameters:
|
|
33
|
+
cdef public ControlParameters control
|
|
34
|
+
cdef public DerivedParameters derived
|
|
35
|
+
@cython.final
|
|
36
|
+
cdef class ControlParameters:
|
|
37
|
+
cdef public numpy.int64_t nmbsoils
|
|
38
|
+
cdef public numpy.int64_t nmbbins
|
|
39
|
+
cdef public double dt
|
|
40
|
+
cdef public numpy.npy_bool[:] sealed
|
|
41
|
+
cdef public double[:] soilarea
|
|
42
|
+
cdef public double[:] soildepth
|
|
43
|
+
cdef public double[:] residualmoisture
|
|
44
|
+
cdef public double[:] saturationmoisture
|
|
45
|
+
cdef public double[:] saturatedconductivity
|
|
46
|
+
cdef public double[:] poresizedistribution
|
|
47
|
+
cdef public double[:] airentrypotential
|
|
48
|
+
@cython.final
|
|
49
|
+
cdef class DerivedParameters:
|
|
50
|
+
cdef public numpy.int64_t nmbsubsteps
|
|
51
|
+
cdef public double[:] soilareafraction
|
|
52
|
+
cdef public double[:] effectivecapillarysuction
|
|
53
|
+
@cython.final
|
|
54
|
+
cdef class Sequences:
|
|
55
|
+
cdef public InputSequences inputs
|
|
56
|
+
cdef public FluxSequences fluxes
|
|
57
|
+
cdef public StateSequences states
|
|
58
|
+
cdef public LogSequences logs
|
|
59
|
+
cdef public AideSequences aides
|
|
60
|
+
cdef public StateSequences old_states
|
|
61
|
+
cdef public StateSequences new_states
|
|
62
|
+
@cython.final
|
|
63
|
+
cdef class InputSequences:
|
|
64
|
+
cdef public double rainfall
|
|
65
|
+
cdef public numpy.int64_t _rainfall_ndim
|
|
66
|
+
cdef public numpy.int64_t _rainfall_length
|
|
67
|
+
cdef public bint _rainfall_ramflag
|
|
68
|
+
cdef public double[:] _rainfall_array
|
|
69
|
+
cdef public bint _rainfall_diskflag_reading
|
|
70
|
+
cdef public bint _rainfall_diskflag_writing
|
|
71
|
+
cdef public double[:] _rainfall_ncarray
|
|
72
|
+
cdef public bint _rainfall_inputflag
|
|
73
|
+
cdef double *_rainfall_inputpointer
|
|
74
|
+
cdef public double capillaryrise
|
|
75
|
+
cdef public numpy.int64_t _capillaryrise_ndim
|
|
76
|
+
cdef public numpy.int64_t _capillaryrise_length
|
|
77
|
+
cdef public bint _capillaryrise_ramflag
|
|
78
|
+
cdef public double[:] _capillaryrise_array
|
|
79
|
+
cdef public bint _capillaryrise_diskflag_reading
|
|
80
|
+
cdef public bint _capillaryrise_diskflag_writing
|
|
81
|
+
cdef public double[:] _capillaryrise_ncarray
|
|
82
|
+
cdef public bint _capillaryrise_inputflag
|
|
83
|
+
cdef double *_capillaryrise_inputpointer
|
|
84
|
+
cdef public double evaporation
|
|
85
|
+
cdef public numpy.int64_t _evaporation_ndim
|
|
86
|
+
cdef public numpy.int64_t _evaporation_length
|
|
87
|
+
cdef public bint _evaporation_ramflag
|
|
88
|
+
cdef public double[:] _evaporation_array
|
|
89
|
+
cdef public bint _evaporation_diskflag_reading
|
|
90
|
+
cdef public bint _evaporation_diskflag_writing
|
|
91
|
+
cdef public double[:] _evaporation_ncarray
|
|
92
|
+
cdef public bint _evaporation_inputflag
|
|
93
|
+
cdef double *_evaporation_inputpointer
|
|
94
|
+
cpdef inline void load_data(self, numpy.int64_t idx) noexcept nogil
|
|
95
|
+
cpdef inline void save_data(self, numpy.int64_t idx) noexcept nogil
|
|
96
|
+
cpdef inline set_pointerinput(self, str name, pointerutils.PDouble value)
|
|
97
|
+
@cython.final
|
|
98
|
+
cdef class FluxSequences:
|
|
99
|
+
cdef public double[:] surfacewatersupply
|
|
100
|
+
cdef public numpy.int64_t _surfacewatersupply_ndim
|
|
101
|
+
cdef public numpy.int64_t _surfacewatersupply_length
|
|
102
|
+
cdef public numpy.int64_t _surfacewatersupply_length_0
|
|
103
|
+
cdef public bint _surfacewatersupply_ramflag
|
|
104
|
+
cdef public double[:,:] _surfacewatersupply_array
|
|
105
|
+
cdef public bint _surfacewatersupply_diskflag_reading
|
|
106
|
+
cdef public bint _surfacewatersupply_diskflag_writing
|
|
107
|
+
cdef public double[:] _surfacewatersupply_ncarray
|
|
108
|
+
cdef public double[:] soilwatersupply
|
|
109
|
+
cdef public numpy.int64_t _soilwatersupply_ndim
|
|
110
|
+
cdef public numpy.int64_t _soilwatersupply_length
|
|
111
|
+
cdef public numpy.int64_t _soilwatersupply_length_0
|
|
112
|
+
cdef public bint _soilwatersupply_ramflag
|
|
113
|
+
cdef public double[:,:] _soilwatersupply_array
|
|
114
|
+
cdef public bint _soilwatersupply_diskflag_reading
|
|
115
|
+
cdef public bint _soilwatersupply_diskflag_writing
|
|
116
|
+
cdef public double[:] _soilwatersupply_ncarray
|
|
117
|
+
cdef public double[:] demand
|
|
118
|
+
cdef public numpy.int64_t _demand_ndim
|
|
119
|
+
cdef public numpy.int64_t _demand_length
|
|
120
|
+
cdef public numpy.int64_t _demand_length_0
|
|
121
|
+
cdef public bint _demand_ramflag
|
|
122
|
+
cdef public double[:,:] _demand_array
|
|
123
|
+
cdef public bint _demand_diskflag_reading
|
|
124
|
+
cdef public bint _demand_diskflag_writing
|
|
125
|
+
cdef public double[:] _demand_ncarray
|
|
126
|
+
cdef public double[:] infiltration
|
|
127
|
+
cdef public numpy.int64_t _infiltration_ndim
|
|
128
|
+
cdef public numpy.int64_t _infiltration_length
|
|
129
|
+
cdef public numpy.int64_t _infiltration_length_0
|
|
130
|
+
cdef public bint _infiltration_ramflag
|
|
131
|
+
cdef public double[:,:] _infiltration_array
|
|
132
|
+
cdef public bint _infiltration_diskflag_reading
|
|
133
|
+
cdef public bint _infiltration_diskflag_writing
|
|
134
|
+
cdef public double[:] _infiltration_ncarray
|
|
135
|
+
cdef public double[:] percolation
|
|
136
|
+
cdef public numpy.int64_t _percolation_ndim
|
|
137
|
+
cdef public numpy.int64_t _percolation_length
|
|
138
|
+
cdef public numpy.int64_t _percolation_length_0
|
|
139
|
+
cdef public bint _percolation_ramflag
|
|
140
|
+
cdef public double[:,:] _percolation_array
|
|
141
|
+
cdef public bint _percolation_diskflag_reading
|
|
142
|
+
cdef public bint _percolation_diskflag_writing
|
|
143
|
+
cdef public double[:] _percolation_ncarray
|
|
144
|
+
cdef public double[:] soilwateraddition
|
|
145
|
+
cdef public numpy.int64_t _soilwateraddition_ndim
|
|
146
|
+
cdef public numpy.int64_t _soilwateraddition_length
|
|
147
|
+
cdef public numpy.int64_t _soilwateraddition_length_0
|
|
148
|
+
cdef public bint _soilwateraddition_ramflag
|
|
149
|
+
cdef public double[:,:] _soilwateraddition_array
|
|
150
|
+
cdef public bint _soilwateraddition_diskflag_reading
|
|
151
|
+
cdef public bint _soilwateraddition_diskflag_writing
|
|
152
|
+
cdef public double[:] _soilwateraddition_ncarray
|
|
153
|
+
cdef public double[:] withdrawal
|
|
154
|
+
cdef public numpy.int64_t _withdrawal_ndim
|
|
155
|
+
cdef public numpy.int64_t _withdrawal_length
|
|
156
|
+
cdef public numpy.int64_t _withdrawal_length_0
|
|
157
|
+
cdef public bint _withdrawal_ramflag
|
|
158
|
+
cdef public double[:,:] _withdrawal_array
|
|
159
|
+
cdef public bint _withdrawal_diskflag_reading
|
|
160
|
+
cdef public bint _withdrawal_diskflag_writing
|
|
161
|
+
cdef public double[:] _withdrawal_ncarray
|
|
162
|
+
cdef public double[:] surfacerunoff
|
|
163
|
+
cdef public numpy.int64_t _surfacerunoff_ndim
|
|
164
|
+
cdef public numpy.int64_t _surfacerunoff_length
|
|
165
|
+
cdef public numpy.int64_t _surfacerunoff_length_0
|
|
166
|
+
cdef public bint _surfacerunoff_ramflag
|
|
167
|
+
cdef public double[:,:] _surfacerunoff_array
|
|
168
|
+
cdef public bint _surfacerunoff_diskflag_reading
|
|
169
|
+
cdef public bint _surfacerunoff_diskflag_writing
|
|
170
|
+
cdef public double[:] _surfacerunoff_ncarray
|
|
171
|
+
cdef public double totalinfiltration
|
|
172
|
+
cdef public numpy.int64_t _totalinfiltration_ndim
|
|
173
|
+
cdef public numpy.int64_t _totalinfiltration_length
|
|
174
|
+
cdef public bint _totalinfiltration_ramflag
|
|
175
|
+
cdef public double[:] _totalinfiltration_array
|
|
176
|
+
cdef public bint _totalinfiltration_diskflag_reading
|
|
177
|
+
cdef public bint _totalinfiltration_diskflag_writing
|
|
178
|
+
cdef public double[:] _totalinfiltration_ncarray
|
|
179
|
+
cdef public bint _totalinfiltration_outputflag
|
|
180
|
+
cdef double *_totalinfiltration_outputpointer
|
|
181
|
+
cdef public double totalpercolation
|
|
182
|
+
cdef public numpy.int64_t _totalpercolation_ndim
|
|
183
|
+
cdef public numpy.int64_t _totalpercolation_length
|
|
184
|
+
cdef public bint _totalpercolation_ramflag
|
|
185
|
+
cdef public double[:] _totalpercolation_array
|
|
186
|
+
cdef public bint _totalpercolation_diskflag_reading
|
|
187
|
+
cdef public bint _totalpercolation_diskflag_writing
|
|
188
|
+
cdef public double[:] _totalpercolation_ncarray
|
|
189
|
+
cdef public bint _totalpercolation_outputflag
|
|
190
|
+
cdef double *_totalpercolation_outputpointer
|
|
191
|
+
cdef public double totalsoilwateraddition
|
|
192
|
+
cdef public numpy.int64_t _totalsoilwateraddition_ndim
|
|
193
|
+
cdef public numpy.int64_t _totalsoilwateraddition_length
|
|
194
|
+
cdef public bint _totalsoilwateraddition_ramflag
|
|
195
|
+
cdef public double[:] _totalsoilwateraddition_array
|
|
196
|
+
cdef public bint _totalsoilwateraddition_diskflag_reading
|
|
197
|
+
cdef public bint _totalsoilwateraddition_diskflag_writing
|
|
198
|
+
cdef public double[:] _totalsoilwateraddition_ncarray
|
|
199
|
+
cdef public bint _totalsoilwateraddition_outputflag
|
|
200
|
+
cdef double *_totalsoilwateraddition_outputpointer
|
|
201
|
+
cdef public double totalwithdrawal
|
|
202
|
+
cdef public numpy.int64_t _totalwithdrawal_ndim
|
|
203
|
+
cdef public numpy.int64_t _totalwithdrawal_length
|
|
204
|
+
cdef public bint _totalwithdrawal_ramflag
|
|
205
|
+
cdef public double[:] _totalwithdrawal_array
|
|
206
|
+
cdef public bint _totalwithdrawal_diskflag_reading
|
|
207
|
+
cdef public bint _totalwithdrawal_diskflag_writing
|
|
208
|
+
cdef public double[:] _totalwithdrawal_ncarray
|
|
209
|
+
cdef public bint _totalwithdrawal_outputflag
|
|
210
|
+
cdef double *_totalwithdrawal_outputpointer
|
|
211
|
+
cdef public double totalsurfacerunoff
|
|
212
|
+
cdef public numpy.int64_t _totalsurfacerunoff_ndim
|
|
213
|
+
cdef public numpy.int64_t _totalsurfacerunoff_length
|
|
214
|
+
cdef public bint _totalsurfacerunoff_ramflag
|
|
215
|
+
cdef public double[:] _totalsurfacerunoff_array
|
|
216
|
+
cdef public bint _totalsurfacerunoff_diskflag_reading
|
|
217
|
+
cdef public bint _totalsurfacerunoff_diskflag_writing
|
|
218
|
+
cdef public double[:] _totalsurfacerunoff_ncarray
|
|
219
|
+
cdef public bint _totalsurfacerunoff_outputflag
|
|
220
|
+
cdef double *_totalsurfacerunoff_outputpointer
|
|
221
|
+
cpdef inline void load_data(self, numpy.int64_t idx) noexcept nogil
|
|
222
|
+
cpdef inline void save_data(self, numpy.int64_t idx) noexcept nogil
|
|
223
|
+
cpdef inline set_pointeroutput(self, str name, pointerutils.PDouble value)
|
|
224
|
+
cpdef inline void update_outputs(self) noexcept nogil
|
|
225
|
+
@cython.final
|
|
226
|
+
cdef class StateSequences:
|
|
227
|
+
cdef public double[:,:] moisture
|
|
228
|
+
cdef public numpy.int64_t _moisture_ndim
|
|
229
|
+
cdef public numpy.int64_t _moisture_length
|
|
230
|
+
cdef public numpy.int64_t _moisture_length_0
|
|
231
|
+
cdef public numpy.int64_t _moisture_length_1
|
|
232
|
+
cdef public bint _moisture_ramflag
|
|
233
|
+
cdef public double[:,:,:] _moisture_array
|
|
234
|
+
cdef public bint _moisture_diskflag_reading
|
|
235
|
+
cdef public bint _moisture_diskflag_writing
|
|
236
|
+
cdef public double[:] _moisture_ncarray
|
|
237
|
+
cdef public double[:,:] frontdepth
|
|
238
|
+
cdef public numpy.int64_t _frontdepth_ndim
|
|
239
|
+
cdef public numpy.int64_t _frontdepth_length
|
|
240
|
+
cdef public numpy.int64_t _frontdepth_length_0
|
|
241
|
+
cdef public numpy.int64_t _frontdepth_length_1
|
|
242
|
+
cdef public bint _frontdepth_ramflag
|
|
243
|
+
cdef public double[:,:,:] _frontdepth_array
|
|
244
|
+
cdef public bint _frontdepth_diskflag_reading
|
|
245
|
+
cdef public bint _frontdepth_diskflag_writing
|
|
246
|
+
cdef public double[:] _frontdepth_ncarray
|
|
247
|
+
cpdef inline void load_data(self, numpy.int64_t idx) noexcept nogil
|
|
248
|
+
cpdef inline void save_data(self, numpy.int64_t idx) noexcept nogil
|
|
249
|
+
cpdef inline set_pointeroutput(self, str name, pointerutils.PDouble value)
|
|
250
|
+
cpdef inline void update_outputs(self) noexcept nogil
|
|
251
|
+
@cython.final
|
|
252
|
+
cdef class LogSequences:
|
|
253
|
+
cdef public double[:,:] moisturechange
|
|
254
|
+
cdef public numpy.int64_t _moisturechange_ndim
|
|
255
|
+
cdef public numpy.int64_t _moisturechange_length
|
|
256
|
+
cdef public numpy.int64_t _moisturechange_length_0
|
|
257
|
+
cdef public numpy.int64_t _moisturechange_length_1
|
|
258
|
+
@cython.final
|
|
259
|
+
cdef class AideSequences:
|
|
260
|
+
cdef public double[:] initialsurfacewater
|
|
261
|
+
cdef public numpy.int64_t _initialsurfacewater_ndim
|
|
262
|
+
cdef public numpy.int64_t _initialsurfacewater_length
|
|
263
|
+
cdef public numpy.int64_t _initialsurfacewater_length_0
|
|
264
|
+
cdef public double[:] actualsurfacewater
|
|
265
|
+
cdef public numpy.int64_t _actualsurfacewater_ndim
|
|
266
|
+
cdef public numpy.int64_t _actualsurfacewater_length
|
|
267
|
+
cdef public numpy.int64_t _actualsurfacewater_length_0
|
|
268
|
+
@cython.final
|
|
269
|
+
cdef class Model:
|
|
270
|
+
cdef public numpy.int64_t idx_sim
|
|
271
|
+
cdef public Parameters parameters
|
|
272
|
+
cdef public Sequences sequences
|
|
273
|
+
cpdef inline void simulate(self, numpy.int64_t idx) noexcept nogil
|
|
274
|
+
cpdef void reset_reuseflags(self) noexcept nogil
|
|
275
|
+
cpdef void load_data(self, numpy.int64_t idx) noexcept nogil
|
|
276
|
+
cpdef void save_data(self, numpy.int64_t idx) noexcept nogil
|
|
277
|
+
cpdef void new2old(self) noexcept nogil
|
|
278
|
+
cpdef inline void run(self) noexcept nogil
|
|
279
|
+
cpdef inline void update_inlets(self) noexcept nogil
|
|
280
|
+
cpdef inline void update_outlets(self) noexcept nogil
|
|
281
|
+
cpdef inline void update_receivers(self, numpy.int64_t idx) noexcept nogil
|
|
282
|
+
cpdef inline void update_senders(self, numpy.int64_t idx) noexcept nogil
|
|
283
|
+
cpdef inline void update_outputs(self) noexcept nogil
|
|
284
|
+
cpdef inline void calc_surfacewatersupply_v1(self) noexcept nogil
|
|
285
|
+
cpdef inline void calc_soilwatersupply_v1(self) noexcept nogil
|
|
286
|
+
cpdef inline void calc_demand_v1(self) noexcept nogil
|
|
287
|
+
cpdef inline void perform_garto_v1(self) noexcept nogil
|
|
288
|
+
cpdef inline void calc_totalinfiltration_v1(self) noexcept nogil
|
|
289
|
+
cpdef inline void calc_totalpercolation_v1(self) noexcept nogil
|
|
290
|
+
cpdef inline void calc_totalsoilwateraddition_v1(self) noexcept nogil
|
|
291
|
+
cpdef inline void calc_totalwithdrawal_v1(self) noexcept nogil
|
|
292
|
+
cpdef inline void calc_totalsurfacerunoff_v1(self) noexcept nogil
|
|
293
|
+
cpdef void set_initialsurfacewater_v1(self, numpy.int64_t s, double v) noexcept nogil
|
|
294
|
+
cpdef void set_actualsurfacewater_v1(self, numpy.int64_t s, double v) noexcept nogil
|
|
295
|
+
cpdef void set_soilwatersupply_v1(self, numpy.int64_t s, double v) noexcept nogil
|
|
296
|
+
cpdef void set_soilwaterdemand_v1(self, numpy.int64_t s, double v) noexcept nogil
|
|
297
|
+
cpdef void execute_infiltration_v1(self, numpy.int64_t s) noexcept nogil
|
|
298
|
+
cpdef void add_soilwater_v1(self, numpy.int64_t s) noexcept nogil
|
|
299
|
+
cpdef void remove_soilwater_v1(self, numpy.int64_t s) noexcept nogil
|
|
300
|
+
cpdef double get_infiltration_v1(self, numpy.int64_t s) noexcept nogil
|
|
301
|
+
cpdef double get_percolation_v1(self, numpy.int64_t s) noexcept nogil
|
|
302
|
+
cpdef double get_soilwateraddition_v1(self, numpy.int64_t s) noexcept nogil
|
|
303
|
+
cpdef double get_soilwaterremoval_v1(self, numpy.int64_t s) noexcept nogil
|
|
304
|
+
cpdef double get_soilwatercontent_v1(self, numpy.int64_t s) noexcept nogil
|
|
305
|
+
cpdef inline double return_relativemoisture_v1(self, numpy.int64_t b, numpy.int64_t s) noexcept nogil
|
|
306
|
+
cpdef inline double return_conductivity_v1(self, numpy.int64_t b, numpy.int64_t s) noexcept nogil
|
|
307
|
+
cpdef inline double return_capillarydrive_v1(self, numpy.int64_t b1, numpy.int64_t b2, numpy.int64_t s) noexcept nogil
|
|
308
|
+
cpdef inline double return_drydepth_v1(self, numpy.int64_t s) noexcept nogil
|
|
309
|
+
cpdef inline numpy.int64_t return_lastactivebin_v1(self, numpy.int64_t s) noexcept nogil
|
|
310
|
+
cpdef inline void active_bin_v1(self, numpy.int64_t b, numpy.int64_t s) noexcept nogil
|
|
311
|
+
cpdef inline void percolate_filledbin_v1(self, numpy.int64_t s) noexcept nogil
|
|
312
|
+
cpdef inline void shift_front_v1(self, numpy.int64_t b, numpy.int64_t s) noexcept nogil
|
|
313
|
+
cpdef inline void redistribute_front_v1(self, numpy.int64_t b, numpy.int64_t s) noexcept nogil
|
|
314
|
+
cpdef inline void infiltrate_wettingfrontbins_v1(self, numpy.int64_t s) noexcept nogil
|
|
315
|
+
cpdef inline void merge_frontdepthovershootings_v1(self, numpy.int64_t s) noexcept nogil
|
|
316
|
+
cpdef inline void merge_soildepthovershootings_v1(self, numpy.int64_t s) noexcept nogil
|
|
317
|
+
cpdef inline void water_allbins_v1(self, numpy.int64_t s, double supply) noexcept nogil
|
|
318
|
+
cpdef inline void withdraw_allbins_v1(self, numpy.int64_t s, double demand) noexcept nogil
|
|
319
|
+
cpdef inline void calc_surfacewatersupply(self) noexcept nogil
|
|
320
|
+
cpdef inline void calc_soilwatersupply(self) noexcept nogil
|
|
321
|
+
cpdef inline void calc_demand(self) noexcept nogil
|
|
322
|
+
cpdef inline void perform_garto(self) noexcept nogil
|
|
323
|
+
cpdef inline void calc_totalinfiltration(self) noexcept nogil
|
|
324
|
+
cpdef inline void calc_totalpercolation(self) noexcept nogil
|
|
325
|
+
cpdef inline void calc_totalsoilwateraddition(self) noexcept nogil
|
|
326
|
+
cpdef inline void calc_totalwithdrawal(self) noexcept nogil
|
|
327
|
+
cpdef inline void calc_totalsurfacerunoff(self) noexcept nogil
|
|
328
|
+
cpdef void set_initialsurfacewater(self, numpy.int64_t s, double v) noexcept nogil
|
|
329
|
+
cpdef void set_actualsurfacewater(self, numpy.int64_t s, double v) noexcept nogil
|
|
330
|
+
cpdef void set_soilwatersupply(self, numpy.int64_t s, double v) noexcept nogil
|
|
331
|
+
cpdef void set_soilwaterdemand(self, numpy.int64_t s, double v) noexcept nogil
|
|
332
|
+
cpdef void execute_infiltration(self, numpy.int64_t s) noexcept nogil
|
|
333
|
+
cpdef void add_soilwater(self, numpy.int64_t s) noexcept nogil
|
|
334
|
+
cpdef void remove_soilwater(self, numpy.int64_t s) noexcept nogil
|
|
335
|
+
cpdef double get_infiltration(self, numpy.int64_t s) noexcept nogil
|
|
336
|
+
cpdef double get_percolation(self, numpy.int64_t s) noexcept nogil
|
|
337
|
+
cpdef double get_soilwateraddition(self, numpy.int64_t s) noexcept nogil
|
|
338
|
+
cpdef double get_soilwaterremoval(self, numpy.int64_t s) noexcept nogil
|
|
339
|
+
cpdef double get_soilwatercontent(self, numpy.int64_t s) noexcept nogil
|
|
340
|
+
cpdef inline double return_relativemoisture(self, numpy.int64_t b, numpy.int64_t s) noexcept nogil
|
|
341
|
+
cpdef inline double return_conductivity(self, numpy.int64_t b, numpy.int64_t s) noexcept nogil
|
|
342
|
+
cpdef inline double return_capillarydrive(self, numpy.int64_t b1, numpy.int64_t b2, numpy.int64_t s) noexcept nogil
|
|
343
|
+
cpdef inline double return_drydepth(self, numpy.int64_t s) noexcept nogil
|
|
344
|
+
cpdef inline numpy.int64_t return_lastactivebin(self, numpy.int64_t s) noexcept nogil
|
|
345
|
+
cpdef inline void active_bin(self, numpy.int64_t b, numpy.int64_t s) noexcept nogil
|
|
346
|
+
cpdef inline void percolate_filledbin(self, numpy.int64_t s) noexcept nogil
|
|
347
|
+
cpdef inline void shift_front(self, numpy.int64_t b, numpy.int64_t s) noexcept nogil
|
|
348
|
+
cpdef inline void redistribute_front(self, numpy.int64_t b, numpy.int64_t s) noexcept nogil
|
|
349
|
+
cpdef inline void infiltrate_wettingfrontbins(self, numpy.int64_t s) noexcept nogil
|
|
350
|
+
cpdef inline void merge_frontdepthovershootings(self, numpy.int64_t s) noexcept nogil
|
|
351
|
+
cpdef inline void merge_soildepthovershootings(self, numpy.int64_t s) noexcept nogil
|
|
352
|
+
cpdef inline void water_allbins(self, numpy.int64_t s, double supply) noexcept nogil
|
|
353
|
+
cpdef inline void withdraw_allbins(self, numpy.int64_t s, double demand) noexcept nogil
|