timflow 0.2.0__tar.gz → 0.4.0__tar.gz

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 (338) hide show
  1. {timflow-0.2.0 → timflow-0.4.0}/.readthedocs.yaml +3 -4
  2. {timflow-0.2.0 → timflow-0.4.0}/PKG-INFO +3 -2
  3. {timflow-0.2.0 → timflow-0.4.0}/README.md +1 -1
  4. {timflow-0.2.0 → timflow-0.4.0}/docs/Makefile +1 -1
  5. {timflow-0.2.0 → timflow-0.4.0}/docs/_templates/autoapi/index.rst +1 -1
  6. timflow-0.4.0/docs/_templates/autoapi/python/class.rst +104 -0
  7. {timflow-0.2.0 → timflow-0.4.0}/docs/about/index.rst +2 -2
  8. {timflow-0.2.0 → timflow-0.4.0}/docs/conf.py +18 -19
  9. {timflow-0.2.0 → timflow-0.4.0}/docs/index.rst +2 -0
  10. {timflow-0.2.0 → timflow-0.4.0}/docs/steady/00userguide/howtos/howto_convert_timml_model.ipynb +2 -2
  11. {timflow-0.2.0 → timflow-0.4.0}/docs/steady/00userguide/howtos/howto_select_a_model.ipynb +3 -3
  12. {timflow-0.2.0 → timflow-0.4.0}/docs/steady/00userguide/tutorials/tutorial0_well_single_layer_aquifer.ipynb +2 -2
  13. {timflow-0.2.0 → timflow-0.4.0}/docs/steady/00userguide/tutorials/tutorial1_well_multi_layer_aquifer.ipynb +0 -7
  14. {timflow-0.2.0 → timflow-0.4.0}/docs/steady/02examples/00_single_layer_model.ipynb +35 -5
  15. {timflow-0.2.0 → timflow-0.4.0}/docs/steady/02examples/01_well_in_uniform_flow.ipynb +7 -0
  16. {timflow-0.2.0 → timflow-0.4.0}/docs/steady/02examples/02_wells_rivers_and_recharge.ipynb +8 -8
  17. {timflow-0.2.0 → timflow-0.4.0}/docs/steady/02examples/03a_modeling_inhomogeneities.ipynb +1 -1
  18. {timflow-0.2.0 → timflow-0.4.0}/docs/steady/02examples/03b_modeling_inhomogeneities3D.ipynb +1 -1
  19. {timflow-0.2.0 → timflow-0.4.0}/docs/steady/02examples/connected_wells.ipynb +4 -5
  20. {timflow-0.2.0 → timflow-0.4.0}/docs/steady/03xsections/cross_section_models.ipynb +23 -13
  21. {timflow-0.2.0 → timflow-0.4.0}/docs/steady/04benchmarks/test_linesink_discharge.ipynb +4 -3
  22. {timflow-0.2.0 → timflow-0.4.0}/docs/steady/04benchmarks/test_polygon_areasink.ipynb +8 -1
  23. timflow-0.4.0/docs/timings.rst +4 -0
  24. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/00userguide/howtos/howto_fluctuating_head_boundary.ipynb +1 -13
  25. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/00userguide/howtos/howto_pumpingtest.ipynb +1 -1
  26. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/00userguide/howtos/howto_select_a_model.ipynb +6 -15
  27. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/00userguide/tutorials/tutorial0_start_a_model.ipynb +1 -13
  28. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/02examples/connected_wells.ipynb +1 -13
  29. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/02examples/horizontal_well.ipynb +1 -13
  30. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/02examples/line_sink_well_sol.ipynb +2 -13
  31. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/02examples/meandering_river.ipynb +7 -15
  32. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/02examples/well_in_multilayer_system.ipynb +1 -13
  33. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/02examples/well_near_wall.ipynb +1 -1
  34. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/03xsections/1d_elements.ipynb +5 -17
  35. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/03xsections/1d_given_linesink.ipynb +2 -14
  36. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/03xsections/1d_inhom_elements.ipynb +20 -27
  37. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/03xsections/river_in_cross_section.ipynb +2 -2
  38. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/03xsections/stripareasink.ipynb +1 -13
  39. timflow-0.4.0/docs/transient/04pumpingtests/confined1_oude_korendijk.ipynb +241 -0
  40. timflow-0.4.0/docs/transient/04pumpingtests/confined2_grindley.ipynb +326 -0
  41. timflow-0.4.0/docs/transient/04pumpingtests/confined3_sioux.ipynb +306 -0
  42. timflow-0.4.0/docs/transient/04pumpingtests/confined4_nevada.ipynb +278 -0
  43. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/04pumpingtests/leaky1_dalem.ipynb +10 -84
  44. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/04pumpingtests/leaky2_hardixveld.ipynb +2 -28
  45. timflow-0.4.0/docs/transient/04pumpingtests/leaky3_texashill.ipynb +308 -0
  46. timflow-0.4.0/docs/transient/04pumpingtests/slug1_pratt_county.ipynb +318 -0
  47. timflow-0.4.0/docs/transient/04pumpingtests/slug2_multiwell.ipynb +295 -0
  48. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/04pumpingtests/slug3_falling_head.ipynb +3 -29
  49. timflow-0.4.0/docs/transient/04pumpingtests/slug4_dawsonville.ipynb +233 -0
  50. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/04pumpingtests/unconfined1_moench.ipynb +3 -29
  51. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/05benchmarks/river1d.ipynb +1 -13
  52. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/05benchmarks/ttim_neuman_comparison.ipynb +1 -13
  53. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/05benchmarks/validation_tidal_wave_with_Bruggeman.ipynb +1 -13
  54. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/05benchmarks/well_near_leaky_river.ipynb +1 -13
  55. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/05benchmarks/well_near_river_or_wall.ipynb +1 -13
  56. timflow-0.4.0/docs/utils/calibrating_timflow_models.ipynb +1696 -0
  57. timflow-0.4.0/docs/utils/index.rst +11 -0
  58. {timflow-0.2.0 → timflow-0.4.0}/pyproject.toml +1 -0
  59. {timflow-0.2.0 → timflow-0.4.0}/tests/steady/test_well.py +5 -5
  60. {timflow-0.2.0 → timflow-0.4.0}/tests/test_bessel.py +60 -60
  61. {timflow-0.2.0 → timflow-0.4.0}/timflow/__init__.py +1 -0
  62. timflow-0.4.0/timflow/bessel/besselnumba.py +1625 -0
  63. timflow-0.2.0/timflow/bessel/besselnumba.py → timflow-0.4.0/timflow/bessel/besselnumba_old.py +173 -8
  64. timflow-0.4.0/timflow/calibrate.py +1585 -0
  65. {timflow-0.2.0 → timflow-0.4.0}/timflow/plots/plots.py +434 -65
  66. {timflow-0.2.0 → timflow-0.4.0}/timflow/steady/__init__.py +6 -8
  67. {timflow-0.2.0 → timflow-0.4.0}/timflow/steady/aquifer.py +34 -23
  68. {timflow-0.2.0 → timflow-0.4.0}/timflow/steady/aquifer_parameters.py +15 -11
  69. {timflow-0.2.0 → timflow-0.4.0}/timflow/steady/circareasink.py +0 -3
  70. {timflow-0.2.0 → timflow-0.4.0}/timflow/steady/constant.py +0 -3
  71. {timflow-0.2.0 → timflow-0.4.0}/timflow/steady/element.py +0 -22
  72. {timflow-0.2.0 → timflow-0.4.0}/timflow/steady/inhomogeneity.py +30 -9
  73. {timflow-0.2.0 → timflow-0.4.0}/timflow/steady/inhomogeneity1d.py +61 -14
  74. {timflow-0.2.0 → timflow-0.4.0}/timflow/steady/linedoublet.py +1 -6
  75. {timflow-0.2.0 → timflow-0.4.0}/timflow/steady/linedoublet1d.py +0 -3
  76. {timflow-0.2.0 → timflow-0.4.0}/timflow/steady/linesink.py +7 -7
  77. {timflow-0.2.0 → timflow-0.4.0}/timflow/steady/linesink1d.py +6 -7
  78. {timflow-0.2.0 → timflow-0.4.0}/timflow/steady/model.py +353 -109
  79. timflow-0.4.0/timflow/steady/plots.py +846 -0
  80. {timflow-0.2.0 → timflow-0.4.0}/timflow/steady/trace.py +116 -37
  81. {timflow-0.2.0 → timflow-0.4.0}/timflow/steady/uflow.py +0 -3
  82. {timflow-0.2.0 → timflow-0.4.0}/timflow/steady/well.py +73 -78
  83. {timflow-0.2.0 → timflow-0.4.0}/timflow/transient/__init__.py +6 -7
  84. {timflow-0.2.0 → timflow-0.4.0}/timflow/transient/aquifer.py +44 -10
  85. {timflow-0.2.0 → timflow-0.4.0}/timflow/transient/aquifer_parameters.py +8 -11
  86. {timflow-0.2.0 → timflow-0.4.0}/timflow/transient/circareasink.py +0 -3
  87. {timflow-0.2.0 → timflow-0.4.0}/timflow/transient/element.py +4 -21
  88. {timflow-0.2.0 → timflow-0.4.0}/timflow/transient/fit.py +23 -20
  89. {timflow-0.2.0 → timflow-0.4.0}/timflow/transient/inhom1d.py +75 -41
  90. {timflow-0.2.0 → timflow-0.4.0}/timflow/transient/invlapnumba.py +7 -2
  91. {timflow-0.2.0 → timflow-0.4.0}/timflow/transient/linedoublet.py +0 -3
  92. {timflow-0.2.0 → timflow-0.4.0}/timflow/transient/linedoublet1d.py +29 -3
  93. {timflow-0.2.0 → timflow-0.4.0}/timflow/transient/linesink.py +52 -9
  94. {timflow-0.2.0 → timflow-0.4.0}/timflow/transient/linesink1d.py +12 -3
  95. {timflow-0.2.0 → timflow-0.4.0}/timflow/transient/model.py +339 -92
  96. timflow-0.4.0/timflow/transient/plots.py +438 -0
  97. {timflow-0.2.0 → timflow-0.4.0}/timflow/transient/stripareasink.py +14 -5
  98. {timflow-0.2.0 → timflow-0.4.0}/timflow/transient/well.py +3 -7
  99. timflow-0.4.0/timflow/version.py +68 -0
  100. {timflow-0.2.0 → timflow-0.4.0}/timflow.egg-info/PKG-INFO +3 -2
  101. {timflow-0.2.0 → timflow-0.4.0}/timflow.egg-info/SOURCES.txt +9 -1
  102. {timflow-0.2.0 → timflow-0.4.0}/timflow.egg-info/requires.txt +1 -0
  103. {timflow-0.2.0 → timflow-0.4.0}/utils/clear_notebooks.py +4 -0
  104. timflow-0.4.0/utils/compile_timflow_api.py +245 -0
  105. timflow-0.4.0/utils/run_notebook_tests.py +60 -0
  106. timflow-0.2.0/docs/transient/04pumpingtests/confined1_oude_korendijk.ipynb +0 -402
  107. timflow-0.2.0/docs/transient/04pumpingtests/confined2_grindley.ipynb +0 -474
  108. timflow-0.2.0/docs/transient/04pumpingtests/confined3_sioux.ipynb +0 -454
  109. timflow-0.2.0/docs/transient/04pumpingtests/confined4_nevada.ipynb +0 -504
  110. timflow-0.2.0/docs/transient/04pumpingtests/leaky3_texashill.ipynb +0 -464
  111. timflow-0.2.0/docs/transient/04pumpingtests/slug1_pratt_county.ipynb +0 -474
  112. timflow-0.2.0/docs/transient/04pumpingtests/slug2_multiwell.ipynb +0 -457
  113. timflow-0.2.0/docs/transient/04pumpingtests/slug4_dawsonville.ipynb +0 -409
  114. timflow-0.2.0/timflow/steady/plots.py +0 -606
  115. timflow-0.2.0/timflow/transient/plots.py +0 -296
  116. timflow-0.2.0/timflow/version.py +0 -32
  117. {timflow-0.2.0 → timflow-0.4.0}/.git-blame-ignore-revs +0 -0
  118. {timflow-0.2.0 → timflow-0.4.0}/.github/workflows/ci-general.yml +0 -0
  119. {timflow-0.2.0 → timflow-0.4.0}/.github/workflows/ci-steady.yml +0 -0
  120. {timflow-0.2.0 → timflow-0.4.0}/.github/workflows/ci-transient.yml +0 -0
  121. {timflow-0.2.0 → timflow-0.4.0}/.github/workflows/lint.yml +0 -0
  122. {timflow-0.2.0 → timflow-0.4.0}/.github/workflows/pypi-publish.yml +0 -0
  123. {timflow-0.2.0 → timflow-0.4.0}/.gitignore +0 -0
  124. {timflow-0.2.0 → timflow-0.4.0}/.python-version +0 -0
  125. {timflow-0.2.0 → timflow-0.4.0}/CITATION.cff +0 -0
  126. {timflow-0.2.0 → timflow-0.4.0}/LICENSE +0 -0
  127. {timflow-0.2.0 → timflow-0.4.0}/docs/_static/css/custom.css +0 -0
  128. {timflow-0.2.0 → timflow-0.4.0}/docs/_static/example_output_steady.png +0 -0
  129. {timflow-0.2.0 → timflow-0.4.0}/docs/_static/example_output_transient.png +0 -0
  130. {timflow-0.2.0 → timflow-0.4.0}/docs/_static/timflow_icon.png +0 -0
  131. {timflow-0.2.0 → timflow-0.4.0}/docs/_static/timflow_logo.jpeg +0 -0
  132. {timflow-0.2.0 → timflow-0.4.0}/docs/_templates/autoapi/python/module.rst +0 -0
  133. {timflow-0.2.0 → timflow-0.4.0}/docs/_templates/autosummary/class.rst +0 -0
  134. {timflow-0.2.0 → timflow-0.4.0}/docs/_templates/autosummary/module.rst +0 -0
  135. {timflow-0.2.0 → timflow-0.4.0}/docs/about/publications.bib +0 -0
  136. {timflow-0.2.0 → timflow-0.4.0}/docs/steady/00userguide/index.rst +0 -0
  137. {timflow-0.2.0 → timflow-0.4.0}/docs/steady/01concepts/elements/areasinks.rst +0 -0
  138. {timflow-0.2.0 → timflow-0.4.0}/docs/steady/01concepts/elements/constant.rst +0 -0
  139. {timflow-0.2.0 → timflow-0.4.0}/docs/steady/01concepts/elements/index.rst +0 -0
  140. {timflow-0.2.0 → timflow-0.4.0}/docs/steady/01concepts/elements/inhoms.rst +0 -0
  141. {timflow-0.2.0 → timflow-0.4.0}/docs/steady/01concepts/elements/linedoublets.rst +0 -0
  142. {timflow-0.2.0 → timflow-0.4.0}/docs/steady/01concepts/elements/linesinks.rst +0 -0
  143. {timflow-0.2.0 → timflow-0.4.0}/docs/steady/01concepts/elements/uflow.rst +0 -0
  144. {timflow-0.2.0 → timflow-0.4.0}/docs/steady/01concepts/elements/wells.rst +0 -0
  145. {timflow-0.2.0 → timflow-0.4.0}/docs/steady/01concepts/elements/xsection.rst +0 -0
  146. {timflow-0.2.0 → timflow-0.4.0}/docs/steady/01concepts/index.rst +0 -0
  147. {timflow-0.2.0 → timflow-0.4.0}/docs/steady/02examples/04_horizontal_wells.ipynb +0 -0
  148. {timflow-0.2.0 → timflow-0.4.0}/docs/steady/02examples/05_impermeable_walls.ipynb +0 -0
  149. {timflow-0.2.0 → timflow-0.4.0}/docs/steady/02examples/building_pit.ipynb +0 -0
  150. {timflow-0.2.0 → timflow-0.4.0}/docs/steady/02examples/circular_area_sink.ipynb +0 -0
  151. {timflow-0.2.0 → timflow-0.4.0}/docs/steady/02examples/collector_wells.ipynb +0 -0
  152. {timflow-0.2.0 → timflow-0.4.0}/docs/steady/02examples/figs/inhomogeneity_exercise3.png +0 -0
  153. {timflow-0.2.0 → timflow-0.4.0}/docs/steady/02examples/figs/layout_exercise2.PNG +0 -0
  154. {timflow-0.2.0 → timflow-0.4.0}/docs/steady/02examples/figs/timml_notebook2_layout.png +0 -0
  155. {timflow-0.2.0 → timflow-0.4.0}/docs/steady/02examples/figs/timml_notebook2_layout_old.png +0 -0
  156. {timflow-0.2.0 → timflow-0.4.0}/docs/steady/02examples/figs/timml_notebook5_layout.png +0 -0
  157. {timflow-0.2.0 → timflow-0.4.0}/docs/steady/02examples/index.rst +0 -0
  158. {timflow-0.2.0 → timflow-0.4.0}/docs/steady/02examples/vertical_anisotropy.ipynb +0 -0
  159. {timflow-0.2.0 → timflow-0.4.0}/docs/steady/03xsections/index.rst +0 -0
  160. {timflow-0.2.0 → timflow-0.4.0}/docs/steady/04benchmarks/besselnumba_timing.ipynb +0 -0
  161. {timflow-0.2.0 → timflow-0.4.0}/docs/steady/04benchmarks/index.rst +0 -0
  162. {timflow-0.2.0 → timflow-0.4.0}/docs/steady/04benchmarks/large_diameter_experimental.ipynb +0 -0
  163. {timflow-0.2.0 → timflow-0.4.0}/docs/steady/04benchmarks/test_circular_buildingpit.ipynb +0 -0
  164. {timflow-0.2.0 → timflow-0.4.0}/docs/steady/04benchmarks/test_linesinkstrings.ipynb +0 -0
  165. {timflow-0.2.0 → timflow-0.4.0}/docs/steady/04benchmarks/test_normal_flux.ipynb +0 -0
  166. {timflow-0.2.0 → timflow-0.4.0}/docs/steady/04benchmarks/test_well_near_lake.ipynb +0 -0
  167. {timflow-0.2.0 → timflow-0.4.0}/docs/steady/04benchmarks/test_wells.ipynb +0 -0
  168. {timflow-0.2.0 → timflow-0.4.0}/docs/steady/04benchmarks/test_wells_with_resistance.ipynb +0 -0
  169. {timflow-0.2.0 → timflow-0.4.0}/docs/steady/index.rst +0 -0
  170. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/00userguide/howtos/data/oudekorendijk_h30.dat +0 -0
  171. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/00userguide/howtos/data/oudekorendijk_h90.dat +0 -0
  172. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/00userguide/howtos/howto_convert_ttim_model.ipynb +0 -0
  173. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/00userguide/howtos/howto_xsection_model.ipynb +0 -0
  174. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/00userguide/index.rst +0 -0
  175. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/01concepts/elements/areasinks.rst +0 -0
  176. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/01concepts/elements/index.rst +0 -0
  177. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/01concepts/elements/linedoublets.rst +0 -0
  178. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/01concepts/elements/linesinks.rst +0 -0
  179. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/01concepts/elements/wells.rst +0 -0
  180. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/01concepts/index.rst +0 -0
  181. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/01concepts/pathlines.rst +0 -0
  182. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/02examples/circareasink_example.ipynb +0 -0
  183. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/02examples/higher_order_head_linesink.ipynb +0 -0
  184. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/02examples/index.rst +0 -0
  185. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/02examples/pathline_trace.ipynb +0 -0
  186. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/02examples/wells_in_different_systems.ipynb +0 -0
  187. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/03xsections/data/mf6_ttim_xsec_riv1.txt +0 -0
  188. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/03xsections/data/mf6_ttim_xsec_riv2.txt +0 -0
  189. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/03xsections/data/watex_cross_section.png +0 -0
  190. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/03xsections/data/watex_example.csv +0 -0
  191. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/03xsections/index.rst +0 -0
  192. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/dalem_p120.txt +0 -0
  193. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/dalem_p30.txt +0 -0
  194. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/dalem_p60.txt +0 -0
  195. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/dalem_p90.txt +0 -0
  196. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/dawsonville_slug.txt +0 -0
  197. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/double-porosity-110m.txt +0 -0
  198. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/double-porosity-pumpingwell.txt +0 -0
  199. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/falling_head.txt +0 -0
  200. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/gridley_well_1.txt +0 -0
  201. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/gridley_well_3.txt +0 -0
  202. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/ln-2.txt +0 -0
  203. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/ln-3.txt +0 -0
  204. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/moench_pd1.txt +0 -0
  205. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/moench_pd2.txt +0 -0
  206. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/moench_ps1.txt +0 -0
  207. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/moench_ps2.txt +0 -0
  208. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/moench_pumped.txt +0 -0
  209. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/oudekorendijk_h30.dat +0 -0
  210. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/oudekorendijk_h90.dat +0 -0
  211. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/piezometer_h30.txt +0 -0
  212. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/piezometer_h90.txt +0 -0
  213. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/pumptest_neuman.txt +0 -0
  214. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/recovery.txt +0 -0
  215. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/schroth_obs1.txt +0 -0
  216. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/schroth_obs2.txt +0 -0
  217. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/schroth_obs3.txt +0 -0
  218. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/sioux100.txt +0 -0
  219. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/sioux200.txt +0 -0
  220. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/sioux400.txt +0 -0
  221. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/slug.txt +0 -0
  222. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/syn_30_0.0.txt +0 -0
  223. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/syn_90_0.0.txt +0 -0
  224. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/syn_p30_0.02.txt +0 -0
  225. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/syn_p30_0.05.txt +0 -0
  226. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/syn_p90_0.02.txt +0 -0
  227. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/syn_p90_0.05.txt +0 -0
  228. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/texas160.txt +0 -0
  229. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/texas40.txt +0 -0
  230. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/texas80.txt +0 -0
  231. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/venne_deep.txt +0 -0
  232. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/venne_shallow.txt +0 -0
  233. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/04pumpingtests/figs/Dalem.png +0 -0
  234. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/04pumpingtests/figs/Dawsonville.png +0 -0
  235. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/04pumpingtests/figs/Falling_head.png +0 -0
  236. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/04pumpingtests/figs/Hardinxveld.png +0 -0
  237. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/04pumpingtests/figs/Moench.png +0 -0
  238. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/04pumpingtests/figs/Multi_well.png +0 -0
  239. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/04pumpingtests/figs/Nevada.png +0 -0
  240. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/04pumpingtests/figs/Pratt_County.png +0 -0
  241. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/04pumpingtests/figs/Schroth.png +0 -0
  242. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/04pumpingtests/figs/Sioux.png +0 -0
  243. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/04pumpingtests/figs/Texas_Hill.png +0 -0
  244. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/04pumpingtests/figs/Vennebulten.png +0 -0
  245. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/04pumpingtests/figs/gridley.png +0 -0
  246. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/04pumpingtests/figs/oude_korendijk.png +0 -0
  247. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/04pumpingtests/index.rst +0 -0
  248. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/05benchmarks/compare_wells_linesink.ipynb +0 -0
  249. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/05benchmarks/data/syn_p30_0.02.txt +0 -0
  250. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/05benchmarks/data/syn_p30_0.05.txt +0 -0
  251. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/05benchmarks/data/syn_p90_0.02.txt +0 -0
  252. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/05benchmarks/data/syn_p90_0.05.txt +0 -0
  253. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/05benchmarks/figs/neuman.png +0 -0
  254. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/05benchmarks/index.rst +0 -0
  255. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/05benchmarks/line-sink-ditch.ipynb +0 -0
  256. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/05benchmarks/synthetic0_data.ipynb +0 -0
  257. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/05benchmarks/synthetic_calibrate_2aquifers.ipynb +0 -0
  258. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/05benchmarks/synthetic_test_calibrate.ipynb +0 -0
  259. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/05benchmarks/test_line_elements.ipynb +0 -0
  260. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/05benchmarks/theis_storage.ipynb +0 -0
  261. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/05benchmarks/well_benchmarks.ipynb +0 -0
  262. {timflow-0.2.0 → timflow-0.4.0}/docs/transient/index.rst +0 -0
  263. {timflow-0.2.0 → timflow-0.4.0}/papers/2013_bakker_ttim_theory.pdf +0 -0
  264. {timflow-0.2.0 → timflow-0.4.0}/setup.cfg +0 -0
  265. {timflow-0.2.0 → timflow-0.4.0}/tests/bessel_test_data/.gitkeep +0 -0
  266. {timflow-0.2.0 → timflow-0.4.0}/tests/bessel_test_data/potld_order0_lab0.txt +0 -0
  267. {timflow-0.2.0 → timflow-0.4.0}/tests/bessel_test_data/potld_order0_lab1.txt +0 -0
  268. {timflow-0.2.0 → timflow-0.4.0}/tests/bessel_test_data/potld_order0_lab2.txt +0 -0
  269. {timflow-0.2.0 → timflow-0.4.0}/tests/bessel_test_data/potld_order1_lab0.txt +0 -0
  270. {timflow-0.2.0 → timflow-0.4.0}/tests/bessel_test_data/potld_order1_lab1.txt +0 -0
  271. {timflow-0.2.0 → timflow-0.4.0}/tests/bessel_test_data/potld_order1_lab2.txt +0 -0
  272. {timflow-0.2.0 → timflow-0.4.0}/tests/bessel_test_data/potld_order2_lab0.txt +0 -0
  273. {timflow-0.2.0 → timflow-0.4.0}/tests/bessel_test_data/potld_order2_lab1.txt +0 -0
  274. {timflow-0.2.0 → timflow-0.4.0}/tests/bessel_test_data/potld_order2_lab2.txt +0 -0
  275. {timflow-0.2.0 → timflow-0.4.0}/tests/bessel_test_data/potls_order0_lab0.txt +0 -0
  276. {timflow-0.2.0 → timflow-0.4.0}/tests/bessel_test_data/potls_order0_lab1.txt +0 -0
  277. {timflow-0.2.0 → timflow-0.4.0}/tests/bessel_test_data/potls_order0_lab2.txt +0 -0
  278. {timflow-0.2.0 → timflow-0.4.0}/tests/bessel_test_data/potls_order1_lab0.txt +0 -0
  279. {timflow-0.2.0 → timflow-0.4.0}/tests/bessel_test_data/potls_order1_lab1.txt +0 -0
  280. {timflow-0.2.0 → timflow-0.4.0}/tests/bessel_test_data/potls_order1_lab2.txt +0 -0
  281. {timflow-0.2.0 → timflow-0.4.0}/tests/bessel_test_data/potls_order2_lab0.txt +0 -0
  282. {timflow-0.2.0 → timflow-0.4.0}/tests/bessel_test_data/potls_order2_lab1.txt +0 -0
  283. {timflow-0.2.0 → timflow-0.4.0}/tests/bessel_test_data/potls_order2_lab2.txt +0 -0
  284. {timflow-0.2.0 → timflow-0.4.0}/tests/bessel_test_data/qxld_order0_lab0.txt +0 -0
  285. {timflow-0.2.0 → timflow-0.4.0}/tests/bessel_test_data/qxld_order0_lab1.txt +0 -0
  286. {timflow-0.2.0 → timflow-0.4.0}/tests/bessel_test_data/qxld_order0_lab2.txt +0 -0
  287. {timflow-0.2.0 → timflow-0.4.0}/tests/bessel_test_data/qxld_order1_lab0.txt +0 -0
  288. {timflow-0.2.0 → timflow-0.4.0}/tests/bessel_test_data/qxld_order1_lab1.txt +0 -0
  289. {timflow-0.2.0 → timflow-0.4.0}/tests/bessel_test_data/qxld_order1_lab2.txt +0 -0
  290. {timflow-0.2.0 → timflow-0.4.0}/tests/bessel_test_data/qxld_order2_lab0.txt +0 -0
  291. {timflow-0.2.0 → timflow-0.4.0}/tests/bessel_test_data/qxld_order2_lab1.txt +0 -0
  292. {timflow-0.2.0 → timflow-0.4.0}/tests/bessel_test_data/qxld_order2_lab2.txt +0 -0
  293. {timflow-0.2.0 → timflow-0.4.0}/tests/bessel_test_data/qxls_order0_lab0.txt +0 -0
  294. {timflow-0.2.0 → timflow-0.4.0}/tests/bessel_test_data/qxls_order0_lab1.txt +0 -0
  295. {timflow-0.2.0 → timflow-0.4.0}/tests/bessel_test_data/qxls_order0_lab2.txt +0 -0
  296. {timflow-0.2.0 → timflow-0.4.0}/tests/bessel_test_data/qxls_order1_lab0.txt +0 -0
  297. {timflow-0.2.0 → timflow-0.4.0}/tests/bessel_test_data/qxls_order1_lab1.txt +0 -0
  298. {timflow-0.2.0 → timflow-0.4.0}/tests/bessel_test_data/qxls_order1_lab2.txt +0 -0
  299. {timflow-0.2.0 → timflow-0.4.0}/tests/bessel_test_data/qxls_order2_lab0.txt +0 -0
  300. {timflow-0.2.0 → timflow-0.4.0}/tests/bessel_test_data/qxls_order2_lab1.txt +0 -0
  301. {timflow-0.2.0 → timflow-0.4.0}/tests/bessel_test_data/qxls_order2_lab2.txt +0 -0
  302. {timflow-0.2.0 → timflow-0.4.0}/tests/bessel_test_data/qyld_order0_lab0.txt +0 -0
  303. {timflow-0.2.0 → timflow-0.4.0}/tests/bessel_test_data/qyld_order0_lab1.txt +0 -0
  304. {timflow-0.2.0 → timflow-0.4.0}/tests/bessel_test_data/qyld_order0_lab2.txt +0 -0
  305. {timflow-0.2.0 → timflow-0.4.0}/tests/bessel_test_data/qyld_order1_lab0.txt +0 -0
  306. {timflow-0.2.0 → timflow-0.4.0}/tests/bessel_test_data/qyld_order1_lab1.txt +0 -0
  307. {timflow-0.2.0 → timflow-0.4.0}/tests/bessel_test_data/qyld_order1_lab2.txt +0 -0
  308. {timflow-0.2.0 → timflow-0.4.0}/tests/bessel_test_data/qyld_order2_lab0.txt +0 -0
  309. {timflow-0.2.0 → timflow-0.4.0}/tests/bessel_test_data/qyld_order2_lab1.txt +0 -0
  310. {timflow-0.2.0 → timflow-0.4.0}/tests/bessel_test_data/qyld_order2_lab2.txt +0 -0
  311. {timflow-0.2.0 → timflow-0.4.0}/tests/bessel_test_data/qyls_order0_lab0.txt +0 -0
  312. {timflow-0.2.0 → timflow-0.4.0}/tests/bessel_test_data/qyls_order0_lab1.txt +0 -0
  313. {timflow-0.2.0 → timflow-0.4.0}/tests/bessel_test_data/qyls_order0_lab2.txt +0 -0
  314. {timflow-0.2.0 → timflow-0.4.0}/tests/bessel_test_data/qyls_order1_lab0.txt +0 -0
  315. {timflow-0.2.0 → timflow-0.4.0}/tests/bessel_test_data/qyls_order1_lab1.txt +0 -0
  316. {timflow-0.2.0 → timflow-0.4.0}/tests/bessel_test_data/qyls_order1_lab2.txt +0 -0
  317. {timflow-0.2.0 → timflow-0.4.0}/tests/bessel_test_data/qyls_order2_lab0.txt +0 -0
  318. {timflow-0.2.0 → timflow-0.4.0}/tests/bessel_test_data/qyls_order2_lab1.txt +0 -0
  319. {timflow-0.2.0 → timflow-0.4.0}/tests/bessel_test_data/qyls_order2_lab2.txt +0 -0
  320. {timflow-0.2.0 → timflow-0.4.0}/tests/steady/test_steady_notebooks.py +0 -0
  321. {timflow-0.2.0 → timflow-0.4.0}/tests/test_import.py +0 -0
  322. {timflow-0.2.0 → timflow-0.4.0}/tests/transient/test_theis.py +0 -0
  323. {timflow-0.2.0 → timflow-0.4.0}/tests/transient/test_transient_notebooks.py +0 -0
  324. {timflow-0.2.0 → timflow-0.4.0}/tests/transient/test_wellstring.py +0 -0
  325. {timflow-0.2.0 → timflow-0.4.0}/timflow/bessel/__init__.py +0 -0
  326. {timflow-0.2.0 → timflow-0.4.0}/timflow/plots/__init__.py +0 -0
  327. {timflow-0.2.0 → timflow-0.4.0}/timflow/size_of_arrays.txt +0 -0
  328. {timflow-0.2.0 → timflow-0.4.0}/timflow/steady/circinhom.py +0 -0
  329. {timflow-0.2.0 → timflow-0.4.0}/timflow/steady/controlpoints.py +0 -0
  330. {timflow-0.2.0 → timflow-0.4.0}/timflow/steady/equation.py +0 -0
  331. {timflow-0.2.0 → timflow-0.4.0}/timflow/steady/intlinesink.py +0 -0
  332. {timflow-0.2.0 → timflow-0.4.0}/timflow/steady/stripareasink.py +0 -0
  333. {timflow-0.2.0 → timflow-0.4.0}/timflow/transient/circinhom.py +0 -0
  334. {timflow-0.2.0 → timflow-0.4.0}/timflow/transient/equation.py +0 -0
  335. {timflow-0.2.0 → timflow-0.4.0}/timflow/transient/kuhlman_invlap.py +0 -0
  336. {timflow-0.2.0 → timflow-0.4.0}/timflow/transient/trace.py +0 -0
  337. {timflow-0.2.0 → timflow-0.4.0}/timflow.egg-info/dependency_links.txt +0 -0
  338. {timflow-0.2.0 → timflow-0.4.0}/timflow.egg-info/top_level.txt +0 -0
