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.
Files changed (890) hide show
  1. hydpy/__init__.py +275 -0
  2. hydpy/aliases.py +2554 -0
  3. hydpy/auxs/__init__.py +0 -0
  4. hydpy/auxs/anntools.py +1305 -0
  5. hydpy/auxs/armatools.py +883 -0
  6. hydpy/auxs/calibtools.py +3337 -0
  7. hydpy/auxs/interptools.py +1094 -0
  8. hydpy/auxs/iuhtools.py +543 -0
  9. hydpy/auxs/networktools.py +597 -0
  10. hydpy/auxs/ppolytools.py +809 -0
  11. hydpy/auxs/quadtools.py +61 -0
  12. hydpy/auxs/roottools.py +228 -0
  13. hydpy/auxs/smoothtools.py +273 -0
  14. hydpy/auxs/statstools.py +2125 -0
  15. hydpy/auxs/validtools.py +81 -0
  16. hydpy/conf/HydPyConfigBase.xsd +68637 -0
  17. hydpy/conf/HydPyConfigBase.xsdt +358 -0
  18. hydpy/conf/HydPyConfigMultipleRuns.xsd +25 -0
  19. hydpy/conf/HydPyConfigSingleRun.xsd +24 -0
  20. hydpy/conf/__init__.py +0 -0
  21. hydpy/conf/a_coefficients_explicit_lobatto_sequence.npy +0 -0
  22. hydpy/conf/support_points_for_smoothpar_logistic2.npy +0 -0
  23. hydpy/config.py +42 -0
  24. hydpy/core/__init__.py +0 -0
  25. hydpy/core/aliastools.py +214 -0
  26. hydpy/core/autodoctools.py +1947 -0
  27. hydpy/core/auxfiletools.py +1169 -0
  28. hydpy/core/devicetools.py +3810 -0
  29. hydpy/core/exceptiontools.py +269 -0
  30. hydpy/core/filetools.py +1985 -0
  31. hydpy/core/hydpytools.py +3089 -0
  32. hydpy/core/importtools.py +1398 -0
  33. hydpy/core/indextools.py +345 -0
  34. hydpy/core/itemtools.py +1849 -0
  35. hydpy/core/masktools.py +460 -0
  36. hydpy/core/modeltools.py +4868 -0
  37. hydpy/core/netcdftools.py +2683 -0
  38. hydpy/core/objecttools.py +2023 -0
  39. hydpy/core/optiontools.py +1045 -0
  40. hydpy/core/parametertools.py +4674 -0
  41. hydpy/core/printtools.py +222 -0
  42. hydpy/core/propertytools.py +643 -0
  43. hydpy/core/pubtools.py +254 -0
  44. hydpy/core/selectiontools.py +1571 -0
  45. hydpy/core/sequencetools.py +4476 -0
  46. hydpy/core/seriestools.py +339 -0
  47. hydpy/core/testtools.py +2483 -0
  48. hydpy/core/timetools.py +3567 -0
  49. hydpy/core/typingtools.py +333 -0
  50. hydpy/core/variabletools.py +2615 -0
  51. hydpy/cythons/__init__.py +24 -0
  52. hydpy/cythons/annutils.pxd +33 -0
  53. hydpy/cythons/annutils.pyi +25 -0
  54. hydpy/cythons/annutils.pyx +120 -0
  55. hydpy/cythons/autogen/__init__.py +0 -0
  56. hydpy/cythons/autogen/annutils.cp313-win_amd64.pyd +0 -0
  57. hydpy/cythons/autogen/annutils.pxd +42 -0
  58. hydpy/cythons/autogen/annutils.pyx +129 -0
  59. hydpy/cythons/autogen/c_arma.cp313-win_amd64.pyd +0 -0
  60. hydpy/cythons/autogen/c_arma.pxd +179 -0
  61. hydpy/cythons/autogen/c_arma.pyx +356 -0
  62. hydpy/cythons/autogen/c_arma_rimorido.cp313-win_amd64.pyd +0 -0
  63. hydpy/cythons/autogen/c_arma_rimorido.pxd +179 -0
  64. hydpy/cythons/autogen/c_arma_rimorido.pyx +356 -0
  65. hydpy/cythons/autogen/c_conv.cp313-win_amd64.pyd +0 -0
  66. hydpy/cythons/autogen/c_conv.pxd +198 -0
  67. hydpy/cythons/autogen/c_conv.pyx +491 -0
  68. hydpy/cythons/autogen/c_conv_idw.cp313-win_amd64.pyd +0 -0
  69. hydpy/cythons/autogen/c_conv_idw.pxd +124 -0
  70. hydpy/cythons/autogen/c_conv_idw.pyx +264 -0
  71. hydpy/cythons/autogen/c_conv_idw_ed.cp313-win_amd64.pyd +0 -0
  72. hydpy/cythons/autogen/c_conv_idw_ed.pxd +197 -0
  73. hydpy/cythons/autogen/c_conv_idw_ed.pyx +481 -0
  74. hydpy/cythons/autogen/c_conv_nn.cp313-win_amd64.pyd +0 -0
  75. hydpy/cythons/autogen/c_conv_nn.pxd +120 -0
  76. hydpy/cythons/autogen/c_conv_nn.pyx +224 -0
  77. hydpy/cythons/autogen/c_dam.cp313-win_amd64.pyd +0 -0
  78. hydpy/cythons/autogen/c_dam.pxd +805 -0
  79. hydpy/cythons/autogen/c_dam.pyx +1477 -0
  80. hydpy/cythons/autogen/c_dam_llake.cp313-win_amd64.pyd +0 -0
  81. hydpy/cythons/autogen/c_dam_llake.pxd +364 -0
  82. hydpy/cythons/autogen/c_dam_llake.pyx +705 -0
  83. hydpy/cythons/autogen/c_dam_lreservoir.cp313-win_amd64.pyd +0 -0
  84. hydpy/cythons/autogen/c_dam_lreservoir.pxd +365 -0
  85. hydpy/cythons/autogen/c_dam_lreservoir.pyx +708 -0
  86. hydpy/cythons/autogen/c_dam_lretention.cp313-win_amd64.pyd +0 -0
  87. hydpy/cythons/autogen/c_dam_lretention.pxd +340 -0
  88. hydpy/cythons/autogen/c_dam_lretention.pyx +625 -0
  89. hydpy/cythons/autogen/c_dam_pump.cp313-win_amd64.pyd +0 -0
  90. hydpy/cythons/autogen/c_dam_pump.pxd +402 -0
  91. hydpy/cythons/autogen/c_dam_pump.pyx +724 -0
  92. hydpy/cythons/autogen/c_dam_pump_sluice.cp313-win_amd64.pyd +0 -0
  93. hydpy/cythons/autogen/c_dam_pump_sluice.pxd +452 -0
  94. hydpy/cythons/autogen/c_dam_pump_sluice.pyx +829 -0
  95. hydpy/cythons/autogen/c_dam_sluice.cp313-win_amd64.pyd +0 -0
  96. hydpy/cythons/autogen/c_dam_sluice.pxd +404 -0
  97. hydpy/cythons/autogen/c_dam_sluice.pyx +726 -0
  98. hydpy/cythons/autogen/c_dam_v001.cp313-win_amd64.pyd +0 -0
  99. hydpy/cythons/autogen/c_dam_v001.pxd +452 -0
  100. hydpy/cythons/autogen/c_dam_v001.pyx +816 -0
  101. hydpy/cythons/autogen/c_dam_v002.cp313-win_amd64.pyd +0 -0
  102. hydpy/cythons/autogen/c_dam_v002.pxd +394 -0
  103. hydpy/cythons/autogen/c_dam_v002.pyx +703 -0
  104. hydpy/cythons/autogen/c_dam_v003.cp313-win_amd64.pyd +0 -0
  105. hydpy/cythons/autogen/c_dam_v003.pxd +417 -0
  106. hydpy/cythons/autogen/c_dam_v003.pyx +744 -0
  107. hydpy/cythons/autogen/c_dam_v004.cp313-win_amd64.pyd +0 -0
  108. hydpy/cythons/autogen/c_dam_v004.pxd +486 -0
  109. hydpy/cythons/autogen/c_dam_v004.pyx +891 -0
  110. hydpy/cythons/autogen/c_dam_v005.cp313-win_amd64.pyd +0 -0
  111. hydpy/cythons/autogen/c_dam_v005.pxd +524 -0
  112. hydpy/cythons/autogen/c_dam_v005.pyx +928 -0
  113. hydpy/cythons/autogen/c_dummy.cp313-win_amd64.pyd +0 -0
  114. hydpy/cythons/autogen/c_dummy.pxd +151 -0
  115. hydpy/cythons/autogen/c_dummy.pyx +263 -0
  116. hydpy/cythons/autogen/c_dummy_interceptedwater.cp313-win_amd64.pyd +0 -0
  117. hydpy/cythons/autogen/c_dummy_interceptedwater.pxd +69 -0
  118. hydpy/cythons/autogen/c_dummy_interceptedwater.pyx +104 -0
  119. hydpy/cythons/autogen/c_dummy_node2node.cp313-win_amd64.pyd +0 -0
  120. hydpy/cythons/autogen/c_dummy_node2node.pxd +89 -0
  121. hydpy/cythons/autogen/c_dummy_node2node.pyx +148 -0
  122. hydpy/cythons/autogen/c_dummy_snowalbedo.cp313-win_amd64.pyd +0 -0
  123. hydpy/cythons/autogen/c_dummy_snowalbedo.pxd +69 -0
  124. hydpy/cythons/autogen/c_dummy_snowalbedo.pyx +104 -0
  125. hydpy/cythons/autogen/c_dummy_snowcover.cp313-win_amd64.pyd +0 -0
  126. hydpy/cythons/autogen/c_dummy_snowcover.pxd +69 -0
  127. hydpy/cythons/autogen/c_dummy_snowcover.pyx +104 -0
  128. hydpy/cythons/autogen/c_dummy_snowycanopy.cp313-win_amd64.pyd +0 -0
  129. hydpy/cythons/autogen/c_dummy_snowycanopy.pxd +69 -0
  130. hydpy/cythons/autogen/c_dummy_snowycanopy.pyx +104 -0
  131. hydpy/cythons/autogen/c_dummy_soilwater.cp313-win_amd64.pyd +0 -0
  132. hydpy/cythons/autogen/c_dummy_soilwater.pxd +69 -0
  133. hydpy/cythons/autogen/c_dummy_soilwater.pyx +104 -0
  134. hydpy/cythons/autogen/c_evap.cp313-win_amd64.pyd +0 -0
  135. hydpy/cythons/autogen/c_evap.pxd +1029 -0
  136. hydpy/cythons/autogen/c_evap.pyx +2601 -0
  137. hydpy/cythons/autogen/c_evap_aet_hbv96.cp313-win_amd64.pyd +0 -0
  138. hydpy/cythons/autogen/c_evap_aet_hbv96.pxd +227 -0
  139. hydpy/cythons/autogen/c_evap_aet_hbv96.pyx +584 -0
  140. hydpy/cythons/autogen/c_evap_aet_minhas.cp313-win_amd64.pyd +0 -0
  141. hydpy/cythons/autogen/c_evap_aet_minhas.pxd +193 -0
  142. hydpy/cythons/autogen/c_evap_aet_minhas.pyx +478 -0
  143. hydpy/cythons/autogen/c_evap_aet_morsim.cp313-win_amd64.pyd +0 -0
  144. hydpy/cythons/autogen/c_evap_aet_morsim.pxd +681 -0
  145. hydpy/cythons/autogen/c_evap_aet_morsim.pyx +1642 -0
  146. hydpy/cythons/autogen/c_evap_pet_ambav1.cp313-win_amd64.pyd +0 -0
  147. hydpy/cythons/autogen/c_evap_pet_ambav1.pxd +532 -0
  148. hydpy/cythons/autogen/c_evap_pet_ambav1.pyx +1296 -0
  149. hydpy/cythons/autogen/c_evap_pet_hbv96.cp313-win_amd64.pyd +0 -0
  150. hydpy/cythons/autogen/c_evap_pet_hbv96.pxd +179 -0
  151. hydpy/cythons/autogen/c_evap_pet_hbv96.pyx +328 -0
  152. hydpy/cythons/autogen/c_evap_pet_m.cp313-win_amd64.pyd +0 -0
  153. hydpy/cythons/autogen/c_evap_pet_m.pxd +124 -0
  154. hydpy/cythons/autogen/c_evap_pet_m.pyx +214 -0
  155. hydpy/cythons/autogen/c_evap_pet_mlc.cp313-win_amd64.pyd +0 -0
  156. hydpy/cythons/autogen/c_evap_pet_mlc.pxd +126 -0
  157. hydpy/cythons/autogen/c_evap_pet_mlc.pyx +214 -0
  158. hydpy/cythons/autogen/c_evap_ret_fao56.cp313-win_amd64.pyd +0 -0
  159. hydpy/cythons/autogen/c_evap_ret_fao56.pxd +305 -0
  160. hydpy/cythons/autogen/c_evap_ret_fao56.pyx +624 -0
  161. hydpy/cythons/autogen/c_evap_ret_io.cp313-win_amd64.pyd +0 -0
  162. hydpy/cythons/autogen/c_evap_ret_io.pxd +112 -0
  163. hydpy/cythons/autogen/c_evap_ret_io.pyx +176 -0
  164. hydpy/cythons/autogen/c_evap_ret_tw2002.cp313-win_amd64.pyd +0 -0
  165. hydpy/cythons/autogen/c_evap_ret_tw2002.pxd +139 -0
  166. hydpy/cythons/autogen/c_evap_ret_tw2002.pyx +273 -0
  167. hydpy/cythons/autogen/c_exch.cp313-win_amd64.pyd +0 -0
  168. hydpy/cythons/autogen/c_exch.pxd +230 -0
  169. hydpy/cythons/autogen/c_exch.pyx +462 -0
  170. hydpy/cythons/autogen/c_exch_branch_hbv96.cp313-win_amd64.pyd +0 -0
  171. hydpy/cythons/autogen/c_exch_branch_hbv96.pxd +134 -0
  172. hydpy/cythons/autogen/c_exch_branch_hbv96.pyx +255 -0
  173. hydpy/cythons/autogen/c_exch_waterlevel.cp313-win_amd64.pyd +0 -0
  174. hydpy/cythons/autogen/c_exch_waterlevel.pxd +54 -0
  175. hydpy/cythons/autogen/c_exch_waterlevel.pyx +78 -0
  176. hydpy/cythons/autogen/c_exch_weir_hbv96.cp313-win_amd64.pyd +0 -0
  177. hydpy/cythons/autogen/c_exch_weir_hbv96.pxd +156 -0
  178. hydpy/cythons/autogen/c_exch_weir_hbv96.pyx +282 -0
  179. hydpy/cythons/autogen/c_ga.cp313-win_amd64.pyd +0 -0
  180. hydpy/cythons/autogen/c_ga.pxd +353 -0
  181. hydpy/cythons/autogen/c_ga.pyx +1204 -0
  182. hydpy/cythons/autogen/c_ga_garto.cp313-win_amd64.pyd +0 -0
  183. hydpy/cythons/autogen/c_ga_garto.pxd +330 -0
  184. hydpy/cythons/autogen/c_ga_garto.pyx +1105 -0
  185. hydpy/cythons/autogen/c_ga_garto_submodel1.cp313-win_amd64.pyd +0 -0
  186. hydpy/cythons/autogen/c_ga_garto_submodel1.pxd +236 -0
  187. hydpy/cythons/autogen/c_ga_garto_submodel1.pyx +944 -0
  188. hydpy/cythons/autogen/c_gland.cp313-win_amd64.pyd +0 -0
  189. hydpy/cythons/autogen/c_gland.pxd +437 -0
  190. hydpy/cythons/autogen/c_gland.pyx +726 -0
  191. hydpy/cythons/autogen/c_gland_gr4.cp313-win_amd64.pyd +0 -0
  192. hydpy/cythons/autogen/c_gland_gr4.pxd +382 -0
  193. hydpy/cythons/autogen/c_gland_gr4.pyx +605 -0
  194. hydpy/cythons/autogen/c_gland_gr5.cp313-win_amd64.pyd +0 -0
  195. hydpy/cythons/autogen/c_gland_gr5.pxd +368 -0
  196. hydpy/cythons/autogen/c_gland_gr5.pyx +568 -0
  197. hydpy/cythons/autogen/c_gland_gr6.cp313-win_amd64.pyd +0 -0
  198. hydpy/cythons/autogen/c_gland_gr6.pxd +420 -0
  199. hydpy/cythons/autogen/c_gland_gr6.pyx +673 -0
  200. hydpy/cythons/autogen/c_hland.cp313-win_amd64.pyd +0 -0
  201. hydpy/cythons/autogen/c_hland.pxd +855 -0
  202. hydpy/cythons/autogen/c_hland.pyx +2486 -0
  203. hydpy/cythons/autogen/c_hland_96.cp313-win_amd64.pyd +0 -0
  204. hydpy/cythons/autogen/c_hland_96.pxd +631 -0
  205. hydpy/cythons/autogen/c_hland_96.pyx +1724 -0
  206. hydpy/cythons/autogen/c_hland_96c.cp313-win_amd64.pyd +0 -0
  207. hydpy/cythons/autogen/c_hland_96c.pxd +621 -0
  208. hydpy/cythons/autogen/c_hland_96c.pyx +1822 -0
  209. hydpy/cythons/autogen/c_hland_96p.cp313-win_amd64.pyd +0 -0
  210. hydpy/cythons/autogen/c_hland_96p.pxd +683 -0
  211. hydpy/cythons/autogen/c_hland_96p.pyx +1911 -0
  212. hydpy/cythons/autogen/c_kinw.cp313-win_amd64.pyd +0 -0
  213. hydpy/cythons/autogen/c_kinw.pxd +509 -0
  214. hydpy/cythons/autogen/c_kinw.pyx +965 -0
  215. hydpy/cythons/autogen/c_kinw_williams.cp313-win_amd64.pyd +0 -0
  216. hydpy/cythons/autogen/c_kinw_williams.pxd +409 -0
  217. hydpy/cythons/autogen/c_kinw_williams.pyx +763 -0
  218. hydpy/cythons/autogen/c_kinw_williams_ext.cp313-win_amd64.pyd +0 -0
  219. hydpy/cythons/autogen/c_kinw_williams_ext.pxd +220 -0
  220. hydpy/cythons/autogen/c_kinw_williams_ext.pyx +440 -0
  221. hydpy/cythons/autogen/c_lland.cp313-win_amd64.pyd +0 -0
  222. hydpy/cythons/autogen/c_lland.pxd +1386 -0
  223. hydpy/cythons/autogen/c_lland.pyx +3679 -0
  224. hydpy/cythons/autogen/c_lland_dd.cp313-win_amd64.pyd +0 -0
  225. hydpy/cythons/autogen/c_lland_dd.pxd +679 -0
  226. hydpy/cythons/autogen/c_lland_dd.pyx +1719 -0
  227. hydpy/cythons/autogen/c_lland_knauf.cp313-win_amd64.pyd +0 -0
  228. hydpy/cythons/autogen/c_lland_knauf.pxd +1096 -0
  229. hydpy/cythons/autogen/c_lland_knauf.pyx +2784 -0
  230. hydpy/cythons/autogen/c_lland_knauf_ic.cp313-win_amd64.pyd +0 -0
  231. hydpy/cythons/autogen/c_lland_knauf_ic.pxd +1369 -0
  232. hydpy/cythons/autogen/c_lland_knauf_ic.pyx +3625 -0
  233. hydpy/cythons/autogen/c_meteo.cp313-win_amd64.pyd +0 -0
  234. hydpy/cythons/autogen/c_meteo.pxd +469 -0
  235. hydpy/cythons/autogen/c_meteo.pyx +879 -0
  236. hydpy/cythons/autogen/c_meteo_clear_glob_io.cp313-win_amd64.pyd +0 -0
  237. hydpy/cythons/autogen/c_meteo_clear_glob_io.pxd +75 -0
  238. hydpy/cythons/autogen/c_meteo_clear_glob_io.pyx +107 -0
  239. hydpy/cythons/autogen/c_meteo_glob_fao56.cp313-win_amd64.pyd +0 -0
  240. hydpy/cythons/autogen/c_meteo_glob_fao56.pxd +209 -0
  241. hydpy/cythons/autogen/c_meteo_glob_fao56.pyx +339 -0
  242. hydpy/cythons/autogen/c_meteo_glob_io.cp313-win_amd64.pyd +0 -0
  243. hydpy/cythons/autogen/c_meteo_glob_io.pxd +63 -0
  244. hydpy/cythons/autogen/c_meteo_glob_io.pyx +91 -0
  245. hydpy/cythons/autogen/c_meteo_glob_morsim.cp313-win_amd64.pyd +0 -0
  246. hydpy/cythons/autogen/c_meteo_glob_morsim.pxd +289 -0
  247. hydpy/cythons/autogen/c_meteo_glob_morsim.pyx +527 -0
  248. hydpy/cythons/autogen/c_meteo_precip_io.cp313-win_amd64.pyd +0 -0
  249. hydpy/cythons/autogen/c_meteo_precip_io.pxd +112 -0
  250. hydpy/cythons/autogen/c_meteo_precip_io.pyx +176 -0
  251. hydpy/cythons/autogen/c_meteo_psun_sun_glob_io.cp313-win_amd64.pyd +0 -0
  252. hydpy/cythons/autogen/c_meteo_psun_sun_glob_io.pxd +87 -0
  253. hydpy/cythons/autogen/c_meteo_psun_sun_glob_io.pyx +123 -0
  254. hydpy/cythons/autogen/c_meteo_sun_fao56.cp313-win_amd64.pyd +0 -0
  255. hydpy/cythons/autogen/c_meteo_sun_fao56.pxd +209 -0
  256. hydpy/cythons/autogen/c_meteo_sun_fao56.pyx +343 -0
  257. hydpy/cythons/autogen/c_meteo_sun_morsim.cp313-win_amd64.pyd +0 -0
  258. hydpy/cythons/autogen/c_meteo_sun_morsim.pxd +286 -0
  259. hydpy/cythons/autogen/c_meteo_sun_morsim.pyx +519 -0
  260. hydpy/cythons/autogen/c_meteo_temp_io.cp313-win_amd64.pyd +0 -0
  261. hydpy/cythons/autogen/c_meteo_temp_io.pxd +112 -0
  262. hydpy/cythons/autogen/c_meteo_temp_io.pyx +176 -0
  263. hydpy/cythons/autogen/c_musk.cp313-win_amd64.pyd +0 -0
  264. hydpy/cythons/autogen/c_musk.pxd +282 -0
  265. hydpy/cythons/autogen/c_musk.pyx +605 -0
  266. hydpy/cythons/autogen/c_musk_classic.cp313-win_amd64.pyd +0 -0
  267. hydpy/cythons/autogen/c_musk_classic.pxd +138 -0
  268. hydpy/cythons/autogen/c_musk_classic.pyx +226 -0
  269. hydpy/cythons/autogen/c_musk_mct.cp313-win_amd64.pyd +0 -0
  270. hydpy/cythons/autogen/c_musk_mct.pxd +282 -0
  271. hydpy/cythons/autogen/c_musk_mct.pyx +609 -0
  272. hydpy/cythons/autogen/c_rconc.cp313-win_amd64.pyd +0 -0
  273. hydpy/cythons/autogen/c_rconc.pxd +119 -0
  274. hydpy/cythons/autogen/c_rconc.pyx +174 -0
  275. hydpy/cythons/autogen/c_rconc_nash.cp313-win_amd64.pyd +0 -0
  276. hydpy/cythons/autogen/c_rconc_nash.pxd +111 -0
  277. hydpy/cythons/autogen/c_rconc_nash.pyx +185 -0
  278. hydpy/cythons/autogen/c_rconc_uh.cp313-win_amd64.pyd +0 -0
  279. hydpy/cythons/autogen/c_rconc_uh.pxd +92 -0
  280. hydpy/cythons/autogen/c_rconc_uh.pyx +125 -0
  281. hydpy/cythons/autogen/c_sw1d.cp313-win_amd64.pyd +0 -0
  282. hydpy/cythons/autogen/c_sw1d.pxd +511 -0
  283. hydpy/cythons/autogen/c_sw1d.pyx +1263 -0
  284. hydpy/cythons/autogen/c_sw1d_channel.cp313-win_amd64.pyd +0 -0
  285. hydpy/cythons/autogen/c_sw1d_channel.pxd +119 -0
  286. hydpy/cythons/autogen/c_sw1d_channel.pyx +300 -0
  287. hydpy/cythons/autogen/c_sw1d_gate_out.cp313-win_amd64.pyd +0 -0
  288. hydpy/cythons/autogen/c_sw1d_gate_out.pxd +240 -0
  289. hydpy/cythons/autogen/c_sw1d_gate_out.pyx +476 -0
  290. hydpy/cythons/autogen/c_sw1d_lias.cp313-win_amd64.pyd +0 -0
  291. hydpy/cythons/autogen/c_sw1d_lias.pxd +320 -0
  292. hydpy/cythons/autogen/c_sw1d_lias.pyx +619 -0
  293. hydpy/cythons/autogen/c_sw1d_lias_sluice.cp313-win_amd64.pyd +0 -0
  294. hydpy/cythons/autogen/c_sw1d_lias_sluice.pxd +325 -0
  295. hydpy/cythons/autogen/c_sw1d_lias_sluice.pyx +644 -0
  296. hydpy/cythons/autogen/c_sw1d_network.cp313-win_amd64.pyd +0 -0
  297. hydpy/cythons/autogen/c_sw1d_network.pxd +90 -0
  298. hydpy/cythons/autogen/c_sw1d_network.pyx +246 -0
  299. hydpy/cythons/autogen/c_sw1d_pump.cp313-win_amd64.pyd +0 -0
  300. hydpy/cythons/autogen/c_sw1d_pump.pxd +256 -0
  301. hydpy/cythons/autogen/c_sw1d_pump.pyx +502 -0
  302. hydpy/cythons/autogen/c_sw1d_q_in.cp313-win_amd64.pyd +0 -0
  303. hydpy/cythons/autogen/c_sw1d_q_in.pxd +224 -0
  304. hydpy/cythons/autogen/c_sw1d_q_in.pyx +383 -0
  305. hydpy/cythons/autogen/c_sw1d_q_out.cp313-win_amd64.pyd +0 -0
  306. hydpy/cythons/autogen/c_sw1d_q_out.pxd +224 -0
  307. hydpy/cythons/autogen/c_sw1d_q_out.pyx +383 -0
  308. hydpy/cythons/autogen/c_sw1d_storage.cp313-win_amd64.pyd +0 -0
  309. hydpy/cythons/autogen/c_sw1d_storage.pxd +193 -0
  310. hydpy/cythons/autogen/c_sw1d_storage.pyx +349 -0
  311. hydpy/cythons/autogen/c_sw1d_weir_out.cp313-win_amd64.pyd +0 -0
  312. hydpy/cythons/autogen/c_sw1d_weir_out.pxd +212 -0
  313. hydpy/cythons/autogen/c_sw1d_weir_out.pyx +404 -0
  314. hydpy/cythons/autogen/c_test.cp313-win_amd64.pyd +0 -0
  315. hydpy/cythons/autogen/c_test.pxd +175 -0
  316. hydpy/cythons/autogen/c_test.pyx +348 -0
  317. hydpy/cythons/autogen/c_test_discontinous.cp313-win_amd64.pyd +0 -0
  318. hydpy/cythons/autogen/c_test_discontinous.pxd +146 -0
  319. hydpy/cythons/autogen/c_test_discontinous.pyx +256 -0
  320. hydpy/cythons/autogen/c_test_stiff0d.cp313-win_amd64.pyd +0 -0
  321. hydpy/cythons/autogen/c_test_stiff0d.pxd +146 -0
  322. hydpy/cythons/autogen/c_test_stiff0d.pyx +250 -0
  323. hydpy/cythons/autogen/c_test_stiff1d.cp313-win_amd64.pyd +0 -0
  324. hydpy/cythons/autogen/c_test_stiff1d.pxd +145 -0
  325. hydpy/cythons/autogen/c_test_stiff1d.pyx +294 -0
  326. hydpy/cythons/autogen/c_whmod.cp313-win_amd64.pyd +0 -0
  327. hydpy/cythons/autogen/c_whmod.pxd +482 -0
  328. hydpy/cythons/autogen/c_whmod.pyx +1156 -0
  329. hydpy/cythons/autogen/c_whmod_rural.cp313-win_amd64.pyd +0 -0
  330. hydpy/cythons/autogen/c_whmod_rural.pxd +411 -0
  331. hydpy/cythons/autogen/c_whmod_rural.pyx +982 -0
  332. hydpy/cythons/autogen/c_whmod_urban.cp313-win_amd64.pyd +0 -0
  333. hydpy/cythons/autogen/c_whmod_urban.pxd +482 -0
  334. hydpy/cythons/autogen/c_whmod_urban.pyx +1155 -0
  335. hydpy/cythons/autogen/c_wland.cp313-win_amd64.pyd +0 -0
  336. hydpy/cythons/autogen/c_wland.pxd +842 -0
  337. hydpy/cythons/autogen/c_wland.pyx +1890 -0
  338. hydpy/cythons/autogen/c_wland_gd.cp313-win_amd64.pyd +0 -0
  339. hydpy/cythons/autogen/c_wland_gd.pxd +829 -0
  340. hydpy/cythons/autogen/c_wland_gd.pyx +1847 -0
  341. hydpy/cythons/autogen/c_wland_wag.cp313-win_amd64.pyd +0 -0
  342. hydpy/cythons/autogen/c_wland_wag.pxd +810 -0
  343. hydpy/cythons/autogen/c_wland_wag.pyx +1780 -0
  344. hydpy/cythons/autogen/c_wq.cp313-win_amd64.pyd +0 -0
  345. hydpy/cythons/autogen/c_wq.pxd +275 -0
  346. hydpy/cythons/autogen/c_wq.pyx +652 -0
  347. hydpy/cythons/autogen/c_wq_trapeze.cp313-win_amd64.pyd +0 -0
  348. hydpy/cythons/autogen/c_wq_trapeze.pxd +170 -0
  349. hydpy/cythons/autogen/c_wq_trapeze.pyx +400 -0
  350. hydpy/cythons/autogen/c_wq_trapeze_strickler.cp313-win_amd64.pyd +0 -0
  351. hydpy/cythons/autogen/c_wq_trapeze_strickler.pxd +243 -0
  352. hydpy/cythons/autogen/c_wq_trapeze_strickler.pyx +578 -0
  353. hydpy/cythons/autogen/c_wq_walrus.cp313-win_amd64.pyd +0 -0
  354. hydpy/cythons/autogen/c_wq_walrus.pxd +61 -0
  355. hydpy/cythons/autogen/c_wq_walrus.pyx +82 -0
  356. hydpy/cythons/autogen/configutils.cp313-win_amd64.pyd +0 -0
  357. hydpy/cythons/autogen/configutils.pxd +17 -0
  358. hydpy/cythons/autogen/configutils.pyx +119 -0
  359. hydpy/cythons/autogen/interfaceutils.cp313-win_amd64.pyd +0 -0
  360. hydpy/cythons/autogen/interfaceutils.pxd +31 -0
  361. hydpy/cythons/autogen/interfaceutils.pyx +82 -0
  362. hydpy/cythons/autogen/interputils.cp313-win_amd64.pyd +0 -0
  363. hydpy/cythons/autogen/interputils.pxd +42 -0
  364. hydpy/cythons/autogen/interputils.pyx +118 -0
  365. hydpy/cythons/autogen/masterinterface.cp313-win_amd64.pyd +0 -0
  366. hydpy/cythons/autogen/masterinterface.pxd +153 -0
  367. hydpy/cythons/autogen/masterinterface.pyx +222 -0
  368. hydpy/cythons/autogen/pointerutils.cp313-win_amd64.pyd +0 -0
  369. hydpy/cythons/autogen/pointerutils.pxd +31 -0
  370. hydpy/cythons/autogen/pointerutils.pyx +650 -0
  371. hydpy/cythons/autogen/ppolyutils.cp313-win_amd64.pyd +0 -0
  372. hydpy/cythons/autogen/ppolyutils.pxd +35 -0
  373. hydpy/cythons/autogen/ppolyutils.pyx +59 -0
  374. hydpy/cythons/autogen/quadutils.cp313-win_amd64.pyd +0 -0
  375. hydpy/cythons/autogen/quadutils.pxd +26 -0
  376. hydpy/cythons/autogen/quadutils.pyx +973 -0
  377. hydpy/cythons/autogen/rootutils.cp313-win_amd64.pyd +0 -0
  378. hydpy/cythons/autogen/rootutils.pxd +28 -0
  379. hydpy/cythons/autogen/rootutils.pyx +109 -0
  380. hydpy/cythons/autogen/sequenceutils.cp313-win_amd64.pyd +0 -0
  381. hydpy/cythons/autogen/sequenceutils.pxd +45 -0
  382. hydpy/cythons/autogen/sequenceutils.pyx +101 -0
  383. hydpy/cythons/autogen/smoothutils.cp313-win_amd64.pyd +0 -0
  384. hydpy/cythons/autogen/smoothutils.pxd +29 -0
  385. hydpy/cythons/autogen/smoothutils.pyx +833 -0
  386. hydpy/cythons/configutils.pxd +8 -0
  387. hydpy/cythons/configutils.pyi +5 -0
  388. hydpy/cythons/configutils.pyx +110 -0
  389. hydpy/cythons/interfaceutils.pxd +22 -0
  390. hydpy/cythons/interfaceutils.pyi +15 -0
  391. hydpy/cythons/interfaceutils.pyx +73 -0
  392. hydpy/cythons/interputils.pxd +33 -0
  393. hydpy/cythons/interputils.pyi +32 -0
  394. hydpy/cythons/interputils.pyx +109 -0
  395. hydpy/cythons/modelutils.py +2990 -0
  396. hydpy/cythons/pointerutils.pxd +22 -0
  397. hydpy/cythons/pointerutils.pyi +89 -0
  398. hydpy/cythons/pointerutils.pyx +641 -0
  399. hydpy/cythons/ppolyutils.pxd +26 -0
  400. hydpy/cythons/ppolyutils.pyi +21 -0
  401. hydpy/cythons/ppolyutils.pyx +50 -0
  402. hydpy/cythons/quadutils.pxd +17 -0
  403. hydpy/cythons/quadutils.pyi +13 -0
  404. hydpy/cythons/quadutils.pyx +964 -0
  405. hydpy/cythons/rootutils.pxd +19 -0
  406. hydpy/cythons/rootutils.pyi +21 -0
  407. hydpy/cythons/rootutils.pyx +100 -0
  408. hydpy/cythons/sequenceutils.pxd +36 -0
  409. hydpy/cythons/sequenceutils.pyi +7 -0
  410. hydpy/cythons/sequenceutils.pyx +92 -0
  411. hydpy/cythons/smoothutils.pxd +20 -0
  412. hydpy/cythons/smoothutils.pyi +15 -0
  413. hydpy/cythons/smoothutils.pyx +824 -0
  414. hydpy/data/HydPy-H-Lahn/conditions/init_1996_01_01_00_00_00/land_dill_assl.py +13 -0
  415. hydpy/data/HydPy-H-Lahn/conditions/init_1996_01_01_00_00_00/land_lahn_kalk.py +13 -0
  416. hydpy/data/HydPy-H-Lahn/conditions/init_1996_01_01_00_00_00/land_lahn_leun.py +14 -0
  417. hydpy/data/HydPy-H-Lahn/conditions/init_1996_01_01_00_00_00/land_lahn_marb.py +13 -0
  418. hydpy/data/HydPy-H-Lahn/conditions/init_1996_01_01_00_00_00/stream_dill_assl_lahn_leun.py +5 -0
  419. hydpy/data/HydPy-H-Lahn/conditions/init_1996_01_01_00_00_00/stream_lahn_leun_lahn_kalk.py +5 -0
  420. hydpy/data/HydPy-H-Lahn/conditions/init_1996_01_01_00_00_00/stream_lahn_marb_lahn_leun.py +5 -0
  421. hydpy/data/HydPy-H-Lahn/control/default/land.py +9 -0
  422. hydpy/data/HydPy-H-Lahn/control/default/land_dill_assl.py +57 -0
  423. hydpy/data/HydPy-H-Lahn/control/default/land_lahn_kalk.py +57 -0
  424. hydpy/data/HydPy-H-Lahn/control/default/land_lahn_leun.py +56 -0
  425. hydpy/data/HydPy-H-Lahn/control/default/land_lahn_marb.py +57 -0
  426. hydpy/data/HydPy-H-Lahn/control/default/stream_dill_assl_lahn_leun.py +7 -0
  427. hydpy/data/HydPy-H-Lahn/control/default/stream_lahn_leun_lahn_kalk.py +7 -0
  428. hydpy/data/HydPy-H-Lahn/control/default/stream_lahn_marb_lahn_leun.py +7 -0
  429. hydpy/data/HydPy-H-Lahn/multiple_runs.xml +309 -0
  430. hydpy/data/HydPy-H-Lahn/multiple_runs_alpha.xml +71 -0
  431. hydpy/data/HydPy-H-Lahn/network/default/headwaters.py +11 -0
  432. hydpy/data/HydPy-H-Lahn/network/default/nonheadwaters.py +11 -0
  433. hydpy/data/HydPy-H-Lahn/network/default/streams.py +8 -0
  434. hydpy/data/HydPy-H-Lahn/series/default/dill_assl_obs_q.asc +11387 -0
  435. hydpy/data/HydPy-H-Lahn/series/default/evap_pet_hbv96_input_normalairtemperature.nc +0 -0
  436. hydpy/data/HydPy-H-Lahn/series/default/evap_pet_hbv96_input_normalevapotranspiration.nc +0 -0
  437. hydpy/data/HydPy-H-Lahn/series/default/hland_96_input_p.nc +0 -0
  438. hydpy/data/HydPy-H-Lahn/series/default/hland_96_input_t.nc +0 -0
  439. hydpy/data/HydPy-H-Lahn/series/default/lahn_kalk_obs_q.asc +11387 -0
  440. hydpy/data/HydPy-H-Lahn/series/default/lahn_leun_obs_q.asc +11387 -0
  441. hydpy/data/HydPy-H-Lahn/series/default/lahn_marb_obs_q.asc +11387 -0
  442. hydpy/data/HydPy-H-Lahn/series/default/land_dill_assl_evap_pet_hbv96_input_normalairtemperature.asc +11387 -0
  443. hydpy/data/HydPy-H-Lahn/series/default/land_dill_assl_evap_pet_hbv96_input_normalevapotranspiration.asc +11387 -0
  444. hydpy/data/HydPy-H-Lahn/series/default/land_dill_assl_hland_96_input_p.asc +11387 -0
  445. hydpy/data/HydPy-H-Lahn/series/default/land_dill_assl_hland_96_input_t.asc +11387 -0
  446. hydpy/data/HydPy-H-Lahn/series/default/land_lahn_kalk_evap_pet_hbv96_input_normalairtemperature.asc +11387 -0
  447. hydpy/data/HydPy-H-Lahn/series/default/land_lahn_kalk_evap_pet_hbv96_input_normalevapotranspiration.asc +11387 -0
  448. hydpy/data/HydPy-H-Lahn/series/default/land_lahn_kalk_hland_96_input_p.asc +11387 -0
  449. hydpy/data/HydPy-H-Lahn/series/default/land_lahn_kalk_hland_96_input_t.asc +11387 -0
  450. hydpy/data/HydPy-H-Lahn/series/default/land_lahn_leun_evap_pet_hbv96_input_normalairtemperature.asc +11387 -0
  451. hydpy/data/HydPy-H-Lahn/series/default/land_lahn_leun_evap_pet_hbv96_input_normalevapotranspiration.asc +11387 -0
  452. hydpy/data/HydPy-H-Lahn/series/default/land_lahn_leun_hland_96_input_p.asc +11387 -0
  453. hydpy/data/HydPy-H-Lahn/series/default/land_lahn_leun_hland_96_input_t.asc +11387 -0
  454. hydpy/data/HydPy-H-Lahn/series/default/land_lahn_marb_evap_pet_hbv96_input_normalairtemperature.asc +11387 -0
  455. hydpy/data/HydPy-H-Lahn/series/default/land_lahn_marb_evap_pet_hbv96_input_normalevapotranspiration.asc +11387 -0
  456. hydpy/data/HydPy-H-Lahn/series/default/land_lahn_marb_hland_96_input_p.asc +11387 -0
  457. hydpy/data/HydPy-H-Lahn/series/default/land_lahn_marb_hland_96_input_t.asc +11387 -0
  458. hydpy/data/HydPy-H-Lahn/series/default/obs_q.nc +0 -0
  459. hydpy/data/HydPy-H-Lahn/single_run.xml +152 -0
  460. hydpy/data/HydPy-H-Lahn/single_run.xmlt +143 -0
  461. hydpy/data/__init__.py +17 -0
  462. hydpy/docs/__init__.py +0 -0
  463. hydpy/docs/autofigs/__init__.py +0 -0
  464. hydpy/docs/bib/__init__.py +0 -0
  465. hydpy/docs/bib/refs.bib +566 -0
  466. hydpy/docs/combine_docversions.py +133 -0
  467. hydpy/docs/draw_model_sketches.py +1301 -0
  468. hydpy/docs/enable_autodoc.py +7 -0
  469. hydpy/docs/figs/HydPy-G-GR4.png +0 -0
  470. hydpy/docs/figs/HydPy-G-GR5.png +0 -0
  471. hydpy/docs/figs/HydPy-G-GR6.png +0 -0
  472. hydpy/docs/figs/HydPy-H-HBV96-COSERO.png +0 -0
  473. hydpy/docs/figs/HydPy-H-HBV96-PREVAH.png +0 -0
  474. hydpy/docs/figs/HydPy-H-HBV96.png +0 -0
  475. hydpy/docs/figs/HydPy-H-Lahn.png +0 -0
  476. hydpy/docs/figs/HydPy-KinW-Williams.png +0 -0
  477. hydpy/docs/figs/HydPy-L-DD.png +0 -0
  478. hydpy/docs/figs/HydPy-W-Wag.png +0 -0
  479. hydpy/docs/figs/HydPy_Logo.png +0 -0
  480. hydpy/docs/figs/HydPy_Logo_Text.png +0 -0
  481. hydpy/docs/figs/IDLE-editor.png +0 -0
  482. hydpy/docs/figs/IDLE-shell.png +0 -0
  483. hydpy/docs/figs/LAWA_river-basin-bumbers.png +0 -0
  484. hydpy/docs/figs/__init__.py +0 -0
  485. hydpy/docs/html_/__init__.py +0 -0
  486. hydpy/docs/polish_html.py +57 -0
  487. hydpy/docs/prepare.py +224 -0
  488. hydpy/docs/publish_docs.py +53 -0
  489. hydpy/docs/rst/HydPy-ARMA.rst +27 -0
  490. hydpy/docs/rst/HydPy-Conv.rst +22 -0
  491. hydpy/docs/rst/HydPy-Dam.rst +79 -0
  492. hydpy/docs/rst/HydPy-Dummy.rst +21 -0
  493. hydpy/docs/rst/HydPy-Evap.rst +26 -0
  494. hydpy/docs/rst/HydPy-Exch.rst +36 -0
  495. hydpy/docs/rst/HydPy-G.rst +40 -0
  496. hydpy/docs/rst/HydPy-GA.rst +34 -0
  497. hydpy/docs/rst/HydPy-H.rst +24 -0
  498. hydpy/docs/rst/HydPy-KinW.rst +32 -0
  499. hydpy/docs/rst/HydPy-L.rst +42 -0
  500. hydpy/docs/rst/HydPy-Meteo.rst +28 -0
  501. hydpy/docs/rst/HydPy-Musk.rst +21 -0
  502. hydpy/docs/rst/HydPy-Rconc.rst +17 -0
  503. hydpy/docs/rst/HydPy-SW1D.rst +49 -0
  504. hydpy/docs/rst/HydPy-Test.rst +19 -0
  505. hydpy/docs/rst/HydPy-W.rst +20 -0
  506. hydpy/docs/rst/HydPy-WHMod.rst +19 -0
  507. hydpy/docs/rst/HydPy-WQ.rst +20 -0
  508. hydpy/docs/rst/__init__.py +0 -0
  509. hydpy/docs/rst/additional_repositories.rst +40 -0
  510. hydpy/docs/rst/auxiliaries.rst +31 -0
  511. hydpy/docs/rst/continuous_integration.rst +75 -0
  512. hydpy/docs/rst/core.rst +75 -0
  513. hydpy/docs/rst/cythons.rst +47 -0
  514. hydpy/docs/rst/definitions.rst +506 -0
  515. hydpy/docs/rst/developer_guide.rst +54 -0
  516. hydpy/docs/rst/example_projects.rst +40 -0
  517. hydpy/docs/rst/execution.rst +22 -0
  518. hydpy/docs/rst/framework_tools.rst +56 -0
  519. hydpy/docs/rst/how_to_read_the_reference_manual.rst +156 -0
  520. hydpy/docs/rst/hydpydependencies.rst +55 -0
  521. hydpy/docs/rst/index.rst +125 -0
  522. hydpy/docs/rst/installation.rst +155 -0
  523. hydpy/docs/rst/model_families.rst +79 -0
  524. hydpy/docs/rst/model_overview.rst +291 -0
  525. hydpy/docs/rst/modelimports.rst +10 -0
  526. hydpy/docs/rst/options.rst +119 -0
  527. hydpy/docs/rst/programming_style.rst +572 -0
  528. hydpy/docs/rst/project_structure.rst +520 -0
  529. hydpy/docs/rst/quickstart.rst +304 -0
  530. hydpy/docs/rst/reference_manual.rst +29 -0
  531. hydpy/docs/rst/required_tools.rst +50 -0
  532. hydpy/docs/rst/simulation.rst +514 -0
  533. hydpy/docs/rst/submodel_interfaces.rst +32 -0
  534. hydpy/docs/rst/tests_and_documentation.rst +85 -0
  535. hydpy/docs/rst/user_guide.rst +38 -0
  536. hydpy/docs/rst/version_control.rst +116 -0
  537. hydpy/docs/rst/zbibliography.rst +8 -0
  538. hydpy/docs/sphinx/__init__.py +0 -0
  539. hydpy/docs/sphinx/_themes/basic_hydpy/changes/frameset.html +11 -0
  540. hydpy/docs/sphinx/_themes/basic_hydpy/changes/rstsource.html +15 -0
  541. hydpy/docs/sphinx/_themes/basic_hydpy/changes/versionchanges.html +33 -0
  542. hydpy/docs/sphinx/_themes/basic_hydpy/defindex.html +35 -0
  543. hydpy/docs/sphinx/_themes/basic_hydpy/domainindex.html +56 -0
  544. hydpy/docs/sphinx/_themes/basic_hydpy/genindex-single.html +63 -0
  545. hydpy/docs/sphinx/_themes/basic_hydpy/genindex-split.html +41 -0
  546. hydpy/docs/sphinx/_themes/basic_hydpy/genindex.html +76 -0
  547. hydpy/docs/sphinx/_themes/basic_hydpy/globaltoc.html +11 -0
  548. hydpy/docs/sphinx/_themes/basic_hydpy/layout.html +221 -0
  549. hydpy/docs/sphinx/_themes/basic_hydpy/localtoc.html +15 -0
  550. hydpy/docs/sphinx/_themes/basic_hydpy/opensearch.xml +13 -0
  551. hydpy/docs/sphinx/_themes/basic_hydpy/page.html +13 -0
  552. hydpy/docs/sphinx/_themes/basic_hydpy/relations.html +23 -0
  553. hydpy/docs/sphinx/_themes/basic_hydpy/search.html +65 -0
  554. hydpy/docs/sphinx/_themes/basic_hydpy/searchbox.html +21 -0
  555. hydpy/docs/sphinx/_themes/basic_hydpy/searchfield.html +23 -0
  556. hydpy/docs/sphinx/_themes/basic_hydpy/sourcelink.html +18 -0
  557. hydpy/docs/sphinx/_themes/basic_hydpy/static/basic.css_t +925 -0
  558. hydpy/docs/sphinx/_themes/basic_hydpy/static/doctools.js +156 -0
  559. hydpy/docs/sphinx/_themes/basic_hydpy/static/documentation_options.js_t +13 -0
  560. hydpy/docs/sphinx/_themes/basic_hydpy/static/file.png +0 -0
  561. hydpy/docs/sphinx/_themes/basic_hydpy/static/language_data.js_t +26 -0
  562. hydpy/docs/sphinx/_themes/basic_hydpy/static/minus.png +0 -0
  563. hydpy/docs/sphinx/_themes/basic_hydpy/static/plus.png +0 -0
  564. hydpy/docs/sphinx/_themes/basic_hydpy/static/searchtools.js +574 -0
  565. hydpy/docs/sphinx/_themes/basic_hydpy/static/sphinx_highlight.js +154 -0
  566. hydpy/docs/sphinx/_themes/basic_hydpy/theme.conf +16 -0
  567. hydpy/docs/sphinx/_themes/classic_hydpy/layout.html +23 -0
  568. hydpy/docs/sphinx/_themes/classic_hydpy/static/classic.css_t +358 -0
  569. hydpy/docs/sphinx/_themes/classic_hydpy/static/sidebar.js_t +72 -0
  570. hydpy/docs/sphinx/_themes/classic_hydpy/theme.conf +32 -0
  571. hydpy/docs/sphinx/conf.py +398 -0
  572. hydpy/docs/sphinx/defaultlinks_extension.py +36 -0
  573. hydpy/docs/sphinx/integrationtest_extension.py +104 -0
  574. hydpy/docs/sphinx/projectstructure_extension.py +58 -0
  575. hydpy/docs/sphinx/submodelgraph_extension.py +53 -0
  576. hydpy/exe/__init__.py +0 -0
  577. hydpy/exe/commandtools.py +651 -0
  578. hydpy/exe/hyd.py +277 -0
  579. hydpy/exe/modelimports.py +41 -0
  580. hydpy/exe/replacetools.py +216 -0
  581. hydpy/exe/servertools.py +2348 -0
  582. hydpy/exe/xmltools.py +3280 -0
  583. hydpy/interfaces/__init__.py +0 -0
  584. hydpy/interfaces/aetinterfaces.py +94 -0
  585. hydpy/interfaces/dischargeinterfaces.py +45 -0
  586. hydpy/interfaces/petinterfaces.py +117 -0
  587. hydpy/interfaces/precipinterfaces.py +42 -0
  588. hydpy/interfaces/radiationinterfaces.py +79 -0
  589. hydpy/interfaces/rconcinterfaces.py +30 -0
  590. hydpy/interfaces/routinginterfaces.py +324 -0
  591. hydpy/interfaces/soilinterfaces.py +96 -0
  592. hydpy/interfaces/stateinterfaces.py +98 -0
  593. hydpy/interfaces/tempinterfaces.py +46 -0
  594. hydpy/models/__init__.py +0 -0
  595. hydpy/models/arma/__init__.py +14 -0
  596. hydpy/models/arma/arma_control.py +383 -0
  597. hydpy/models/arma/arma_derived.py +204 -0
  598. hydpy/models/arma/arma_fluxes.py +41 -0
  599. hydpy/models/arma/arma_inlets.py +11 -0
  600. hydpy/models/arma/arma_logs.py +19 -0
  601. hydpy/models/arma/arma_model.py +461 -0
  602. hydpy/models/arma/arma_outlets.py +11 -0
  603. hydpy/models/arma_rimorido.py +381 -0
  604. hydpy/models/conv/__init__.py +12 -0
  605. hydpy/models/conv/conv_control.py +303 -0
  606. hydpy/models/conv/conv_derived.py +271 -0
  607. hydpy/models/conv/conv_fluxes.py +54 -0
  608. hydpy/models/conv/conv_inlets.py +11 -0
  609. hydpy/models/conv/conv_model.py +687 -0
  610. hydpy/models/conv/conv_outlets.py +11 -0
  611. hydpy/models/conv_idw.py +120 -0
  612. hydpy/models/conv_idw_ed.py +184 -0
  613. hydpy/models/conv_nn.py +112 -0
  614. hydpy/models/dam/__init__.py +16 -0
  615. hydpy/models/dam/dam_aides.py +17 -0
  616. hydpy/models/dam/dam_control.py +346 -0
  617. hydpy/models/dam/dam_derived.py +559 -0
  618. hydpy/models/dam/dam_factors.py +46 -0
  619. hydpy/models/dam/dam_fluxes.py +179 -0
  620. hydpy/models/dam/dam_inlets.py +29 -0
  621. hydpy/models/dam/dam_logs.py +52 -0
  622. hydpy/models/dam/dam_model.py +5011 -0
  623. hydpy/models/dam/dam_outlets.py +23 -0
  624. hydpy/models/dam/dam_receivers.py +41 -0
  625. hydpy/models/dam/dam_senders.py +23 -0
  626. hydpy/models/dam/dam_solver.py +75 -0
  627. hydpy/models/dam/dam_states.py +11 -0
  628. hydpy/models/dam_llake.py +499 -0
  629. hydpy/models/dam_lreservoir.py +548 -0
  630. hydpy/models/dam_lretention.py +343 -0
  631. hydpy/models/dam_pump.py +278 -0
  632. hydpy/models/dam_pump_sluice.py +339 -0
  633. hydpy/models/dam_sluice.py +319 -0
  634. hydpy/models/dam_v001.py +1127 -0
  635. hydpy/models/dam_v002.py +381 -0
  636. hydpy/models/dam_v003.py +422 -0
  637. hydpy/models/dam_v004.py +665 -0
  638. hydpy/models/dam_v005.py +479 -0
  639. hydpy/models/dummy/__init__.py +15 -0
  640. hydpy/models/dummy/dummy_control.py +22 -0
  641. hydpy/models/dummy/dummy_fluxes.py +11 -0
  642. hydpy/models/dummy/dummy_inlets.py +11 -0
  643. hydpy/models/dummy/dummy_inputs.py +41 -0
  644. hydpy/models/dummy/dummy_model.py +196 -0
  645. hydpy/models/dummy/dummy_outlets.py +11 -0
  646. hydpy/models/dummy_interceptedwater.py +85 -0
  647. hydpy/models/dummy_node2node.py +83 -0
  648. hydpy/models/dummy_snowalbedo.py +84 -0
  649. hydpy/models/dummy_snowcover.py +84 -0
  650. hydpy/models/dummy_snowycanopy.py +86 -0
  651. hydpy/models/dummy_soilwater.py +85 -0
  652. hydpy/models/evap/__init__.py +13 -0
  653. hydpy/models/evap/evap_control.py +354 -0
  654. hydpy/models/evap/evap_derived.py +236 -0
  655. hydpy/models/evap/evap_factors.py +188 -0
  656. hydpy/models/evap/evap_fixed.py +68 -0
  657. hydpy/models/evap/evap_fluxes.py +150 -0
  658. hydpy/models/evap/evap_inputs.py +54 -0
  659. hydpy/models/evap/evap_logs.py +91 -0
  660. hydpy/models/evap/evap_masks.py +48 -0
  661. hydpy/models/evap/evap_model.py +9170 -0
  662. hydpy/models/evap/evap_parameters.py +149 -0
  663. hydpy/models/evap/evap_sequences.py +32 -0
  664. hydpy/models/evap/evap_states.py +18 -0
  665. hydpy/models/evap_aet_hbv96.py +372 -0
  666. hydpy/models/evap_aet_minhas.py +331 -0
  667. hydpy/models/evap_aet_morsim.py +627 -0
  668. hydpy/models/evap_pet_ambav1.py +483 -0
  669. hydpy/models/evap_pet_hbv96.py +147 -0
  670. hydpy/models/evap_pet_m.py +94 -0
  671. hydpy/models/evap_pet_mlc.py +107 -0
  672. hydpy/models/evap_ret_fao56.py +265 -0
  673. hydpy/models/evap_ret_io.py +74 -0
  674. hydpy/models/evap_ret_tw2002.py +165 -0
  675. hydpy/models/exch/__init__.py +14 -0
  676. hydpy/models/exch/exch_control.py +262 -0
  677. hydpy/models/exch/exch_derived.py +36 -0
  678. hydpy/models/exch/exch_factors.py +26 -0
  679. hydpy/models/exch/exch_fluxes.py +48 -0
  680. hydpy/models/exch/exch_inlets.py +11 -0
  681. hydpy/models/exch/exch_logs.py +12 -0
  682. hydpy/models/exch/exch_model.py +451 -0
  683. hydpy/models/exch/exch_outlets.py +17 -0
  684. hydpy/models/exch/exch_receivers.py +17 -0
  685. hydpy/models/exch_branch_hbv96.py +186 -0
  686. hydpy/models/exch_waterlevel.py +73 -0
  687. hydpy/models/exch_weir_hbv96.py +609 -0
  688. hydpy/models/ga/__init__.py +14 -0
  689. hydpy/models/ga/ga_aides.py +17 -0
  690. hydpy/models/ga/ga_control.py +208 -0
  691. hydpy/models/ga/ga_derived.py +77 -0
  692. hydpy/models/ga/ga_fluxes.py +83 -0
  693. hydpy/models/ga/ga_inputs.py +26 -0
  694. hydpy/models/ga/ga_logs.py +17 -0
  695. hydpy/models/ga/ga_model.py +2952 -0
  696. hydpy/models/ga/ga_states.py +87 -0
  697. hydpy/models/ga_garto.py +1001 -0
  698. hydpy/models/ga_garto_submodel1.py +79 -0
  699. hydpy/models/gland/__init__.py +14 -0
  700. hydpy/models/gland/gland_control.py +90 -0
  701. hydpy/models/gland/gland_derived.py +113 -0
  702. hydpy/models/gland/gland_fluxes.py +137 -0
  703. hydpy/models/gland/gland_inputs.py +12 -0
  704. hydpy/models/gland/gland_model.py +1439 -0
  705. hydpy/models/gland/gland_outlets.py +11 -0
  706. hydpy/models/gland/gland_states.py +90 -0
  707. hydpy/models/gland_gr4.py +501 -0
  708. hydpy/models/gland_gr5.py +463 -0
  709. hydpy/models/gland_gr6.py +487 -0
  710. hydpy/models/hland/__init__.py +20 -0
  711. hydpy/models/hland/hland_aides.py +19 -0
  712. hydpy/models/hland/hland_constants.py +37 -0
  713. hydpy/models/hland/hland_control.py +1530 -0
  714. hydpy/models/hland/hland_derived.py +683 -0
  715. hydpy/models/hland/hland_factors.py +57 -0
  716. hydpy/models/hland/hland_fixed.py +42 -0
  717. hydpy/models/hland/hland_fluxes.py +279 -0
  718. hydpy/models/hland/hland_inputs.py +19 -0
  719. hydpy/models/hland/hland_masks.py +107 -0
  720. hydpy/models/hland/hland_model.py +4664 -0
  721. hydpy/models/hland/hland_outlets.py +11 -0
  722. hydpy/models/hland/hland_parameters.py +227 -0
  723. hydpy/models/hland/hland_sequences.py +382 -0
  724. hydpy/models/hland/hland_states.py +236 -0
  725. hydpy/models/hland_96.py +1812 -0
  726. hydpy/models/hland_96c.py +1196 -0
  727. hydpy/models/hland_96p.py +1204 -0
  728. hydpy/models/kinw/__init__.py +18 -0
  729. hydpy/models/kinw/kinw_aides.py +306 -0
  730. hydpy/models/kinw/kinw_control.py +270 -0
  731. hydpy/models/kinw/kinw_derived.py +197 -0
  732. hydpy/models/kinw/kinw_fixed.py +33 -0
  733. hydpy/models/kinw/kinw_fluxes.py +37 -0
  734. hydpy/models/kinw/kinw_inlets.py +11 -0
  735. hydpy/models/kinw/kinw_model.py +3026 -0
  736. hydpy/models/kinw/kinw_outlets.py +11 -0
  737. hydpy/models/kinw/kinw_solver.py +45 -0
  738. hydpy/models/kinw/kinw_states.py +17 -0
  739. hydpy/models/kinw_williams.py +1299 -0
  740. hydpy/models/kinw_williams_ext.py +768 -0
  741. hydpy/models/lland/__init__.py +42 -0
  742. hydpy/models/lland/lland_aides.py +38 -0
  743. hydpy/models/lland/lland_constants.py +88 -0
  744. hydpy/models/lland/lland_control.py +1329 -0
  745. hydpy/models/lland/lland_derived.py +380 -0
  746. hydpy/models/lland/lland_factors.py +18 -0
  747. hydpy/models/lland/lland_fixed.py +128 -0
  748. hydpy/models/lland/lland_fluxes.py +626 -0
  749. hydpy/models/lland/lland_inlets.py +12 -0
  750. hydpy/models/lland/lland_inputs.py +33 -0
  751. hydpy/models/lland/lland_logs.py +17 -0
  752. hydpy/models/lland/lland_masks.py +212 -0
  753. hydpy/models/lland/lland_model.py +7690 -0
  754. hydpy/models/lland/lland_outlets.py +12 -0
  755. hydpy/models/lland/lland_parameters.py +195 -0
  756. hydpy/models/lland/lland_sequences.py +67 -0
  757. hydpy/models/lland/lland_states.py +280 -0
  758. hydpy/models/lland_dd.py +2270 -0
  759. hydpy/models/lland_knauf.py +2156 -0
  760. hydpy/models/lland_knauf_ic.py +1920 -0
  761. hydpy/models/meteo/__init__.py +12 -0
  762. hydpy/models/meteo/meteo_control.py +154 -0
  763. hydpy/models/meteo/meteo_derived.py +159 -0
  764. hydpy/models/meteo/meteo_factors.py +88 -0
  765. hydpy/models/meteo/meteo_fixed.py +19 -0
  766. hydpy/models/meteo/meteo_fluxes.py +46 -0
  767. hydpy/models/meteo/meteo_inputs.py +47 -0
  768. hydpy/models/meteo/meteo_logs.py +30 -0
  769. hydpy/models/meteo/meteo_model.py +2904 -0
  770. hydpy/models/meteo/meteo_parameters.py +14 -0
  771. hydpy/models/meteo/meteo_sequences.py +22 -0
  772. hydpy/models/meteo_clear_glob_io.py +77 -0
  773. hydpy/models/meteo_glob_fao56.py +217 -0
  774. hydpy/models/meteo_glob_io.py +68 -0
  775. hydpy/models/meteo_glob_morsim.py +444 -0
  776. hydpy/models/meteo_precip_io.py +76 -0
  777. hydpy/models/meteo_psun_sun_glob_io.py +83 -0
  778. hydpy/models/meteo_sun_fao56.py +188 -0
  779. hydpy/models/meteo_sun_morsim.py +466 -0
  780. hydpy/models/meteo_temp_io.py +76 -0
  781. hydpy/models/musk/__init__.py +15 -0
  782. hydpy/models/musk/musk_control.py +328 -0
  783. hydpy/models/musk/musk_derived.py +32 -0
  784. hydpy/models/musk/musk_factors.py +53 -0
  785. hydpy/models/musk/musk_fluxes.py +24 -0
  786. hydpy/models/musk/musk_inlets.py +11 -0
  787. hydpy/models/musk/musk_masks.py +15 -0
  788. hydpy/models/musk/musk_model.py +838 -0
  789. hydpy/models/musk/musk_outlets.py +11 -0
  790. hydpy/models/musk/musk_sequences.py +88 -0
  791. hydpy/models/musk/musk_solver.py +68 -0
  792. hydpy/models/musk/musk_states.py +64 -0
  793. hydpy/models/musk_classic.py +228 -0
  794. hydpy/models/musk_mct.py +1247 -0
  795. hydpy/models/rconc/__init__.py +12 -0
  796. hydpy/models/rconc/rconc_control.py +473 -0
  797. hydpy/models/rconc/rconc_derived.py +76 -0
  798. hydpy/models/rconc/rconc_fluxes.py +19 -0
  799. hydpy/models/rconc/rconc_logs.py +74 -0
  800. hydpy/models/rconc/rconc_model.py +260 -0
  801. hydpy/models/rconc/rconc_states.py +11 -0
  802. hydpy/models/rconc_nash.py +48 -0
  803. hydpy/models/rconc_uh.py +53 -0
  804. hydpy/models/sw1d/__init__.py +17 -0
  805. hydpy/models/sw1d/sw1d_control.py +356 -0
  806. hydpy/models/sw1d/sw1d_derived.py +85 -0
  807. hydpy/models/sw1d/sw1d_factors.py +78 -0
  808. hydpy/models/sw1d/sw1d_fixed.py +12 -0
  809. hydpy/models/sw1d/sw1d_fluxes.py +55 -0
  810. hydpy/models/sw1d/sw1d_inlets.py +17 -0
  811. hydpy/models/sw1d/sw1d_model.py +3385 -0
  812. hydpy/models/sw1d/sw1d_outlets.py +11 -0
  813. hydpy/models/sw1d/sw1d_receivers.py +11 -0
  814. hydpy/models/sw1d/sw1d_senders.py +11 -0
  815. hydpy/models/sw1d/sw1d_states.py +23 -0
  816. hydpy/models/sw1d_channel.py +2051 -0
  817. hydpy/models/sw1d_gate_out.py +599 -0
  818. hydpy/models/sw1d_lias.py +105 -0
  819. hydpy/models/sw1d_lias_sluice.py +531 -0
  820. hydpy/models/sw1d_network.py +1219 -0
  821. hydpy/models/sw1d_pump.py +448 -0
  822. hydpy/models/sw1d_q_in.py +79 -0
  823. hydpy/models/sw1d_q_out.py +81 -0
  824. hydpy/models/sw1d_storage.py +78 -0
  825. hydpy/models/sw1d_weir_out.py +75 -0
  826. hydpy/models/test/__init__.py +14 -0
  827. hydpy/models/test/test_control.py +28 -0
  828. hydpy/models/test/test_fluxes.py +17 -0
  829. hydpy/models/test/test_model.py +201 -0
  830. hydpy/models/test/test_solver.py +48 -0
  831. hydpy/models/test/test_states.py +17 -0
  832. hydpy/models/test_discontinous.py +46 -0
  833. hydpy/models/test_stiff0d.py +47 -0
  834. hydpy/models/test_stiff1d.py +42 -0
  835. hydpy/models/whmod/__init__.py +21 -0
  836. hydpy/models/whmod/whmod_constants.py +77 -0
  837. hydpy/models/whmod/whmod_control.py +333 -0
  838. hydpy/models/whmod/whmod_derived.py +210 -0
  839. hydpy/models/whmod/whmod_factors.py +9 -0
  840. hydpy/models/whmod/whmod_fluxes.py +105 -0
  841. hydpy/models/whmod/whmod_inputs.py +15 -0
  842. hydpy/models/whmod/whmod_masks.py +178 -0
  843. hydpy/models/whmod/whmod_model.py +2091 -0
  844. hydpy/models/whmod/whmod_parameters.py +155 -0
  845. hydpy/models/whmod/whmod_sequences.py +193 -0
  846. hydpy/models/whmod/whmod_states.py +73 -0
  847. hydpy/models/whmod_rural.py +794 -0
  848. hydpy/models/whmod_urban.py +1011 -0
  849. hydpy/models/wland/__init__.py +43 -0
  850. hydpy/models/wland/wland_aides.py +55 -0
  851. hydpy/models/wland/wland_constants.py +103 -0
  852. hydpy/models/wland/wland_control.py +508 -0
  853. hydpy/models/wland/wland_derived.py +330 -0
  854. hydpy/models/wland/wland_factors.py +11 -0
  855. hydpy/models/wland/wland_fixed.py +12 -0
  856. hydpy/models/wland/wland_fluxes.py +166 -0
  857. hydpy/models/wland/wland_inputs.py +33 -0
  858. hydpy/models/wland/wland_masks.py +54 -0
  859. hydpy/models/wland/wland_model.py +3755 -0
  860. hydpy/models/wland/wland_outlets.py +11 -0
  861. hydpy/models/wland/wland_parameters.py +214 -0
  862. hydpy/models/wland/wland_sequences.py +108 -0
  863. hydpy/models/wland/wland_solver.py +45 -0
  864. hydpy/models/wland/wland_states.py +56 -0
  865. hydpy/models/wland_gd.py +888 -0
  866. hydpy/models/wland_wag.py +1244 -0
  867. hydpy/models/wq/__init__.py +14 -0
  868. hydpy/models/wq/wq_control.py +117 -0
  869. hydpy/models/wq/wq_derived.py +182 -0
  870. hydpy/models/wq/wq_factors.py +79 -0
  871. hydpy/models/wq/wq_fluxes.py +17 -0
  872. hydpy/models/wq/wq_model.py +1889 -0
  873. hydpy/models/wq_trapeze.py +168 -0
  874. hydpy/models/wq_trapeze_strickler.py +101 -0
  875. hydpy/models/wq_walrus.py +57 -0
  876. hydpy/py.typed +0 -0
  877. hydpy/tests/.coveragerc +22 -0
  878. hydpy/tests/__init__.py +0 -0
  879. hydpy/tests/check_consistency.py +32 -0
  880. hydpy/tests/hydpydoctestcustomize.pth +1 -0
  881. hydpy/tests/hydpydoctestcustomize.py +15 -0
  882. hydpy/tests/iotesting/__init__.py +0 -0
  883. hydpy/tests/run_doctests.py +233 -0
  884. hydpy-6.2.dev1.data/scripts/hyd.py +277 -0
  885. hydpy-6.2.dev1.dist-info/LICENSE +165 -0
  886. hydpy-6.2.dev1.dist-info/METADATA +163 -0
  887. hydpy-6.2.dev1.dist-info/RECORD +890 -0
  888. hydpy-6.2.dev1.dist-info/WHEEL +5 -0
  889. hydpy-6.2.dev1.dist-info/licenses_hydpy_installer.txt +42 -0
  890. 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)
@@ -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