{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Working with PySWMM\n", "\n", "If we _really_ want to supercharge our modeling workflow, we can tap into the excellent functionality provided by [pyswmm](https://www.pyswmm.org/). \n", "\n", ":::{note}\n", "## pyswmm and swmmio | what's the difference?\n", "Generally speaking, we can use pyswmm to interact with the running simulation, implement control logic in Python, and edit of network and hydrologic parameters, all of which can be done without manipulating the *.inp file. \n", "\n", "In contrast, swmmio provides functionality to read the *.inp and *.rpt files and manipulate the *.inp files, which is useful for programmatically generating models, post-processing results, and extracting model data for use in other applications. \n", ":::\n", "\n", "We won't get into the details of pyswmm here (see the official [pyswmm docs](https://pyswmm.github.io/pyswmm/) for that). Here we'll walk through a simple example that runs a model with pyswmm and post-processes the results with `swmmio`. \n", "\n", "## Instantiate a swmmio.Model\n", "We'll start by instantiating a `swmmio.Model` with a model hosted in the swmm-nrtestsuite repo." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'num_subcatchments': 8,\n", " 'num_conduits': 13,\n", " 'num_junctions': 13,\n", " 'num_outfalls': 1,\n", " 'num_raingages': 1,\n", " 'catchment_area': np.int64(71),\n", " 'mean_subcatchment_slope': np.float64(0.010000000000000002),\n", " 'total_conduit_length': np.int64(4300),\n", " 'invert_range': np.int64(35)}" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from IPython.display import HTML\n", "import swmmio\n", "import pyswmm \n", "\n", "# path to a SWMM model from swmm-nrtestsuite\n", "model_path = 'https://raw.githubusercontent.com/USEPA/swmm-nrtestsuite/refs/heads/dev/public/examples/Example1.inp'\n", "model = swmmio.Model(model_path)\n", "model.summary" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Extract links flows pyswmm.Simulation\n", "Next, we'll open a {py:obj}`pyswmm.simulation.Simulation` context to run the model. At each simulation step, we'll store the flows at each link, using swmmio to refer to each link id. When the simulation is done, we'll plots things in a simple timeseries chart." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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I488wsMPP0x4eDgff/wxt99+OwC7d++mVatWpKWlVXvT7YgRIyguLmbJkiXedT179qR9+/bem26jo6MZN24cf/zjHwHP03UjIiKYM2fOFXnTrajHLnPAJIQQohbOdznhoYceUrGxsWr58uVq48aNKjk5WSUnJ1fKo2/fvmrGjBne5dpcOnvppZdUcHCwWrRokdq+fbsaOnSouuqqq1RJScmlqbgQ5WRYsxBCNAAjRozgxIkTTJ48mczMTDp27Ehqaqr3htjXXnsNXde5/fbbKSsrY8CAAcyaNatSHvv37ycnJ8e73LNnT+bOncukSZN4+umnadmyJQsXLqRdu3beNE8++SRFRUU88MADnD59ml69epGamordbr80FReinFwSEkIIIUS9J8OahRBCCFHvScAihBBCiHpPAhYhhBBC1HsSsAghhBCi3pOARQghhBD1ngQsQghRz82cOZP4+HjsdjtJSUmsX78egJMnT/Loo4+SmJiIr68vsbGxPPbYY+Tl5Z03z2effZaOHTte5CMX4sKRgEUIIeqx+fPnM3bsWKZMmcLmzZvp0KEDAwYMIDs7m4yMDDIyMpg2bRo7duxgzpw5pKamct99913uwxbigpOARQgh6rHp06czevRo7r33Xtq0acPs2bPx8/Pj3XffpV27dvznP/9hyJAhtGjRgr59+/LCCy+wZMkSXC5XncrZsGEDN910E2FhYQQFBdGnTx82b95cKY2mafzzn//ktttuw8/Pj5YtW7J48eILWV0hqiUBixBC1FMOh4NNmzbRr18/7zpd1+nXrx9paWlV7pOXl0dgYCAWS90mMi8oKCAlJYVVq1axdu1aWrZsyeDBgykoKKiU7rnnnmP48OFs376dwYMHc/fdd3Py5Mm6V06IOpKARQgh6qmcnBzcbrd3+v0KkZGRZGZmVpn++eef54EHHqhzWX379uV3v/sdrVq1onXr1rz99tsUFxfz3XffVUo3atQo7rrrLhISEnjxxRcpLCz03lMjxMUkAYsQQlwB8vPzufnmm2nTpg3PPvusd33btm0JCAggICCAQYMGVbt/VlYWo0ePpmXLlgQFBREYGEhhYSGHDx+ulK59+/be1/7+/gQGBpKdnX3B6yPEz8nDD4UQop4KCwvDMAyysrIqrc/KyiIqKsq7XFBQwMCBA2nUqBGfffYZPj4+3m1ffvklTqcTAF9f32rLSklJITc3lzfeeIO4uDhsNhvJyck4HI5K6c7OGzz3tZim+YvrKERtSQ+LEELUU1arlS5durBs2TLvOtM0WbZsGcnJyYCnZ6V///5YrVYWL158zlOU4+LiSEhIICEhgaZNm1Zb1urVq3nssccYPHgwbdu2xWazVXqysxCXm/SwCCFEPTZ27FhSUlLo2rUr3bt35/XXX6eoqIh7773XG6wUFxfzr3/9i/z8fPLz8wEIDw/HMIxal9OyZUs+/PBDunbtSn5+PuPHj6+xR0aIS00CFiGEqMdGjBjBiRMnmDx5MpmZmXTs2JHU1FQiIyP59ttvWbduHQAJCQmV9ktPTyc+Pr7afE3TrDSS6J133uGBBx6gc+fOxMTE8OKLLzJu3LiLUichfglNKaUu90EIIYS4tB566CGOHj3K559/frkPRYhakXtYhBDiV6SgoICVK1fy6aefVprfRYj6TgIWIYT4FZk8eTJ33HEHt912Gw899NDlPhwhak0uCQkhhBCi3pMeFiGEEELUexKwCCGEEKLek4BFCCEakJUrVzJkyBCio6PRNI2FCxdW2p6VlcWoUaOIjo7Gz8+PgQMHsnfv3kpp9u/fz2233UZ4eDiBgYEMHz78nNl09+zZw9ChQwkLCyMwMJBevXqxYsWKi109IaolAYsQQjQgRUVFdOjQgZkzZ56zTSnFsGHDOHDgAIsWLWLLli3ExcXRr18/ioqKvPv3798fTdNYvnw5q1evxuFwMGTIkEpT7N9yyy24XC6WL1/Opk2b6NChA7fcckuVD10U4lKQm26FEKKB0jSNzz77jGHDhgGeXpHExER27NhB27ZtAc8EcVFRUbz44ovcf//9fP311wwaNIhTp04RGBgIQF5eHiEhIXz99df069ePnJwcwsPDWblyJddddx3gGQ4dGBjI0qVLZTi0uCykh0UIIa4QZWVlAJWeJ6TrOjabjVWrVnnTaJqGzWbzprHb7ei67k3TuHFjEhMT+eCDDygqKsLlcvHWW28RERFBly5dLmGNhDhDAhYhhLhCtGrVitjYWJ566ilOnTqFw+Hg5Zdf5ujRoxw/fhyAHj164O/vz4QJEyguLqaoqIhx48bhdru9aTRN45tvvmHLli00atQIu93O9OnTSU1NJSQk5HJWUfyKScAihBBXCB8fHz799FP27NlDaGgofn5+rFixgkGDBqHrnuY+PDycBQsWsGTJEgICAggKCuL06dN07tzZm0YpxZgxY4iIiOD7779n/fr1DBs2jCFDhniDGiEuNXn4oRBCXEG6dOnC1q1bycvLw+FwEB4eTlJSEl27dvWm6d+/P/v37ycnJweLxUJwcDBRUVE0b94cgOXLl/P5559Xus9l1qxZLF26lPfff5+JEydelrqJXzfpYRFCiCtQUFAQ4eHh7N27l40bNzJ06NBz0oSFhREcHMzy5cvJzs7m1ltvBaC4uBjA2+NSQdf1SiOJhLiUpIdFCCEakMLCQvbt2+ddTk9PZ+vWrYSGhhIbG8uCBQsIDw8nNjaWH374gccff5xhw4bRv39/7z7vvfcerVu3Jjw8nLS0NB5//HGeeOIJEhMTAUhOTiYkJISUlBQmT56Mr68v//jHP0hPT+fmm2++5HUWAiRgEUKIBmXjxo3ccMMN3uWxY8cCkJKSwpw5czh+/Dhjx44lKyuLJk2aMHLkSP70pz9VymP37t089dRTnDx5kvj4eJ555hmeeOIJ7/awsDBSU1N55pln6Nu3L06nk7Zt27Jo0SI6dOhwaSoqxM/IPCxCCCGEqPfkHhYhhBBC1HsSsAghhBCi3pOARQghhBD1ngQsQgghhKj3JGARQgghRL0nAYsQQggh6j0JWIQQQghR70nAIoQQQoh6TwIWIYQQQtR7ErAIIYQQot6TgEUIIYQQ9Z4ELEIIIYSo9/4/xNS5VZAxUFQAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "\n", "import pandas as pd\n", "\n", "link_flows = dict()\n", "\n", "# Run simulation PySWMM \n", "with pyswmm.Simulation(model.inp.path) as sim:\n", "\n", " # get link ids \n", " link_ids = model.inp.conduits.index\n", " \n", " for step in sim:\n", " # store each link's flow in a dictionary \n", " link_flows[sim.current_time] = {\n", " link_id: pyswmm.Links(sim)[link_id].flow \n", " for link_id in link_ids\n", " }\n", "\n", "pd.DataFrame(link_flows).T.plot(title='Link Flows')\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Animating Link Flows \n", "Let's turn our post-processing up a notch by animating the flows in the network: " ] }, { "cell_type": "code", "execution_count": 3, "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" ], "text/plain": [ "" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import matplotlib.pyplot as plt\n", "import matplotlib.animation as animation\n", "\n", "# Create a links geodataframe and join the flow data\n", "links_gdf = model.links.geodataframe\n", "links_gdf = links_gdf.join(pd.DataFrame(link_flows))\n", "\n", "# create a figure and axis\n", "fig, ax = plt.subplots()\n", "\n", "# Function to update the plot for each frame\n", "def update(frame):\n", " ax.clear()\n", " links_gdf.plot(linewidth=links_gdf[frame]+0.2, ax=ax, capstyle='round')\n", " ax.set_axis_off()\n", " ax.set_title(f'{frame}')\n", "\n", "# Create the animation\n", "ani = animation.FuncAnimation(fig, update, frames=list(link_flows)[30:400][::5], repeat=True)\n", "\n", "# Close the figure to prevent it from being displayed\n", "plt.close(fig)\n", "\n", "# render the animation in the notebook\n", "HTML(ani.to_jshtml(fps=30))" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "venv", "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.4" } }, "nbformat": 4, "nbformat_minor": 2 }