@@ -20,7 +20,6 @@ sphinx:
20
20
 
21
21
  python:
22
22
  install:
23
- - method: pip
24
- path: .
25
- extra_requirements:
26
- - docs
23
+ - method: uv
24
+ command: sync
25
+ extras: ["docs"]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: timflow
3
- Version: 0.2.0
3
+ Version: 0.4.0
4
4
  Summary: Analytic element modeling of groundwater flow
5
5
  Author: Mark Bakker, Davíd Brakenhoff
6
6
  Maintainer-email: Mark Bakker <markbak@gmail.com>, Davíd Brakenhoff <d.brakenhoff@artesia-water.nl>
@@ -77,6 +77,7 @@ Requires-Dist: numpydoc; extra == "docs"
77
77
  Requires-Dist: myst_nb; extra == "docs"
78
78
  Requires-Dist: sphinxcontrib-bibtex; extra == "docs"
79
79
  Requires-Dist: sphinx-autoapi; extra == "docs"
80
+ Requires-Dist: jupyter-cache; extra == "docs"
80
81
  Provides-Extra: dev
81
82
  Requires-Dist: timflow[docs]; extra == "dev"
82
83
  Dynamic: license-file
@@ -137,5 +138,5 @@ Some of the papers that you may want to cite when using `timflow` are:
137
138
  * M. Bakker. 2013. Semi-analytic modeling of transient multi-layer flow with TTim.
