{ "cells": [ { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "# Read EPANET result files generated by MIKE+\n", "\n", "In this notebook we give examples how to read EPANET result files **res** generated by MIKE+. 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" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "## EPANET res file" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "Read entire res file into a data frame. Here we use results from a standard **Net1.inp** (EPANET Example Network 1) distributed together with EPANET 2.2 and imported into MIKE+." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "file_path = \"../tests/testdata/epanet.res\"\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": [ "
\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", " \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", " \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", "
Demand:10Head:10Pressure:10WaterQuality:10Demand:11Head:11Pressure:11WaterQuality:11Demand:12Head:12...ReactorRate:31FrictionFactor:31Flow:9Velocity:9HeadlossPer1000Unit:9AvgWaterQuality:9StatusCode:9Setting:9ReactorRate:9FrictionFactor:9
2022-10-13 00:00:000.0306.12500089.7169950.59.463531300.29818783.8901750.59.463531295.677277...0.00.048410117.7375340.0-62.2850000.03.01.00.00.0
2022-10-13 01:00:000.0306.86282390.4548340.59.463531301.13736084.7293550.59.463531296.611542...0.00.048470116.6274870.0-63.0228310.03.01.00.00.0
2022-10-13 02:00:000.0307.32556290.9175570.511.356236301.66369685.2557070.511.356236297.515137...0.00.048168115.9259190.0-63.4855580.03.01.00.00.0
2022-10-13 03:00:000.0307.82498291.4169850.511.356236302.23187385.8238600.511.356236298.146301...0.00.048195115.1639100.0-63.9849890.03.01.00.00.0
2022-10-13 04:00:000.0308.05246091.6444700.513.248942302.49066286.0826720.513.248942298.756622...0.00.047632114.8151550.0-64.2124710.03.01.00.00.0
\n", "

5 rows × 148 columns

\n", "
" ], "text/plain": [ " Demand:10 Head:10 Pressure:10 WaterQuality:10 \\\n", "2022-10-13 00:00:00 0.0 306.125000 89.716995 0.5 \n", "2022-10-13 01:00:00 0.0 306.862823 90.454834 0.5 \n", "2022-10-13 02:00:00 0.0 307.325562 90.917557 0.5 \n", "2022-10-13 03:00:00 0.0 307.824982 91.416985 0.5 \n", "2022-10-13 04:00:00 0.0 308.052460 91.644470 0.5 \n", "\n", " Demand:11 Head:11 Pressure:11 WaterQuality:11 \\\n", "2022-10-13 00:00:00 9.463531 300.298187 83.890175 0.5 \n", "2022-10-13 01:00:00 9.463531 301.137360 84.729355 0.5 \n", "2022-10-13 02:00:00 11.356236 301.663696 85.255707 0.5 \n", "2022-10-13 03:00:00 11.356236 302.231873 85.823860 0.5 \n", "2022-10-13 04:00:00 13.248942 302.490662 86.082672 0.5 \n", "\n", " Demand:12 Head:12 ... ReactorRate:31 \\\n", "2022-10-13 00:00:00 9.463531 295.677277 ... 0.0 \n", "2022-10-13 01:00:00 9.463531 296.611542 ... 0.0 \n", "2022-10-13 02:00:00 11.356236 297.515137 ... 0.0 \n", "2022-10-13 03:00:00 11.356236 298.146301 ... 0.0 \n", "2022-10-13 04:00:00 13.248942 298.756622 ... 0.0 \n", "\n", " FrictionFactor:31 Flow:9 Velocity:9 \\\n", "2022-10-13 00:00:00 0.048410 117.737534 0.0 \n", "2022-10-13 01:00:00 0.048470 116.627487 0.0 \n", "2022-10-13 02:00:00 0.048168 115.925919 0.0 \n", "2022-10-13 03:00:00 0.048195 115.163910 0.0 \n", "2022-10-13 04:00:00 0.047632 114.815155 0.0 \n", "\n", " HeadlossPer1000Unit:9 AvgWaterQuality:9 StatusCode:9 \\\n", "2022-10-13 00:00:00 -62.285000 0.0 3.0 \n", "2022-10-13 01:00:00 -63.022831 0.0 3.0 \n", "2022-10-13 02:00:00 -63.485558 0.0 3.0 \n", "2022-10-13 03:00:00 -63.984989 0.0 3.0 \n", "2022-10-13 04:00:00 -64.212471 0.0 3.0 \n", "\n", " Setting:9 ReactorRate:9 FrictionFactor:9 \n", "2022-10-13 00:00:00 1.0 0.0 0.0 \n", "2022-10-13 01:00:00 1.0 0.0 0.0 \n", "2022-10-13 02:00:00 1.0 0.0 0.0 \n", "2022-10-13 03:00:00 1.0 0.0 0.0 \n", "2022-10-13 04:00:00 1.0 0.0 0.0 \n", "\n", "[5 rows x 148 columns]" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.head()" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "The available quantities are:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['Demand',\n", " 'Head',\n", " 'Pressure',\n", " 'WaterQuality',\n", " 'Flow',\n", " 'Velocity',\n", " 'HeadlossPer1000Unit',\n", " 'AvgWaterQuality',\n", " 'StatusCode',\n", " 'Setting',\n", " 'ReactorRate',\n", " 'FrictionFactor']" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "res.quantities" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "From the above list the following quantities are defined on pipes (reaches):\n", "* Average Water Quality\n", "* Flow\n", "* Friction Factor\n", "* Headloss per 1000Unit\n", "* Reactor Rate\n", "* Setting\n", "* Status Code\n", "* Velocity\n", "\n", "Quantities defined on junctions (nodes):\n", "* Head\n", "* Pressure\n", "* Water Demand\n", "* Water Quality" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "Here we retrieve flow in a pipe with ID **10**, which has connecting junctions **10** and **11**" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Start node ID: 10\n", "End node ID: 11\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": [ "
\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", " \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", " \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", "
Flow:10Pressure:10Pressure:11
2022-10-13 00:00:00117.73753489.71699583.890175
2022-10-13 01:00:00116.62748790.45483484.729355
2022-10-13 02:00:00115.92591990.91755785.255707
2022-10-13 03:00:00115.16391091.41698585.823860
2022-10-13 04:00:00114.81515591.64447086.082672
2022-10-13 05:00:00114.39852991.91529886.390823
2022-10-13 06:00:00114.39077091.92034186.396553
2022-10-13 07:00:00114.31126491.97193186.455261
2022-10-13 08:00:00113.83301592.28136486.807350
2022-10-13 09:00:00113.43622692.53712587.098404
2022-10-13 10:00:00112.64629493.04362587.674835
2022-10-13 11:00:00111.94129293.49269188.185966
2022-10-13 12:00:00110.85184594.18107688.969604
2022-10-13 13:00:00-0.00005384.22071884.220718
2022-10-13 14:00:00-0.00005283.05053783.050537
2022-10-13 15:00:00-0.00005181.97644881.976448
2022-10-13 16:00:00-0.00005081.04152781.041527
2022-10-13 17:00:00-0.00004980.23596280.235962
2022-10-13 18:00:00-0.00004879.53482879.534828
2022-10-13 19:00:00-0.00004878.99778078.997780
2022-10-13 20:00:00-0.00004778.35629378.356293
2022-10-13 21:00:00-0.00004677.55070577.550705
2022-10-13 22:00:00-0.00004676.60596576.605965
2022-10-13 23:00:00120.46605787.87365081.794281
2022-10-14 00:00:00119.38208888.61102382.632576
\n", "
" ], "text/plain": [ " Flow:10 Pressure:10 Pressure:11\n", "2022-10-13 00:00:00 117.737534 89.716995 83.890175\n", "2022-10-13 01:00:00 116.627487 90.454834 84.729355\n", "2022-10-13 02:00:00 115.925919 90.917557 85.255707\n", "2022-10-13 03:00:00 115.163910 91.416985 85.823860\n", "2022-10-13 04:00:00 114.815155 91.644470 86.082672\n", "2022-10-13 05:00:00 114.398529 91.915298 86.390823\n", "2022-10-13 06:00:00 114.390770 91.920341 86.396553\n", "2022-10-13 07:00:00 114.311264 91.971931 86.455261\n", "2022-10-13 08:00:00 113.833015 92.281364 86.807350\n", "2022-10-13 09:00:00 113.436226 92.537125 87.098404\n", "2022-10-13 10:00:00 112.646294 93.043625 87.674835\n", "2022-10-13 11:00:00 111.941292 93.492691 88.185966\n", "2022-10-13 12:00:00 110.851845 94.181076 88.969604\n", "2022-10-13 13:00:00 -0.000053 84.220718 84.220718\n", "2022-10-13 14:00:00 -0.000052 83.050537 83.050537\n", "2022-10-13 15:00:00 -0.000051 81.976448 81.976448\n", "2022-10-13 16:00:00 -0.000050 81.041527 81.041527\n", "2022-10-13 17:00:00 -0.000049 80.235962 80.235962\n", "2022-10-13 18:00:00 -0.000048 79.534828 79.534828\n", "2022-10-13 19:00:00 -0.000048 78.997780 78.997780\n", "2022-10-13 20:00:00 -0.000047 78.356293 78.356293\n", "2022-10-13 21:00:00 -0.000046 77.550705 77.550705\n", "2022-10-13 22:00:00 -0.000046 76.605965 76.605965\n", "2022-10-13 23:00:00 120.466057 87.873650 81.794281\n", "2022-10-14 00:00:00 119.382088 88.611023 82.632576" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df[['Flow:10', 'Pressure:10', 'Pressure:11']]" ] }, { "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": "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g5x99tnE43HuvPPOo57buXMn27ZtY9u2bezcubNurymNlUkr3UYnGiu01yQ5aOFO6lbQ29vL448/ftS2559/vq6vceqpp3Lbbbdxyy23HLV9ZGSEj3/84+zevRsz45xzzuHyyy8nk8nU9fWl/jKppPogOtBsqm81MQnBRfzKK69k+/btnHvuuTzxxBMAvOlNbyKXy+HurFu3ji984QsAXH311dx///1HnWPLli1s376drq6jfxX33nsvF198Mdlslkwmw8UXX8w999yzOm9MapJJJzVRrgOVf+eqQayyj3/zKZ7+2aG6nvOMU9Zy479+44L7FAoFzjzzTAC2bt3KXXfdddTzN954I2eddRZf//rX+fa3v83VV1/N448/ztve9ja+973vcdppp3H66afzD//wD1x99dV8//vf57Of/Swf/ehHGRwc5PLLL5/3tfft28fmzZsrjzdt2sS+fftW/oZl1WSVsK8jlRP1tVMfRCQCRLNUa2Ka67vf/S5f/epXAbjwwgs5ePAghw4d4vzzz+fBBx/ktNNO4/rrr2fHjh3s27ePTCZDOp3mpptuWqV3IM0wkEpyaGKKqekZ4jFV0jvFbKrv9mlialiAMLNLgT8HYsDn3P2PV3quxb7pt5oLLriAT3/607z44ovcfPPN3HXXXdx5552cf/75Sz7Hxo0b2bVrV+Xx0NAQb3/72+tfWKm7SsK+Qon1a7qbXBpZLeXFgtpluVFoUB+EmcWATwPvBM4A3mdmZzTitZrp/PPP5/bbbwdg165drF+/nrVr17J582YOHDjAs88+y+mnn855553HLbfcwgUXXLDkc19yySXcd999jI6OMjo6yn333ccll1zSqLcidVT+Bqm5EJ0lly+RiBmpZHtkcoXG1SDeAux19+cAzOzLwBXA0w16vab42Mc+xgc+8AG2b99OKpU6aijqW9/6Vqanp4EgkNxwww2cd955AEf1QTz66KO8+93vZnR0lG9+85vceOONPPXUU2SzWf7wD/+QN7/5zZVjstns6r9JWbZM2En5xUdeZHOmfdIuyMIefX6E/t5kW01gNXev/0nN3gNc6u7/Pnz8a8Bb3f1Dc/a5DrgO4NRTTz3nhRdeOOoce/bs4Q1veEPdy9Zu9Dm1npdG8lz0p/+PohYN6jj/4jXr+OJ/OHfVXs/MHnP3wUadv2md1O6+A9gBMDg4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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "pipe_query = QueryDataReach('Flow', pipe_id)\n", "df_pipe = res.read(queries=[pipe_query])\n", "df_pipe.plot();\n", "\n", "node_start_query = QueryDataNode('Pressure', node_start.ID)\n", "node_end_query = QueryDataNode('Pressure', node_end.ID)\n", "df_nodes = res.read(queries=[node_start_query, node_end_query])\n", "df_nodes.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 }