{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# 2. Synthetic Pumping Test - 2 aquifers" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np\n", "\n", "import ttim" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Head data is generated for a pumping test in a two-aquifer model. The well starts pumping at time $t=0$ with a discharge $Q=800$ m$^3$/d. The head is measured in an observation well 10 m from the pumping well. The thickness of the aquifer is 20 m. Questions:\n", "\n", "1. Determine the optimal values of the hydraulic conductivity and specific storage coefficient of the aquifer when the aquifer is approximated as confined. Use a least squares approach and make use of the `fmin` function of `scipy.optimize` to find the optimal values. Plot the data with dots and the best-fit model in one graph. Print the optimal values of $k$ and $S_s$ to the screen as well as the root mean squared error of the residuals. \n", "\n", "2. Repeat Question 1 but now approximate the aquifer as semi-confined. Plot the data with dots and the best-fit model in one graph. Print to the screen the optimal values of $k$, $S_s$ and $c$ to the screen as well as the root mean squared error of the residuals. Is the semi-cofined model a better fit than the confined model?" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "def generate_data():\n", " # 2 layer model with some random error\n", " ml = ttim.ModelMaq(\n", " kaq=[10, 20],\n", " z=[0, -20, -22, -42],\n", " c=[1000],\n", " Saq=[0.0002, 0.0001],\n", " tmin=0.001,\n", " tmax=100,\n", " )\n", " ttim.Well(ml, 0, 0, rw=0.3, tsandQ=[(0, 800)])\n", " ml.solve()\n", " t = np.logspace(-2, 1, 100)\n", " h = ml.head(10, 0, t)\n", " plt.figure()\n", " r = 0.01 * rnd.random(100)\n", " n = np.zeros_like(r)\n", " # alpha = 0.8\n", " for i in range(1, len(n)):\n", " n[i] = 0.8 * n[i - 1] + r[i]\n", " ho = h[0] + n\n", " plt.plot(t, ho, \".\")\n", " data = np.zeros((len(ho), 2))\n", " data[:, 0] = t\n", " data[:, 1] = ho\n", " # np.savetxt('pumpingtestdata.txt', data, fmt='%2.3f', header='time (d), head (m)')\n", " return data" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "self.neq 1\n", "solution complete\n" ] }, { "data": { "image/png": "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AwAATOVUuGqMGhwAABB1CDgAACDqEHAAAEDUIeAAAICoQ8ABAABRh4ADAACiDgEHAABEHQIOAACIOgQcAAAQdQg4AAAg6hBwAABA1OmSe1EZhiFJqqysdLglAACgvfy/2/7f8dZ0yYBz+vRpSVJKSorDLQEAAOE6ffq0PB5Pq9e4jPbEoCjT0NCgsrIy9erVSy6Xy7TnVlZWKiUlRUePHlXv3r1Ney6a47u2B9+zPfie7cN3bQ+rvmfDMHT69GklJycrJqb1Kpsu2YMTExOjgQMHWvb83r178z8cm/Bd24Pv2R58z/bhu7aHFd9zWz03fhQZAwCAqEPAAQAAUYeAYyK3262FCxfK7XY73ZSox3dtD75ne/A924fv2h6R8D13ySJjAAAQ3ejBAQAAUYeAAwAAog4BBwAARB0CDgAAiDoEHBM9++yzSk1NVY8ePTRixAh9/PHHTjcpquTl5enyyy9Xr1691L9/f918880qKSlxullRLy8vTy6XSzk5OU43JSodP35ct912m/r166eEhARddtll2r17t9PNiio//PCD/uu//kupqamKj4/XkCFDtGTJEjU0NDjdtE7to48+0k033aTk5GS5XC798Y9/DHrfMAwtWrRIycnJio+PV2Zmpvbv329b+wg4Jtm4caNycnL08MMPa+/evfrXf/1X3XDDDSotLXW6aVHjww8/1L333qtPPvlEBQUF+uGHHzRhwgSdOXPG6aZFrcLCQq1evVo///nPnW5KVDp16pTGjBmj7t276/3339df//pXPfnkk+rTp4/TTYsqjz32mJ5//nmtWrVKf/vb37RixQo9/vjjWrlypdNN69TOnDmjSy+9VKtWrQr5/ooVK/TUU09p1apVKiwsVGJioq677rrAfpCWM2CKK664wrj77ruDzqWlpRnz5893qEXR78SJE4Yk48MPP3S6KVHp9OnTxkUXXWQUFBQYY8eONe6//36nmxR1HnroIePqq692uhlRb9KkScavf/3roHNTp041brvtNodaFH0kGfn5+YHXDQ0NRmJiorF8+fLAue+//97weDzG888/b0ub6MExQW1trXbv3q0JEyYEnZ8wYYJ27tzpUKuin8/nkyT17dvX4ZZEp3vvvVeTJk3S+PHjnW5K1Hr77bc1cuRITZs2Tf3791dGRoZefPFFp5sVda6++mpt3bpVX375pSTps88+044dO/TLX/7S4ZZFr8OHD6uioiLod9Htdmvs2LG2/S52yc02zXby5EnV19drwIABQecHDBigiooKh1oV3QzD0AMPPKCrr75a6enpTjcn6mzYsEF79uxRYWGh002Jal999ZWee+45PfDAA1qwYIE+/fRT/e53v5Pb7dYdd9zhdPOixkMPPSSfz6e0tDTFxsaqvr5eS5cu1a233up006KW/7cv1O/i3//+d1vaQMAxkcvlCnptGEazczDHnDlz9Pnnn2vHjh1ONyXqHD16VPfff782b96sHj16ON2cqNbQ0KCRI0dq2bJlkqSMjAzt379fzz33HAHHRBs3btRrr72m119/XUOHDlVRUZFycnKUnJysX/3qV043L6o5+btIwDGB1+tVbGxss96aEydONEuvOHf33Xef3n77bX300UcaOHCg082JOrt379aJEyc0YsSIwLn6+np99NFHWrVqlWpqahQbG+tgC6NHUlKS/uVf/iXo3M9+9jO9+eabDrUoOv3nf/6n5s+fr6ysLEnSsGHD9Pe//115eXkEHIskJiZKOtuTk5SUFDhv5+8iNTgmiIuL04gRI1RQUBB0vqCgQKNHj3aoVdHHMAzNmTNHmzZt0rZt25Samup0k6LStddeq3379qmoqChwjBw5UrNmzVJRURHhxkRjxoxpttTBl19+qQsuuMChFkWn7777TjExwT93sbGxTBO3UGpqqhITE4N+F2tra/Xhhx/a9rtID45JHnjgAd1+++0aOXKkRo0apdWrV6u0tFR33323002LGvfee69ef/11vfXWW+rVq1egx8zj8Sg+Pt7h1kWPXr16Natr6tmzp/r160e9k8n+4z/+Q6NHj9ayZcs0ffp0ffrpp1q9erVWr17tdNOiyk033aSlS5dq0KBBGjp0qPbu3aunnnpKv/71r51uWqdWVVWlgwcPBl4fPnxYRUVF6tu3rwYNGqScnBwtW7ZMF110kS666CItW7ZMCQkJmjlzpj0NtGWuVhfxP//zP8YFF1xgxMXFGcOHD2f6sskkhTxeeeUVp5sW9Zgmbp133nnHSE9PN9xut5GWlmasXr3a6SZFncrKSuP+++83Bg0aZPTo0cMYMmSI8fDDDxs1NTVON61T2759e8j/m/yrX/3KMIyzU8UXLlxoJCYmGm6327jmmmuMffv22dY+l2EYhj1RCgAAwB7U4AAAgKhDwAEAAFGHgAMAAKIOAQcAAEQdAg4AAIg6BBwAABB1CDgAACDqEHAAAEDUIeAAAICoQ8ABAABRh4ADAACiDgEHAABEnf8flyb5CWeWSzoAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "rnd = np.random.default_rng(11)\n", "data = generate_data()\n", "to = data[:, 0]\n", "ho = data[:, 1]" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "def func(p, to=to, ho=ho, returnmodel=False):\n", " k = p[0]\n", " S = p[1]\n", " ml = ttim.ModelMaq(kaq=k, z=[0, -20], Saq=S, tmin=0.001, tmax=100)\n", " ttim.Well(ml, 0, 0, rw=0.3, tsandQ=[(0, 800)])\n", " ml.solve(silent=True)\n", " if returnmodel:\n", " return ml\n", " h = ml.head(10, 0, to)\n", " return np.sum((h[0] - ho) ** 2)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Optimization terminated successfully.\n", " Current function value: 0.251681\n", " Iterations: 41\n", " Function evaluations: 85\n", "optimal parameters: [1.16063293e+01 1.27878469e-04]\n", "rmse: 0.05016784528826497\n" ] } ], "source": [ "from scipy.optimize import fmin\n", "\n", "lsopt = fmin(func, [10, 1e-4])\n", "print(\"optimal parameters:\", lsopt)\n", "print(\"rmse:\", np.sqrt(func(lsopt) / len(ho)))" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0, 0.5, 'head (m)')" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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11xzDVu3bmXFihX88ccfDB8+3GEMCxcuxM/Pj59//pk5c+YwatQovvnmG86cOWM/5ocffiAzM9N+Z42///3vzJ8/n9mzZ7N7927+9re/ce+999pvS3bkyBGGDh3KzTffzI4dO3j44Yd5/vnnnfq7BC/psyRQLD2JiIjHK2ulwFkX7mRmZjJ79mwWLFjATTfdBBh3vVi1ahXz5s2ja9euAEyePJkBAwYARrBp2LAhS5cuZfjw4SQlJXHnnXfSrl07AIc7X8yePZtOnToxY8YM+74PP/yQqKgo9u/fT8uWLQFo3rw5s2bNsh/TrFkzQkNDWbp0Kffddx8An376Kbfddhs1atQgMzOTt956i7Vr19KjRw/7+27cuJE5c+bQp08fZs+eTdOmTXn77bcxmUy0atXKHuacSTNLHighPZML/tvCakXLcCIiXibaHIrPBf/Y9TWZnLpSEB8fT25ursOFSv7+/nTr1o29e/fa99kCCRilLq1atbI/P378eF555RV69erF5MmT2blzp/3YmJgY1q1bR7Vq1exb69at7e9t06VLF4dx+fv7M2zYMD755BPACHVff/01o0aNAoylvXPnzjFgwACHc//3v/+1n3fv3r10797docdi0c/hLJpZ8kC2/7gu/NfIzmOn6NGsjnsGJSIiFRYRFszMoe14YUks+VYrviYTM4a2dWo7GKvV+PK4sGlzeRo5255/+OGHGTRoEN9//z0rV65k5syZvPnmm4wbN46CggJuu+22EmdzirbdCQ0NLfb8qFGj6NOnD2lpaaxatYqgoCD77FdBQQEA33//PQ0aNHB4na23oe2zuZpmljxQRFgwzw1uXWz/rOVxV+yVFCIi3mpE10ZsfL4fn43pzsbn+zGiayOnvl/z5s0JCAhg48aN9n25ubls3bqVq666yr5v8+bN9p9PnjzJ/v377TNEYFwE9eijj7JkyRKefvppPvjgA8Bo3rx7926aNGlC8+bNHbaSAlJRPXv2JCoqisWLF/PJJ58wbNgw+733rr76agIDA0lKSip23qioKPsxRcd94edwFoUlD9WuYfGr93RFnIiId4oIC6ZHszouaTAcGhrKY489xjPPPMOKFSvYs2cPY8aM4ezZsw43k582bRpr1qwhNjaWBx98ELPZzO233w7AhAkT+OGHH0hISGDbtm2sXbvWHrSeeOIJ/vzzT+6+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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ml = func(lsopt, returnmodel=True)\n", "plt.figure()\n", "plt.plot(data[:, 0], data[:, 1], \".\", label=\"observed\")\n", "hm = ml.head(10, 0, to)\n", "plt.plot(to, hm[0], \"r\", label=\"modeled\")\n", "plt.legend()\n", "plt.xlabel(\"time (d)\")\n", "plt.ylabel(\"head (m)\")" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "....................\n", "Fit succeeded.\n", "rmse: 0.050167851002538885\n" ] } ], "source": [ "cal = ttim.Calibrate(ml)\n", "cal.set_parameter(name=\"kaq0\", layers=0, initial=10, pmin=0.1, pmax=1000)\n", "cal.set_parameter(name=\"Saq0\", layers=0, initial=1e-4, pmin=1e-5, pmax=1e-3)\n", "cal.series(name=\"obs1\", x=10, y=0, layer=0, t=to, h=ho)\n", "cal.fit(report=False)\n", "print(\"rmse:\", cal.rmse())" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
layersoptimalstdperc_stdpminpmaxinitialinhomsparray
kaq0011.6061900.1187731.0233630.100001000.00010.0000None[11.606189706450678]
Saq000.0001280.0000075.5592950.000010.0010.0001None[0.00012788749251955707]
\n", "
" ], "text/plain": [ " layers optimal std perc_std pmin pmax initial \\\n", "kaq0 0 11.606190 0.118773 1.023363 0.10000 1000.000 10.0000 \n", "Saq0 0 0.000128 0.000007 5.559295 0.00001 0.001 0.0001 \n", "\n", " inhoms parray \n", "kaq0 None [11.606189706450678] \n", "Saq0 None [0.00012788749251955707] " ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cal.parameters" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Model as semi-confined" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "def func2(p, to=to, ho=ho, returnmodel=False):\n", " k = p[0]\n", " S = p[1]\n", " c = p[2]\n", " ml = ttim.ModelMaq(\n", " kaq=k, z=[2, 0, -20], Saq=S, c=c, topboundary=\"semi\", tmin=0.001, tmax=100\n", " )\n", " ttim.Well(ml, 0, 0, rw=0.3, tsandQ=[(0, 800)])\n", " ml.solve(silent=True)\n", " if returnmodel:\n", " return ml\n", " h = ml.head(10, 0, to)\n", " return np.sum((h[0] - ho) ** 2)" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Optimization terminated successfully.\n", " Current function value: 0.004826\n", " Iterations: 122\n", " Function evaluations: 239\n", "optimal parameters: [1.02193607e+01 2.01296811e-04 1.56256292e+03]\n", "rmse: 0.006947175894895784\n" ] } ], "source": [ "lsopt2 = fmin(func2, [10, 1e-4, 1000])\n", "print(\"optimal parameters:\", lsopt2)\n", "print(\"rmse:\", np.sqrt(func2(lsopt2) / len(ho)))" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0, 0.5, 'head (m)')" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAksAAAGwCAYAAAC5ACFFAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAABgQklEQVR4nO3dd3hUZd7G8e+kF5IJMKkQIIAUpYMgoBRFsLKKS1HQRYFdCyorWMACuAsott21Ia4CKgLvKlix0BERBQJCACkxIQESQiBMKqnn/WPIwBgSEsjMJOH+XNe5yJz6zMTN3Ps8v/Mck2EYBiIiIiJyTh7uboCIiIhITaawJCIiIlIBhSURERGRCigsiYiIiFRAYUlERESkAgpLIiIiIhVQWBIRERGpgJe7G1AXlJSUcOTIEYKCgjCZTO5ujoiIiFSCYRhkZWURFRWFh0f5/UcKS9XgyJEjREdHu7sZIiIicgGSk5Np3LhxudsVlqpBUFAQYPuwg4OD3dwaERERqYzMzEyio6Pt3+PlUViqBqVDb8HBwQpLIiIitcz5SmhU4C0iIiJSAYUlERERkQooLImIiIhUQDVLIiIiFSgpKaGgoMDdzZAL4O3tjaen50WfR2FJRESkHAUFBSQkJFBSUuLupsgFCgkJISIi4qLmQVRYEhEROQfDMEhJScHT05Po6OgKJy2UmscwDHJzc0lLSwMgMjLygs9Va8JSRkYGjzzyCF988QUAgwcP5vXXXyckJKTcY8pLkbNnz+bxxx8HoF+/fqxbt85h+/Dhw1m8eHH1NFxERGqloqIicnNziYqKIiAgwN3NkQvg7+8PQFpaGmFhYRc8JFdrwtJdd93FoUOH+PbbbwH461//yt13382XX35Z7jEpKSkOr7/55hvGjBnDHXfc4bB+3LhxPP/88/bXpR+uiIhcuoqLiwHw8fFxc0vkYpQG3cLCwrodlvbs2cO3337Lpk2b6NGjBwDvvvsuPXv2ZO/evbRu3fqcx0VERDi8/vzzz+nfvz/Nmzd3WB8QEFBmXxERETj/hIVSs1XH769WDMD+9NNPmM1me1ACuOqqqzCbzWzcuLFS5zh69Chff/01Y8aMKbNt4cKFWCwWrrjiCiZNmkRWVlaF58rPzyczM9NhERERkbqpVvQspaamEhYWVmZ9WFgYqamplTrHggULCAoKYsiQIQ7rR44cSUxMDBEREcTFxTF58mR+/fVXVqxYUe65Zs2axfTp06v2JkRERKRWcmvP0rRp0zCZTBUuW7ZsAc7djWYYRqW7195//31GjhyJn5+fw/px48YxYMAA2rVrx4gRI/jkk09YuXIlsbGx5Z5r8uTJWK1W+5KcnFyFdy0iIuI+a9euxWQycfLkSXc3pVq44v24tWdp/PjxjBgxosJ9mjVrxo4dOzh69GiZbceOHSM8PPy81/nhhx/Yu3cvS5YsOe++Xbp0wdvbm/3799OlS5dz7uPr64uvr+95z3XRTpyArCwwm6GCu/5ERETEedwaliwWCxaL5bz79ezZE6vVyi+//EL37t0B+Pnnn7FarfTq1eu8x7/33nt07dqVjh07nnffXbt2UVhYeFHzMVSXnImPEzj/fbKefo6gf2rYT0Sktkqx5pGQnkOMJZBI86V3x3VBQUGtvquwVhR4t23blhtuuIFx48axadMmNm3axLhx47jlllsc7oRr06YNy5Ytczg2MzOT//3vf4wdO7bMeePj43n++efZsmULiYmJLF++nKFDh9K5c2d69+7t9PdVkSWbk/jsV9vUB/9dF8+SzUlubY+IiFyYJZuT6P3Cau5692d6v7DaJX/P8/PzeeSRRwgLC8PPz4+rr76azZs3O+zz448/0rFjR/z8/OjRowc7d+60bzt48CC33nor9evXJzAwkCuuuILly5fbt+/evZubbrqJevXqER4ezt133016erp9e79+/Rg/fjyPPfYYFouF66+/njvvvLPMaFJhYSEWi4V58+YBtvKa2bNn07x5c/z9/enYsSOffPKJwzHLly+nVatW+Pv7079/fxITE6vrYytXrQhLYLtjrX379gwcOJCBAwfSoUMHPvzwQ4d99u7di9VqdVi3ePFiDMPgzjvvLHNOHx8fVq1axaBBg2jdujWPPPIIAwcOZOXKldXyLJkLlWLNY/LSnRSf/vV4lJQwZWkcKdY8t7VJRESqrvTveYlhe11i4JK/50888QSffvopCxYsIDY2lpYtWzJo0CBOnDhh3+fxxx/n5ZdfZvPmzYSFhTF48GAKCwsBeOihh8jPz2f9+vXs3LmTF198kXr16tneU0oKffv2pVOnTmzZsoVvv/2Wo0ePMmzYMIc2LFiwAC8vL3788UfeeecdRo4cyRdffEF2drZ9n++++46cnBz7/IfPPPMM8+bN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ZHDTTTcxevRoPvjgA3777TfGjRuHn58f06ZNA+Dxxx9nzZo1LFu2jIiICKZMmcLWrVvp1KmT/Zr33nsviYmJLF68mKioKJYtW8YNN9zAzp07ueyyy8q08bvvvmPUqFH85z//4ZprriE+Pp6//vWvAEydOpWSkhKGDBmCxWJh06ZNZGZmVqlGqloZctGsVqsBGFartdrOeeRkrjHx5r8bBhhrYroaTZ/8ymj+1NfGkZO51XYNEREpX15enrF7924jLy/PtiI72zBskcn1S3Z2pdvdt29f4+qrr7a/LioqMgIDA427777bvi4lJcUAjJ9++smYMmWK0bp1a6OkpMS+/c033zTq1atnFBcXG1lZWYaPj4+xePFi+/bjx48b/v7+xqOPPmoYhmEcOHDAMJlMxuHDhx3act111xmTJ082DMMw5s2bZ5jNZvu2a665xpg5c6bD/h9++KERGRlpGIZhfPfdd4anp6eRnJxs3/7NN98YgLFs2bJKfx5lfo9nqez3t3qWaiiHx50YjlMHqHdJREQq0qFDB/vPnp6eNGzYkPbt29vXhYeHA5CWlsaePXvo2bMnprN6rnr37k12djaHDh0iIyODgoICevbsad/eoEEDWrdubX8dGxuLYRi0atXKoR35+fk0bNjwnG3cunUrmzdvZsaMGfZ1xcXFnDp1itzcXPbs2UOTJk1o3LixffvZbXAlhaUa6uyapdIH6apmSUTEjQICIDvbfdeuAm9vb4fXJpPJYV1pMCopKcEwDIegBGCcrpU1mUz2nytSUlKCp6cnW7duxdPT02FbvXr1yj1m+vTpDBkypMw2Pz+/c173j+10FYWlGirS7M/wq2LgC/AqKcEDmDmknXqVRETcxWSCwEB3t6LaXX755Xz66acOoWnjxo0EBQXRqFEj6tevj7e3N5s2baJJkyYAZGRksG/fPvr27QtA586dKS4uJi0tjWuuuaZS1+3SpQt79+6lZcuW5bYrKSmJI0eOEBUVBcBPP/10sW/3gigs1WCGZ+k8SyWaY0lERJziwQcf5F//+hcPP/ww48ePZ+/evUydOpXHHnsMDw8P6tWrx5gxY3j88cdp2LAh4eHhPP3003h4nLmhvlWrVowcOZJ77rmHV155hc6dO5Oens7q1atp3749N910U5nrPvfcc9xyyy1ER0czdOhQPDw82LFjBzt37uSf//wn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Sm/3LykpwdPTk61bt+Lp6emw39kB648sFgsZGRkX1MYTJ04AEBoaekHHi4hzKSyJSK3k4+PjUJRdXTp37kxxcTFpaWlcc801VTpu9+7dDuvatm3Lpk2buOeee+zrNm3aVObYuLg4vL29ueKKKy684SLiNBqGE5FaqVmzZvz8888kJiaSnp5e4USQVdGqVStGjhzJPffcw9KlS0lISGDz5s28+OKLLF++vNzjBg0axIYNGxzWPfroo7z//vu8//777Nu3j6lTp7Jr164yx/7www9cc8019uE4EalZFJZEpFaaNGkSnp6eXH755YSGhpKUlFRt5543bx733HMPEydOpHXr1gwePJiff/653DvuAEaNGsXu3bvZu3evfd3w4cN57rnnePLJJ+natSsHDx7kgQceKHPsokWLGDduXLW1X0Sql8kwDMPdjRARqQueeOIJrFYr77zzTqWP+frrr3n88cfZsWMHXl6qjBCpidSzJCJSTZ5++mmaNm1apVqqnJwc5s2bp6AkUoOpZ0lERESkAupZEhEREamAwpKIiIhIBRSWRERERCqgsCQiIiJSAYUlERERkQooLImIiIhUQGFJREREpAIKSyIiIiIVUFgSERERqcD/A4nJ4sMl8NnFAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ml = func2(lsopt2, returnmodel=True)\n", "plt.figure()\n", "plt.plot(data[:, 0], data[:, 1], \".\", label=\"observed\")\n", "hm = ml.head(10, 0, to)\n", "plt.plot(to, hm[0], \"r\", label=\"modeled\")\n", "plt.legend()\n", "plt.xlabel(\"time (d)\")\n", "plt.ylabel(\"head (m)\")" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "ml = ttim.ModelMaq(\n", " kaq=10, z=[2, 0, -20], Saq=1e-4, c=1000, topboundary=\"semi\", tmin=0.001, tmax=100\n", ")\n", "w = ttim.Well(ml, 0, 0, rw=0.3, tsandQ=[(0, 800)])\n", "ml.solve(silent=True)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "......................................\n", "Fit succeeded.\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
layersoptimalstdperc_stdpminpmaxinitialinhomsparray
kaq0010.2193890.0230680.225723-infinf10.0000None[10.219389301148812]
Saq000.0002010.0000020.880853-infinf0.0001None[0.00020129637392494947]
c001562.60565437.8908272.424849-infinf1000.0000None[1562.6056541553019]
\n", "
" ], "text/plain": [ " layers optimal std perc_std pmin pmax initial inhoms \\\n", "kaq0 0 10.219389 0.023068 0.225723 -inf inf 10.0000 None \n", "Saq0 0 0.000201 0.000002 0.880853 -inf inf 0.0001 None \n", "c0 0 1562.605654 37.890827 2.424849 -inf inf 1000.0000 None \n", "\n", " parray \n", "kaq0 [10.219389301148812] \n", "Saq0 [0.00020129637392494947] \n", "c0 [1562.6056541553019] " ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cal = ttim.Calibrate(ml)\n", "cal.set_parameter(name=\"kaq0\", layers=0, initial=10)\n", "cal.set_parameter(name=\"Saq0\", layers=0, initial=1e-4)\n", "cal.set_parameter(name=\"c0\", layers=0, initial=1000)\n", "cal.series(name=\"obs1\", x=10, y=0, layer=0, t=to, h=ho)\n", "cal.fit(report=False)\n", "cal.parameters" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(0.00694718207260787, array([10.2193893]))" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cal.rmse(), ml.aq.kaq" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0, 0.5, 'head (m)')" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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z+ett95i165d/P3vf2fMmDH2yaOTk5MZNmwYN9xwA9u3b2fcuHE8+eSTTv0sATDkglmtVgMwrFZrjZzvxwPHjBZPfGnM73aTYYDx794jjRZPfGlsPJBeI+cXEZFzy8vLM3bv3m3k5eWd9znK/p7/cXHm3/Ps7GzD29vbWLRokX1dYWGhERkZacyZM8dYu3atARhLliyxbz9+/Ljh7+9vLF261DAMw+jUqZMxffr0s57/mWeeMQYPHuywLjk52QCMvXv3GoZhGP379ze6du3qsE9hYaFhsViM999/377ujjvuMIYPH25vt5+fn7Fx40aH48aOHWvccccdhmEYxpQpU4wOHToYpaWl9u1PPPGEARgZGRlnbW9lv8eqfn/XmZ6li0m0JRATYJy608/TKMUEtLRoun0Rkbok2hKIxx9u2vY0mZz69zw+Pp6ioiKHchJvb2969uzJnj177Ot69+5t/7lx48a0a9fOvv3hhx/mn//8J3379mXatGns2LHDvu/WrVtZu3YtDRo0sC/t27e3X7tMjx49HNrl7e3N8OHDWbRoEQA5OTl89tlnjB49GrAN7eXn53Pttdc6nPv999+3n3fPnj1cccUVDnfCn/k+nKVOzLN0sSo12bKsCQM0gayISJ0TYfZn9rBOTF0WR4lh4GkyMWtYR6cWeRuGbczvj1PrGFWYbqds+7hx4xgyZAhfffUV3333HbNnz+bll1/moYceorS0lJtvvpkXXnih3PFn3hwVGBhYbvvo0aPp378/aWlprFy5Ej8/P66//noASktLAfjqq69o2rSpw3Fld6CXvTdXU1iqhRLSczCA0lP/0XqUlmIYkJiee1HeRSEiUpeNvLw5/dqGkJieS0tLgNP/jrdp0wYfHx82bNjAnXfeCdgKqbds2cLEiRPt+23atInmzZsDtofV79u3z95DBBAVFcV9993Hfffdx5QpU3jnnXd46KGH6NatG5988gktW7bEy6t6MaJPnz5ERUWxdOlSvv76a4YPH26/S+7SSy/F19eXpKQk+vfvf9bjL730Uj799FOHdZs2bapWG86HhuFqobJu25JTPUsep5L0jsMn3dgqERE5XxFmf3q3buKS/8MbGBjI/fffz2OPPcY333zD7t27GT9+PLm5uQ6P/HruuedYvXo1cXFx3HPPPVgsFm655RYAJk6cyLfffktCQgKxsbGs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YRIREbeoE2Hpt99+o7S0lLfffptdu3bx6quvMnfuXKZOnVrhMbm5ucTGxvLMM88QGxvLsmXL2LdvH0OHDi237/jx40lJSbEvb7/9tjPfjpxD6IA+3PyXf/NluyvxLi3hsR8+4H+LnqB1Zgop1jw2xqerl0lERFymzhZ4v/jii7z11lv8/vvvVT5m8+bN9OzZk4MHD9K8ua3+ZcCAAXTt2pV//etf590WFXjXvKWbk5j6yU5u3rWW51bOJbggh2I/f6b3/wsfdrkeDw+T6phEROSC1Pt5lqxWK40bN672MSaTiYYNGzqsX7RoERaLhcsuu4zJkyeTlZVV6XkKCgrIzMx0WKRmjby8ORumXM3If00hb+s2CvoNwCs/j39++yYfLn2aZidSVMckIiIuUSd7luLj4+nWrRsvv/wy48aNq9Ix+fn5XHnllbRv354PP/zQvv6dd94hOjqa8PBw4uLimDJlCm3atGHlypUVnmv69OnMmDGj3Hr1LDnPxv1prLz/aZ5YtxC/4kLyvXz4V987GTB3Ni0izCSk52iKARERqZY68biTikLHmTZv3kyPHj3sr48cOUL//v3p378///3vf6t0naKiIoYPH05SUhLff/99pR/I1q1b6dGjB1u3bqVbt25n3aegoICCggL768zMTKKiohSWnCjFmkff59cQdeIIM799gysP/gpAepsOjOs7nu3hbTXFgIiIVEudCEvp6emkp6dXuk/Lli3x8/MDbEFp4MCB9OrViwULFuDhce5RxKKiIkaMGMHvv//OmjVraNKkSaX7G4aBr68vH3zwASNHjqzS+1DNkmss3ZzE1GVxlJSWcvuutfzzh/fwyzxJicmDj7pex8tXjSErwMyGJweqh0lERM6pTkxKabFYsFgsVdr38OHDDBw4kO7duzN//vxqBaX9+/ezdu3acwYlgF27dlFUVERERESV2iWuM/Ly5vRrG0Jiei4tLdewY+94Dt37AMN2reWubSu4ec96XrlyNImp3QE0NCciIjWiTtQslQ29NW/enPfffx9PT0/7tvDwcPvP7du3Z/bs2dx6660UFxdz2223ERsby5dffklYWJh9v8aNG+Pj40N8fDyLFi3ihhtuwGKxsHv3biZNmoS/vz+bN292uE5l1LPkHmVDcz0P7mDaqnl0OJYIwPHotjzc68/82KKLhuZERKRCdWIYrqoW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aWkpnp6ebN26FU9PT4f9zgxYf2SxWMjIyDivNp44cQKAkJCQ8zpeRJxLYUlE6iQfHx+HouyaEhMTQ0lJCWlpaVx11VXVOm737t0O6zp06MCmTZu4++677es2bdpU7ti4uDi8vb257LLLzr/hIuI0GoYTkTqpZcuW/PzzzyQmJpKenl7pRJDV0bZtW0aPHs3dd9/NsmXLSEhIYPPmzbzwwgusWLGiwuOGDBnChg0bHNY98sgjvPfee7z33nvs27ePadOmsWvXrnLH/vDDD1x11VX24TgRqV0UlkSkTpo8eTKenp5ceumlhISEkJSUVGPnnj9/PnfffTeTJk2iXbt2DB06lJ9//rnCO+4AxowZw+7du9m7d6993ciRI3n22Wd54okn6N69OwcPHuT+++8vd+zixYsZP358jbVfRGqWyTAMw92NEBGpDx5//HGsVitvv/12lY/56quveOyxx9ixYwdeXqqMEKmN1LMkIlJDnnrqKVq0aFGtWqqcnBzmz5+voCRSi6lnSURERKQS6lkSERERqYTCkoiIiEglFJZEREREKqGwJCIiIlIJhSURERGRSigsiYiIiFRCYUlERESkEgpLIiIiIpVQWBIRERGpxP8D/F/kgwAXnq4AAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure()\n", "plt.plot(data[:, 0], data[:, 1], \".\", label=\"observed\")\n", "hm = ml.head(10, 0, to)\n", "plt.plot(to, hm[0], \"r\", label=\"modeled\")\n", "plt.legend()\n", "plt.xlabel(\"time (d)\")\n", "plt.ylabel(\"head (m)\")" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "artesia", "language": "python", "name": "python3" }, "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.11.10" }, "latex_envs": { "LaTeX_envs_menu_present": true, "autoclose": false, "autocomplete": true, "bibliofile": "biblio.bib", "cite_by": "apalike", "current_citInitial": 1, "eqLabelWithNumbers": true, "eqNumInitial": 1, "hotkeys": { "equation": "Ctrl-E", "itemize": "Ctrl-I" }, "labels_anchors": false, "latex_user_defs": false, "report_style_numbering": false, "user_envs_cfg": false }, "varInspector": { "cols": { "lenName": 16, "lenType": 16, "lenVar": 40 }, "kernels_config": { "python": { "delete_cmd_postfix": "", "delete_cmd_prefix": "del ", "library": "var_list.py", "varRefreshCmd": "print(var_dic_list())" }, "r": { "delete_cmd_postfix": ") ", "delete_cmd_prefix": "rm(", "library": "var_list.r", "varRefreshCmd": "cat(var_dic_list()) " } }, "types_to_exclude": [ "module", "function", "builtin_function_or_method", "instance", "_Feature" ], "window_display": false }, "widgets": { "state": {}, "version": "1.1.2" } }, "nbformat": 4, "nbformat_minor": 4 }