138
139
  Hydrogeology Journal, 21: 935-943. [https://doi.org/10.1007/s10040-013-0975-2](https://doi.org/10.1007/s10040-013-0975-2)
139
140
  * M .Bakker. 2013. Analytic modeling of transient multi-layer flow. In: Advances in
140
- Hydrogeology, edited by P Mishra and K Kuhlman, Springer, Heidelberg, 95-114. Available [here](https://github.com/mbakker7/timflow/blob/master/papers/2013_bakker_ttim_theory.pdf).
141
+ Hydrogeology, edited by P Mishra and K Kuhlman, Springer, Heidelberg, 95-114. Available [here](https://github.com/timflow-org/timflow/blob/main/papers/2013_bakker_ttim_theory.pdf).
141
142
 
@@ -54,5 +54,5 @@ Some of the papers that you may want to cite when using `timflow` are:
54
54
  * M. Bakker. 2013. Semi-analytic modeling of transient multi-layer flow with TTim.
55
55
  Hydrogeology Journal, 21: 935-943. [https://doi.org/10.1007/s10040-013-0975-2](https://doi.org/10.1007/s10040-013-0975-2)
56
56
  * M .Bakker. 2013. Analytic modeling of transient multi-layer flow. In: Advances in
57
- Hydrogeology, edited by P Mishra and K Kuhlman, Springer, Heidelberg, 95-114. Available [here](https://github.com/mbakker7/timflow/blob/master/papers/2013_bakker_ttim_theory.pdf).
57
+ Hydrogeology, edited by P Mishra and K Kuhlman, Springer, Heidelberg, 95-114. Available [here](https://github.com/timflow-org/timflow/blob/main/papers/2013_bakker_ttim_theory.pdf).
58
58
 
@@ -3,7 +3,7 @@
3
3
 
4
4
  # You can set these variables from the command line, and also
5
5
  # from the environment for the first two.
6
- SPHINXOPTS ?=
6
+ SPHINXOPTS ?= -j auto
7
7
  SPHINXBUILD ?= sphinx-build
8
8
  SOURCEDIR = .
9
9
  BUILDDIR = _build
@@ -2,7 +2,7 @@ API Reference
2
2
  =============
3
3
 
4
4
  This section contains the Documentation of the Application Programming Interface (API)
5
- of Pastas. The information in this section is automatically created from the
5
+ of timflow. The information in this section is automatically created from the
6
6
  documentation strings in original Python code. In the left-hand menu you will find the
7
7
  different categories of the API documentation.
8
8
 
@@ -0,0 +1,104 @@
1
+ {% if obj.display %}
2
+ {% if is_own_page %}
3
+ {{ obj.short_name }}
4
+ {{ "=" * obj.short_name | length }}
5
+
6
+ {% endif %}
7
+ {% set visible_children = obj.children|selectattr("display")|list %}
8
+ {% set own_page_children = visible_children|selectattr("type", "in", own_page_types)|list %}
9
+ {% if is_own_page and own_page_children %}
10
+ .. toctree::
11
+ :hidden:
12
+
13
+ {% for child in own_page_children %}
14
+ {{ child.include_path }}
15
+ {% endfor %}
16
+
17
+ {% endif %}
18
+ .. py:{{ obj.type }}:: {% if is_own_page %}{{ obj.id }}{% else %}{{ obj.short_name }}{% endif %}{% if obj.type_params %}[{{ obj.type_params }}]{% endif %}{% if obj.args %}({{ obj.args }}){% endif %}
19
+
20
+ {% for (args, return_annotation) in obj.overloads %}
21
+ {{ " " * (obj.type | length) }} {{ obj.short_name }}{% if args %}({{ args }}){% endif %}
22
+
23
+ {% endfor %}
24
+ {% if obj.bases %}
25
+ {% if "show-inheritance" in autoapi_options %}
26
+
27
+ Bases: {% for base in obj.bases %}{{ base|link_objs }}{% if not loop.last %}, {% endif %}{% endfor %}
28
+ {% endif %}
29
+
30
+
31
+ {% if "show-inheritance-diagram" in autoapi_options and obj.bases != ["object"] %}
32
+ .. autoapi-inheritance-diagram:: {{ obj.obj["full_name"] }}
33
+ :parts: 1
34
+ {% if "private-members" in autoapi_options %}
35
+ :private-bases:
36
+ {% endif %}
37
+
38
+ {% endif %}
39
+ {% endif %}
40
+ {% if obj.docstring %}
41
+
42
+ {{ obj.docstring|indent(3) }}
43
+ {% endif %}
44
+ {% for obj_item in visible_children %}
45
+ {% if obj_item.type not in own_page_types %}
46
+
47
+ {{ obj_item.render()|indent(3) }}
48
+ {% endif %}
49
+ {% endfor %}
50
+ {% if is_own_page and own_page_children %}
51
+ {% set visible_attributes = own_page_children|selectattr("type", "equalto", "attribute")|list %}
52
+ {% if visible_attributes %}
53
+ Attributes
54
+ ----------
55
+
56
+ .. autoapisummary::
57
+
58
+ {% for attribute in visible_attributes %}
59
+ {{ attribute.id }}
60
+ {% endfor %}
61
+
62
+
63
+ {% endif %}
64
+ {% set visible_exceptions = own_page_children|selectattr("type", "equalto", "exception")|list %}
65
+ {% if visible_exceptions %}
66
+ Exceptions
67
+ ----------
68
+
69
+ .. autoapisummary::
70
+
71
+ {% for exception in visible_exceptions %}
72
+ {{ exception.id }}
73
+ {% endfor %}
74
+
75
+
76
+ {% endif %}
77
+ {% set visible_classes = own_page_children|selectattr("type", "equalto", "class")|list %}
78
+ {% if visible_classes %}
79
+ Classes
80
+ -------
81
+
82
+ .. autoapisummary::
83
+
84
+ {% for klass in visible_classes %}
85
+ {{ klass.id }}
86
+ {% endfor %}
87
+
88
+
89
+ {% endif %}
90
+ {% set visible_methods = own_page_children|selectattr("type", "equalto", "method")|list %}
91
+ {% if visible_methods %}
92
+ Methods
93
+ -------
94
+
95
+ .. autoapisummary::
96
+
97
+ {% for method in visible_methods %}
98
+ {{ method.id }}
99
+ {% endfor %}
100
+
101
+
102
+ {% endif %}
103
+ {% endif %}
104
+ {% endif %}
@@ -11,8 +11,8 @@ Steady flow
11
11
  .. bibliography:: publications.bib
12
12
  :list: bullet
13
13
 
14
- bakker_semi-analytic_2013
15
- bakker_analytic_2013
14
+ bakker2003
15
+ bakker_analytic_2006
16
16
 
17
17
  Transient flow
18
18
  --------------
@@ -31,7 +31,7 @@ extensions = [
31
31
  ]
32
32
 
33
33
  # templates_path = ["_templates"]
34
- exclude_patterns = ["_build", "Thumbs.db", ".DS_Store"]
34
+ exclude_patterns = ["_build", "_templates", "Thumbs.db", ".DS_Store"]
35
35
 
36
36
  # -- Options for HTML output -------------------------------------------------
37
37
  # https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output
@@ -79,8 +79,16 @@ autoapi_options = [
79
79
  "inherited-members",
80
80
  "show-inheritance",
81
81
  ]
82
- autoapi_own_page_level = "method"
82
+ autoapi_own_page_level = "class"
83
83
  autoapi_template_dir = "_templates/autoapi"
84
+ suppress_warnings = ["autoapi"]
85
+
86
+ # Keep API signatures and section navigation compact by omitting module prefixes
87
+ # (e.g., show `River` instead of `timflow.steady.linesink.River`).
88
+ add_module_names = False
89
+
90
+ # Keep local object TOC entries compact in the right sidebar.
91
+ toc_object_entries_show_parents = "hide"
84
92
 
85
93
  # -- Numpydoc settings ----------------------------------------------------------------
86
94
 
@@ -99,31 +107,22 @@ intersphinx_mapping = {
99
107
 
100
108
  # -- myst_nb options ------------------------------------------------------------------
101
109
 
110
+ nb_execution_mode = "cache"
111
+
102
112
  nb_execution_allow_errors = True # Allow errors in notebooks, to see the error online
103
- nb_execution_mode = "auto"
104
- nb_merge_streams = True
113
+ nb_execution_show_tb = True
114
+ nb_execution_timeout = 100
105
115
  nb_execution_excludepatterns = [
106
116
  "besselnumba_timing.ipynb",
107
117
  "vertical_anisotropy.ipynb",
118
+ "transient/04pumpingtests/*.ipynb",
108
119
  ]
109
120
 
110
121
  myst_enable_extensions = ["dollarmath", "amsmath", "html_image"]
111
122
  myst_dmath_double_inline = True
112
- nb_render_markdown_format = "myst" # Enable MyST markdown parsing in notebooks
113
- nb_render_text_lexer = "myst-ansi" # Better rendering of ANSI output
114
- # nb_mime_priority_overrides = {
115
- # "html": (
116
- # "application/vnd.jupyter.widget-view+json",
117
- # "application/javascript",
118
- # "text/html",
119
- # "image/svg+xml",
120
- # "image/png",
121
- # "image/jpeg",
122
- # "text/markdown",
123
- # "text/latex",
124
- # "text/plain",
125
- # )
126
- # }
123
+
124
+ nb_merge_streams = True
125
+
127
126
 
128
127
  # -- bibtex options ------------------------------------------------------------------
129
128
 
@@ -54,5 +54,7 @@ view the code documentation.
54
54
 
55
55
  Steady <steady/index>
56
56
  Transient <transient/index>
57
+ Utilities <utils/index>
57
58
  Code Reference <api/index>
59
+ Timings <timings>
58
60
  Cite <about/index>
@@ -114,7 +114,7 @@
114
114
  "id": "c00eb393-d11b-450a-acab-32192e688745",
115
115
  "metadata": {},
116
116
  "source": [
117
- "The same procedure holds for combining other plots. For example combining two contour plots, or a contour plot plus a capture zone. Note that the `plotcapzone` function has moved to the `plots` module. All three can be combined as follows"
117
+ "The same procedure holds for combining other plots. For example combining two contour plots, or a contour plot plus a capture zone. Note that the `plot_capture_zone` function has moved to the `plots` module. All three can be combined as follows"
118
118
  ]
119
119
  },
120
120
  {
@@ -125,7 +125,7 @@
125
125
  "outputs": [],
126
126
  "source": [
127
127
  "ax0 = ml.plots.contour(win=[-1000, 100, -500, 500], ngr=50, levels=10, labels=False)\n",
128
- "ml.plots.plotcapzone(\n",
128
+ "ml.plots.plot_capture_zone(\n",
129
129
  " well=w, nt=10, zstart=[1], hstepmax=20, tmax=10 * 365, color=\"C1\", ax=ax0\n",
130
130
  ")\n",
131
131
  "ml.plots.contour(win=[-1000, 100, -500, 500], ngr=50, levels=[40], color=\"k\", ax=ax0);"
@@ -75,7 +75,7 @@
75
75
  "metadata": {},
76
76
  "outputs": [],
77
77
  "source": [
78
- "ax = ml.plots.xsection(params=True, labels=True, units={\"k\": \"m/d\", \"c\": \"d\"})\n",
78
+ "ax = ml.plots.xsection(params=True, labels=True, units={\"kaq\": \"m/d\", \"c\": \"d\"})\n",
79
79
  "ax.set_frame_on(False)"
80
80
  ]
81
81
  },
@@ -134,7 +134,7 @@
134
134
  "metadata": {},
135
135
  "outputs": [],
136
136
  "source": [
137
- "ax = ml.plots.xsection(params=True, labels=True, units={\"k\": \"m/d\", \"c\": \"d\"})\n",
137
+ "ax = ml.plots.xsection(params=True, labels=True, units={\"kaq\": \"m/d\"})\n",
138
138
  "ax.set_frame_on(False)"
139
139
  ]
140
140
  },
@@ -179,7 +179,7 @@
179
179
  "metadata": {},
180
180
  "outputs": [],
181
181
  "source": [
182
- "ax = ml.plots.xsection(params=True, labels=True, units={\"k\": \"m/d\", \"c\": \"d\"})\n",
182
+ "ax = ml.plots.xsection(params=True, labels=True, units={\"kaq\": \"m/d\", \"c\": \"d\"})\n",
183
183
  "ax.set_frame_on(False)"
184
184
  ]
185
185
  },
@@ -275,7 +275,7 @@
275
275
  "cell_type": "markdown",
276
276
  "metadata": {},
277
277
  "source": [
278
- "Alternatively, a capture zone may be computed with the `plotcapzone` function by starting pathlines at the well radius and tracing the pathlines against the flow. The number of pathlines must be specified and the maximum time, which is specified as 20 years here, but since the time units are days, we specify the number of days. "
278
+ "Alternatively, a capture zone may be computed with the `plot_capture_zone` function by starting pathlines at the well radius and tracing the pathlines against the flow. The number of pathlines must be specified and the maximum time, which is specified as 20 years here, but since the time units are days, we specify the number of days. "
279
279
  ]
280
280
  },
281
281
  {
@@ -291,7 +291,7 @@
291
291
  " labels=False,\n",
292
292
  " figsize=(5, 5),\n",
293
293
  ")\n",
294
- "ml.plots.plotcapzone(\n",
294
+ "ml.plots.plot_capture_zone(\n",
295
295
  " well=w,\n",
296
296
  " nt=20, # number of pathlines\n",
297
297
  " tmax=20 * 365.25, # maximum time, d\n",
@@ -250,13 +250,6 @@
250
250
  " ax=axes,\n",
251
251
  ")"
252
252
  ]
253
- },
254
- {
255
- "cell_type": "code",
256
- "execution_count": null,
257
- "metadata": {},
258
- "outputs": [],
259
- "source": []
260
253
  }
261
254
  ],
262
255
  "metadata": {
@@ -106,7 +106,7 @@
106
106
  "cell_type": "markdown",
107
107
  "metadata": {},
108
108
  "source": [
109
- "After the well is added (or any other elements), the model needs to be solved again. A contour plot is created and a 10 strace line are added. The stepsize is given in meters and represents the largest space step that is taken, but it is reduced when certain accuracy constraints are not met. Note that, after running the code cell below, for each trace line it is printed to the screen what the reason was that the traceline was aborted. In this case it was either because the trace line reached a well or reached the maximum number of steps (the default is 100 steps, but this can be changed by specifying the `nstepmax` keyword). "
109
+ "After the well is added (or any other elements), the model needs to be solved again. A contour plot is created and a trace line is added. The stepsize is given in meters and represents the largest space step that is taken, but it is reduced when certain accuracy constraints are not met. Note that, after running the code cell below, a message is printed to the screen with the reason why the traceline was aborted. In this case it was because the trace line reached the well. The message an be suppressed by with the keyword `silent=True` or the default `silent='.'`. "
110
110
  ]
111
111
  },
112
112
  {
@@ -120,8 +120,38 @@
120
120
  " win=[-1000, 100, -500, 500], ngr=50, levels=np.arange(39, 42, 0.1), figsize=(6, 6)\n",
121
121
  ")\n",
122
122
  "ml.plots.tracelines(\n",
123
- " -800 * np.ones(1), -200 * np.ones(1), np.zeros(1), hstepmax=20, color=\"C1\", ax=ax\n",
124
- ")"
123
+ " -800 * np.ones(1),\n",
124
+ " -200 * np.ones(1),\n",
125
+ " np.zeros(1),\n",
126
+ " hstepmax=20,\n",
127
+ " color=\"C1\",\n",
128
+ " ax=ax,\n",
129
+ " silent=False,\n",
130
+ ");"
131
+ ]
132
+ },
133
+ {
134
+ "cell_type": "markdown",
135
+ "metadata": {},
136
+ "source": [
137
+ "If you don't want to have contour in the background, simply specify a window for the `tracelines` function and no axes. "
138
+ ]
139
+ },
140
+ {
141
+ "cell_type": "code",
142
+ "execution_count": null,
143
+ "metadata": {},
144
+ "outputs": [],
145
+ "source": [
146
+ "ml.plots.tracelines(\n",
147
+ " -800 * np.ones(1),\n",
148
+ " -200 * np.ones(1),\n",
149
+ " np.zeros(1),\n",
150
+ " hstepmax=20,\n",
151
+ " color=\"C1\",\n",
152
+ " silent=False,\n",
153
+ " win=[-1000, 100, -500, 500],\n",
154
+ ");"
125
155
  ]
126
156
  },
127
157
  {
@@ -276,7 +306,7 @@
276
306
  " layers=0,\n",
277
307
  " figsize=(6, 6),\n",
278
308
  ")\n",
279
- "ml.plots.plotcapzone(\n",
309
+ "ml.plots.plot_capture_zone(\n",
280
310
  " well=w, hstepmax=20, nt=20, zstart=0, tmax=5 * 365.25, color=\"C1\", ax=ax\n",
281
311
  ")"
282
312
  ]
@@ -302,7 +332,7 @@
302
332
  " layers=0,\n",
303
333
  " figsize=(6, 6),\n",
304
334
  ")\n",
305
- "ml.plots.plotcapzone(\n",
335
+ "ml.plots.plot_capture_zone(\n",
306
336
  " well=w, hstepmax=20, nt=20, zstart=0, tmax=20 * 365.25, color=\"C1\", ax=ax\n",
307
337
  ")"
308
338
  ]
