{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"editable": true,
"slideshow": {
"slide_type": ""
},
"tags": []
},
"source": [
"# 2. Unconfined Aquifer Test - Vennebulten"
]
},
{
"cell_type": "markdown",
"metadata": {
"editable": true,
"slideshow": {
"slide_type": ""
},
"tags": []
},
"source": [
"### Import packages"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"import pandas as pd\n",
"\n",
"import timflow.transient as tft\n",
"\n",
"plt.rcParams[\"figure.figsize\"] = (5, 3) # default figure size"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Introduction and Conceptual Model"
]
},
{
"cell_type": "markdown",
"metadata": {
"editable": true,
"slideshow": {
"slide_type": ""
},
"tags": []
},
"source": [
"In aquifer tests in unconfined aquifers, there is also the vertical component to flow to the well. The drawdown data shows the delayed water table response, a distinguishable S-shape in the log-log plot. In the early times of the drawdown, the drawdown behaves as a confined aquifer: when the aquifer releases the elastic storage. However, as pumping continues, the water table storage begins to be released, generating further drawdown and the S-shape.\n",
"\n",
"This test conducted in Vennebulten, the Netherlands, is reported in Kruseman et al. (1970). The cross-section consists of a first layer up to 6 m depth of very fine and loamy sands, followed by coarse sands until 21 m deep.\n",
"\n",
"The screen of the pumping well is placed between 10 and 21 meters depth, and pumping has taken place for 25 hours at a rate of 873 m3/d. The available drawdown data comes from two piezometers, a shallow one, screened at 3 m depth, and a deeper one, screened in the depths between 12 to 19 m. Both wells are located 90 m from the pumping well."
]
},
{
"cell_type": "markdown",
"metadata": {
"editable": true,
"slideshow": {
"slide_type": ""
},
"tags": []
},
"source": [
" "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Load data "
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"data1 = np.loadtxt(\"data/venne_shallow.txt\", skiprows=1)\n",
"ts = data1[:, 0] / 60 / 24 # convert min to days\n",
"hs = data1[:, 1]\n",
"\n",
"data2 = np.loadtxt(\"data/venne_deep.txt\", skiprows=1)\n",
"td = data2[:, 0] / 60 / 24 # convert min to days\n",
"hd = data2[:, 1]"
]
},
{
"cell_type": "markdown",
"metadata": {
"editable": true,
"slideshow": {
"slide_type": ""
},
"tags": []
},
"source": [
"### Parameters and model"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"b = -21 # aquifer thickness, m\n",
"r = 90 # distance from observation wells to pumping well, m\n",
"Q = 873 # constant discharge, m^3/d\n",
"k = 12 * [0.5] + 15 * [150]\n",
"z = np.hstack((np.arange(0, -6, -0.5), np.arange(-6, -21.1, -1)))\n",
"Ss = [0.2] + 26 * [1e-4]\n",
"kzoverkh = 0.1"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"self.neq 20\n",
"solution complete\n"
]
}
],
"source": [
"ml = tft.Model3D(\n",
" kaq=k,\n",
" z=z,\n",
" Saq=Ss,\n",
" kzoverkh=kzoverkh,\n",
" topboundary=\"phreatic\",\n",
" tmin=1e-4,\n",
" tmax=1.1,\n",
")\n",
"w = tft.Well(ml, xw=0, yw=0, rw=0.1, tsandQ=[(0, Q)], layers=range(10, 21))\n",
"wobs = tft.Well(ml, xw=90, yw=0, rw=0.1, tsandQ=[(0, 0)], layers=range(18, 27))\n",
"ml.solve()"
]
},
{
"cell_type": "markdown",
"metadata": {
"editable": true,
"slideshow": {
"slide_type": ""
},
"tags": []
},
"source": [
"### Estimate aquifer parameters"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"...............................................................................\n",
"Fit succeeded.\n",
"[[Fit Statistics]]\n",
" # fitting method = leastsq\n",
" # function evals = 76\n",
" # data points = 48\n",
" # variables = 4\n",
" chi-square = 0.00319397\n",
" reduced chi-square = 7.2590e-05\n",
" Akaike info crit = -453.649150\n",
" Bayesian info crit = -446.164346\n",
"[[Variables]]\n",
" Saq_1_11: 1.3997e-04 (init = 0.0001)\n",
" kaq_0_11: 0.08061669 (init = 1)\n",
" Saq_12_26: 2.9428e-05 (init = 0.0001)\n",
" kaq_12_26: 121.610702 (init = 150)\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"......"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"."
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"......."
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"."
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"......."
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"."
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"......"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"."
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"......."
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"."
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"......"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"."
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"......."
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"."
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"......."
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"."
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"......."
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"."
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"......."
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"."
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
".\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Fit succeeded.\n",
"[[Fit Statistics]]\n",
" # fitting method = leastsq\n",
" # function evals = 76\n",
" # data points = 48\n",
" # variables = 4\n",
" chi-square = 0.00319397\n",
" reduced chi-square = 7.2590e-05\n",
" Akaike info crit = -453.649150\n",
" Bayesian info crit = -446.164346\n",
"[[Variables]]\n",
" Saq_1_11: 1.3997e-04 (init = 0.0001)\n",
" kaq_0_11: 0.08061669 (init = 1)\n",
" Saq_12_26: 2.9428e-05 (init = 0.0001)\n",
" kaq_12_26: 121.610702 (init = 150)\n"
]
}
],
"source": [
"cal = tft.Calibrate(ml)\n",
"\n",
"cal.set_parameter(\n",
" name=\"Saq\", initial=1e-4, layers=list(range(1, 12)), pmin=1e-6, pmax=1e-2\n",
")\n",
"cal.set_parameter(name=\"kaq\", initial=150, layers=list(range(0, 12)), pmin=0.05, pmax=1)\n",
"\n",
"cal.set_parameter(\n",
" name=\"Saq\", initial=1e-4, layers=list(range(12, 27)), pmin=1e-6, pmax=1e-2\n",
")\n",
"cal.set_parameter(name=\"kaq\", initial=150, layers=list(range(12, 27)), pmin=100, pmax=200)\n",
"\n",
"cal.series(name=\"shallow_obs\", x=r, y=0, t=ts, h=hs, layer=5)\n",
"cal.seriesinwell(name=\"wobs\", element=wobs, t=td, h=hd)\n",
"\n",
"cal.fit(report=True)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
" \n",
" \n",
" optimal \n",
" \n",
" \n",
" \n",
" \n",
" Saq_1_11 \n",
" 0.000140 \n",
" \n",
" \n",
" kaq_0_11 \n",
" 0.080617 \n",
" \n",
" \n",
" Saq_12_26 \n",
" 0.000029 \n",
" \n",
" \n",
" kaq_12_26 \n",
" 121.610702 \n",
" \n",
" \n",
"
\n",
"
"
],
"text/plain": [
" optimal\n",
"Saq_1_11 0.000140\n",
"kaq_0_11 0.080617\n",
"Saq_12_26 0.000029\n",
"kaq_12_26 121.610702"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"RMSE: 0.008 m\n"
]
}
],
"source": [
"display(cal.parameters.loc[:, [\"optimal\"]])\n",
"print(f\"RMSE: {cal.rmse():.3f} m\")"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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/fRTypcvD0CfPn1Ys2YNd+7cwdbWlmrVqhEUFMSePXvo378/V65c4bvvvuPmzZt4eXkB6f0Atm/fzqpVq/jggw9yHeeiRYsYPnw4L774IgCzZs1i586d0moghBFIi4EQAgBra2tdUgDg7u6Ov78/tra2emUREREAnDx5ElVVqVSpku76v62tLfv27ePKlSt5OvaFCxcIDAzUK3v8vhCicEiLgRACADMzM737iqJkWabVagHQarWYmJhw4sSJTB0CH00mhBDFiyQGQpRw5ubmeh0GDaVu3bqkpaURERFB8+bNn2pfVatW5fDhwwwePFhXdvjw4acNUQiRD5IYCFHC+fv7c+TIEa5fv46trS1OTk4G2W+lSpUYOHAggwcPZv78+dStW5d79+6xe/duatasSadOnXK9r9dff50hQ4bQoEEDnnnmGdatW8e5c+coV66cQWIVQuSe9DEQooSbOHEiJiYmVKtWDVdXV0JCQgy271WrVjF48GAmTJhA5cqV6datG0eOHMl25EN2+vfvz9SpU3nrrbeoX78+N27c4OWXXzZYnEKI3FNUVVWNHYQQovRQFIWNGzfSo0ePfG3v7+/PuHHjMs3mKIQwDGkxEEIUuueffz7PUxt/8MEH2NraGrTFQwiRmbQYCCEK1b///guAiYkJAQEBud7uwYMHPHjwAABXV1ejrfMgREkniYEQQgghdORSghBCCCF0JDEQQgghhI4kBkIIIYTQkcRACCGEEDqSGAghhBBCRxIDIYQQQuhIYiCEEEIIHUkMhBBCCKEjiYEQQgghdP4Hc+gRG34wxL8AAAAASUVORK5CYII=",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"hs_1 = ml.head(r, 0, ts, layers=3)\n",
"hd_1 = wobs.headinside(td)\n",
"\n",
"plt.semilogx(ts, hs, \".\", label=\"shallow obs\")\n",
"plt.semilogx(ts, hs_1[0], label=\"shallow ttim\")\n",
"plt.semilogx(td, hd, \".\", label=\"deep obs\")\n",
"plt.semilogx(td, hd_1[0], \"--\", label=\"deep ttim\")\n",
"plt.xlabel(\"time [d]\")\n",
"plt.ylabel(\"head change [m]\")\n",
"plt.title(\"Timflow Unconfined Model Results - Shallow Piezometer\")\n",
"plt.legend()\n",
"plt.grid()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Comparison of results\n",
"The performance of `timflow` is compared with a model performed with MLU (Hemker & Post, 2014). The schematization of the MLU model differs considerably. The model consists of three layers: a very thin fine-grained upper aquifer layer with horizontal flow and two deeper sublayers with a thickness of 1 and 10 meters. In total, four parameters were estimated (Ss0, c2, Ss2, k2), while fixed values were chosen for the remaining ones. \n",
"\n",
"The RMSE of MLU is smaller than that of timflow, but MLU uses more layers with fixed parameters."
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"editable": true,
"slideshow": {
"slide_type": ""
},
"tags": [
"hide-input"
]
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
" \n",
" \n",
" \n",
" Ss0 [1/m] \n",
" k0 [m/d] \n",
" c1 [d] \n",
" Ss1 [1/m] \n",
" k1 [m/d] \n",
" c2 [d] \n",
" Ss2 [1/m] \n",
" k2 [m/d] \n",
" RMSE [m] \n",
" \n",
" \n",
" \n",
" \n",
" timflow \n",
" 1.40e-04 \n",
" 0.08 \n",
" - \n",
" 2.94e-05 \n",
" 121.61 \n",
" - \n",
" - \n",
" - \n",
" 0.0082 \n",
" \n",
" \n",
" MLU \n",
" 3.80e-01 \n",
" 1.00 \n",
" 100 \n",
" 1.00e-06 \n",
" 50.00 \n",
" 209 \n",
" 5.58e-03 \n",
" 165.90 \n",
" 0.0005 \n",
" \n",
" \n",
"
\n"
],
"text/plain": [
""
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"t = pd.DataFrame(\n",
" columns=[\n",
" \"Ss0 [1/m]\",\n",
" \"k0 [m/d]\",\n",
" \"c1 [d]\",\n",
" \"Ss1 [1/m]\",\n",
" \"k1 [m/d]\",\n",
" \"c2 [d]\",\n",
" \"Ss2 [1/m]\",\n",
" \"k2 [m/d]\",\n",
" \"RMSE [m]\",\n",
" ],\n",
" index=[\"timflow\", \"MLU\"],\n",
")\n",
"\n",
"t.loc[\"timflow\"] = [\n",
" cal.parameters[\"optimal\"].values[0],\n",
" cal.parameters[\"optimal\"].values[1],\n",
" \"-\",\n",
" cal.parameters[\"optimal\"].values[2],\n",
" cal.parameters[\"optimal\"].values[3],\n",
" \"-\",\n",
" \"-\",\n",
" \"-\",\n",
" cal.rmse(),\n",
"]\n",
"t.loc[\"MLU\"] = [0.38, 1, 100, 1e-6, 50, 209, 0.00558, 165.9, 0.0005]\n",
"\n",
"t_formatted = t.style.format(\n",
" {\n",
" \"Ss0 [1/m]\": \"{:.2e}\",\n",
" \"k0 [m/d]\": \"{:.2f}\",\n",
" \"c1 [d]\": lambda x: \"-\" if x == \"-\" else f\"{float(x):.0f}\",\n",
" \"Ss1 [1/m]\": \"{:.2e}\",\n",
" \"k1 [m/d]\": \"{:.2f}\",\n",
" \"c2 [d]\": lambda x: \"-\" if x == \"-\" else f\"{float(x):.0f}\",\n",
" \"Ss2 [1/m]\": lambda x: \"-\" if x == \"-\" else f\"{float(x):.2e}\",\n",
" \"k2 [m/d]\": lambda x: \"-\" if x == \"-\" else f\"{float(x):.2f}\",\n",
" \"RMSE [m]\": \"{:.4f}\",\n",
" }\n",
")\n",
"t_formatted"
]
},
{
"cell_type": "markdown",
"metadata": {
"editable": true,
"slideshow": {
"slide_type": ""
},
"tags": []
},
"source": [
"## References\n",
"* Hemker, K. en Post V. (2014) MLU for Windows: well flow modeling in multilayer aquifer systems; [MLU User's guide](https://microfem.com/download/mlu-user.pdf)\n",
"* Kruseman, G.P., De Ridder, N.A., Verweij, J.M., 1970. Analysis and evaluationof pumping test data. volume 11. International institute for land reclamation and improvement The Netherlands.\n",
"* Neuman, S.P., Witherspoon, P.A., 1969. Applicability of current theories of flow in leaky aquifers. Water Resources Research 5, 817–829."
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python [conda env:base] *",
"language": "python",
"name": "conda-base-py"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.13.5"
}
},
"nbformat": 4,
"nbformat_minor": 4
}