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
|
Binary file
|
|
@@ -0,0 +1,151 @@
|
|
|
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 Sequences:
|
|
33
|
+
cdef public InletSequences inlets
|
|
34
|
+
cdef public InputSequences inputs
|
|
35
|
+
cdef public FluxSequences fluxes
|
|
36
|
+
cdef public OutletSequences outlets
|
|
37
|
+
@cython.final
|
|
38
|
+
cdef class InletSequences:
|
|
39
|
+
cdef double **q
|
|
40
|
+
cdef public numpy.int64_t len_q
|
|
41
|
+
cdef public numpy.int64_t[:] _q_ready
|
|
42
|
+
cdef public numpy.int64_t _q_ndim
|
|
43
|
+
cdef public numpy.int64_t _q_length
|
|
44
|
+
cdef public numpy.int64_t _q_length_0
|
|
45
|
+
cpdef inline alloc(self, name, numpy.int64_t length)
|
|
46
|
+
cpdef inline dealloc(self, name)
|
|
47
|
+
cpdef inline set_pointer1d(self, str name, pointerutils.Double value, numpy.int64_t idx)
|
|
48
|
+
cpdef get_value(self, str name)
|
|
49
|
+
cpdef set_value(self, str name, value)
|
|
50
|
+
@cython.final
|
|
51
|
+
cdef class InputSequences:
|
|
52
|
+
cdef public double[:] interceptedwater
|
|
53
|
+
cdef public numpy.int64_t _interceptedwater_ndim
|
|
54
|
+
cdef public numpy.int64_t _interceptedwater_length
|
|
55
|
+
cdef public numpy.int64_t _interceptedwater_length_0
|
|
56
|
+
cdef public bint _interceptedwater_ramflag
|
|
57
|
+
cdef public double[:,:] _interceptedwater_array
|
|
58
|
+
cdef public bint _interceptedwater_diskflag_reading
|
|
59
|
+
cdef public bint _interceptedwater_diskflag_writing
|
|
60
|
+
cdef public double[:] _interceptedwater_ncarray
|
|
61
|
+
cdef public double[:] soilwater
|
|
62
|
+
cdef public numpy.int64_t _soilwater_ndim
|
|
63
|
+
cdef public numpy.int64_t _soilwater_length
|
|
64
|
+
cdef public numpy.int64_t _soilwater_length_0
|
|
65
|
+
cdef public bint _soilwater_ramflag
|
|
66
|
+
cdef public double[:,:] _soilwater_array
|
|
67
|
+
cdef public bint _soilwater_diskflag_reading
|
|
68
|
+
cdef public bint _soilwater_diskflag_writing
|
|
69
|
+
cdef public double[:] _soilwater_ncarray
|
|
70
|
+
cdef public double[:] snowcover
|
|
71
|
+
cdef public numpy.int64_t _snowcover_ndim
|
|
72
|
+
cdef public numpy.int64_t _snowcover_length
|
|
73
|
+
cdef public numpy.int64_t _snowcover_length_0
|
|
74
|
+
cdef public bint _snowcover_ramflag
|
|
75
|
+
cdef public double[:,:] _snowcover_array
|
|
76
|
+
cdef public bint _snowcover_diskflag_reading
|
|
77
|
+
cdef public bint _snowcover_diskflag_writing
|
|
78
|
+
cdef public double[:] _snowcover_ncarray
|
|
79
|
+
cdef public double[:] snowycanopy
|
|
80
|
+
cdef public numpy.int64_t _snowycanopy_ndim
|
|
81
|
+
cdef public numpy.int64_t _snowycanopy_length
|
|
82
|
+
cdef public numpy.int64_t _snowycanopy_length_0
|
|
83
|
+
cdef public bint _snowycanopy_ramflag
|
|
84
|
+
cdef public double[:,:] _snowycanopy_array
|
|
85
|
+
cdef public bint _snowycanopy_diskflag_reading
|
|
86
|
+
cdef public bint _snowycanopy_diskflag_writing
|
|
87
|
+
cdef public double[:] _snowycanopy_ncarray
|
|
88
|
+
cdef public double[:] snowalbedo
|
|
89
|
+
cdef public numpy.int64_t _snowalbedo_ndim
|
|
90
|
+
cdef public numpy.int64_t _snowalbedo_length
|
|
91
|
+
cdef public numpy.int64_t _snowalbedo_length_0
|
|
92
|
+
cdef public bint _snowalbedo_ramflag
|
|
93
|
+
cdef public double[:,:] _snowalbedo_array
|
|
94
|
+
cdef public bint _snowalbedo_diskflag_reading
|
|
95
|
+
cdef public bint _snowalbedo_diskflag_writing
|
|
96
|
+
cdef public double[:] _snowalbedo_ncarray
|
|
97
|
+
cpdef inline void load_data(self, numpy.int64_t idx) noexcept nogil
|
|
98
|
+
cpdef inline void save_data(self, numpy.int64_t idx) noexcept nogil
|
|
99
|
+
cpdef inline set_pointerinput(self, str name, pointerutils.PDouble value)
|
|
100
|
+
@cython.final
|
|
101
|
+
cdef class FluxSequences:
|
|
102
|
+
cdef public double q
|
|
103
|
+
cdef public numpy.int64_t _q_ndim
|
|
104
|
+
cdef public numpy.int64_t _q_length
|
|
105
|
+
cdef public bint _q_ramflag
|
|
106
|
+
cdef public double[:] _q_array
|
|
107
|
+
cdef public bint _q_diskflag_reading
|
|
108
|
+
cdef public bint _q_diskflag_writing
|
|
109
|
+
cdef public double[:] _q_ncarray
|
|
110
|
+
cdef public bint _q_outputflag
|
|
111
|
+
cdef double *_q_outputpointer
|
|
112
|
+
cpdef inline void load_data(self, numpy.int64_t idx) noexcept nogil
|
|
113
|
+
cpdef inline void save_data(self, numpy.int64_t idx) noexcept nogil
|
|
114
|
+
cpdef inline set_pointeroutput(self, str name, pointerutils.PDouble value)
|
|
115
|
+
cpdef inline void update_outputs(self) noexcept nogil
|
|
116
|
+
@cython.final
|
|
117
|
+
cdef class OutletSequences:
|
|
118
|
+
cdef double *q
|
|
119
|
+
cdef public numpy.int64_t _q_ndim
|
|
120
|
+
cdef public numpy.int64_t _q_length
|
|
121
|
+
cpdef inline set_pointer0d(self, str name, pointerutils.Double value)
|
|
122
|
+
cpdef get_value(self, str name)
|
|
123
|
+
cpdef set_value(self, str name, value)
|
|
124
|
+
@cython.final
|
|
125
|
+
cdef class Model:
|
|
126
|
+
cdef public numpy.int64_t idx_sim
|
|
127
|
+
cdef public Sequences sequences
|
|
128
|
+
cpdef inline void simulate(self, numpy.int64_t idx) noexcept nogil
|
|
129
|
+
cpdef void reset_reuseflags(self) noexcept nogil
|
|
130
|
+
cpdef void load_data(self, numpy.int64_t idx) noexcept nogil
|
|
131
|
+
cpdef void save_data(self, numpy.int64_t idx) noexcept nogil
|
|
132
|
+
cpdef inline void run(self) noexcept nogil
|
|
133
|
+
cpdef inline void update_inlets(self) noexcept nogil
|
|
134
|
+
cpdef inline void update_outlets(self) noexcept nogil
|
|
135
|
+
cpdef inline void update_receivers(self, numpy.int64_t idx) noexcept nogil
|
|
136
|
+
cpdef inline void update_senders(self, numpy.int64_t idx) noexcept nogil
|
|
137
|
+
cpdef inline void update_outputs(self) noexcept nogil
|
|
138
|
+
cpdef inline void pick_q_v1(self) noexcept nogil
|
|
139
|
+
cpdef double get_interceptedwater_v1(self, numpy.int64_t k) noexcept nogil
|
|
140
|
+
cpdef double get_soilwater_v1(self, numpy.int64_t k) noexcept nogil
|
|
141
|
+
cpdef double get_snowcover_v1(self, numpy.int64_t k) noexcept nogil
|
|
142
|
+
cpdef double get_snowycanopy_v1(self, numpy.int64_t k) noexcept nogil
|
|
143
|
+
cpdef double get_snowalbedo_v1(self, numpy.int64_t k) noexcept nogil
|
|
144
|
+
cpdef inline void pass_q_v1(self) noexcept nogil
|
|
145
|
+
cpdef inline void pick_q(self) noexcept nogil
|
|
146
|
+
cpdef double get_interceptedwater(self, numpy.int64_t k) noexcept nogil
|
|
147
|
+
cpdef double get_soilwater(self, numpy.int64_t k) noexcept nogil
|
|
148
|
+
cpdef double get_snowcover(self, numpy.int64_t k) noexcept nogil
|
|
149
|
+
cpdef double get_snowycanopy(self, numpy.int64_t k) noexcept nogil
|
|
150
|
+
cpdef double get_snowalbedo(self, numpy.int64_t k) noexcept nogil
|
|
151
|
+
cpdef inline void pass_q(self) noexcept nogil
|
|
@@ -0,0 +1,263 @@
|
|
|
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 Sequences:
|
|
40
|
+
pass
|
|
41
|
+
@cython.final
|
|
42
|
+
cdef class InletSequences:
|
|
43
|
+
cpdef inline alloc(self, name, numpy.int64_t length):
|
|
44
|
+
if name == "q":
|
|
45
|
+
self._q_length_0 = length
|
|
46
|
+
self._q_ready = numpy.full(length, 0, dtype=numpy.int64)
|
|
47
|
+
self.q = <double**> PyMem_Malloc(length * sizeof(double*))
|
|
48
|
+
cpdef inline dealloc(self, name):
|
|
49
|
+
if name == "q":
|
|
50
|
+
PyMem_Free(self.q)
|
|
51
|
+
cpdef inline set_pointer1d(self, str name, pointerutils.Double value, numpy.int64_t idx):
|
|
52
|
+
cdef pointerutils.PDouble pointer = pointerutils.PDouble(value)
|
|
53
|
+
if name == "q":
|
|
54
|
+
self.q[idx] = pointer.p_value
|
|
55
|
+
self._q_ready[idx] = 1
|
|
56
|
+
cpdef get_value(self, str name):
|
|
57
|
+
cdef numpy.int64_t idx
|
|
58
|
+
if name == "q":
|
|
59
|
+
values = numpy.empty(self.len_q)
|
|
60
|
+
for idx in range(self.len_q):
|
|
61
|
+
pointerutils.check0(self._q_length_0)
|
|
62
|
+
if self._q_ready[idx] == 0:
|
|
63
|
+
pointerutils.check1(self._q_length_0, idx)
|
|
64
|
+
pointerutils.check2(self._q_ready, idx)
|
|
65
|
+
values[idx] = self.q[idx][0]
|
|
66
|
+
return values
|
|
67
|
+
cpdef set_value(self, str name, value):
|
|
68
|
+
if name == "q":
|
|
69
|
+
for idx in range(self.len_q):
|
|
70
|
+
pointerutils.check0(self._q_length_0)
|
|
71
|
+
if self._q_ready[idx] == 0:
|
|
72
|
+
pointerutils.check1(self._q_length_0, idx)
|
|
73
|
+
pointerutils.check2(self._q_ready, idx)
|
|
74
|
+
self.q[idx][0] = value[idx]
|
|
75
|
+
@cython.final
|
|
76
|
+
cdef class InputSequences:
|
|
77
|
+
cpdef inline void load_data(self, numpy.int64_t idx) noexcept nogil:
|
|
78
|
+
cdef numpy.int64_t jdx0
|
|
79
|
+
cdef numpy.int64_t k
|
|
80
|
+
if self._interceptedwater_diskflag_reading:
|
|
81
|
+
k = 0
|
|
82
|
+
for jdx0 in range(self._interceptedwater_length_0):
|
|
83
|
+
self.interceptedwater[jdx0] = self._interceptedwater_ncarray[k]
|
|
84
|
+
k += 1
|
|
85
|
+
elif self._interceptedwater_ramflag:
|
|
86
|
+
for jdx0 in range(self._interceptedwater_length_0):
|
|
87
|
+
self.interceptedwater[jdx0] = self._interceptedwater_array[idx, jdx0]
|
|
88
|
+
if self._soilwater_diskflag_reading:
|
|
89
|
+
k = 0
|
|
90
|
+
for jdx0 in range(self._soilwater_length_0):
|
|
91
|
+
self.soilwater[jdx0] = self._soilwater_ncarray[k]
|
|
92
|
+
k += 1
|
|
93
|
+
elif self._soilwater_ramflag:
|
|
94
|
+
for jdx0 in range(self._soilwater_length_0):
|
|
95
|
+
self.soilwater[jdx0] = self._soilwater_array[idx, jdx0]
|
|
96
|
+
if self._snowcover_diskflag_reading:
|
|
97
|
+
k = 0
|
|
98
|
+
for jdx0 in range(self._snowcover_length_0):
|
|
99
|
+
self.snowcover[jdx0] = self._snowcover_ncarray[k]
|
|
100
|
+
k += 1
|
|
101
|
+
elif self._snowcover_ramflag:
|
|
102
|
+
for jdx0 in range(self._snowcover_length_0):
|
|
103
|
+
self.snowcover[jdx0] = self._snowcover_array[idx, jdx0]
|
|
104
|
+
if self._snowycanopy_diskflag_reading:
|
|
105
|
+
k = 0
|
|
106
|
+
for jdx0 in range(self._snowycanopy_length_0):
|
|
107
|
+
self.snowycanopy[jdx0] = self._snowycanopy_ncarray[k]
|
|
108
|
+
k += 1
|
|
109
|
+
elif self._snowycanopy_ramflag:
|
|
110
|
+
for jdx0 in range(self._snowycanopy_length_0):
|
|
111
|
+
self.snowycanopy[jdx0] = self._snowycanopy_array[idx, jdx0]
|
|
112
|
+
if self._snowalbedo_diskflag_reading:
|
|
113
|
+
k = 0
|
|
114
|
+
for jdx0 in range(self._snowalbedo_length_0):
|
|
115
|
+
self.snowalbedo[jdx0] = self._snowalbedo_ncarray[k]
|
|
116
|
+
k += 1
|
|
117
|
+
elif self._snowalbedo_ramflag:
|
|
118
|
+
for jdx0 in range(self._snowalbedo_length_0):
|
|
119
|
+
self.snowalbedo[jdx0] = self._snowalbedo_array[idx, jdx0]
|
|
120
|
+
cpdef inline void save_data(self, numpy.int64_t idx) noexcept nogil:
|
|
121
|
+
cdef numpy.int64_t jdx0
|
|
122
|
+
cdef numpy.int64_t k
|
|
123
|
+
if self._interceptedwater_diskflag_writing:
|
|
124
|
+
k = 0
|
|
125
|
+
for jdx0 in range(self._interceptedwater_length_0):
|
|
126
|
+
self._interceptedwater_ncarray[k] = self.interceptedwater[jdx0]
|
|
127
|
+
k += 1
|
|
128
|
+
if self._interceptedwater_ramflag:
|
|
129
|
+
for jdx0 in range(self._interceptedwater_length_0):
|
|
130
|
+
self._interceptedwater_array[idx, jdx0] = self.interceptedwater[jdx0]
|
|
131
|
+
if self._soilwater_diskflag_writing:
|
|
132
|
+
k = 0
|
|
133
|
+
for jdx0 in range(self._soilwater_length_0):
|
|
134
|
+
self._soilwater_ncarray[k] = self.soilwater[jdx0]
|
|
135
|
+
k += 1
|
|
136
|
+
if self._soilwater_ramflag:
|
|
137
|
+
for jdx0 in range(self._soilwater_length_0):
|
|
138
|
+
self._soilwater_array[idx, jdx0] = self.soilwater[jdx0]
|
|
139
|
+
if self._snowcover_diskflag_writing:
|
|
140
|
+
k = 0
|
|
141
|
+
for jdx0 in range(self._snowcover_length_0):
|
|
142
|
+
self._snowcover_ncarray[k] = self.snowcover[jdx0]
|
|
143
|
+
k += 1
|
|
144
|
+
if self._snowcover_ramflag:
|
|
145
|
+
for jdx0 in range(self._snowcover_length_0):
|
|
146
|
+
self._snowcover_array[idx, jdx0] = self.snowcover[jdx0]
|
|
147
|
+
if self._snowycanopy_diskflag_writing:
|
|
148
|
+
k = 0
|
|
149
|
+
for jdx0 in range(self._snowycanopy_length_0):
|
|
150
|
+
self._snowycanopy_ncarray[k] = self.snowycanopy[jdx0]
|
|
151
|
+
k += 1
|
|
152
|
+
if self._snowycanopy_ramflag:
|
|
153
|
+
for jdx0 in range(self._snowycanopy_length_0):
|
|
154
|
+
self._snowycanopy_array[idx, jdx0] = self.snowycanopy[jdx0]
|
|
155
|
+
if self._snowalbedo_diskflag_writing:
|
|
156
|
+
k = 0
|
|
157
|
+
for jdx0 in range(self._snowalbedo_length_0):
|
|
158
|
+
self._snowalbedo_ncarray[k] = self.snowalbedo[jdx0]
|
|
159
|
+
k += 1
|
|
160
|
+
if self._snowalbedo_ramflag:
|
|
161
|
+
for jdx0 in range(self._snowalbedo_length_0):
|
|
162
|
+
self._snowalbedo_array[idx, jdx0] = self.snowalbedo[jdx0]
|
|
163
|
+
cpdef inline set_pointerinput(self, str name, pointerutils.PDouble value):
|
|
164
|
+
pass
|
|
165
|
+
@cython.final
|
|
166
|
+
cdef class FluxSequences:
|
|
167
|
+
cpdef inline void load_data(self, numpy.int64_t idx) noexcept nogil:
|
|
168
|
+
cdef numpy.int64_t k
|
|
169
|
+
if self._q_diskflag_reading:
|
|
170
|
+
self.q = self._q_ncarray[0]
|
|
171
|
+
elif self._q_ramflag:
|
|
172
|
+
self.q = self._q_array[idx]
|
|
173
|
+
cpdef inline void save_data(self, numpy.int64_t idx) noexcept nogil:
|
|
174
|
+
cdef numpy.int64_t k
|
|
175
|
+
if self._q_diskflag_writing:
|
|
176
|
+
self._q_ncarray[0] = self.q
|
|
177
|
+
if self._q_ramflag:
|
|
178
|
+
self._q_array[idx] = self.q
|
|
179
|
+
cpdef inline set_pointeroutput(self, str name, pointerutils.PDouble value):
|
|
180
|
+
if name == "q":
|
|
181
|
+
self._q_outputpointer = value.p_value
|
|
182
|
+
cpdef inline void update_outputs(self) noexcept nogil:
|
|
183
|
+
if self._q_outputflag:
|
|
184
|
+
self._q_outputpointer[0] = self.q
|
|
185
|
+
@cython.final
|
|
186
|
+
cdef class OutletSequences:
|
|
187
|
+
cpdef inline set_pointer0d(self, str name, pointerutils.Double value):
|
|
188
|
+
cdef pointerutils.PDouble pointer = pointerutils.PDouble(value)
|
|
189
|
+
if name == "q":
|
|
190
|
+
self.q = pointer.p_value
|
|
191
|
+
cpdef get_value(self, str name):
|
|
192
|
+
cdef numpy.int64_t idx
|
|
193
|
+
if name == "q":
|
|
194
|
+
return self.q[0]
|
|
195
|
+
cpdef set_value(self, str name, value):
|
|
196
|
+
if name == "q":
|
|
197
|
+
self.q[0] = value
|
|
198
|
+
@cython.final
|
|
199
|
+
cdef class Model:
|
|
200
|
+
cpdef inline void simulate(self, numpy.int64_t idx) noexcept nogil:
|
|
201
|
+
self.idx_sim = idx
|
|
202
|
+
self.load_data(idx)
|
|
203
|
+
self.update_inlets()
|
|
204
|
+
self.run()
|
|
205
|
+
self.update_outlets()
|
|
206
|
+
self.update_outputs()
|
|
207
|
+
cpdef void reset_reuseflags(self) noexcept nogil:
|
|
208
|
+
pass
|
|
209
|
+
cpdef void load_data(self, numpy.int64_t idx) noexcept nogil:
|
|
210
|
+
self.idx_sim = idx
|
|
211
|
+
self.sequences.inputs.load_data(idx)
|
|
212
|
+
cpdef void save_data(self, numpy.int64_t idx) noexcept nogil:
|
|
213
|
+
self.idx_sim = idx
|
|
214
|
+
self.sequences.inputs.save_data(idx)
|
|
215
|
+
self.sequences.fluxes.save_data(idx)
|
|
216
|
+
cpdef inline void run(self) noexcept nogil:
|
|
217
|
+
pass
|
|
218
|
+
cpdef inline void update_inlets(self) noexcept nogil:
|
|
219
|
+
self.pick_q_v1()
|
|
220
|
+
cpdef inline void update_outlets(self) noexcept nogil:
|
|
221
|
+
self.pass_q_v1()
|
|
222
|
+
cpdef inline void update_receivers(self, numpy.int64_t idx) noexcept nogil:
|
|
223
|
+
self.idx_sim = idx
|
|
224
|
+
pass
|
|
225
|
+
cpdef inline void update_senders(self, numpy.int64_t idx) noexcept nogil:
|
|
226
|
+
self.idx_sim = idx
|
|
227
|
+
pass
|
|
228
|
+
cpdef inline void update_outputs(self) noexcept nogil:
|
|
229
|
+
self.sequences.fluxes.update_outputs()
|
|
230
|
+
cpdef inline void pick_q_v1(self) noexcept nogil:
|
|
231
|
+
cdef numpy.int64_t idx
|
|
232
|
+
self.sequences.fluxes.q = 0.0
|
|
233
|
+
for idx in range(self.sequences.inlets.len_q):
|
|
234
|
+
self.sequences.fluxes.q = self.sequences.fluxes.q + (self.sequences.inlets.q[idx][0])
|
|
235
|
+
cpdef double get_interceptedwater_v1(self, numpy.int64_t k) noexcept nogil:
|
|
236
|
+
return self.sequences.inputs.interceptedwater[k]
|
|
237
|
+
cpdef double get_soilwater_v1(self, numpy.int64_t k) noexcept nogil:
|
|
238
|
+
return self.sequences.inputs.soilwater[k]
|
|
239
|
+
cpdef double get_snowcover_v1(self, numpy.int64_t k) noexcept nogil:
|
|
240
|
+
return self.sequences.inputs.snowcover[k]
|
|
241
|
+
cpdef double get_snowycanopy_v1(self, numpy.int64_t k) noexcept nogil:
|
|
242
|
+
return self.sequences.inputs.snowycanopy[k]
|
|
243
|
+
cpdef double get_snowalbedo_v1(self, numpy.int64_t k) noexcept nogil:
|
|
244
|
+
return self.sequences.inputs.snowalbedo[k]
|
|
245
|
+
cpdef inline void pass_q_v1(self) noexcept nogil:
|
|
246
|
+
self.sequences.outlets.q[0] = self.sequences.outlets.q[0] + (self.sequences.fluxes.q)
|
|
247
|
+
cpdef inline void pick_q(self) noexcept nogil:
|
|
248
|
+
cdef numpy.int64_t idx
|
|
249
|
+
self.sequences.fluxes.q = 0.0
|
|
250
|
+
for idx in range(self.sequences.inlets.len_q):
|
|
251
|
+
self.sequences.fluxes.q = self.sequences.fluxes.q + (self.sequences.inlets.q[idx][0])
|
|
252
|
+
cpdef double get_interceptedwater(self, numpy.int64_t k) noexcept nogil:
|
|
253
|
+
return self.sequences.inputs.interceptedwater[k]
|
|
254
|
+
cpdef double get_soilwater(self, numpy.int64_t k) noexcept nogil:
|
|
255
|
+
return self.sequences.inputs.soilwater[k]
|
|
256
|
+
cpdef double get_snowcover(self, numpy.int64_t k) noexcept nogil:
|
|
257
|
+
return self.sequences.inputs.snowcover[k]
|
|
258
|
+
cpdef double get_snowycanopy(self, numpy.int64_t k) noexcept nogil:
|
|
259
|
+
return self.sequences.inputs.snowycanopy[k]
|
|
260
|
+
cpdef double get_snowalbedo(self, numpy.int64_t k) noexcept nogil:
|
|
261
|
+
return self.sequences.inputs.snowalbedo[k]
|
|
262
|
+
cpdef inline void pass_q(self) noexcept nogil:
|
|
263
|
+
self.sequences.outlets.q[0] = self.sequences.outlets.q[0] + (self.sequences.fluxes.q)
|
|
Binary file
|
|
@@ -0,0 +1,69 @@
|
|
|
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
|
+
@cython.final
|
|
35
|
+
cdef class ControlParameters:
|
|
36
|
+
cdef public numpy.int64_t nmbzones
|
|
37
|
+
@cython.final
|
|
38
|
+
cdef class Sequences:
|
|
39
|
+
cdef public InputSequences inputs
|
|
40
|
+
@cython.final
|
|
41
|
+
cdef class InputSequences:
|
|
42
|
+
cdef public double[:] interceptedwater
|
|
43
|
+
cdef public numpy.int64_t _interceptedwater_ndim
|
|
44
|
+
cdef public numpy.int64_t _interceptedwater_length
|
|
45
|
+
cdef public numpy.int64_t _interceptedwater_length_0
|
|
46
|
+
cdef public bint _interceptedwater_ramflag
|
|
47
|
+
cdef public double[:,:] _interceptedwater_array
|
|
48
|
+
cdef public bint _interceptedwater_diskflag_reading
|
|
49
|
+
cdef public bint _interceptedwater_diskflag_writing
|
|
50
|
+
cdef public double[:] _interceptedwater_ncarray
|
|
51
|
+
cpdef inline void load_data(self, numpy.int64_t idx) noexcept nogil
|
|
52
|
+
cpdef inline void save_data(self, numpy.int64_t idx) noexcept nogil
|
|
53
|
+
cpdef inline set_pointerinput(self, str name, pointerutils.PDouble value)
|
|
54
|
+
@cython.final
|
|
55
|
+
cdef class Model(masterinterface.MasterInterface):
|
|
56
|
+
cdef public Parameters parameters
|
|
57
|
+
cdef public Sequences sequences
|
|
58
|
+
cpdef inline void simulate(self, numpy.int64_t idx) noexcept nogil
|
|
59
|
+
cpdef void reset_reuseflags(self) noexcept nogil
|
|
60
|
+
cpdef void load_data(self, numpy.int64_t idx) noexcept nogil
|
|
61
|
+
cpdef void save_data(self, numpy.int64_t idx) noexcept nogil
|
|
62
|
+
cpdef inline void run(self) noexcept nogil
|
|
63
|
+
cpdef inline void update_inlets(self) noexcept nogil
|
|
64
|
+
cpdef inline void update_outlets(self) noexcept nogil
|
|
65
|
+
cpdef inline void update_receivers(self, numpy.int64_t idx) noexcept nogil
|
|
66
|
+
cpdef inline void update_senders(self, numpy.int64_t idx) noexcept nogil
|
|
67
|
+
cpdef inline void update_outputs(self) noexcept nogil
|
|
68
|
+
cpdef double get_interceptedwater_v1(self, numpy.int64_t k) noexcept nogil
|
|
69
|
+
cpdef double get_interceptedwater(self, numpy.int64_t k) noexcept nogil
|
|
@@ -0,0 +1,104 @@
|
|
|
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 InputSequences:
|
|
49
|
+
cpdef inline void load_data(self, numpy.int64_t idx) noexcept nogil:
|
|
50
|
+
cdef numpy.int64_t jdx0
|
|
51
|
+
cdef numpy.int64_t k
|
|
52
|
+
if self._interceptedwater_diskflag_reading:
|
|
53
|
+
k = 0
|
|
54
|
+
for jdx0 in range(self._interceptedwater_length_0):
|
|
55
|
+
self.interceptedwater[jdx0] = self._interceptedwater_ncarray[k]
|
|
56
|
+
k += 1
|
|
57
|
+
elif self._interceptedwater_ramflag:
|
|
58
|
+
for jdx0 in range(self._interceptedwater_length_0):
|
|
59
|
+
self.interceptedwater[jdx0] = self._interceptedwater_array[idx, jdx0]
|
|
60
|
+
cpdef inline void save_data(self, numpy.int64_t idx) noexcept nogil:
|
|
61
|
+
cdef numpy.int64_t jdx0
|
|
62
|
+
cdef numpy.int64_t k
|
|
63
|
+
if self._interceptedwater_diskflag_writing:
|
|
64
|
+
k = 0
|
|
65
|
+
for jdx0 in range(self._interceptedwater_length_0):
|
|
66
|
+
self._interceptedwater_ncarray[k] = self.interceptedwater[jdx0]
|
|
67
|
+
k += 1
|
|
68
|
+
if self._interceptedwater_ramflag:
|
|
69
|
+
for jdx0 in range(self._interceptedwater_length_0):
|
|
70
|
+
self._interceptedwater_array[idx, jdx0] = self.interceptedwater[jdx0]
|
|
71
|
+
cpdef inline set_pointerinput(self, str name, pointerutils.PDouble value):
|
|
72
|
+
pass
|
|
73
|
+
@cython.final
|
|
74
|
+
cdef class Model(masterinterface.MasterInterface):
|
|
75
|
+
cpdef inline void simulate(self, numpy.int64_t idx) noexcept nogil:
|
|
76
|
+
self.idx_sim = idx
|
|
77
|
+
self.load_data(idx)
|
|
78
|
+
self.run()
|
|
79
|
+
cpdef void reset_reuseflags(self) noexcept nogil:
|
|
80
|
+
pass
|
|
81
|
+
cpdef void load_data(self, numpy.int64_t idx) noexcept nogil:
|
|
82
|
+
self.idx_sim = idx
|
|
83
|
+
self.sequences.inputs.load_data(idx)
|
|
84
|
+
cpdef void save_data(self, numpy.int64_t idx) noexcept nogil:
|
|
85
|
+
self.idx_sim = idx
|
|
86
|
+
self.sequences.inputs.save_data(idx)
|
|
87
|
+
cpdef inline void run(self) noexcept nogil:
|
|
88
|
+
pass
|
|
89
|
+
cpdef inline void update_inlets(self) noexcept nogil:
|
|
90
|
+
pass
|
|
91
|
+
cpdef inline void update_outlets(self) noexcept nogil:
|
|
92
|
+
pass
|
|
93
|
+
cpdef inline void update_receivers(self, numpy.int64_t idx) noexcept nogil:
|
|
94
|
+
self.idx_sim = idx
|
|
95
|
+
pass
|
|
96
|
+
cpdef inline void update_senders(self, numpy.int64_t idx) noexcept nogil:
|
|
97
|
+
self.idx_sim = idx
|
|
98
|
+
pass
|
|
99
|
+
cpdef inline void update_outputs(self) noexcept nogil:
|
|
100
|
+
pass
|
|
101
|
+
cpdef double get_interceptedwater_v1(self, numpy.int64_t k) noexcept nogil:
|
|
102
|
+
return self.sequences.inputs.interceptedwater[k]
|
|
103
|
+
cpdef double get_interceptedwater(self, numpy.int64_t k) noexcept nogil:
|
|
104
|
+
return self.sequences.inputs.interceptedwater[k]
|
|
Binary file
|
|
@@ -0,0 +1,89 @@
|
|
|
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 Sequences:
|
|
33
|
+
cdef public InletSequences inlets
|
|
34
|
+
cdef public FluxSequences fluxes
|
|
35
|
+
cdef public OutletSequences outlets
|
|
36
|
+
@cython.final
|
|
37
|
+
cdef class InletSequences:
|
|
38
|
+
cdef double **q
|
|
39
|
+
cdef public numpy.int64_t len_q
|
|
40
|
+
cdef public numpy.int64_t[:] _q_ready
|
|
41
|
+
cdef public numpy.int64_t _q_ndim
|
|
42
|
+
cdef public numpy.int64_t _q_length
|
|
43
|
+
cdef public numpy.int64_t _q_length_0
|
|
44
|
+
cpdef inline alloc(self, name, numpy.int64_t length)
|
|
45
|
+
cpdef inline dealloc(self, name)
|
|
46
|
+
cpdef inline set_pointer1d(self, str name, pointerutils.Double value, numpy.int64_t idx)
|
|
47
|
+
cpdef get_value(self, str name)
|
|
48
|
+
cpdef set_value(self, str name, value)
|
|
49
|
+
@cython.final
|
|
50
|
+
cdef class FluxSequences:
|
|
51
|
+
cdef public double q
|
|
52
|
+
cdef public numpy.int64_t _q_ndim
|
|
53
|
+
cdef public numpy.int64_t _q_length
|
|
54
|
+
cdef public bint _q_ramflag
|
|
55
|
+
cdef public double[:] _q_array
|
|
56
|
+
cdef public bint _q_diskflag_reading
|
|
57
|
+
cdef public bint _q_diskflag_writing
|
|
58
|
+
cdef public double[:] _q_ncarray
|
|
59
|
+
cdef public bint _q_outputflag
|
|
60
|
+
cdef double *_q_outputpointer
|
|
61
|
+
cpdef inline void load_data(self, numpy.int64_t idx) noexcept nogil
|
|
62
|
+
cpdef inline void save_data(self, numpy.int64_t idx) noexcept nogil
|
|
63
|
+
cpdef inline set_pointeroutput(self, str name, pointerutils.PDouble value)
|
|
64
|
+
cpdef inline void update_outputs(self) noexcept nogil
|
|
65
|
+
@cython.final
|
|
66
|
+
cdef class OutletSequences:
|
|
67
|
+
cdef double *q
|
|
68
|
+
cdef public numpy.int64_t _q_ndim
|
|
69
|
+
cdef public numpy.int64_t _q_length
|
|
70
|
+
cpdef inline set_pointer0d(self, str name, pointerutils.Double value)
|
|
71
|
+
cpdef get_value(self, str name)
|
|
72
|
+
cpdef set_value(self, str name, value)
|
|
73
|
+
@cython.final
|
|
74
|
+
cdef class Model:
|
|
75
|
+
cdef public numpy.int64_t idx_sim
|
|
76
|
+
cdef public Sequences sequences
|
|
77
|
+
cpdef inline void simulate(self, numpy.int64_t idx) noexcept nogil
|
|
78
|
+
cpdef void reset_reuseflags(self) noexcept nogil
|
|
79
|
+
cpdef void save_data(self, numpy.int64_t idx) noexcept nogil
|
|
80
|
+
cpdef inline void run(self) noexcept nogil
|
|
81
|
+
cpdef inline void update_inlets(self) noexcept nogil
|
|
82
|
+
cpdef inline void update_outlets(self) noexcept nogil
|
|
83
|
+
cpdef inline void update_receivers(self, numpy.int64_t idx) noexcept nogil
|
|
84
|
+
cpdef inline void update_senders(self, numpy.int64_t idx) noexcept nogil
|
|
85
|
+
cpdef inline void update_outputs(self) noexcept nogil
|
|
86
|
+
cpdef inline void pick_q_v1(self) noexcept nogil
|
|
87
|
+
cpdef inline void pass_q_v1(self) noexcept nogil
|
|
88
|
+
cpdef inline void pick_q(self) noexcept nogil
|
|
89
|
+
cpdef inline void pass_q(self) noexcept nogil
|