@@ -222,6 +222,13 @@
222
222
  "print(\"The discharge at the abandoned well is:\")\n",
223
223
  "print(wabandoned.discharge())"
224
224
  ]
225
+ },
226
+ {
227
+ "cell_type": "code",
228
+ "execution_count": null,
229
+ "metadata": {},
230
+ "outputs": [],
231
+ "source": []
225
232
  }
226
233
  ],
227
234
  "metadata": {
@@ -163,7 +163,7 @@
163
163
  "outputs": [],
164
164
  "source": [
165
165
  "axes = ml.plots.topview_and_xsection(win=[0, 20000, 0, 20000], figsize=figsize)\n",
166
- "ml.plots.plotcapzone(\n",
166
+ "ml.plots.plot_capture_zone(\n",
167
167
  " well=w1,\n",
168
168
  " hstepmax=50,\n",
169
169
  " nt=10,\n",
@@ -172,13 +172,13 @@
172
172
  " orientation=\"both\",\n",
173
173
  " ax=axes,\n",
174
174
  ")\n",
175
- "ml.plots.plotcapzone(\n",
175
+ "ml.plots.plot_capture_zone(\n",
176
176
  " well=w2, hstepmax=50, nt=10, zstart=30, tmax=250 * 365.25, orientation=\"both\", ax=axes\n",
177
177
  ")\n",
178
- "ml.plots.plotcapzone(\n",
178
+ "ml.plots.plot_capture_zone(\n",
179
179
  " well=w3, hstepmax=50, nt=10, zstart=30, tmax=250 * 365.25, orientation=\"both\", ax=axes\n",
180
180
  ")\n",
181
- "ml.plots.plotcapzone(\n",
181
+ "ml.plots.plot_capture_zone(\n",
182
182
  " well=w3,\n",
183
183
  " hstepmax=50,\n",
184
184
  " nt=10,\n",
@@ -198,16 +198,16 @@
198
198
  "axes = ml.plots.topview_and_xsection(\n",
199
199
  " win=[0, 20000, 0, 20000], topfigfrac=0.7, figsize=figsize\n",
200
200
  ")\n",
201
- "ml.plots.plotcapzone(\n",
201
+ "ml.plots.plot_capture_zone(\n",
202
202
  " well=w1, hstepmax=50, nt=10, zstart=150, tmax=50 * 365.25, orientation=\"both\", ax=axes\n",
203
203
  ")\n",
204
- "ml.plots.plotcapzone(\n",
204
+ "ml.plots.plot_capture_zone(\n",
205
205
  " well=w2, hstepmax=50, nt=10, zstart=30, tmax=50 * 365.25, orientation=\"both\", ax=axes\n",
206
206
  ")\n",
207
- "ml.plots.plotcapzone(\n",
207
+ "ml.plots.plot_capture_zone(\n",
208
208
  " well=w3, hstepmax=50, nt=10, zstart=30, tmax=50 * 365.25, orientation=\"both\", ax=axes\n",
209
209
  ")\n",
210
- "ml.plots.plotcapzone(\n",
210
+ "ml.plots.plot_capture_zone(\n",
211
211
  " well=w3, hstepmax=50, nt=10, zstart=100, tmax=50 * 365.25, orientation=\"both\", ax=axes\n",
212
212
  ")"
213
213
  ]
@@ -202,7 +202,7 @@
202
202
  "outputs": [],
203
203
  "source": [
204
204
  "axes = ml.plots.topview_and_xsection(win=[-200, 800, 0, 800], figsize=figsize)\n",
205
- "ml.plots.plotcapzone(\n",
205
+ "ml.plots.plot_capture_zone(\n",
206
206
  " well=w, hstepmax=50, nt=20, zstart=10, tmax=20 * 365.25, orientation=\"both\", ax=axes\n",
207
207
  ")"
208
208
  ]
@@ -174,7 +174,7 @@
174
174
  "outputs": [],
175
175
  "source": [
176
176
  "axes = ml.plots.topview_and_xsection(win=[-200, 800, 0, 800])\n",
177
- "ml.plots.plotcapzone(\n",
177
+ "ml.plots.plot_capture_zone(\n",
178
178
  " well=w, hstepmax=50, nt=20, zstart=15, tmax=20 * 365.25, orientation=\"both\", ax=axes\n",
179
179
  ")"
180
180
  ]
@@ -572,7 +572,7 @@
572
572
  "source": [
573
573
  "ilay = 0\n",
574
574
  "levels = [-2.4, -2.2, -2.0, -1.8, -1.6, -1.4, -1.2]\n",
575
- "ml2.plots.contour(\n",
575
+ "ax = ml2.plots.contour(\n",
576
576
  " win=(-50, 50, -50, 50),\n",
577
577
  " ngr=51,\n",
578
578
  " levels=levels,\n",
@@ -581,7 +581,7 @@
581
581
  " linestyles=\"solid\",\n",
582
582
  " color=\"C1\",\n",
583
583
  ")\n",
584
- "plt.plot(ws.xcp, ws.ycp, \"kx\");"
584
+ "ax.plot(ws.xcp, ws.ycp, \"kx\");"
585
585
  ]
586
586
  },
