timflow 0.3.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.
- {timflow-0.3.0 → timflow-0.4.0}/PKG-INFO +1 -1
- {timflow-0.3.0 → timflow-0.4.0}/docs/about/index.rst +2 -2
- {timflow-0.3.0 → timflow-0.4.0}/docs/steady/00userguide/howtos/howto_convert_timml_model.ipynb +2 -2
- {timflow-0.3.0 → timflow-0.4.0}/docs/steady/00userguide/howtos/howto_select_a_model.ipynb +3 -3
- {timflow-0.3.0 → timflow-0.4.0}/docs/steady/00userguide/tutorials/tutorial0_well_single_layer_aquifer.ipynb +2 -2
- {timflow-0.3.0 → timflow-0.4.0}/docs/steady/02examples/00_single_layer_model.ipynb +35 -5
- {timflow-0.3.0 → timflow-0.4.0}/docs/steady/02examples/02_wells_rivers_and_recharge.ipynb +8 -8
- {timflow-0.3.0 → timflow-0.4.0}/docs/steady/02examples/03a_modeling_inhomogeneities.ipynb +1 -1
- {timflow-0.3.0 → timflow-0.4.0}/docs/steady/02examples/03b_modeling_inhomogeneities3D.ipynb +1 -1
- {timflow-0.3.0 → timflow-0.4.0}/docs/steady/02examples/connected_wells.ipynb +4 -5
- {timflow-0.3.0 → timflow-0.4.0}/docs/steady/03xsections/cross_section_models.ipynb +1 -13
- {timflow-0.3.0 → timflow-0.4.0}/docs/steady/04benchmarks/test_linesink_discharge.ipynb +3 -2
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/00userguide/howtos/howto_select_a_model.ipynb +5 -2
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/03xsections/river_in_cross_section.ipynb +1 -1
- timflow-0.4.0/docs/transient/04pumpingtests/confined1_oude_korendijk.ipynb +241 -0
- timflow-0.4.0/docs/transient/04pumpingtests/confined2_grindley.ipynb +326 -0
- timflow-0.4.0/docs/transient/04pumpingtests/confined3_sioux.ipynb +306 -0
- timflow-0.4.0/docs/transient/04pumpingtests/confined4_nevada.ipynb +278 -0
- timflow-0.4.0/docs/transient/04pumpingtests/leaky1_dalem.ipynb +374 -0
- timflow-0.4.0/docs/transient/04pumpingtests/leaky2_hardixveld.ipynb +314 -0
- timflow-0.4.0/docs/transient/04pumpingtests/leaky3_texashill.ipynb +308 -0
- timflow-0.4.0/docs/transient/04pumpingtests/slug1_pratt_county.ipynb +318 -0
- timflow-0.4.0/docs/transient/04pumpingtests/slug2_multiwell.ipynb +295 -0
- timflow-0.4.0/docs/transient/04pumpingtests/slug3_falling_head.ipynb +272 -0
- timflow-0.4.0/docs/transient/04pumpingtests/slug4_dawsonville.ipynb +233 -0
- timflow-0.4.0/docs/transient/04pumpingtests/unconfined1_moench.ipynb +259 -0
- {timflow-0.3.0 → timflow-0.4.0}/timflow/calibrate.py +32 -6
- {timflow-0.3.0 → timflow-0.4.0}/timflow/plots/plots.py +82 -17
- {timflow-0.3.0 → timflow-0.4.0}/timflow/steady/aquifer.py +8 -6
- {timflow-0.3.0 → timflow-0.4.0}/timflow/steady/circareasink.py +0 -3
- {timflow-0.3.0 → timflow-0.4.0}/timflow/steady/constant.py +0 -3
- {timflow-0.3.0 → timflow-0.4.0}/timflow/steady/element.py +0 -22
- {timflow-0.3.0 → timflow-0.4.0}/timflow/steady/inhomogeneity.py +0 -3
- {timflow-0.3.0 → timflow-0.4.0}/timflow/steady/inhomogeneity1d.py +37 -10
- {timflow-0.3.0 → timflow-0.4.0}/timflow/steady/linedoublet.py +0 -5
- {timflow-0.3.0 → timflow-0.4.0}/timflow/steady/linedoublet1d.py +0 -3
- {timflow-0.3.0 → timflow-0.4.0}/timflow/steady/linesink.py +7 -7
- {timflow-0.3.0 → timflow-0.4.0}/timflow/steady/linesink1d.py +2 -3
- {timflow-0.3.0 → timflow-0.4.0}/timflow/steady/model.py +184 -124
- {timflow-0.3.0 → timflow-0.4.0}/timflow/steady/plots.py +137 -32
- {timflow-0.3.0 → timflow-0.4.0}/timflow/steady/uflow.py +0 -3
- {timflow-0.3.0 → timflow-0.4.0}/timflow/steady/well.py +83 -16
- {timflow-0.3.0 → timflow-0.4.0}/timflow/transient/aquifer.py +9 -1
- {timflow-0.3.0 → timflow-0.4.0}/timflow/transient/aquifer_parameters.py +3 -0
- {timflow-0.3.0 → timflow-0.4.0}/timflow/transient/circareasink.py +0 -3
- {timflow-0.3.0 → timflow-0.4.0}/timflow/transient/element.py +0 -21
- {timflow-0.3.0 → timflow-0.4.0}/timflow/transient/inhom1d.py +27 -6
- {timflow-0.3.0 → timflow-0.4.0}/timflow/transient/linedoublet.py +0 -3
- {timflow-0.3.0 → timflow-0.4.0}/timflow/transient/linesink.py +9 -10
- {timflow-0.3.0 → timflow-0.4.0}/timflow/transient/linesink1d.py +6 -2
- {timflow-0.3.0 → timflow-0.4.0}/timflow/transient/model.py +195 -122
- {timflow-0.3.0 → timflow-0.4.0}/timflow/transient/plots.py +6 -5
- {timflow-0.3.0 → timflow-0.4.0}/timflow/transient/well.py +3 -7
- {timflow-0.3.0 → timflow-0.4.0}/timflow/version.py +6 -6
- {timflow-0.3.0 → timflow-0.4.0}/timflow.egg-info/PKG-INFO +1 -1
- {timflow-0.3.0 → timflow-0.4.0}/utils/clear_notebooks.py +4 -0
- timflow-0.3.0/docs/transient/04pumpingtests/confined1_oude_korendijk.ipynb +0 -381
- timflow-0.3.0/docs/transient/04pumpingtests/confined2_grindley.ipynb +0 -460
- timflow-0.3.0/docs/transient/04pumpingtests/confined3_sioux.ipynb +0 -440
- timflow-0.3.0/docs/transient/04pumpingtests/confined4_nevada.ipynb +0 -454
- timflow-0.3.0/docs/transient/04pumpingtests/leaky1_dalem.ipynb +0 -596
- timflow-0.3.0/docs/transient/04pumpingtests/leaky2_hardixveld.ipynb +0 -540
- timflow-0.3.0/docs/transient/04pumpingtests/leaky3_texashill.ipynb +0 -450
- timflow-0.3.0/docs/transient/04pumpingtests/slug1_pratt_county.ipynb +0 -460
- timflow-0.3.0/docs/transient/04pumpingtests/slug2_multiwell.ipynb +0 -443
- timflow-0.3.0/docs/transient/04pumpingtests/slug3_falling_head.ipynb +0 -414
- timflow-0.3.0/docs/transient/04pumpingtests/slug4_dawsonville.ipynb +0 -389
- timflow-0.3.0/docs/transient/04pumpingtests/unconfined1_moench.ipynb +0 -409
- {timflow-0.3.0 → timflow-0.4.0}/.git-blame-ignore-revs +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/.github/workflows/ci-general.yml +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/.github/workflows/ci-steady.yml +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/.github/workflows/ci-transient.yml +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/.github/workflows/lint.yml +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/.github/workflows/pypi-publish.yml +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/.gitignore +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/.python-version +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/.readthedocs.yaml +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/CITATION.cff +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/LICENSE +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/README.md +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/Makefile +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/_static/css/custom.css +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/_static/example_output_steady.png +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/_static/example_output_transient.png +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/_static/timflow_icon.png +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/_static/timflow_logo.jpeg +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/_templates/autoapi/index.rst +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/_templates/autoapi/python/class.rst +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/_templates/autoapi/python/module.rst +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/_templates/autosummary/class.rst +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/_templates/autosummary/module.rst +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/about/publications.bib +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/conf.py +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/index.rst +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/steady/00userguide/index.rst +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/steady/00userguide/tutorials/tutorial1_well_multi_layer_aquifer.ipynb +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/steady/01concepts/elements/areasinks.rst +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/steady/01concepts/elements/constant.rst +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/steady/01concepts/elements/index.rst +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/steady/01concepts/elements/inhoms.rst +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/steady/01concepts/elements/linedoublets.rst +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/steady/01concepts/elements/linesinks.rst +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/steady/01concepts/elements/uflow.rst +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/steady/01concepts/elements/wells.rst +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/steady/01concepts/elements/xsection.rst +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/steady/01concepts/index.rst +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/steady/02examples/01_well_in_uniform_flow.ipynb +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/steady/02examples/04_horizontal_wells.ipynb +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/steady/02examples/05_impermeable_walls.ipynb +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/steady/02examples/building_pit.ipynb +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/steady/02examples/circular_area_sink.ipynb +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/steady/02examples/collector_wells.ipynb +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/steady/02examples/figs/inhomogeneity_exercise3.png +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/steady/02examples/figs/layout_exercise2.PNG +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/steady/02examples/figs/timml_notebook2_layout.png +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/steady/02examples/figs/timml_notebook2_layout_old.png +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/steady/02examples/figs/timml_notebook5_layout.png +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/steady/02examples/index.rst +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/steady/02examples/vertical_anisotropy.ipynb +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/steady/03xsections/index.rst +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/steady/04benchmarks/besselnumba_timing.ipynb +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/steady/04benchmarks/index.rst +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/steady/04benchmarks/large_diameter_experimental.ipynb +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/steady/04benchmarks/test_circular_buildingpit.ipynb +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/steady/04benchmarks/test_linesinkstrings.ipynb +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/steady/04benchmarks/test_normal_flux.ipynb +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/steady/04benchmarks/test_polygon_areasink.ipynb +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/steady/04benchmarks/test_well_near_lake.ipynb +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/steady/04benchmarks/test_wells.ipynb +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/steady/04benchmarks/test_wells_with_resistance.ipynb +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/steady/index.rst +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/timings.rst +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/00userguide/howtos/data/oudekorendijk_h30.dat +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/00userguide/howtos/data/oudekorendijk_h90.dat +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/00userguide/howtos/howto_convert_ttim_model.ipynb +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/00userguide/howtos/howto_fluctuating_head_boundary.ipynb +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/00userguide/howtos/howto_pumpingtest.ipynb +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/00userguide/howtos/howto_xsection_model.ipynb +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/00userguide/index.rst +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/00userguide/tutorials/tutorial0_start_a_model.ipynb +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/01concepts/elements/areasinks.rst +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/01concepts/elements/index.rst +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/01concepts/elements/linedoublets.rst +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/01concepts/elements/linesinks.rst +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/01concepts/elements/wells.rst +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/01concepts/index.rst +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/01concepts/pathlines.rst +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/02examples/circareasink_example.ipynb +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/02examples/connected_wells.ipynb +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/02examples/higher_order_head_linesink.ipynb +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/02examples/horizontal_well.ipynb +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/02examples/index.rst +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/02examples/line_sink_well_sol.ipynb +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/02examples/meandering_river.ipynb +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/02examples/pathline_trace.ipynb +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/02examples/well_in_multilayer_system.ipynb +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/02examples/well_near_wall.ipynb +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/02examples/wells_in_different_systems.ipynb +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/03xsections/1d_elements.ipynb +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/03xsections/1d_given_linesink.ipynb +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/03xsections/1d_inhom_elements.ipynb +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/03xsections/data/mf6_ttim_xsec_riv1.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/03xsections/data/mf6_ttim_xsec_riv2.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/03xsections/data/watex_cross_section.png +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/03xsections/data/watex_example.csv +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/03xsections/index.rst +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/03xsections/stripareasink.ipynb +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/dalem_p120.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/dalem_p30.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/dalem_p60.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/dalem_p90.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/dawsonville_slug.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/double-porosity-110m.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/double-porosity-pumpingwell.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/falling_head.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/gridley_well_1.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/gridley_well_3.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/ln-2.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/ln-3.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/moench_pd1.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/moench_pd2.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/moench_ps1.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/moench_ps2.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/moench_pumped.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/oudekorendijk_h30.dat +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/oudekorendijk_h90.dat +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/piezometer_h30.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/piezometer_h90.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/pumptest_neuman.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/recovery.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/schroth_obs1.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/schroth_obs2.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/schroth_obs3.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/sioux100.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/sioux200.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/sioux400.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/slug.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/syn_30_0.0.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/syn_90_0.0.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/syn_p30_0.02.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/syn_p30_0.05.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/syn_p90_0.02.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/syn_p90_0.05.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/texas160.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/texas40.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/texas80.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/venne_deep.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/04pumpingtests/data/venne_shallow.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/04pumpingtests/figs/Dalem.png +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/04pumpingtests/figs/Dawsonville.png +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/04pumpingtests/figs/Falling_head.png +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/04pumpingtests/figs/Hardinxveld.png +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/04pumpingtests/figs/Moench.png +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/04pumpingtests/figs/Multi_well.png +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/04pumpingtests/figs/Nevada.png +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/04pumpingtests/figs/Pratt_County.png +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/04pumpingtests/figs/Schroth.png +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/04pumpingtests/figs/Sioux.png +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/04pumpingtests/figs/Texas_Hill.png +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/04pumpingtests/figs/Vennebulten.png +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/04pumpingtests/figs/gridley.png +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/04pumpingtests/figs/oude_korendijk.png +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/04pumpingtests/index.rst +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/05benchmarks/compare_wells_linesink.ipynb +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/05benchmarks/data/syn_p30_0.02.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/05benchmarks/data/syn_p30_0.05.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/05benchmarks/data/syn_p90_0.02.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/05benchmarks/data/syn_p90_0.05.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/05benchmarks/figs/neuman.png +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/05benchmarks/index.rst +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/05benchmarks/line-sink-ditch.ipynb +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/05benchmarks/river1d.ipynb +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/05benchmarks/synthetic0_data.ipynb +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/05benchmarks/synthetic_calibrate_2aquifers.ipynb +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/05benchmarks/synthetic_test_calibrate.ipynb +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/05benchmarks/test_line_elements.ipynb +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/05benchmarks/theis_storage.ipynb +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/05benchmarks/ttim_neuman_comparison.ipynb +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/05benchmarks/validation_tidal_wave_with_Bruggeman.ipynb +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/05benchmarks/well_benchmarks.ipynb +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/05benchmarks/well_near_leaky_river.ipynb +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/05benchmarks/well_near_river_or_wall.ipynb +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/transient/index.rst +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/utils/calibrating_timflow_models.ipynb +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/docs/utils/index.rst +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/papers/2013_bakker_ttim_theory.pdf +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/pyproject.toml +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/setup.cfg +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/tests/bessel_test_data/.gitkeep +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/tests/bessel_test_data/potld_order0_lab0.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/tests/bessel_test_data/potld_order0_lab1.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/tests/bessel_test_data/potld_order0_lab2.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/tests/bessel_test_data/potld_order1_lab0.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/tests/bessel_test_data/potld_order1_lab1.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/tests/bessel_test_data/potld_order1_lab2.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/tests/bessel_test_data/potld_order2_lab0.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/tests/bessel_test_data/potld_order2_lab1.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/tests/bessel_test_data/potld_order2_lab2.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/tests/bessel_test_data/potls_order0_lab0.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/tests/bessel_test_data/potls_order0_lab1.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/tests/bessel_test_data/potls_order0_lab2.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/tests/bessel_test_data/potls_order1_lab0.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/tests/bessel_test_data/potls_order1_lab1.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/tests/bessel_test_data/potls_order1_lab2.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/tests/bessel_test_data/potls_order2_lab0.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/tests/bessel_test_data/potls_order2_lab1.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/tests/bessel_test_data/potls_order2_lab2.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/tests/bessel_test_data/qxld_order0_lab0.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/tests/bessel_test_data/qxld_order0_lab1.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/tests/bessel_test_data/qxld_order0_lab2.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/tests/bessel_test_data/qxld_order1_lab0.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/tests/bessel_test_data/qxld_order1_lab1.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/tests/bessel_test_data/qxld_order1_lab2.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/tests/bessel_test_data/qxld_order2_lab0.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/tests/bessel_test_data/qxld_order2_lab1.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/tests/bessel_test_data/qxld_order2_lab2.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/tests/bessel_test_data/qxls_order0_lab0.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/tests/bessel_test_data/qxls_order0_lab1.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/tests/bessel_test_data/qxls_order0_lab2.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/tests/bessel_test_data/qxls_order1_lab0.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/tests/bessel_test_data/qxls_order1_lab1.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/tests/bessel_test_data/qxls_order1_lab2.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/tests/bessel_test_data/qxls_order2_lab0.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/tests/bessel_test_data/qxls_order2_lab1.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/tests/bessel_test_data/qxls_order2_lab2.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/tests/bessel_test_data/qyld_order0_lab0.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/tests/bessel_test_data/qyld_order0_lab1.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/tests/bessel_test_data/qyld_order0_lab2.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/tests/bessel_test_data/qyld_order1_lab0.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/tests/bessel_test_data/qyld_order1_lab1.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/tests/bessel_test_data/qyld_order1_lab2.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/tests/bessel_test_data/qyld_order2_lab0.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/tests/bessel_test_data/qyld_order2_lab1.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/tests/bessel_test_data/qyld_order2_lab2.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/tests/bessel_test_data/qyls_order0_lab0.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/tests/bessel_test_data/qyls_order0_lab1.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/tests/bessel_test_data/qyls_order0_lab2.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/tests/bessel_test_data/qyls_order1_lab0.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/tests/bessel_test_data/qyls_order1_lab1.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/tests/bessel_test_data/qyls_order1_lab2.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/tests/bessel_test_data/qyls_order2_lab0.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/tests/bessel_test_data/qyls_order2_lab1.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/tests/bessel_test_data/qyls_order2_lab2.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/tests/steady/test_steady_notebooks.py +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/tests/steady/test_well.py +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/tests/test_bessel.py +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/tests/test_import.py +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/tests/transient/test_theis.py +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/tests/transient/test_transient_notebooks.py +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/tests/transient/test_wellstring.py +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/timflow/__init__.py +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/timflow/bessel/__init__.py +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/timflow/bessel/besselnumba.py +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/timflow/bessel/besselnumba_old.py +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/timflow/plots/__init__.py +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/timflow/size_of_arrays.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/timflow/steady/__init__.py +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/timflow/steady/aquifer_parameters.py +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/timflow/steady/circinhom.py +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/timflow/steady/controlpoints.py +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/timflow/steady/equation.py +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/timflow/steady/intlinesink.py +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/timflow/steady/stripareasink.py +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/timflow/steady/trace.py +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/timflow/transient/__init__.py +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/timflow/transient/circinhom.py +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/timflow/transient/equation.py +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/timflow/transient/fit.py +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/timflow/transient/invlapnumba.py +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/timflow/transient/kuhlman_invlap.py +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/timflow/transient/linedoublet1d.py +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/timflow/transient/stripareasink.py +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/timflow/transient/trace.py +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/timflow.egg-info/SOURCES.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/timflow.egg-info/dependency_links.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/timflow.egg-info/requires.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/timflow.egg-info/top_level.txt +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/utils/compile_timflow_api.py +0 -0
- {timflow-0.3.0 → timflow-0.4.0}/utils/run_notebook_tests.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: timflow
|
|
3
|
-
Version: 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>
|
{timflow-0.3.0 → timflow-0.4.0}/docs/steady/00userguide/howtos/howto_convert_timml_model.ipynb
RENAMED
|
@@ -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 `
|
|
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.
|
|
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={\"
|
|
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={\"
|
|
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={\"
|
|
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 `
|
|
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.
|
|
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",
|
|
@@ -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
|
|
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)
|
|
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.
|
|
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.
|
|
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
|
]
|
|
@@ -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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
-
"
|
|
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
|
-
"
|
|
732
|
+
"ax.plot(ws.xcp, ws.ycp, \"kx\");"
|
|
734
733
|
]
|
|
735
734
|
},
|
|
736
735
|
{
|
|
@@ -536,21 +536,9 @@
|
|
|
536
536
|
],
|
|
537
537
|
"metadata": {
|
|
538
538
|
"kernelspec": {
|
|
539
|
-
"display_name": "
|
|
539
|
+
"display_name": "Python 3",
|
|
540
540
|
"language": "python",
|
|
541
541
|
"name": "python3"
|
|
542
|
-
},
|
|
543
|
-
"language_info": {
|
|
544
|
-
"codemirror_mode": {
|
|
545
|
-
"name": "ipython",
|
|
546
|
-
"version": 3
|
|
547
|
-
},
|
|
548
|
-
"file_extension": ".py",
|
|
549
|
-
"mimetype": "text/x-python",
|
|
550
|
-
"name": "python",
|
|
551
|
-
"nbconvert_exporter": "python",
|
|
552
|
-
"pygments_lexer": "ipython3",
|
|
553
|
-
"version": "3.13.11"
|
|
554
542
|
}
|
|
555
543
|
},
|
|
556
544
|
"nbformat": 4,
|
|
@@ -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
|
-
"
|
|
86
|
+
" ax=ax,\n",
|
|
87
|
+
" linestyles=\"dashed\",\n",
|
|
87
88
|
")"
|
|
88
89
|
]
|
|
89
90
|
},
|
{timflow-0.3.0 → timflow-0.4.0}/docs/transient/00userguide/howtos/howto_select_a_model.ipynb
RENAMED
|
@@ -45,7 +45,10 @@
|
|
|
45
45
|
" tmax=10,\n",
|
|
46
46
|
")\n",
|
|
47
47
|
"\n",
|
|
48
|
-
"ax = ml.plots.xsection(
|
|
48
|
+
"ax = ml.plots.xsection(\n",
|
|
49
|
+
" params=True,\n",
|
|
50
|
+
" units={\"kaq\": \"m/d\", \"c\": \"d\", \"Saq\": \"m$^{-1}$\", \"Sll\": \"m$^{-1}$\"},\n",
|
|
51
|
+
")\n",
|
|
49
52
|
"ax.set_frame_on(False)"
|
|
50
53
|
]
|
|
51
54
|
},
|
|
@@ -77,7 +80,7 @@
|
|
|
77
80
|
" tmax=10,\n",
|
|
78
81
|
")\n",
|
|
79
82
|
"\n",
|
|
80
|
-
"ax = ml2.plots.xsection(params=True)\n",
|
|
83
|
+
"ax = ml2.plots.xsection(params=True, units={\"kaq\": \"m/d\", \"Saq\": \"m$^{-1}$\"})\n",
|
|
81
84
|
"ax.set_frame_on(False)"
|
|
82
85
|
]
|
|
83
86
|
}
|
|
@@ -301,7 +301,7 @@
|
|
|
301
301
|
" hstar=10,\n",
|
|
302
302
|
" sep=\"\\n\",\n",
|
|
303
303
|
" ax=ax,\n",
|
|
304
|
-
" units={\"
|
|
304
|
+
" units={\"kaq\": \"m/d\", \"Saq\": \"m$^{-1}$\", \"c\": \"d\"},\n",
|
|
305
305
|
" fontsize=8,\n",
|
|
306
306
|
")\n",
|
|
307
307
|
"ax.set_xlabel(\"x-coordinate [m]\")\n",
|
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cells": [
|
|
3
|
+
{
|
|
4
|
+
"cell_type": "markdown",
|
|
5
|
+
"metadata": {
|
|
6
|
+
"editable": true,
|
|
7
|
+
"slideshow": {
|
|
8
|
+
"slide_type": ""
|
|
9
|
+
},
|
|
10
|
+
"tags": []
|
|
11
|
+
},
|
|
12
|
+
"source": [
|
|
13
|
+
"# 1. Confined Aquifer Test - Oude Korendijk"
|
|
14
|
+
]
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"cell_type": "markdown",
|
|
18
|
+
"metadata": {},
|
|
19
|
+
"source": [
|
|
20
|
+
"### Import packages"
|
|
21
|
+
]
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"cell_type": "code",
|
|
25
|
+
"execution_count": null,
|
|
26
|
+
"metadata": {},
|
|
27
|
+
"outputs": [],
|
|
28
|
+
"source": [
|
|
29
|
+
"import matplotlib.pyplot as plt\n",
|
|
30
|
+
"import numpy as np\n",
|
|
31
|
+
"import pandas as pd\n",
|
|
32
|
+
"\n",
|
|
33
|
+
"import timflow.transient as tft\n",
|
|
34
|
+
"\n",
|
|
35
|
+
"plt.rcParams[\"figure.figsize\"] = (5, 3) # default figure size"
|
|
36
|
+
]
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"cell_type": "markdown",
|
|
40
|
+
"metadata": {},
|
|
41
|
+
"source": [
|
|
42
|
+
"### Introduction and Conceptual Model\n",
|
|
43
|
+
"\n",
|
|
44
|
+
"In this example, we will use the pumping test data from Oude Korendijk (Kruseman et al. 1970). \n",
|
|
45
|
+
"\n",
|
|
46
|
+
"Oude Korendijk is a polder area South of Rotterdam, the Netherlands. The stratigraphy can be summarized by:\n",
|
|
47
|
+
"* the first 18 m consist of almost impermeable material,\n",
|
|
48
|
+
"* the next 7 m is succession of coarse gravel and sands, which are considered as the aquifer layer,\n",
|
|
49
|
+
"* a layer of fine sands and clayey sediments that are deemed impermeable.\n",
|
|
50
|
+
"\n",
|
|
51
|
+
"The well screens the whole thickness of the confined aquifer. Drawdowns were measured in two piezometers located at distances of 30 m and 90 m from the well. The pumping well discharge was constant at 788 m$^3$/d for almost 14 hours. The objective of the pumping test was to estimate the hydraulic conductivity and the specific storage of the aquifer layer. "
|
|
52
|
+
]
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"cell_type": "markdown",
|
|
56
|
+
"metadata": {},
|
|
57
|
+
"source": [
|
|
58
|
+
"<img src=\"./figs/oude_korendijk.png\" style=\"width:400pt\">"
|
|
59
|
+
]
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"cell_type": "markdown",
|
|
63
|
+
"metadata": {},
|
|
64
|
+
"source": [
|
|
65
|
+
"### Load data"
|
|
66
|
+
]
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"cell_type": "code",
|
|
70
|
+
"execution_count": null,
|
|
71
|
+
"metadata": {},
|
|
72
|
+
"outputs": [],
|
|
73
|
+
"source": [
|
|
74
|
+
"# time and drawdown of piezometer 30m away from pumping well\n",
|
|
75
|
+
"data1 = np.loadtxt(\"data/piezometer_h30.txt\", skiprows=1)\n",
|
|
76
|
+
"to1 = data1[:, 0] / 60 / 24 # convert min to days\n",
|
|
77
|
+
"ho1 = data1[:, 1]\n",
|
|
78
|
+
"ro1 = 30\n",
|
|
79
|
+
"# time and drawdown of piezometer 90m away from pumping well\n",
|
|
80
|
+
"data2 = np.loadtxt(\"data/piezometer_h90.txt\", skiprows=1)\n",
|
|
81
|
+
"to2 = data2[:, 0] / 60 / 24 # convert min to days\n",
|
|
82
|
+
"ho2 = data2[:, 1]\n",
|
|
83
|
+
"ro2 = 90"
|
|
84
|
+
]
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
"cell_type": "markdown",
|
|
88
|
+
"metadata": {},
|
|
89
|
+
"source": [
|
|
90
|
+
"### Parameters and model"
|
|
91
|
+
]
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"cell_type": "code",
|
|
95
|
+
"execution_count": null,
|
|
96
|
+
"metadata": {},
|
|
97
|
+
"outputs": [],
|
|
98
|
+
"source": [
|
|
99
|
+
"# known parameters\n",
|
|
100
|
+
"H = 7 # aquifer thickness in meters, m\n",
|
|
101
|
+
"zt = -18 # top boundary of aquifer, m\n",
|
|
102
|
+
"zb = zt - H # bottom boundary of aquifer, m\n",
|
|
103
|
+
"Q = 788 # constant discharge, m3/d"
|
|
104
|
+
]
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"cell_type": "code",
|
|
108
|
+
"execution_count": null,
|
|
109
|
+
"metadata": {},
|
|
110
|
+
"outputs": [],
|
|
111
|
+
"source": [
|
|
112
|
+
"# timflow model\n",
|
|
113
|
+
"ml = tft.ModelMaq(kaq=60, z=[zt, zb], Saq=1e-4, tmin=1e-5, tmax=1)\n",
|
|
114
|
+
"w = tft.Well(model=ml, xw=0, yw=0, rw=0.2, tsandQ=[(0, Q)], layers=0)\n",
|
|
115
|
+
"ml.solve()"
|
|
116
|
+
]
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
"cell_type": "markdown",
|
|
120
|
+
"metadata": {},
|
|
121
|
+
"source": [
|
|
122
|
+
"### Estimate aquifer parameters\n",
|
|
123
|
+
"The aquifer parameters are estimated using head observations at both piezometers."
|
|
124
|
+
]
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
"cell_type": "code",
|
|
128
|
+
"execution_count": null,
|
|
129
|
+
"metadata": {},
|
|
130
|
+
"outputs": [],
|
|
131
|
+
"source": [
|
|
132
|
+
"# unknown parameters: kaq, Saq\n",
|
|
133
|
+
"cal = tft.Calibrate(ml)\n",
|
|
134
|
+
"cal.set_parameter(name=\"kaq\", initial=10, layers=0)\n",
|
|
135
|
+
"cal.set_parameter(name=\"Saq\", initial=1e-4, layers=0)\n",
|
|
136
|
+
"cal.series(name=\"obs1\", x=ro1, y=0, t=to1, h=ho1, layer=0) # Adding well 1\n",
|
|
137
|
+
"cal.series(name=\"obs2\", x=ro2, y=0, t=to2, h=ho2, layer=0) # Adding well 2\n",
|
|
138
|
+
"cal.fit(report=False)"
|
|
139
|
+
]
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
"cell_type": "code",
|
|
143
|
+
"execution_count": null,
|
|
144
|
+
"metadata": {},
|
|
145
|
+
"outputs": [],
|
|
146
|
+
"source": [
|
|
147
|
+
"display(cal.parameters.loc[:, [\"optimal\"]])\n",
|
|
148
|
+
"print(f\"RMSE: {cal.rmse():.3f} m\")"
|
|
149
|
+
]
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
"cell_type": "code",
|
|
153
|
+
"execution_count": null,
|
|
154
|
+
"metadata": {},
|
|
155
|
+
"outputs": [],
|
|
156
|
+
"source": [
|
|
157
|
+
"hm1 = ml.head(ro1, 0, to1)\n",
|
|
158
|
+
"hm2 = ml.head(ro2, 0, to2)\n",
|
|
159
|
+
"plt.semilogx(to1, ho1, \"C0.\", label=\"obs at 30m\")\n",
|
|
160
|
+
"plt.semilogx(to1, hm1[0], \"C0\", label=\"timflow at 30 m\")\n",
|
|
161
|
+
"plt.semilogx(to2, ho2, \"C1.\", label=\"obs at 90m\")\n",
|
|
162
|
+
"plt.semilogx(to2, hm2[0], \"C1\", label=\"timflow at 90m\")\n",
|
|
163
|
+
"plt.title(\"Model Results\")\n",
|
|
164
|
+
"plt.xlabel(\"time (d)\")\n",
|
|
165
|
+
"plt.ylabel(\"head change (m)\")\n",
|
|
166
|
+
"plt.legend()\n",
|
|
167
|
+
"plt.grid()"
|
|
168
|
+
]
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
"cell_type": "markdown",
|
|
172
|
+
"metadata": {},
|
|
173
|
+
"source": [
|
|
174
|
+
"### Comparison of results"
|
|
175
|
+
]
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
"cell_type": "markdown",
|
|
179
|
+
"metadata": {},
|
|
180
|
+
"source": [
|
|
181
|
+
"The performance of `timflow` was compared with MLU (Hemker & Post, 2014), and Kruseman and de Ridder (1970), here abbreviated to K&dR. \n",
|
|
182
|
+
"\n",
|
|
183
|
+
"MLU included, compared to `timflow`, three observation wells in the calibration, located at 30, 90, and 215 m from the pumping well. The fit remains poor for the observations at 215 m, which explains the relatively large RMSE. The late-time drawdowns increase more slowly than the computed Theis drawdowns, which is likely caused by leakage (Kruseman and de Ridder, 1970; Hemker & Post, 2014).\n",
|
|
184
|
+
"\n",
|
|
185
|
+
"Since `timflow` only includes the first two observation wells (30 and 90 m), the fit to the data is better. However, the estimated parameters are quite similar to those obtained with MLU, while the solution reported by K&dR shows differences."
|
|
186
|
+
]
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
"cell_type": "code",
|
|
190
|
+
"execution_count": null,
|
|
191
|
+
"metadata": {},
|
|
192
|
+
"outputs": [],
|
|
193
|
+
"source": [
|
|
194
|
+
"t = pd.DataFrame(\n",
|
|
195
|
+
" columns=[\"k [m/d]\", \"Ss [1/m]\", \"RMSE [m]\"],\n",
|
|
196
|
+
" index=[\"timflow\", \"MLU\", \"K&dR\"],\n",
|
|
197
|
+
")\n",
|
|
198
|
+
"\n",
|
|
199
|
+
"t.loc[\"timflow\"] = np.append(cal.parameters[\"optimal\"].values, cal.rmse())\n",
|
|
200
|
+
"t.loc[\"MLU\"] = [63.51428571, 3.58e-5, 0.832886547]\n",
|
|
201
|
+
"t.loc[\"K&dR\"] = [55.71429, 1.7e-4, 1.292710331]\n",
|
|
202
|
+
"\n",
|
|
203
|
+
"t_formatted = t.style.format(\n",
|
|
204
|
+
" {\n",
|
|
205
|
+
" \"k [m/d]\": \"{:.2f}\",\n",
|
|
206
|
+
" \"Ss [1/m]\": \"{:.2e}\",\n",
|
|
207
|
+
" \"RMSE [m]\": lambda x: \"-\" if x == \"-\" else f\"{float(x):.3f}\",\n",
|
|
208
|
+
" }\n",
|
|
209
|
+
")\n",
|
|
210
|
+
"t_formatted"
|
|
211
|
+
]
|
|
212
|
+
},
|
|
213
|
+
{
|
|
214
|
+
"cell_type": "markdown",
|
|
215
|
+
"metadata": {
|
|
216
|
+
"editable": true,
|
|
217
|
+
"slideshow": {
|
|
218
|
+
"slide_type": ""
|
|
219
|
+
},
|
|
220
|
+
"tags": []
|
|
221
|
+
},
|
|
222
|
+
"source": [
|
|
223
|
+
"## References\n",
|
|
224
|
+
"\n",
|
|
225
|
+
"* Bakker, M. (2013), Semi-analytic modeling of transient multi-layer flow with TTim, Hydrogeol J 21, 935–943, https://doi.org/10.1007/s10040-013-0975-2\n",
|
|
226
|
+
"* Duffield, G.M. (2007), AQTESOLV for Windows Version 4.5 User's Guide, HydroSOLVE, Inc., Reston, VA.\n",
|
|
227
|
+
"* Hemker, K. en Post V. (2014) MLU for Windows: well flow modeling in multilayer aquifer systems; [MLU User's guide](https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fmicrofem.com%2Fdownload%2Fmlu-user.pdf&data=05%7C02%7CMark.Bakker%40tudelft.nl%7Cad7f16364d2d4fd55dbf08de73832eaa%7C096e524d692940308cd38ab42de0887b%7C0%7C0%7C639075204580287861%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=OBoe8seXZUfoat89Dfr4g6lF%2Bn1FdtXqtp%2F18BMXCn0%3D&reserved=0)\n",
|
|
228
|
+
"* Kruseman, G.P., De Ridder, N.A. and Verweij, J.M. (1970), Analysis and evaluationof pumping test data, volume 11, International institute for land reclamation and improvement The Netherlands."
|
|
229
|
+
]
|
|
230
|
+
}
|
|
231
|
+
],
|
|
232
|
+
"metadata": {
|
|
233
|
+
"kernelspec": {
|
|
234
|
+
"display_name": "Python 3",
|
|
235
|
+
"language": "python",
|
|
236
|
+
"name": "python3"
|
|
237
|
+
}
|
|
238
|
+
},
|
|
239
|
+
"nbformat": 4,
|
|
240
|
+
"nbformat_minor": 4
|
|
241
|
+
}
|