flopy/examples/Notebooks/flopy3_lake_example.ipynb

322 lines
64 KiB
Plaintext

{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# FloPy\n",
"\n",
"### Lake Example\n",
"\n",
"First set the path and import the required packages. The flopy path doesn't have to be set if you install flopy from a binary installer. If you want to run this notebook, you have to set the path to your own flopy path."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"3.8.6 | packaged by conda-forge | (default, Oct 7 2020, 18:42:56) \n",
"[Clang 10.0.1 ]\n",
"numpy version: 1.18.5\n",
"matplotlib version: 3.2.2\n",
"flopy version: 3.3.3\n"
]
}
],
"source": [
"import os\n",
"import sys\n",
"import numpy as np\n",
"import matplotlib as mpl\n",
"import matplotlib.pyplot as plt\n",
"\n",
"# run installed version of flopy or add local path\n",
"try:\n",
" import flopy\n",
"except:\n",
" fpth = os.path.abspath(os.path.join('..', '..'))\n",
" sys.path.append(fpth)\n",
" import flopy\n",
"\n",
"workspace = os.path.join('data')\n",
"# make sure workspace directory exists\n",
"if not os.path.exists(workspace):\n",
" os.makedirs(workspace)\n",
"\n",
"print(sys.version)\n",
"print('numpy version: {}'.format(np.__version__))\n",
"print('matplotlib version: {}'.format(mpl.__version__))\n",
"print('flopy version: {}'.format(flopy.__version__))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We are creating a square model with a specified head equal to `h1` along all boundaries. The head at the cell in the center in the top layer is fixed to `h2`. First, set the name of the model and the parameters of the model: the number of layers `Nlay`, the number of rows and columns `N`, lengths of the sides of the model `L`, aquifer thickness `H`, hydraulic conductivity `k`"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"name = 'lake_example'\n",
"h1 = 100\n",
"h2 = 90\n",
"Nlay = 10 \n",
"N = 101 \n",
"L = 400.0 \n",
"H = 50.0 \n",
"k = 1.0"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Create a MODFLOW model and store it (in this case in the variable `ml`, but you can call it whatever you want). The modelname will be the name given to all MODFLOW files (input and output). The exe_name should be the full path to your MODFLOW executable. The version is either 'mf2k' for MODFLOW2000 or 'mf2005'for MODFLOW2005."
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"ml = flopy.modflow.Modflow(modelname=name, exe_name='mf2005', version='mf2005', model_ws=workspace)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Define the discretization of the model. All layers are given equal thickness. The `bot` array is build from the `Hlay` values to indicate top and bottom of each layer, and `delrow` and `delcol` are computed from model size `L` and number of cells `N`. Once these are all computed, the Discretization file is built."
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"bot = np.linspace(-H/Nlay,-H,Nlay) \n",
"delrow = delcol = L/(N-1) \n",
"dis = flopy.modflow.ModflowDis(ml,nlay=Nlay,nrow=N,ncol=N,delr=delrow,delc=delcol,top=0.0,botm=bot,laycbd=0) "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Next we specify the boundary conditions and starting heads with the Basic package. The `ibound` array will be `1` in all cells in all layers, except for along the boundary and in the cell at the center in the top layer where it is set to `-1` to indicate fixed heads. The starting heads are used to define the heads in the fixed head cells (this is a steady simulation, so none of the other starting values matter). So we set the starting heads to `h1` everywhere, except for the head at the center of the model in the top layer."
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"Nhalf = int((N-1) / 2) \n",
"ibound = np.ones((Nlay, N, N), dtype=int) \n",
"ibound[:,0,:] = -1; ibound[:,-1,:] = -1; ibound[:,:,0] = -1; ibound[:,:,-1] = -1 \n",
"ibound[0,Nhalf,Nhalf] = -1 \n",
"start = h1 * np.ones((N,N)) \n",
"start[Nhalf,Nhalf] = h2 \n",
"bas = flopy.modflow.ModflowBas(ml,ibound=ibound,strt=start)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The aquifer properties (really only the hydraulic conductivity) are defined with the LPF package. "
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"lpf = flopy.modflow.ModflowLpf(ml, hk=k)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Finally, we need to specify the solver we want to use (PCG with default values), and the output control (using the default values). Then we are ready to write all MODFLOW input files and run MODFLOW."
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"FloPy is using the following executable to run the model: /Users/jdhughes/.local/bin/mf2005\n",
"\n",
" MODFLOW-2005 \n",
" U.S. GEOLOGICAL SURVEY MODULAR FINITE-DIFFERENCE GROUND-WATER FLOW MODEL\n",
" Version 1.12.00 2/3/2017 \n",
"\n",
" Using NAME file: lake_example.nam \n",
" Run start date and time (yyyy/mm/dd hh:mm:ss): 2021/02/18 11:32:36\n",
"\n",
" Solving: Stress period: 1 Time step: 1 Ground-Water Flow Eqn.\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
" Run end date and time (yyyy/mm/dd hh:mm:ss): 2021/02/18 11:32:37\n",
" Elapsed run time: 0.311 Seconds\n",
"\n",
" Normal termination of simulation\n"
]
},
{
"data": {
"text/plain": [
"(True, [])"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pcg = flopy.modflow.ModflowPcg(ml)\n",
"oc = flopy.modflow.ModflowOc(ml) \n",
"ml.write_input()\n",
"ml.run_model()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Once the model has terminated normally, we can read the heads file. First, a link to the heads file is created with `HeadFile`. The link can then be accessed with the `get_data` function, by specifying, in this case, the step number and period number for which we want to retrieve data. A three-dimensional array is returned of size `nlay, nrow, ncol`. Matplotlib contouring functions are used to make contours of the layers or a cross-section."
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"hds = flopy.utils.HeadFile(os.path.join(workspace, name+'.hds'))\n",
"h = hds.get_data(kstpkper=(0, 0))\n",
"x = y = np.linspace(0, L, N)\n",
"c = plt.contour(x, y, h[0], np.arange(90,100.1,0.2))\n",
"plt.clabel(c, fmt='%2.1f')\n",
"plt.axis('scaled');"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"x = y = np.linspace(0, L, N)\n",
"c = plt.contour(x, y, h[-1], np.arange(90,100.1,0.2))\n",
"plt.clabel(c, fmt='%1.1f')\n",
"plt.axis('scaled');"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"z = np.linspace(-H/Nlay/2, -H+H/Nlay/2, Nlay)\n",
"c = plt.contour(x, z, h[:,50,:], np.arange(90,100.1,.2))\n",
"plt.axis('scaled');"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"anaconda-cloud": {},
"kernelspec": {
"display_name": "Python 3",
"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.8.6"
}
},
"nbformat": 4,
"nbformat_minor": 1
}