587
587
  {
@@ -720,17 +720,16 @@
720
720
  "source": [
721
721
  "ilay = 1\n",
722
722
  "levels = [-2.4, -2.2, -2.0, -1.8, -1.6, -1.4, -1.2]\n",
723
- "ml3.plots.contour(\n",
723
+ "ax = ml3.plots.contour(\n",
724
724
  " win=(-50, 50, -50, 50),\n",
725
725
  " ngr=51,\n",
726
726
  " levels=levels,\n",
727
727
  " decimals=2,\n",
728
728
  " layers=[ilay],\n",
729
- " newfig=False,\n",
730
729
  " linestyles=\"solid\",\n",
731
730
  " color=\"C1\",\n",
732
731
  ")\n",
733
- "plt.plot(ws.xcp, ws.ycp, \"kx\");"
732
+ "ax.plot(ws.xcp, ws.ycp, \"kx\");"
734
733
  ]
735
734
  },
736
735
  {
@@ -124,7 +124,9 @@
124
124
  "outputs": [],
125
125
  "source": [
126
126
  "fig, ax = plt.subplots(1, 1, figsize=(10, 3))\n",
127
- "ml.plots.xsection(xy=[(-150, 0), (150, 0)], ax=ax, params=True);"
127
+ "ml.plots.xsection(\n",
128
+ " xy=[(-150, 0), (150, 0)], ax=ax, params=True, units={\"kaq\": \"m/d\", \"c\": \"d\"}\n",
129
+ ")"
128
130
  ]
129
131
  },
