{ "cells": [ { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "# Read SWMM result files\n", "\n", "In this notebook we give examples how to read SWMM result files **out**. Most of the functionality is the same as reading res1d files, which is described in [res1d.ipynb](res1d.ipynb)." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "from mikeio1d import Res1D\n", "from mikeio1d.query import QueryDataNode, QueryDataReach, QueryDataCatchment" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "## SWMM out file" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "Read entire res file into a data frame. Here we use results from a standard **Example1.inp** distributed together with EPA SWMM 5.1." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "file_path = \"../tests/testdata/Swmm.out\"\n", "res = Res1D(file_path)\n", "df = res.read()" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "Let's peek at the full data frame coming from EPANET result." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/html": [ "<div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", " }\n", "\n", " .dataframe tbody tr th {\n", " vertical-align: top;\n", " }\n", "\n", " .dataframe thead th {\n", " text-align: right;\n", " }\n", "</style>\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr style=\"text-align: right;\">\n", " <th></th>\n", " <th>SWMM_NODE_DEPTH:9</th>\n", " <th>SWMM_NODE_HEAD:9</th>\n", " <th>SWMM_NODE_VOLUME:9</th>\n", " <th>SWMM_NODE_LATFLOW:9</th>\n", " <th>SWMM_NODE_INFLOW:9</th>\n", " <th>SWMM_NODE_OVERFLOW:9</th>\n", " <th>SWMM_NODE_QUAL:9</th>\n", " <th>SWMM_NODE_QUAL:9</th>\n", " <th>SWMM_NODE_DEPTH:10</th>\n", " <th>SWMM_NODE_HEAD:10</th>\n", " <th>...</th>\n", " <th>SWMM_SYS_DWFLOW:</th>\n", " <th>SWMM_SYS_GWFLOW:</th>\n", " <th>SWMM_SYS_INFLOW:</th>\n", " <th>SWMM_SYS_EXFLOW:</th>\n", " <th>SWMM_SYS_INFLOW:</th>\n", " <th>SWMM_SYS_FLOODING:</th>\n", " <th>SWMM_SYS_OUTFLOW:</th>\n", " <th>SWMM_SYS_STORAGE:</th>\n", " <th>SWMM_SYS_EVAP:</th>\n", " <th>SWMM_SYS_PET:</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>1998-01-01 01:00:00</th>\n", " <td>0.000000</td>\n", " <td>1000.000000</td>\n", " <td>0.0</td>\n", " <td>0.000000</td>\n", " <td>0.000000</td>\n", " <td>0.0</td>\n", " <td>0.000000</td>\n", " <td>0.000000</td>\n", " <td>0.000000</td>\n", " <td>995.000000</td>\n", " <td>...</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.000000</td>\n", " <td>0.000000</td>\n", " <td>0.000000</td>\n", " <td>0.000000</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " </tr>\n", " <tr>\n", " <th>1998-01-01 02:00:00</th>\n", " <td>0.288774</td>\n", " <td>1000.288757</td>\n", " <td>0.0</td>\n", " <td>1.239633</td>\n", " <td>1.239633</td>\n", " <td>0.0</td>\n", " <td>15.720075</td>\n", " <td>3.144015</td>\n", " <td>0.520309</td>\n", " <td>995.520325</td>\n", " <td>...</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>6.216826</td>\n", " <td>0.000000</td>\n", " <td>6.128909</td>\n", " <td>1656.397217</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " </tr>\n", " <tr>\n", " <th>1998-01-01 03:00:00</th>\n", " <td>0.418453</td>\n", " <td>1000.418457</td>\n", " <td>0.0</td>\n", " <td>2.595429</td>\n", " <td>2.595429</td>\n", " <td>0.0</td>\n", " <td>15.389509</td>\n", " <td>3.077902</td>\n", " <td>3.000000</td>\n", " <td>998.000000</td>\n", " <td>...</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>13.030855</td>\n", " <td>0.521967</td>\n", " <td>12.470544</td>\n", " <td>2796.561035</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " </tr>\n", " <tr>\n", " <th>1998-01-01 04:00:00</th>\n", " <td>0.567633</td>\n", " <td>1000.567627</td>\n", " <td>0.0</td>\n", " <td>4.645479</td>\n", " <td>4.645479</td>\n", " <td>0.0</td>\n", " <td>14.810841</td>\n", " <td>2.962168</td>\n", " <td>3.000000</td>\n", " <td>998.000000</td>\n", " <td>...</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>24.252975</td>\n", " <td>4.511855</td>\n", " <td>19.521162</td>\n", " <td>3780.683594</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " </tr>\n", " <tr>\n", " <th>1998-01-01 05:00:00</th>\n", " <td>0.425047</td>\n", " <td>1000.425049</td>\n", " <td>0.0</td>\n", " <td>2.675368</td>\n", " <td>2.675368</td>\n", " <td>0.0</td>\n", " <td>14.338782</td>\n", " <td>2.867756</td>\n", " <td>3.000000</td>\n", " <td>998.000000</td>\n", " <td>...</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " <td>14.172027</td>\n", " <td>0.555154</td>\n", " <td>13.623661</td>\n", " <td>2913.430420</td>\n", " <td>0.0</td>\n", " <td>0.0</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "<p>5 rows × 298 columns</p>\n", "</div>" ], "text/plain": [ " SWMM_NODE_DEPTH:9 SWMM_NODE_HEAD:9 SWMM_NODE_VOLUME:9 \\\n", "1998-01-01 01:00:00 0.000000 1000.000000 0.0 \n", "1998-01-01 02:00:00 0.288774 1000.288757 0.0 \n", "1998-01-01 03:00:00 0.418453 1000.418457 0.0 \n", "1998-01-01 04:00:00 0.567633 1000.567627 0.0 \n", "1998-01-01 05:00:00 0.425047 1000.425049 0.0 \n", "\n", " SWMM_NODE_LATFLOW:9 SWMM_NODE_INFLOW:9 \\\n", "1998-01-01 01:00:00 0.000000 0.000000 \n", "1998-01-01 02:00:00 1.239633 1.239633 \n", "1998-01-01 03:00:00 2.595429 2.595429 \n", "1998-01-01 04:00:00 4.645479 4.645479 \n", "1998-01-01 05:00:00 2.675368 2.675368 \n", "\n", " SWMM_NODE_OVERFLOW:9 SWMM_NODE_QUAL:9 SWMM_NODE_QUAL:9 \\\n", "1998-01-01 01:00:00 0.0 0.000000 0.000000 \n", "1998-01-01 02:00:00 0.0 15.720075 3.144015 \n", "1998-01-01 03:00:00 0.0 15.389509 3.077902 \n", "1998-01-01 04:00:00 0.0 14.810841 2.962168 \n", "1998-01-01 05:00:00 0.0 14.338782 2.867756 \n", "\n", " SWMM_NODE_DEPTH:10 SWMM_NODE_HEAD:10 ... \\\n", "1998-01-01 01:00:00 0.000000 995.000000 ... \n", "1998-01-01 02:00:00 0.520309 995.520325 ... \n", "1998-01-01 03:00:00 3.000000 998.000000 ... \n", "1998-01-01 04:00:00 3.000000 998.000000 ... \n", "1998-01-01 05:00:00 3.000000 998.000000 ... \n", "\n", " SWMM_SYS_DWFLOW: SWMM_SYS_GWFLOW: SWMM_SYS_INFLOW: \\\n", "1998-01-01 01:00:00 0.0 0.0 0.0 \n", "1998-01-01 02:00:00 0.0 0.0 0.0 \n", "1998-01-01 03:00:00 0.0 0.0 0.0 \n", "1998-01-01 04:00:00 0.0 0.0 0.0 \n", "1998-01-01 05:00:00 0.0 0.0 0.0 \n", "\n", " SWMM_SYS_EXFLOW: SWMM_SYS_INFLOW: SWMM_SYS_FLOODING: \\\n", "1998-01-01 01:00:00 0.0 0.000000 0.000000 \n", "1998-01-01 02:00:00 0.0 6.216826 0.000000 \n", "1998-01-01 03:00:00 0.0 13.030855 0.521967 \n", "1998-01-01 04:00:00 0.0 24.252975 4.511855 \n", "1998-01-01 05:00:00 0.0 14.172027 0.555154 \n", "\n", " SWMM_SYS_OUTFLOW: SWMM_SYS_STORAGE: SWMM_SYS_EVAP: \\\n", "1998-01-01 01:00:00 0.000000 0.000000 0.0 \n", "1998-01-01 02:00:00 6.128909 1656.397217 0.0 \n", "1998-01-01 03:00:00 12.470544 2796.561035 0.0 \n", "1998-01-01 04:00:00 19.521162 3780.683594 0.0 \n", "1998-01-01 05:00:00 13.623661 2913.430420 0.0 \n", "\n", " SWMM_SYS_PET: \n", "1998-01-01 01:00:00 0.0 \n", "1998-01-01 02:00:00 0.0 \n", "1998-01-01 03:00:00 0.0 \n", "1998-01-01 04:00:00 0.0 \n", "1998-01-01 05:00:00 0.0 \n", "\n", "[5 rows x 298 columns]" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.head()" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "For SWMM there quite a lot of available quantities:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['SWMM_NODE_DEPTH',\n", " 'SWMM_NODE_HEAD',\n", " 'SWMM_NODE_VOLUME',\n", " 'SWMM_NODE_LATFLOW',\n", " 'SWMM_NODE_INFLOW',\n", " 'SWMM_NODE_OVERFLOW',\n", " 'SWMM_NODE_QUAL',\n", " 'SWMM_LINK_FLOW',\n", " 'SWMM_LINK_DEPTH',\n", " 'SWMM_LINK_VELOCITY',\n", " 'SWMM_LINK_Froude_Number',\n", " 'SWMM_LINK_CAPACITY',\n", " 'SWMM_LINK_QUAL',\n", " 'SWMM_SUBCATCH_RAINFALL',\n", " 'SWMM_SUBCATCH_SNOWDEPTH',\n", " 'SWMM_SUBCATCH_EVAP',\n", " 'SWMM_SUBCATCH_INFIL',\n", " 'SWMM_SUBCATCH_RUNOFF',\n", " 'SWMM_SUBCATCH_GW_FLOW',\n", " 'SWMM_SUBCATCH_GW_ELEV',\n", " 'SWMM_SUBCATCH_SOIL_MOIST',\n", " 'SWMM_SUBCATCH_WASHOFF',\n", " 'SWMM_SYS_TEMPERATURE',\n", " 'SWMM_SYS_RAINFALL',\n", " 'SWMM_SYS_SNOWDEPTH',\n", " 'SWMM_SYS_INFIL',\n", " 'SWMM_SYS_RUNOFF',\n", " 'SWMM_SYS_DWFLOW',\n", " 'SWMM_SYS_GWFLOW',\n", " 'SWMM_SYS_INFLOW',\n", " 'SWMM_SYS_EXFLOW',\n", " 'SWMM_SYS_FLOODING',\n", " 'SWMM_SYS_OUTFLOW',\n", " 'SWMM_SYS_STORAGE',\n", " 'SWMM_SYS_EVAP',\n", " 'SWMM_SYS_PET']" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "res.quantities" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "Here we retrieve flow in a pipe with ID **10**, which has connecting junctions **17** and **18**. Note that in order to have network connectivity the corresponding setup **inp** file is needed, which has to be called the same as the result file, i.e., for **Swmm.out** we need to have **Swmm.inp** with the relevant network information." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Start node ID: 17\n", "End node ID: 18\n" ] } ], "source": [ "pipe_id = '10'\n", "pipe_data_item = res.reaches[pipe_id]\n", "node_start = res.data.Nodes[pipe_data_item.StartNodeIndex]\n", "node_end = res.data.Nodes[pipe_data_item.EndNodeIndex]\n", "print(f'Start node ID: {node_start.ID}')\n", "print(f'End node ID: {node_end.ID}')" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/html": [ "<div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", " }\n", "\n", " .dataframe tbody tr th {\n", " vertical-align: top;\n", " }\n", "\n", " .dataframe thead th {\n", " text-align: right;\n", " }\n", "</style>\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr style=\"text-align: right;\">\n", " <th></th>\n", " <th>SWMM_LINK_FLOW:10</th>\n", " <th>SWMM_NODE_DEPTH:17</th>\n", " <th>SWMM_NODE_DEPTH:18</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>1998-01-01 01:00:00</th>\n", " <td>0.000000</td>\n", " <td>0.000000</td>\n", " <td>0.000000</td>\n", " </tr>\n", " <tr>\n", " <th>1998-01-01 02:00:00</th>\n", " <td>5.876935</td>\n", " <td>0.607021</td>\n", " <td>0.572612</td>\n", " </tr>\n", " <tr>\n", " <th>1998-01-01 03:00:00</th>\n", " <td>11.923845</td>\n", " <td>0.886635</td>\n", " <td>0.833084</td>\n", " </tr>\n", " <tr>\n", " <th>1998-01-01 04:00:00</th>\n", " <td>18.203714</td>\n", " <td>1.139519</td>\n", " <td>1.063005</td>\n", " </tr>\n", " <tr>\n", " <th>1998-01-01 05:00:00</th>\n", " <td>12.643229</td>\n", " <td>0.916358</td>\n", " <td>0.860591</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>" ], "text/plain": [ " SWMM_LINK_FLOW:10 SWMM_NODE_DEPTH:17 SWMM_NODE_DEPTH:18\n", "1998-01-01 01:00:00 0.000000 0.000000 0.000000\n", "1998-01-01 02:00:00 5.876935 0.607021 0.572612\n", "1998-01-01 03:00:00 11.923845 0.886635 0.833084\n", "1998-01-01 04:00:00 18.203714 1.139519 1.063005\n", "1998-01-01 05:00:00 12.643229 0.916358 0.860591" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df[['SWMM_LINK_FLOW:10', 'SWMM_NODE_DEPTH:17', 'SWMM_NODE_DEPTH:18']].head()" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "Let's plot the above results, but this time we will retrieve the data using **QueryDataReach** and **QueryDataNode**. " ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYgAAAEQCAYAAACqduMIAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAAAyZElEQVR4nO3deXyc1Xno8d8zGi22pJFtbbYs4x3wgjGJwTbEiWnAGEpCclkMt58WKKmblN6bpKUQym0WLjQhCb1Jk7R8KBBImmuyNBAgBMdZuEBYEpvYxtgsRpKxbGNp5E2Ltc5z/3jfGb+WZ7TMvjzfz2c+mjnzLmc0Gj1z3nPOc0RVMcYYY4bzZboCxhhjspMFCGOMMVFZgDDGGBOVBQhjjDFRWYAwxhgTlQUIY4wxUfkzXYFoampqdNasWZmuhjHG5IwtW7YEVbU2mcfMygAxa9YsNm/enOlqGGNMzhCRPck+pl1iMsYYE5UFCGOMMVFZgDDGGBNVVvZBGJPPBgYGaG1tpbe3N9NVMTmorKyMxsZGiouLU34uCxDGpFlrayuVlZXMmjULEcl0dUwOUVU6OjpobW1l9uzZKT+fXWIyJs16e3uprq624GDGTUSorq5OW+vTAoQxGWDBwcQrnX87BR8gdu4/xlefeQNbF8MYY05W8AHip6+28m/PvkNbZ1+mq2JMWt19990sWrSIJUuWsHTpUr70pS/xsY99LPL8l7/8ZebNmxd5/OSTT/LRj34UcCazrlq16qTjLV26lMWLFwPw7LPPIiI88MADkee3bt2KiPD1r389Zp1uuOEGfvKTn5xU1tLScspxn3zyycjzl19+Oc8++ywAq1evjkyybW5uZv78+WzcuDHquZ599lmqqqpYunQpS5cu5aKLLgLgi1/8YtQ6Pv744yxZsoQFCxZw1lln8fjjjwOwbds2li5dGtluw4YNTJgwgYGBAQBee+01lixZcsrx1q5dy6RJk7j88stPKm9ubmb58uXMmzePdevW0d/fH+vXlXIFHyBaOnoA2N3WleGaGJM+L730Ek899RSvvvoq27dv51e/+hU33HADL7/88knbBAIB2traAHjxxRc5//zzI893dnayd+9eAHbt2nXKORYvXsyPfvSjyOMNGzZw9tlnJ1z3xsZG7r777hG3aW1tZe3atdx7771ccsklMbdbtWoVW7duZevWrfzqV7+Kud22bdu45ZZb+NnPfsauXbt44oknuOWWW9i+fTtnnXUW7777Lp2dnYDze1qwYAF//OMfI4+9v7ewf/iHf+D73//+KeW33XYbn/3sZ9m9ezeTJ0/mwQcfHPG1plLBB4g9Hd0AvNNuAcIUjgMHDlBTU0NpaSkANTU1zJw5k0AgwO7duwHYt28fV155JS+++CLg/KO74IILIse45ppr+OEPfwg4//yvu+66k84xc+ZMent7OXjwIKrKM888w6WXXppw3c8++2yqqqrYtGlTzNe2Zs0a7r777kiLJ1Ff//rX+cd//MfIyKHZs2dz++2387WvfQ2fz8eyZct45ZVXANiyZQs333xzzN9b2Ic//GEqKytPKlNVfvOb33DVVVcBcP3110daKplQ0MNcQyHl3UPWgjCZ86UnX2fn/mNJPebChgBf+MiiEbdZs2YNd955J6effjoXXXQR69at40Mf+hAXXHABL774IkNDQ8yfP58VK1awceNGLr/8crZt28a5554bOcaVV17JjTfeyC233MKTTz7JD37wg1O+EV911VX8+Mc/5pxzzuF973tfJCAl6o477uCf/umfuPjii0957vrrr+euu+6K/JMdyfPPPx+5PHT11Vdzxx13RN3u9ddf55ZbbjmpbNmyZXznO98BiPzeVq5cic/nY/Xq1dx+++185jOf4cUXX+Tzn/88mzdv5r777jvpsttwHR0dTJo0Cb/f+dfc2NjIvn37Rn0dqTJqgBCRh4DLgTZVXeyW/RA4w91kEnBEVZdG2bcF6ASGgEFVXZaUWifJwc5e+gZDgLUgTGGpqKhgy5YtPP/88/z2t79l3bp1fOUrX+H888+PBIiVK1dy3nnnceedd/LHP/6RM888k7KyssgxqqurmTx5Mo8++igLFixg4sSJp5znmmuuYd26dbzxxhtcd911kW/VifrgBz8IwAsvvHDKcxdddBH/+Z//yQ033BC1Tl6rVq3iqaeeSrg+559/Pvfeey+rVq3i3HPPZe7cuezevZv29na6urqYO3cuwIjBIRuNpQXxMPBt4HvhAlVdF74vIvcCR0fY/0JVDcZbwVRqCTqth2lVZdaCMBkx2jf9VCoqKmL16tWsXr2as846i0ceeYR77rmHb33rWwwNDfFXf/VXVFZW0tvby7PPPhv1Ovq6deu4+eabefjhh6OeY+rUqRQXF7Np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", "text/plain": [ "<Figure size 432x288 with 1 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYIAAAEQCAYAAAC9VHPBAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAAA/0klEQVR4nO3deZxcVZnw8d9TS1fve3e2TtLpJGQPnRDWgAIimwouaGCcERiVVwdHZ1NxnHEUHTccfR3FV5BBRgbZRh1RUQYFRAwBExIIAUKSztJb0mtVr7Wf9497u6l0utNLqvrW8nw/n/501a1b5z7V1d1P3XvOeY4YY1BKKZW7XE4HoJRSylmaCJRSKsdpIlBKqRyniUAppXKcJgKllMpxmgiUUirHeZw6cHV1tamvr3fq8EoplZF27NjRZYypSWabjiWC+vp6tm/f7tThlVIqI4nI4WS3qZeGlFIqx2kiUEqpHKeJQCmlcpxjfQRKZZJIJEJLSwvBYNDpUFSOyM/Pp66uDq/Xm/JjaSJQagpaWlooKSmhvr4eEXE6HJXljDF0d3fT0tLCkiVLUn48vTSk1BQEg0Gqqqo0CahZISJUVVXN2hmoJgKlpkiTgJpNs/n7ljOJ4Jv/u5cXjvQ6HYZSSqWdnEgEx/qC/PsT+7n7mYNOh6LUjP3rv/4ra9asYf369TQ2NvKFL3yBd77znaOPf+UrX2HZsmWj93/xi19w1VVXAdYEzgsuuOC49hobG1m7di0ATz31FCLCXXfdNfr4rl27EBG+8Y1vTBjTDTfcwIIFCwiFQgB0dXWRWDFgz549XHzxxaxYsYLly5fzxS9+kZHFsO655x5qamrYsGEDy5cv57LLLmPr1q3Htb1kyRIaGxtpbGzkvPPOmzCOmbY18rzGxkZWr17ND37wA374wx+O7peXl8e6detobGzklltu4Z577uFjH/vYcce+8MILx50c+/DDD7NmzRpcLtdxj993332j7Tc2NuJyudi1a9eEr2025EQi2HnED8BzB3vQFdlUJnr22Wf55S9/yQsvvMBLL73Eb3/7W2644Qa2bdt23D6lpaV0dHQAsHXr1uP+efb399Pc3AzAq6++esIx1q5dy0MPPTR6//777+f000+fNDa3283dd999wvbh4WGuuuoqbrnlFvbu3cuLL77I1q1b+d73vje6z5YtW9i5cyf79u3jlltu4d3vfvdxsd12223s2rWLXbt2HfePfTwzbWvLli3s2rWLp556in/8x3/kyiuvHN1v/vz5PPnkk+zatYuvfvWrk/4sEq1du5af/vSnvOlNbzpu+/vf//7R9u+9997RBOWk3EgEzdYloc7+EE1dgw5Ho9T0tbe3U11djc/nA6C6uprFixdTWlrK/v37AWhtbeU973nP6D+5rVu3snnz5tE23ve+9/Hggw8C1j/566677rhjLF68mGAwyLFjxzDG8Jvf/IYrrrhi0tj+5m/+hm9961tEo9Hjtv/4xz9m8+bNXHrppQAUFhby3e9+d8J/qBdddBE33XQTd95551R+JCc1k7Zqa2tZunQphw8np4LDqlWrWLFixUn3uf/++7n22muTcrxTkRPDR3cd8VNd7KNrIMRzTT0srSl2OiSVwb7wiz280taX1DZXzy/lX96xZsLHL730Um699VZOO+00LrnkErZs2cKb3/xmNm/ezNatW4nFYixfvpxzzjmHxx57jLe//e28+OKLnHnmmaNtvOc97+HGG2/kH/7hH/jFL37Bfffdx7333nvcca655hoefvhhNmzYwMaNG0cTz8ksWrSI888/n3vvvZd3vOMdo9v37NnDGWeccdy+S5cuZWBggL6+8X9+Gzdu5I477hi9/8lPfpIvfelLAKxZs4b77rtv0nhm2lZTUxNNTU3HXV4bz4MPPsgzzzwzen8kEQN86EMf4iMf+QibNm2aUowPPvggP//5z6e0byplfSKIxuK81BJgy5kL+dXudp472M2fnb3I6bCUmpbi4mJ27NjBH/7wB5588km2bNnCV7/6Vc4777zRRHDuuedy1llnceutt7Jz505WrlxJfn7+aBtVVVVUVFTwwAMPsGrVKgoLC084zvve9z62bNnCa6+9xnXXXTfp5ZgRn/nMZ7j66qt529vedkqvc+yl29tuu41rrrkmpW2N/GP3+XzccccdVFZWnrTdLVu28N3vfnf0/oUXXjh6O7GPZTLPPfcchYWFo/00Tsr6RLD3WD/DkRgbFpWPnhEYY3QooJqxk31yTyW3282FF17IhRdeyLp16/jP//xPvva1r/Gd73yHWCzGhz/8YUpKSggGgzz11FPjdq5u2bKFm2++mXvuuWfcY8ydOxev18vjjz/Ot7/97SknguXLl9PY2HhcH8Pq1at5+umnj9uvqamJ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", "text/plain": [ "<Figure size 432x288 with 1 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "pipe_query = QueryDataReach('SWMM_LINK_FLOW', pipe_id)\n", "df_pipe = res.read(queries=[pipe_query])\n", "df_pipe.plot();\n", "\n", "node_start_query = QueryDataNode('SWMM_NODE_DEPTH', node_start.ID)\n", "node_end_query = QueryDataNode('SWMM_NODE_DEPTH', node_end.ID)\n", "df_nodes = res.read(queries=[node_start_query, node_end_query])\n", "df_nodes.plot();" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "Finally, the catchment results are also stored in SWMM out file. The current result file has the following catchments:" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'1': <DHI.Mike1D.ResultDataAccess.Res1DCatchment object at 0x000001E3A4B63100>,\n", " '2': <DHI.Mike1D.ResultDataAccess.Res1DCatchment object at 0x000001E3A6CD5540>,\n", " '3': <DHI.Mike1D.ResultDataAccess.Res1DCatchment object at 0x000001E3A7D401C0>,\n", " '4': <DHI.Mike1D.ResultDataAccess.Res1DCatchment object at 0x000001E3A7D40E40>,\n", " '5': <DHI.Mike1D.ResultDataAccess.Res1DCatchment object at 0x000001E3A7D40F80>,\n", " '6': <DHI.Mike1D.ResultDataAccess.Res1DCatchment object at 0x000001E3A7D40FC0>,\n", " '7': <DHI.Mike1D.ResultDataAccess.Res1DCatchment object at 0x000001E3A7D40200>,\n", " '8': <DHI.Mike1D.ResultDataAccess.Res1DCatchment object at 0x000001E3A7D3F9C0>}" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "res.catchments" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "Available quantities for catchments can be obtained from one of the catchments (for example, `ID='5'`) as" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['SWMM_SUBCATCH_RAINFALL', 'SWMM_SUBCATCH_SNOWDEPTH', 'SWMM_SUBCATCH_EVAP', 'SWMM_SUBCATCH_INFIL', 'SWMM_SUBCATCH_RUNOFF', 'SWMM_SUBCATCH_GW_FLOW', 'SWMM_SUBCATCH_GW_ELEV', 'SWMM_SUBCATCH_SOIL_MOIST', 'SWMM_SUBCATCH_WASHOFF', 'SWMM_SUBCATCH_WASHOFF']\n" ] } ], "source": [ "catchment_id = '5'\n", "swmm_catchment = res.catchments[catchment_id]\n", "catchment_quantities = [data_item.Quantity.Id for data_item in swmm_catchment.DataItems]\n", "print(catchment_quantities)" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "We can create quantity `'SWMM_SUBCATCH_RUNOFF'` queries for all catchments as" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "catchment_queries = [QueryDataCatchment('SWMM_SUBCATCH_RUNOFF', catchment_id) for catchment_id in res.catchments]\n", "df_catchments = res.read(queries=catchment_queries)" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/html": [ "<div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", " }\n", "\n", " .dataframe tbody tr th {\n", " vertical-align: top;\n", " }\n", "\n", " .dataframe thead th {\n", " text-align: right;\n", " }\n", "</style>\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr style=\"text-align: right;\">\n", " <th></th>\n", " <th>SWMM_SUBCATCH_RUNOFF:1</th>\n", " <th>SWMM_SUBCATCH_RUNOFF:2</th>\n", " <th>SWMM_SUBCATCH_RUNOFF:3</th>\n", " <th>SWMM_SUBCATCH_RUNOFF:4</th>\n", " <th>SWMM_SUBCATCH_RUNOFF:5</th>\n", " <th>SWMM_SUBCATCH_RUNOFF:6</th>\n", " <th>SWMM_SUBCATCH_RUNOFF:7</th>\n", " <th>SWMM_SUBCATCH_RUNOFF:8</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>1998-01-01 01:00:00</th>\n", " <td>0.000000</td>\n", " <td>0.000000</td>\n", " <td>0.000000</td>\n", " <td>0.000000</td>\n", " <td>0.000000</td>\n", " <td>0.000000</td>\n", " <td>0.000000</td>\n", " <td>0.000000</td>\n", " </tr>\n", " <tr>\n", " <th>1998-01-01 02:00:00</th>\n", " <td>1.243824</td>\n", " <td>1.243824</td>\n", " <td>0.629613</td>\n", " <td>0.629613</td>\n", " <td>1.814816</td>\n", " <td>0.302342</td>\n", " <td>0.100822</td>\n", " <td>0.251970</td>\n", " </tr>\n", " <tr>\n", " <th>1998-01-01 03:00:00</th>\n", " <td>2.597976</td>\n", " <td>2.563968</td>\n", " <td>1.302650</td>\n", " <td>1.302650</td>\n", " <td>3.821663</td>\n", " <td>0.649161</td>\n", " <td>0.244563</td>\n", " <td>0.548222</td>\n", " </tr>\n", " <tr>\n", " <th>1998-01-01 04:00:00</th>\n", " <td>4.656198</td>\n", " <td>4.524055</td>\n", " <td>2.449128</td>\n", " <td>2.449128</td>\n", " <td>6.562110</td>\n", " <td>1.495427</td>\n", " <td>0.789465</td>\n", " <td>1.327465</td>\n", " </tr>\n", " <tr>\n", " <th>1998-01-01 05:00:00</th>\n", " <td>2.675617</td>\n", " <td>2.511513</td>\n", " <td>1.369764</td>\n", " <td>1.369764</td>\n", " <td>3.585666</td>\n", " <td>1.082219</td>\n", " <td>0.596153</td>\n", " <td>0.981333</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>" ], "text/plain": [ " SWMM_SUBCATCH_RUNOFF:1 SWMM_SUBCATCH_RUNOFF:2 \\\n", "1998-01-01 01:00:00 0.000000 0.000000 \n", "1998-01-01 02:00:00 1.243824 1.243824 \n", "1998-01-01 03:00:00 2.597976 2.563968 \n", "1998-01-01 04:00:00 4.656198 4.524055 \n", "1998-01-01 05:00:00 2.675617 2.511513 \n", "\n", " SWMM_SUBCATCH_RUNOFF:3 SWMM_SUBCATCH_RUNOFF:4 \\\n", "1998-01-01 01:00:00 0.000000 0.000000 \n", "1998-01-01 02:00:00 0.629613 0.629613 \n", "1998-01-01 03:00:00 1.302650 1.302650 \n", "1998-01-01 04:00:00 2.449128 2.449128 \n", "1998-01-01 05:00:00 1.369764 1.369764 \n", "\n", " SWMM_SUBCATCH_RUNOFF:5 SWMM_SUBCATCH_RUNOFF:6 \\\n", "1998-01-01 01:00:00 0.000000 0.000000 \n", "1998-01-01 02:00:00 1.814816 0.302342 \n", "1998-01-01 03:00:00 3.821663 0.649161 \n", "1998-01-01 04:00:00 6.562110 1.495427 \n", "1998-01-01 05:00:00 3.585666 1.082219 \n", "\n", " SWMM_SUBCATCH_RUNOFF:7 SWMM_SUBCATCH_RUNOFF:8 \n", "1998-01-01 01:00:00 0.000000 0.000000 \n", "1998-01-01 02:00:00 0.100822 0.251970 \n", "1998-01-01 03:00:00 0.244563 0.548222 \n", "1998-01-01 04:00:00 0.789465 1.327465 \n", "1998-01-01 05:00:00 0.596153 0.981333 " ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df_catchments.head()" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "Let's plot the runoff for catchment `ID='5'`" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "<Figure size 432x288 with 1 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "df_catchments['SWMM_SUBCATCH_RUNOFF:5'].plot();" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "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.7" }, "vscode": { "interpreter": { "hash": "52634da84371cba311ea128a5ea7cdc41ff074b781779e754b270ff9f8153cee" } } }, "nbformat": 4, "nbformat_minor": 4 }