130
132
  {
@@ -149,7 +151,9 @@
149
151
  "metadata": {},
150
152
  "outputs": [],
151
153
  "source": [
152
- "ml.plots.vcontoursf1D(x1=-200, x2=200, nx=100, levels=20, color=\"C0\", figsize=(10, 3));"
154
+ "ml.plots.vcontour_stream_function(\n",
155
+ " x1=-200, x2=200, nx=100, levels=20, color=\"C0\", figsize=(10, 3)\n",
156
+ ");"
153
157
  ]
154
158
  },
155
159
  {
@@ -238,7 +242,9 @@
238
242
  "metadata": {},
239
243
  "outputs": [],
240
244
  "source": [
241
- "ml.plots.vcontoursf1D(x1=-200, x2=200, nx=100, levels=20, color=\"C0\", figsize=(10, 3));"
245
+ "ml.plots.vcontour_stream_function(\n",
246
+ " x1=-200, x2=200, nx=100, levels=20, color=\"C0\", figsize=(10, 3)\n",
247
+ ");"
242
248
  ]
243
249
  },
244
250
  {
@@ -302,7 +308,7 @@
302
308
  "metadata": {},
303
309
  "outputs": [],
304
310
  "source": [
305
- "ax = ml.plots.vcontoursf1D(\n",
311
+ "ax = ml.plots.vcontour_stream_function(\n",
306
312
  " x1=-200, x2=200, nx=100, levels=20, color=\"C0\", figsize=(10, 3), horizontal_axis=\"x\"\n",
307
313
  ")\n",
308
314
  "ld1.plot(ax); # plot wall"
@@ -359,7 +365,9 @@
359
365
  "tfs.Constant(ml, 100, 0, 10)\n",
360
366
  "ml.solve()\n",
361
367
  "\n",
362
- "ml.plots.vcontoursf1D(x1=-100, x2=100, nx=100, levels=20, color=\"C0\", figsize=(10, 3));"
368
+ "ml.plots.vcontour_stream_function(\n",
369
+ " x1=-100, x2=100, nx=100, levels=20, color=\"C0\", figsize=(10, 3)\n",
370
+ ");"
363
371
  ]
364
372
  },
365
373
  {
@@ -372,7 +380,7 @@
372
380
  "tfs.XsectionAreaSink(ml2, -50, 50, 0.001)\n",
373
381
  "tfs.Constant(ml2, -100, 0, 10)\n",
374
382
  "ml2.solve()\n",
375
- "ml2.plots.vcontoursf1D(\n",
383
+ "ml2.plots.vcontour_stream_function(\n",
376
384
  " x1=-100, x2=100, nx=100, levels=20, color=\"C0\", figsize=(10, 3), horizontal_axis=\"x\"\n",
377
385
  ");"
378
386
  ]
@@ -419,7 +427,9 @@
419
427
  "\n",
420
428
  "ml.solve()\n",
421
429
  "\n",
422
- "ml.plots.vcontoursf1D(x1=-20, x2=20, nx=100, levels=20, color=\"C0\", figsize=(10, 3));"
430
+ "ml.plots.vcontour_stream_function(\n",
431
+ " x1=-20, x2=20, nx=100, levels=20, color=\"C0\", figsize=(10, 3)\n",
432
+ ");"
423
433
  ]
424
434
  },
425
435
  {
@@ -448,7 +458,9 @@
448
458
  "\n",
449
459
  "ml.solve()\n",
450
460
  "\n",
451
- "ml.plots.vcontoursf1D(x1=-20, x2=20, nx=100, levels=20, color=\"C0\", figsize=(10, 3));"
461
+ "ml.plots.vcontour_stream_function(\n",
462
+ " x1=-20, x2=20, nx=100, levels=20, color=\"C0\", figsize=(10, 3)\n",
463
+ ");"
452
464
  ]
453
465
  },
454
466
  {
@@ -499,9 +511,7 @@
499
511
  "execution_count": null,
500
512
  "metadata": {},
501
513
  "outputs": [],
502
- "source": [
503
- "from timflow.steady.linesink1d import FluxDiffLineSink1D, HeadDiffLineSink1D"
504
- ]
514
+ "source": []
505
515
  },
506
516
  {
507
517
  "cell_type": "code",
@@ -512,8 +522,8 @@
512
522
  "ml = tfs.ModelMaq(kaq=[10], z=[0, -10], topboundary=\"conf\")\n",
513
523
  "ls = tfs.River1D(ml, xls=0, hls=1, wh=\"H\", layers=0)\n",
514
524
  "ls = tfs.River1D(ml, xls=200, hls=0, wh=\"H\", layers=0)\n",
515
- "hd = HeadDiffLineSink1D(ml, xls=100)\n",
516
- "fd = FluxDiffLineSink1D(ml, xls=100)\n",
525
+ "hd = tfs.linesink1d.HeadDiffLineSink1D(ml, xls=100)\n",
526
+ "fd = tfs.linesink1d.FluxDiffLineSink1D(ml, xls=100)\n",
517
527
  "ml.solve()\n",
518
528
  "\n",
519
529
  "x = np.linspace(0, 200, 101)\n",
@@ -36,7 +36,7 @@
36
36
  "source": [
37
37
  "ml1 = tfs.ModelMaq(kaq=20)\n",
38
38
  "rf1 = tfs.Constant(ml1, xr=0, yr=20, hr=30)\n",
39
- "ls1 = tfs.LineSinkBase(ml1, x1=-10, y1=-10, x2=10, y2=10, Qls=1000)\n",
39
+ "ls1 = tfs.linesink.LineSinkBase(ml1, x1=-10, y1=-10, x2=10, y2=10, Qls=1000)\n",
40
40
  "ml1.solve()"
41
41
  ]
42
42
  },
@@ -73,7 +73,7 @@
73
73
  "metadata": {},
74
74
  "outputs": [],
75
75
  "source": [
76
- "ml1.plots.contour(\n",
76
+ "ax = ml1.plots.contour(\n",
77
77
  " [-20, 20, -20, 20], 50, [0], np.arange(20, 31, 1), color=\"C0\", labels=False\n",
78
78
  ")\n",
79
79
  "ml2.plots.contour(\n",
@@ -83,7 +83,8 @@
83
83
  " np.arange(20, 31, 1),\n",
84
84
  " color=\"C1\",\n",
85
85
  " labels=False,\n",
86
- " newfig=False,\n",
86
+ " ax=ax,\n",
87
+ " linestyles=\"dashed\",\n",
87
88
  ")"
88
89
  ]
89
90
  },