{ "cells": [ { "cell_type": "markdown", "id": "0f859bb4", "metadata": {}, "source": [ "(creek-intake-example)=\n", "# Modelling stable creek intakes\n", "\n", "Creek intakes are modelled as tiny [reservoirs](reservoir) connected to a tunnel network in SHOP, typically connected directly on the main tunnel of a large [plant](plant). Since the reservoir volumes of creek intakes are so small compared to the flow in the tunnel network, it can be challenging to model a stable system when creek intakes are present. This example will describe general rules and best practice for modelling creek intakes in SHOP. Note that this example does not use the old [creek_intake](creek_intake) object in combination with a [junction](junction), as this way of modelling is deprecated.\n", "\n", "The system that will be used to illustrate the creek intake modelling in SHOP is based on the code in the function build_model() found in the creek_model.py script:" ] }, { "cell_type": "code", "execution_count": 1, "id": "b2ee3f3a", "metadata": {}, "outputs": [], "source": [ "from pyshop import ShopSession\n", "import pandas as pd\n", "import numpy as np\n", "import plotly.graph_objects as go\n", "from plotly.subplots import make_subplots\n", "\n", "from creek_model import build_model" ] }, { "cell_type": "markdown", "id": "c7cd8a04", "metadata": {}, "source": [ "The resulting topology is shown below:" ] }, { "cell_type": "code", "execution_count": 2, "id": "83856dfb", "metadata": {}, "outputs": [ { "data": { "image/svg+xml": [ "\n", "\n", "\n", "\n", "\n", "\n", "%3\n", "\n", "\n", "\n", "reservoir_Reservoir\n", "\n", "Reservoir\n", "\n", "\n", "\n", "tunnel_Rsv_N1\n", "\n", "Rsv_N1\n", "\n", "\n", "\n", "reservoir_Reservoir->tunnel_Rsv_N1\n", "\n", "\n", "\n", "\n", "river_Spill_rsv\n", "\n", "Spill_rsv\n", "\n", "\n", "\n", "reservoir_Reservoir->river_Spill_rsv\n", "\n", "\n", "\n", "\n", "reservoir_Creek1\n", "\n", "Creek1\n", "\n", "\n", "\n", "tunnel_Creek1_N1\n", "\n", "Creek1_N1\n", "\n", "\n", "\n", "reservoir_Creek1->tunnel_Creek1_N1\n", "\n", "\n", "\n", "\n", "river_Spill_C1\n", "\n", "Spill_C1\n", "\n", "\n", "\n", "reservoir_Creek1->river_Spill_C1\n", "\n", "\n", "\n", "\n", "reservoir_Creek2\n", "\n", "Creek2\n", "\n", "\n", "\n", "tunnel_Creek2_N2\n", "\n", "Creek2_N2\n", "\n", "\n", "\n", "reservoir_Creek2->tunnel_Creek2_N2\n", "\n", "\n", "\n", "\n", "river_Spill_C2\n", "\n", "Spill_C2\n", "\n", "\n", "\n", "reservoir_Creek2->river_Spill_C2\n", "\n", "\n", "\n", "\n", "reservoir_Creek3\n", "\n", "Creek3\n", "\n", "\n", "\n", "tunnel_Creek3_N3\n", "\n", "Creek3_N3\n", "\n", "\n", "\n", "reservoir_Creek3->tunnel_Creek3_N3\n", "\n", "\n", "\n", "\n", "river_Spill_C3\n", "\n", "Spill_C3\n", "\n", "\n", "\n", "reservoir_Creek3->river_Spill_C3\n", "\n", "\n", "\n", "\n", "tunnel_N1_N2\n", "\n", "N1_N2\n", "\n", "\n", "\n", "tunnel_Rsv_N1->tunnel_N1_N2\n", "\n", "\n", "\n", "\n", "tunnel_N2_N3\n", "\n", "N2_N3\n", "\n", "\n", "\n", "tunnel_N1_N2->tunnel_N2_N3\n", "\n", "\n", "\n", "\n", "tunnel_N3_plant\n", "\n", "N3_plant\n", "\n", "\n", "\n", "tunnel_N2_N3->tunnel_N3_plant\n", "\n", "\n", "\n", "\n", "plant_Plant\n", "\n", "Plant\n", "\n", "\n", "\n", "tunnel_N3_plant->plant_Plant\n", "\n", "\n", "\n", "\n", "tunnel_Creek1_N1->tunnel_N1_N2\n", "\n", "\n", "\n", "\n", "tunnel_Creek2_N2->tunnel_N2_N3\n", "\n", "\n", "\n", "\n", "tunnel_Creek3_N3->tunnel_N3_plant\n", "\n", "\n", "\n", "\n" ], "text/plain": [ "" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "shop = build_model()\n", "shop.model.build_connection_tree()" ] }, { "cell_type": "markdown", "id": "d494050c", "metadata": {}, "source": [ "A single large reservoir called Reservoir sits at the far end of a long tunnel stretch down to the plant. Three small creek intake reservoirs, Creek1 to 3, are connected to the main tunnel of the plant. All reservoirs have [river](river) objects connected to them that acts as spillways with [up_head_flow_curve](river:up_head_flow_curve) defining the flow out of the reservoirs." ] }, { "cell_type": "markdown", "id": "938cc6d8", "metadata": {}, "source": [ "## Modelling the reservoir of a creek intake\n", "\n", "The reservoirs representing creek intakes should be modelled using the following principles:\n", "\n", "### Storage capacity\n", "The reservoir of a creek intake represents the volume of the tunnel segment in addition to any small dam at the top of the creek intake. In this model, the [max_vol](reservoir:max_vol) it is set to 0.001 Mm3 for all three creek intakes.\n", "\n", "### Upper and lower regulation levels\n", "The [hrl](reservoir:hrl) of the creek intake reservoirs should be the top of the dam or tunnel entrance of the creek intake. Above this level, water will spill out of the creek. The [lrl](reservoir:lrl) should be set to the lrl of the large reservoir in the network. If the lrl of the creek intake reservoirs are set lower than the lrl of the main reservoir, problems can arise if the large reservoir is empty.\n", "\n", "### Volume to level conversion\n", "One of the most important factors of modelling a creek intake reservoir is the [vol_head curve](reservoir:vol_head). Since the reservoir capacity is so small, the level of a creek intake reservoir can change very rapidly over a time step in the optimization model. It is therefore important to model the vol_head curve with the __same gradient in all segments__. The simple way to do this is to set 0 Mm3 for lrl, max_vol for hrl, and then choose some additional height above hrl and calculate the volume that will ensure a constant gradient. Choosing the level of $hrl + \\Delta$ for the final point on the vol_head curve should result in a volume of $V = (1+\\frac{\\Delta}{hrl-lrl})\\cdot V_{max}$. This means that the reservoir level can potentially go far above the actual intake of the creek, but this will not happen if the spillway of the creek intake is modelled correctly.\n", "\n", "### Flow_descr\n", "Before SHOP 16.4.0, the [flow_descr](reservoir:flow_descr) attribute on the reservoir object would be used in the tunnel network simulations when a reservoir in the network had a level above hrl. SHOP now only uses the vol_head curve in these calculations, but for older SHOP versions it is important to define a flow_descr on the creek intake reservoirs even though a river is used to model the spillage.\n", "\n", "\n", "The values for max_vol, hrl, lrl, and the vol_head curve of each reservoir in the model is printed below:" ] }, { "cell_type": "code", "execution_count": 3, "id": "47c05f19", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Reservoir\n", "max_vol: 50.0\n", "lrl: 80.0\n", "hrl: 100.0\n", "vol_head:\n", "0.0 80.0\n", "5.0 85.0\n", "12.0 90.0\n", "20.0 95.0\n", "50.0 100.0\n", "60.0 102.0\n", "Name: 0.0, dtype: float64\n", "\n", "Creek1\n", "max_vol: 0.001\n", "lrl: 80.0\n", "hrl: 110.0\n", "vol_head:\n", "0.000 80.0\n", "0.001 110.0\n", "0.002 140.0\n", "Name: 0.0, dtype: float64\n", "\n", "Creek2\n", "max_vol: 0.001\n", "lrl: 80.0\n", "hrl: 105.0\n", "vol_head:\n", "0.000 80.0\n", "0.001 105.0\n", "0.002 130.0\n", "Name: 0.0, dtype: float64\n", "\n", "Creek3\n", "max_vol: 0.001\n", "lrl: 80.0\n", "hrl: 101.0\n", "vol_head:\n", "0.000 80.0\n", "0.001 101.0\n", "0.002 121.0\n", "Name: 0.0, dtype: float64\n", "\n" ] } ], "source": [ "for rsv in shop.model.reservoir:\n", " print(rsv.get_name())\n", " print(\"max_vol:\",rsv.max_vol.get())\n", " print(\"lrl:\",rsv.lrl.get())\n", " print(\"hrl:\",rsv.hrl.get())\n", " print(\"vol_head:\")\n", " print(rsv.vol_head.get())\n", " print(\"\")" ] }, { "cell_type": "markdown", "id": "afa97bce", "metadata": {}, "source": [ "## Modelling the tunnels connecting the creek intakes\n", "\n", "The creek intake reservoirs are connected to the main tunnel with short tunnel objects with low [loss coefficients](tunnel:loss_factor). Note that setting the loss coefficients to zero may lead to instabilities when solving the tunnel network equations, so the loss factors should always be larger than zero. In this case, the tunnels connecting the creeks have a loss coefficient of 1e-6, while the main tunnel segments have much higher losses. 1e-6 is about 0.1% of the sum of all loss factors in the tunnel network:" ] }, { "cell_type": "code", "execution_count": 4, "id": "92472d29", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Loss in Rsv_N1: 0.00015, 14.96 % of sum loss factor\n", "\n", "Loss in N1_N2: 2.5e-05, 2.49 % of sum loss factor\n", "\n", "Loss in N2_N3: 2.5e-05, 2.49 % of sum loss factor\n", "\n", "Loss in N3_plant: 0.0008, 79.76 % of sum loss factor\n", "\n", "Loss in Creek1_N1: 1e-06, 0.10 % of sum loss factor\n", "\n", "Loss in Creek2_N2: 1e-06, 0.10 % of sum loss factor\n", "\n", "Loss in Creek3_N3: 1e-06, 0.10 % of sum loss factor\n", "\n" ] } ], "source": [ "sum_loss_factor = sum(t.loss_factor.get() for t in shop.model.tunnel)\n", "\n", "for t in shop.model.tunnel:\n", " loss = t.loss_factor.get()\n", " print(f\"Loss in {t.get_name()}: {loss}, {100*loss/sum_loss_factor:.2f} % of sum loss factor\")\n", " print(\"\")" ] }, { "cell_type": "markdown", "id": "42d7191e", "metadata": {}, "source": [ "## Modelling the main tunnel\n", "\n", "The main tunnel from the large reservoir to the plant is split into 4 tunnel segments to allow creek intakes to connect at different points in the system. 15% of the main tunnel loss happens in the first tunnel segment between the large reservoir and the first creek intake, then 2.5% loss is added between each creek before 80% of the loss happens after the last creek intake. The main tunnel is modelled as flat at the lrl of the large reservoir before it drops off down to the plant in the final tunnel segment. This is seen in the [start_height](tunnel:start_height) and [end_height](tunnel:end_height) of each tunnel:" ] }, { "cell_type": "code", "execution_count": 5, "id": "15866590", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Rsv_N1: starts at 80.0 masl, ends at 80.0 masl\n", "\n", "N1_N2: starts at 80.0 masl, ends at 80.0 masl\n", "\n", "N2_N3: starts at 80.0 masl, ends at 80.0 masl\n", "\n", "N3_plant: starts at 80.0 masl, ends at 0.0 masl\n", "\n", "Creek1_N1: starts at 80.0 masl, ends at 80.0 masl\n", "\n", "Creek2_N2: starts at 80.0 masl, ends at 80.0 masl\n", "\n", "Creek3_N3: starts at 80.0 masl, ends at 80.0 masl\n", "\n" ] } ], "source": [ "for t in shop.model.tunnel:\n", " start = t.start_height.get()\n", " print(f\"{t.get_name()}: starts at {t.start_height.get()} masl, ends at {t.end_height.get()} masl\")\n", " print(\"\")" ] }, { "cell_type": "markdown", "id": "2ac49d2c", "metadata": {}, "source": [ "## Modelling the spillways\n", "\n", "The [overflow example](reservoir-overflow) gives a general overview of how to modell spillage in SHOP. For creek intakes, it is recommended to add a river object with a simple [up_head_flow_curve](river:up_head_flow_curve) to each creek reservoir. The [upstream_elevation](river:upstream_elevation) of the river should be the hrl of the reservoirs, and using a single segment in the up_head_flow_curve is usually sufficient. Setting a [flow_cost](river:flow_cost) on the spill rivers is also common practice, but not strictly necessary as long as the creek reservoirs has a [water value](water-value-descriptions) consistent with the larger reservoir(s) in the tunnel system. In this model, no flow_cost is added to the rivers connected to the creek intake reservoirs, and the [energy_value_input](reservoir:energy_value_input) of all creeks are set to the same as the large reservoir." ] }, { "cell_type": "markdown", "id": "cb99369b", "metadata": {}, "source": [ "## General recommendations and considerations\n", "\n", "- Start simple and expand the modelling of creeks in the system gradually. This allows the user to verify that the main components in the system function as expected before adding more complexity.\n", "- Consider aggregating creek intakes that are close together with low losses between them. Large tunnel systems increase the complexity and calculation time of SHOP.\n", "- Make sure the initial reservoir levels of the whole tunnel system are consistent to avoid numerical trouble." ] }, { "cell_type": "markdown", "id": "d1753979", "metadata": {}, "source": [ "## Optimizing a dry system state\n", "\n", "It is good practice to test the stability of the modelling in both wet and dry system conditions. First the a dry system state with all reservoirs at lrl and low inflow is optimized:" ] }, { "cell_type": "code", "execution_count": 6, "id": "15da1e79", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Dry objective value: -2418.8001375127965\n" ] } ], "source": [ "shop = build_model()\n", "\n", "#Set initial state of the reservoirs to empty\n", "for r in shop.model.reservoir:\n", " r.start_head.set(r.lrl.get())\n", "\n", "#Create a random inflow profile that is used for all three creeks\n", "np.random.seed(10)\n", "t = [shop.get_time_resolution()[\"starttime\"] + pd.Timedelta(minutes=60*i) for i in range(24)]\n", "inflow_profile = pd.Series(np.random.rand(24), index=t)\n", "\n", "shop.model.reservoir[\"Creek1\"].inflow.set(1*inflow_profile)\n", "shop.model.reservoir[\"Creek2\"].inflow.set(3*inflow_profile)\n", "shop.model.reservoir[\"Creek3\"].inflow.set(2*inflow_profile)\n", "\n", "#No inflow on the large reservoir\n", "shop.model.reservoir[\"Reservoir\"].inflow.set(0)\n", "\n", "#Run a standard optimization\n", "\n", "shop.set_universal_mip(\"off\",[])\n", "shop.start_sim([],[3])\n", "shop.set_universal_mip(\"on\",[])\n", "shop.start_sim([],[2])\n", "shop.set_code(['incremental'], [])\n", "shop.start_sim([],[5])\n", "\n", "dry_objective = shop.model.objective.average_objective.total.get()\n", "print(\"Dry objective value:\",dry_objective)" ] }, { "cell_type": "markdown", "id": "bcaa44b4", "metadata": {}, "source": [ "As expected, the power plant produces very little since the system is dry. Enough water is saved to produce some power during the price peak towards the end of the optimization horizon. \n", "\n", "All reservoir levels slowly increase in the beginning when the power plant is offline, and the inflow into the creeks flow into the larger reservoir. When the power plant draws water, the reservoir levels drop quickly in the closest creek intakes while it takes a little longer for the main upstream reservoir to be affected." ] }, { "cell_type": "code", "execution_count": 7, "id": "e22a0ba3", "metadata": {}, "outputs": [ { "data": { "text/html": [ " \n", " " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "name": "Plant", "type": "scatter", "x": [ "2024-01-01T00:00:00", "2024-01-01T01:00:00", "2024-01-01T02:00:00", "2024-01-01T03:00:00", "2024-01-01T04:00:00", "2024-01-01T05:00:00", "2024-01-01T06:00:00", "2024-01-01T07:00:00", "2024-01-01T08:00:00", "2024-01-01T09:00:00", "2024-01-01T10:00:00", "2024-01-01T11:00:00", "2024-01-01T12:00:00", "2024-01-01T13:00:00", "2024-01-01T14:00:00", "2024-01-01T15:00:00", "2024-01-01T16:00:00", "2024-01-01T17:00:00", "2024-01-01T18:00:00", "2024-01-01T19:00:00", "2024-01-01T20:00:00", "2024-01-01T21:00:00", "2024-01-01T22:00:00", "2024-01-01T23:00:00" ], "y": [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 19.569254117565308, 15.539960959495712, 7.046765368098865, 0.0, 0.0, 0.0, 0.0 ] }, { "name": "Price", "type": "scatter", "x": [ "2024-01-01T00:00:00", "2024-01-01T01:00:00", "2024-01-01T02:00:00", "2024-01-01T03:00:00", "2024-01-01T04:00:00", "2024-01-01T05:00:00", "2024-01-01T06:00:00", "2024-01-01T07:00:00", "2024-01-01T08:00:00", "2024-01-01T09:00:00", "2024-01-01T10:00:00", "2024-01-01T11:00:00", "2024-01-01T12:00:00", "2024-01-01T13:00:00", "2024-01-01T14:00:00", "2024-01-01T15:00:00", "2024-01-01T16:00:00", "2024-01-01T17:00:00", "2024-01-01T18:00:00", "2024-01-01T19:00:00", "2024-01-01T20:00:00", "2024-01-01T21:00:00", "2024-01-01T22:00:00", "2024-01-01T23:00:00" ], "xaxis": "x", "y": [ 29.56, 28.46, 26.66, 24.48, 24.01, 21.23, 22.62, 25.04, 26.24, 32.21, 41.34, 43.51, 43.02, 44.29, 46.24, 50.61, 59.47, 64.99, 61.74, 55.07, 48.01, 44.01, 45.2, 38.0 ], "yaxis": "y2" } ], "layout": { "barmode": "stack", "template": { "data": { "bar": [ { "error_x": { "color": "#2a3f5f" }, "error_y": { "color": "#2a3f5f" }, "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "baxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "heatmap" } ], "heatmapgl": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "heatmapgl" } ], "histogram": [ { "marker": { "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "fillpattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergl" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "#EBF0F8" }, "line": { "color": "white" } }, "header": { "fill": { "color": "#C8D4E3" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1 }, "autotypenumbers": "strict", "coloraxis": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "colorscale": { "diverging": [ [ 0, "#8e0152" ], [ 0.1, "#c51b7d" ], [ 0.2, "#de77ae" ], [ 0.3, "#f1b6da" ], [ 0.4, "#fde0ef" ], [ 0.5, "#f7f7f7" ], [ 0.6, "#e6f5d0" ], [ 0.7, "#b8e186" ], [ 0.8, "#7fbc41" ], [ 0.9, "#4d9221" ], [ 1, "#276419" ] ], "sequential": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "sequentialminus": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ] }, "colorway": [ "#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52" ], "font": { "color": "#2a3f5f" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "#E5ECF6", "showlakes": true, "showland": true, "subunitcolor": "white" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "mapbox": { "style": "light" }, "paper_bgcolor": "white", "plot_bgcolor": "#E5ECF6", "polar": { "angularaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "radialaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "scene": { "xaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "yaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "zaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" } }, "shapedefaults": { "line": { "color": "#2a3f5f" } }, "ternary": { "aaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "baxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "caxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "title": { "x": 0.05 }, "xaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 }, "yaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 } } }, "title": { "text": "Production and market price" }, "xaxis": { "anchor": "y", "domain": [ 0.0, 0.94 ] }, "yaxis": { "anchor": "x", "domain": [ 0.0, 1.0 ], "title": { "text": "Production [MW]" } }, "yaxis2": { "anchor": "x", "overlaying": "y", "side": "right", "title": { "text": "Energy price [€/MWh]" } } } }, "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "name": "Reservoir", "type": "scatter", "x": [ "2024-01-01T00:00:00", "2024-01-01T01:00:00", "2024-01-01T02:00:00", "2024-01-01T03:00:00", "2024-01-01T04:00:00", "2024-01-01T05:00:00", "2024-01-01T06:00:00", "2024-01-01T07:00:00", "2024-01-01T08:00:00", "2024-01-01T09:00:00", "2024-01-01T10:00:00", "2024-01-01T11:00:00", "2024-01-01T12:00:00", "2024-01-01T13:00:00", "2024-01-01T14:00:00", "2024-01-01T15:00:00", "2024-01-01T16:00:00", "2024-01-01T17:00:00", "2024-01-01T18:00:00", "2024-01-01T19:00:00", "2024-01-01T20:00:00", "2024-01-01T21:00:00", "2024-01-01T22:00:00", "2024-01-01T23:00:00", "2024-01-02T00:00:00" ], "y": [ 80.0, 80.01665935059755, 80.01710672922609, 80.03079259039627, 80.0469648816156, 80.05773113436541, 80.06258584888538, 80.06686345816152, 80.08328947311641, 80.08694124477073, 80.08884903316611, 80.10365167289284, 80.12424259976736, 80.12432695729186, 80.13538962465239, 80.15294032954627, 80.166169157082, 80.18175721490526, 80.08649805788308, 80.02438982495819, 80.0, 80.01171876890257, 80.0147890290103, 80.0228525663436, 80.03741237443913 ] }, { "name": "Creek1", "type": "scatter", "x": [ "2024-01-01T00:00:00", "2024-01-01T01:00:00", "2024-01-01T02:00:00", "2024-01-01T03:00:00", "2024-01-01T04:00:00", "2024-01-01T05:00:00", "2024-01-01T06:00:00", "2024-01-01T07:00:00", "2024-01-01T08:00:00", "2024-01-01T09:00:00", "2024-01-01T10:00:00", "2024-01-01T11:00:00", "2024-01-01T12:00:00", "2024-01-01T13:00:00", "2024-01-01T14:00:00", "2024-01-01T15:00:00", "2024-01-01T16:00:00", "2024-01-01T17:00:00", "2024-01-01T18:00:00", "2024-01-01T19:00:00", "2024-01-01T20:00:00", "2024-01-01T21:00:00", "2024-01-01T22:00:00", "2024-01-01T23:00:00", "2024-01-02T00:00:00" ], "y": [ 80.0, 80.00932838896124, 80.01679014168108, 80.02436083202603, 80.03969197698567, 80.05226742196994, 80.05979802014483, 80.06436414120286, 80.0759997935009, 80.08476158659288, 80.08773171394982, 80.09680038102104, 80.11607551457425, 80.12429094768221, 80.1298469370214, 80.14532414229693, 80.15982843718683, 80.17504492389304, 80.04126380402487, 80.0193009071749, 80.00842878901948, 80.00628625725724, 80.01264165331708, 80.01859158698178, 80.03038499189788 ] }, { "name": "Creek2", "type": "scatter", "x": [ "2024-01-01T00:00:00", "2024-01-01T01:00:00", "2024-01-01T02:00:00", "2024-01-01T03:00:00", "2024-01-01T04:00:00", "2024-01-01T05:00:00", "2024-01-01T06:00:00", "2024-01-01T07:00:00", "2024-01-01T08:00:00", "2024-01-01T09:00:00", "2024-01-01T10:00:00", "2024-01-01T11:00:00", "2024-01-01T12:00:00", "2024-01-01T13:00:00", "2024-01-01T14:00:00", "2024-01-01T15:00:00", "2024-01-01T16:00:00", "2024-01-01T17:00:00", "2024-01-01T18:00:00", "2024-01-01T19:00:00", "2024-01-01T20:00:00", "2024-01-01T21:00:00", "2024-01-01T22:00:00", "2024-01-01T23:00:00", "2024-01-02T00:00:00" ], "y": [ 80.0, 80.00970456864054, 80.01679225202479, 80.02461149232953, 80.04004956487069, 80.0524246737055, 80.05982850666285, 80.06438950244872, 80.07636631619022, 80.08478107166081, 80.08773330491108, 80.09709894322192, 80.11665234370197, 80.12429097140138, 80.13000904852728, 80.1457456629358, 80.16006686614128, 80.17541151061138, 80.02335965129787, 80.0110008999297, 80.00699784064852, 80.00655361231956, 80.01266808447022, 80.01864757465127, 80.0306550781285 ] }, { "name": "Creek3", "type": "scatter", "x": [ "2024-01-01T00:00:00", "2024-01-01T01:00:00", "2024-01-01T02:00:00", "2024-01-01T03:00:00", "2024-01-01T04:00:00", "2024-01-01T05:00:00", "2024-01-01T06:00:00", "2024-01-01T07:00:00", "2024-01-01T08:00:00", "2024-01-01T09:00:00", "2024-01-01T10:00:00", "2024-01-01T11:00:00", "2024-01-01T12:00:00", "2024-01-01T13:00:00", "2024-01-01T14:00:00", "2024-01-01T15:00:00", "2024-01-01T16:00:00", "2024-01-01T17:00:00", "2024-01-01T18:00:00", "2024-01-01T19:00:00", "2024-01-01T20:00:00", "2024-01-01T21:00:00", "2024-01-01T22:00:00", "2024-01-01T23:00:00", "2024-01-02T00:00:00" ], "y": [ 80.0, 80.00999952742579, 80.01695567642275, 80.02484282008656, 80.04046855149801, 80.05274368269595, 80.0600065378229, 80.06449967268534, 80.07671119329561, 80.08498026765291, 80.08780470891286, 80.09736885600869, 80.11720887520676, 80.12446721663909, 80.13017093997279, 80.14618357422057, 80.16044642059404, 80.17590307692558, 80.0, 80.0, 80.0, 80.01088243408721, 80.01416882971544, 80.01806586462635, 80.0307619564337 ] } ], "layout": { "template": { "data": { "bar": [ { "error_x": { "color": "#2a3f5f" }, "error_y": { "color": "#2a3f5f" }, "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "baxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "heatmap" } ], "heatmapgl": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "heatmapgl" } ], "histogram": [ { "marker": { "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "fillpattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergl" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "#EBF0F8" }, "line": { "color": "white" } }, "header": { "fill": { "color": "#C8D4E3" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1 }, "autotypenumbers": "strict", "coloraxis": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "colorscale": { "diverging": [ [ 0, "#8e0152" ], [ 0.1, "#c51b7d" ], [ 0.2, "#de77ae" ], [ 0.3, "#f1b6da" ], [ 0.4, "#fde0ef" ], [ 0.5, "#f7f7f7" ], [ 0.6, "#e6f5d0" ], [ 0.7, "#b8e186" ], [ 0.8, "#7fbc41" ], [ 0.9, "#4d9221" ], [ 1, "#276419" ] ], "sequential": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "sequentialminus": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ] }, "colorway": [ "#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52" ], "font": { "color": "#2a3f5f" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "#E5ECF6", "showlakes": true, "showland": true, "subunitcolor": "white" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "mapbox": { "style": "light" }, "paper_bgcolor": "white", "plot_bgcolor": "#E5ECF6", "polar": { "angularaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "radialaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "scene": { "xaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "yaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "zaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" } }, "shapedefaults": { "line": { "color": "#2a3f5f" } }, "ternary": { "aaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "baxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "caxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "title": { "x": 0.05 }, "xaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 }, "yaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 } } }, "title": { "text": "Reservoir levels" }, "yaxis": { "title": { "text": "Level [masl]" } } } }, "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "name": "Reservoir", "type": "scatter", "x": [ "2024-01-01T00:00:00", "2024-01-01T01:00:00", "2024-01-01T02:00:00", "2024-01-01T03:00:00", "2024-01-01T04:00:00", "2024-01-01T05:00:00", "2024-01-01T06:00:00", "2024-01-01T07:00:00", "2024-01-01T08:00:00", "2024-01-01T09:00:00", "2024-01-01T10:00:00", "2024-01-01T11:00:00", "2024-01-01T12:00:00", "2024-01-01T13:00:00", "2024-01-01T14:00:00", "2024-01-01T15:00:00", "2024-01-01T16:00:00", "2024-01-01T17:00:00", "2024-01-01T18:00:00", "2024-01-01T19:00:00", "2024-01-01T20:00:00", "2024-01-01T21:00:00", "2024-01-01T22:00:00", "2024-01-01T23:00:00" ], "y": [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ] }, { "name": "Creek1", "type": "scatter", "x": [ "2024-01-01T00:00:00", "2024-01-01T01:00:00", "2024-01-01T02:00:00", "2024-01-01T03:00:00", "2024-01-01T04:00:00", "2024-01-01T05:00:00", "2024-01-01T06:00:00", "2024-01-01T07:00:00", "2024-01-01T08:00:00", "2024-01-01T09:00:00", "2024-01-01T10:00:00", "2024-01-01T11:00:00", "2024-01-01T12:00:00", "2024-01-01T13:00:00", "2024-01-01T14:00:00", "2024-01-01T15:00:00", "2024-01-01T16:00:00", "2024-01-01T17:00:00", "2024-01-01T18:00:00", "2024-01-01T19:00:00", "2024-01-01T20:00:00", "2024-01-01T21:00:00", "2024-01-01T22:00:00", "2024-01-01T23:00:00" ], "y": [ 0.771320643266746, 0.0207519493594015, 0.6336482349262754, 0.7488038825386119, 0.4985070123025904, 0.22479664553084766, 0.19806286475962398, 0.7605307121989587, 0.16911083656253545, 0.08833981417401027, 0.6853598183677972, 0.9533933461949365, 0.003948266327914451, 0.5121922633857766, 0.8126209616521135, 0.6125260668293881, 0.7217553174317995, 0.29187606817063316, 0.9177741225129434, 0.7145757833976906, 0.5425443680112613, 0.14217004760152696, 0.3733407600514692, 0.6741336150663453 ] }, { "name": "Creek2", "type": "scatter", "x": [ "2024-01-01T00:00:00", "2024-01-01T01:00:00", "2024-01-01T02:00:00", "2024-01-01T03:00:00", "2024-01-01T04:00:00", "2024-01-01T05:00:00", "2024-01-01T06:00:00", "2024-01-01T07:00:00", "2024-01-01T08:00:00", "2024-01-01T09:00:00", "2024-01-01T10:00:00", "2024-01-01T11:00:00", "2024-01-01T12:00:00", "2024-01-01T13:00:00", "2024-01-01T14:00:00", "2024-01-01T15:00:00", "2024-01-01T16:00:00", "2024-01-01T17:00:00", "2024-01-01T18:00:00", "2024-01-01T19:00:00", "2024-01-01T20:00:00", "2024-01-01T21:00:00", "2024-01-01T22:00:00", "2024-01-01T23:00:00" ], "y": [ 2.313961929800238, 0.0622558480782045, 1.9009447047788264, 2.246411647615836, 1.4955210369077712, 0.674389936592543, 0.5941885942788719, 2.2815921365968763, 0.5073325096876063, 0.2650194425220308, 2.056079455103392, 2.8601800385848097, 0.011844798983743354, 1.53657679015733, 2.4378628849563406, 1.8375782004881644, 2.1652659522953988, 0.8756282045118995, 2.7533223675388303, 2.1437273501930716, 1.6276331040337837, 0.4265101428045809, 1.1200222801544077, 2.022400845199036 ] }, { "name": "Creek3", "type": "scatter", "x": [ "2024-01-01T00:00:00", "2024-01-01T01:00:00", "2024-01-01T02:00:00", "2024-01-01T03:00:00", "2024-01-01T04:00:00", "2024-01-01T05:00:00", "2024-01-01T06:00:00", "2024-01-01T07:00:00", "2024-01-01T08:00:00", "2024-01-01T09:00:00", "2024-01-01T10:00:00", "2024-01-01T11:00:00", "2024-01-01T12:00:00", "2024-01-01T13:00:00", "2024-01-01T14:00:00", "2024-01-01T15:00:00", "2024-01-01T16:00:00", "2024-01-01T17:00:00", "2024-01-01T18:00:00", "2024-01-01T19:00:00", "2024-01-01T20:00:00", "2024-01-01T21:00:00", "2024-01-01T22:00:00", "2024-01-01T23:00:00" ], "y": [ 1.542641286533492, 0.041503898718803, 1.2672964698525508, 1.4976077650772237, 0.9970140246051808, 0.4495932910616953, 0.39612572951924796, 1.5210614243979175, 0.3382216731250709, 0.17667962834802053, 1.3707196367355945, 1.906786692389873, 0.007896532655828903, 1.0243845267715532, 1.625241923304227, 1.2250521336587763, 1.443510634863599, 0.5837521363412663, 1.8355482450258869, 1.4291515667953811, 1.0850887360225225, 0.2843400952030539, 0.7466815201029384, 1.3482672301326906 ] } ], "layout": { "template": { "data": { "bar": [ { "error_x": { "color": "#2a3f5f" }, "error_y": { "color": "#2a3f5f" }, "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "baxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "heatmap" } ], "heatmapgl": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "heatmapgl" } ], "histogram": [ { "marker": { "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "fillpattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergl" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "#EBF0F8" }, "line": { "color": "white" } }, "header": { "fill": { "color": "#C8D4E3" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1 }, "autotypenumbers": "strict", "coloraxis": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "colorscale": { "diverging": [ [ 0, "#8e0152" ], [ 0.1, "#c51b7d" ], [ 0.2, "#de77ae" ], [ 0.3, "#f1b6da" ], [ 0.4, "#fde0ef" ], [ 0.5, "#f7f7f7" ], [ 0.6, "#e6f5d0" ], [ 0.7, "#b8e186" ], [ 0.8, "#7fbc41" ], [ 0.9, "#4d9221" ], [ 1, "#276419" ] ], "sequential": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "sequentialminus": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ] }, "colorway": [ "#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52" ], "font": { "color": "#2a3f5f" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "#E5ECF6", "showlakes": true, "showland": true, "subunitcolor": "white" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "mapbox": { "style": "light" }, "paper_bgcolor": "white", "plot_bgcolor": "#E5ECF6", "polar": { "angularaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "radialaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "scene": { "xaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "yaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "zaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" } }, "shapedefaults": { "line": { "color": "#2a3f5f" } }, "ternary": { "aaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "baxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "caxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "title": { "x": 0.05 }, "xaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 }, "yaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 } } }, "title": { "text": "Reservoir inflow" }, "yaxis": { "title": { "text": "Inflow [m3/s]" } } } }, "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#Plot production and market price\n", "fig = make_subplots(specs=[[{\"secondary_y\": True}]])\n", "fig.update_layout(barmode=\"stack\", title=\"Production and market price\")\n", "fig.update_yaxes(title_text=\"Energy price [€/MWh]\", secondary_y=True)\n", "fig.update_yaxes(title_text=\"Production [MW]\", secondary_y=False)\n", "\n", "for plant in shop.model.plant:\n", "\n", " prod = plant.production.get()\n", " fig.add_trace(go.Scatter(x=prod.index, y=prod.values, name=plant.get_name()))\n", "\n", "price = shop.model.market.spot.sale_price.get()\n", "fig.add_trace(go.Scatter(x=price.index, y=price.values, name=\"Price\"),secondary_y=True)\n", "fig.show()\n", "\n", "#Plot reservoir levels\n", "fig = go.Figure()\n", "for rsv in shop.model.reservoir:\n", " level = rsv.head.get()\n", " fig.add_trace(go.Scatter(x=level.index, y=level.values, name=rsv.get_name()))\n", "\n", "fig.update_layout(title=\"Reservoir levels\")\n", "fig.update_yaxes(title_text=\"Level [masl]\")\n", "fig.show()\n", "\n", "#Plot reservoir inflow\n", "fig = go.Figure()\n", "for rsv in shop.model.reservoir:\n", " inflow = rsv.inflow.get()\n", " fig.add_trace(go.Scatter(x=inflow.index, y=inflow.values, name=rsv.get_name()))\n", "\n", "fig.update_layout(title=\"Reservoir inflow\")\n", "fig.update_yaxes(title_text=\"Inflow [m3/s]\")\n", "fig.show()" ] }, { "cell_type": "markdown", "id": "6a3034b2", "metadata": {}, "source": [ "The tunnel flow is shown in the figure below. As the reservoir volumes of the creek intakes are so small, most of the inflow goes directly into the larger reservoir. For these calm conditions, there are virtually no deviations between the optimized tunnel [flow](tunnel:flow) and the post-calculated [physical_flow](tunnel:physical_flow) in the tunnels (note the scale on the y-axis)." ] }, { "cell_type": "code", "execution_count": 8, "id": "ca7db6bc", "metadata": {}, "outputs": [ { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "name": "Rsv_N1", "type": "scatter", "x": [ "2024-01-01T00:00:00", "2024-01-01T01:00:00", "2024-01-01T02:00:00", "2024-01-01T03:00:00", "2024-01-01T04:00:00", "2024-01-01T05:00:00", "2024-01-01T06:00:00", "2024-01-01T07:00:00", "2024-01-01T08:00:00", "2024-01-01T09:00:00", "2024-01-01T10:00:00", "2024-01-01T11:00:00", "2024-01-01T12:00:00", "2024-01-01T13:00:00", "2024-01-01T14:00:00", "2024-01-01T15:00:00", "2024-01-01T16:00:00", "2024-01-01T17:00:00", "2024-01-01T18:00:00", "2024-01-01T19:00:00", "2024-01-01T20:00:00", "2024-01-01T21:00:00", "2024-01-01T22:00:00", "2024-01-01T23:00:00" ], "y": [ -4.627597388206868, -0.12427184126297484, -3.801628102828006, -4.492303116477468, -2.990625763840566, -1.3485318111013065, -1.1882247989272774, -4.562781931913833, -1.014381015087951, -0.5299412209390332, -4.111844368537119, -5.719701909589085, -0.02343264569401171, -3.072963155702797, -4.875195803853901, -3.674674315480442, -4.330016062019622, 26.4608769506078, 17.252286923579867, 6.774951377274597, -3.2552135840461838, -0.8528500299282543, -2.239871481469818, -4.044391137646648 ] }, { "name": "N1_N2", "type": "scatter", "x": [ "2024-01-01T00:00:00", "2024-01-01T01:00:00", "2024-01-01T02:00:00", "2024-01-01T03:00:00", "2024-01-01T04:00:00", "2024-01-01T05:00:00", "2024-01-01T06:00:00", "2024-01-01T07:00:00", "2024-01-01T08:00:00", "2024-01-01T09:00:00", "2024-01-01T10:00:00", "2024-01-01T11:00:00", "2024-01-01T12:00:00", "2024-01-01T13:00:00", "2024-01-01T14:00:00", "2024-01-01T15:00:00", "2024-01-01T16:00:00", "2024-01-01T17:00:00", "2024-01-01T18:00:00", "2024-01-01T19:00:00", "2024-01-01T20:00:00", "2024-01-01T21:00:00", "2024-01-01T22:00:00", "2024-01-01T23:00:00" ], "y": [ -3.856363118911984, -0.10358898220653456, -3.1680499668864064, -3.74364118898478, -2.492235190843384, -1.1238048933313394, -0.9902042130663375, -3.802358957236153, -0.8453513062392294, -0.44162890794425397, -3.426568519308869, -4.7664870368529755, -0.019560448191162972, -2.560822336662753, -4.062718149658042, -3.062282547677812, -3.6084016379832513, 26.7539917328513, 18.17026440624882, 7.489627828432993, -2.712649377777863, -0.7107388285865393, -1.8665858133967255, -3.3703667209041037 ] }, { "name": "N2_N3", "type": "scatter", "x": [ "2024-01-01T00:00:00", "2024-01-01T01:00:00", "2024-01-01T02:00:00", "2024-01-01T03:00:00", "2024-01-01T04:00:00", "2024-01-01T05:00:00", "2024-01-01T06:00:00", "2024-01-01T07:00:00", "2024-01-01T08:00:00", "2024-01-01T09:00:00", "2024-01-01T10:00:00", "2024-01-01T11:00:00", "2024-01-01T12:00:00", "2024-01-01T13:00:00", "2024-01-01T14:00:00", "2024-01-01T15:00:00", "2024-01-01T16:00:00", "2024-01-01T17:00:00", "2024-01-01T18:00:00", "2024-01-01T19:00:00", "2024-01-01T20:00:00", "2024-01-01T21:00:00", "2024-01-01T22:00:00", "2024-01-01T23:00:00" ], "y": [ -1.5425090176521972, -0.041411886165932686, -1.2671921425554107, -1.4974010755082887, -0.996851655144891, -0.4494972215494339, -0.39606629651841946, -1.5208998963475162, -0.33811229383463026, -0.17664226801389288, -1.3705931268533758, -1.9065242582734951, -0.007800522848522759, -1.0243090806957114, -1.6250301159729073, -1.2248634716697089, -1.4433061817375206, 27.63130940246669, 20.923724093247294, 9.633399657062537, -1.085011337873758, -0.2842966243614101, -0.7466299720221069, -1.3480992924103705 ] }, { "name": "N3_plant", "type": "scatter", "x": [ "2024-01-01T00:00:00", "2024-01-01T01:00:00", "2024-01-01T02:00:00", "2024-01-01T03:00:00", "2024-01-01T04:00:00", "2024-01-01T05:00:00", "2024-01-01T06:00:00", "2024-01-01T07:00:00", "2024-01-01T08:00:00", "2024-01-01T09:00:00", "2024-01-01T10:00:00", "2024-01-01T11:00:00", "2024-01-01T12:00:00", "2024-01-01T13:00:00", "2024-01-01T14:00:00", "2024-01-01T15:00:00", "2024-01-01T16:00:00", "2024-01-01T17:00:00", "2024-01-01T18:00:00", "2024-01-01T19:00:00", "2024-01-01T20:00:00", "2024-01-01T21:00:00", "2024-01-01T22:00:00", "2024-01-01T23:00:00" ], "y": [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 28.217388299084746, 22.759272338273195, 11.062484674079945, 0.0, 0.0, 0.0, 0.0 ] }, { "name": "Creek1_N1", "type": "scatter", "x": [ "2024-01-01T00:00:00", "2024-01-01T01:00:00", "2024-01-01T02:00:00", "2024-01-01T03:00:00", "2024-01-01T04:00:00", "2024-01-01T05:00:00", "2024-01-01T06:00:00", "2024-01-01T07:00:00", "2024-01-01T08:00:00", "2024-01-01T09:00:00", "2024-01-01T10:00:00", "2024-01-01T11:00:00", "2024-01-01T12:00:00", "2024-01-01T13:00:00", "2024-01-01T14:00:00", "2024-01-01T15:00:00", "2024-01-01T16:00:00", "2024-01-01T17:00:00", "2024-01-01T18:00:00", "2024-01-01T19:00:00", "2024-01-01T20:00:00", "2024-01-01T21:00:00", "2024-01-01T22:00:00", "2024-01-01T23:00:00" ], "y": [ 0.7712342692948825, 0.020682859056439986, 0.6335781359416, 0.7486619274926893, 0.4983905729971804, 0.22472691776996898, 0.19802058586093862, 0.7604229746776805, 0.16902970884872087, 0.08831231299477924, 0.6852758492282489, 0.9532148727361104, 0.003872197502840744, 0.5121408190400432, 0.8124776541958586, 0.6123917678026297, 0.7216144240363715, 0.2931147822434865, 0.9179774826689616, 0.7146764511583888, 0.5425642062683188, 0.1421112013417137, 0.3732856680730923, 0.6740244168726777 ] }, { "name": "Creek2_N2", "type": "scatter", "x": [ "2024-01-01T00:00:00", "2024-01-01T01:00:00", "2024-01-01T02:00:00", "2024-01-01T03:00:00", "2024-01-01T04:00:00", "2024-01-01T05:00:00", "2024-01-01T06:00:00", "2024-01-01T07:00:00", "2024-01-01T08:00:00", "2024-01-01T09:00:00", "2024-01-01T10:00:00", "2024-01-01T11:00:00", "2024-01-01T12:00:00", "2024-01-01T13:00:00", "2024-01-01T14:00:00", "2024-01-01T15:00:00", "2024-01-01T16:00:00", "2024-01-01T17:00:00", "2024-01-01T18:00:00", "2024-01-01T19:00:00", "2024-01-01T20:00:00", "2024-01-01T21:00:00", "2024-01-01T22:00:00", "2024-01-01T23:00:00" ], "y": [ 2.3138541012597873, 0.06217709604060187, 1.9008578243309957, 2.2462401134764893, 1.4953835356984948, 0.6743076717819058, 0.5941379165479179, 2.281459060888637, 0.5072390124045997, 0.26498663993036103, 2.055975392455493, 2.8599627785794755, 0.011759925342638835, 1.5365132559670418, 2.4376880336851348, 1.8374190760081033, 2.165095456245731, 0.8773176696153833, 2.753459686998477, 2.143771828629529, 1.6276380399041053, 0.4264422042251292, 1.1199558413746185, 2.022267428493733 ] }, { "name": "Creek3_N3", "type": "scatter", "x": [ "2024-01-01T00:00:00", "2024-01-01T01:00:00", "2024-01-01T02:00:00", "2024-01-01T03:00:00", "2024-01-01T04:00:00", "2024-01-01T05:00:00", "2024-01-01T06:00:00", "2024-01-01T07:00:00", "2024-01-01T08:00:00", "2024-01-01T09:00:00", "2024-01-01T10:00:00", "2024-01-01T11:00:00", "2024-01-01T12:00:00", "2024-01-01T13:00:00", "2024-01-01T14:00:00", "2024-01-01T15:00:00", "2024-01-01T16:00:00", "2024-01-01T17:00:00", "2024-01-01T18:00:00", "2024-01-01T19:00:00", "2024-01-01T20:00:00", "2024-01-01T21:00:00", "2024-01-01T22:00:00", "2024-01-01T23:00:00" ], "y": [ 1.5425090176521983, 0.04141188616593298, 1.2671921425554107, 1.4974010755082894, 0.9968516551448907, 0.44949722154943395, 0.396066296518422, 1.520899896347518, 0.3381122938346304, 0.17664226801389427, 1.3705931268533744, 1.9065242582734965, 0.007800522848522788, 1.0243090806957116, 1.625030115972907, 1.2248634716697089, 1.4433061817375206, 0.5860788966180599, 1.8355482450258866, 1.4290850170174072, 1.0850113378737596, 0.28429662436141057, 0.7466299720221063, 1.3480992924103712 ] } ], "layout": { "template": { "data": { "bar": [ { "error_x": { "color": "#2a3f5f" }, "error_y": { "color": "#2a3f5f" }, "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "baxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "heatmap" } ], "heatmapgl": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "heatmapgl" } ], "histogram": [ { "marker": { "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "fillpattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergl" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "#EBF0F8" }, "line": { "color": "white" } }, "header": { "fill": { "color": "#C8D4E3" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1 }, "autotypenumbers": "strict", "coloraxis": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "colorscale": { "diverging": [ [ 0, "#8e0152" ], [ 0.1, "#c51b7d" ], [ 0.2, "#de77ae" ], [ 0.3, "#f1b6da" ], [ 0.4, "#fde0ef" ], [ 0.5, "#f7f7f7" ], [ 0.6, "#e6f5d0" ], [ 0.7, "#b8e186" ], [ 0.8, "#7fbc41" ], [ 0.9, "#4d9221" ], [ 1, "#276419" ] ], "sequential": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "sequentialminus": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ] }, "colorway": [ "#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52" ], "font": { "color": "#2a3f5f" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "#E5ECF6", "showlakes": true, "showland": true, "subunitcolor": "white" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "mapbox": { "style": "light" }, "paper_bgcolor": "white", "plot_bgcolor": "#E5ECF6", "polar": { "angularaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "radialaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "scene": { "xaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "yaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "zaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" } }, "shapedefaults": { "line": { "color": "#2a3f5f" } }, "ternary": { "aaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "baxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "caxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "title": { "x": 0.05 }, "xaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 }, "yaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 } } }, "title": { "text": "Tunnel flow" }, "yaxis": { "title": { "text": "Flow [m3/s]" } } } }, "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "name": "Rsv_N1", "type": "scatter", "x": [ "2024-01-01T00:00:00", "2024-01-01T01:00:00", "2024-01-01T02:00:00", "2024-01-01T03:00:00", "2024-01-01T04:00:00", "2024-01-01T05:00:00", "2024-01-01T06:00:00", "2024-01-01T07:00:00", "2024-01-01T08:00:00", "2024-01-01T09:00:00", "2024-01-01T10:00:00", "2024-01-01T11:00:00", "2024-01-01T12:00:00", "2024-01-01T13:00:00", "2024-01-01T14:00:00", "2024-01-01T15:00:00", "2024-01-01T16:00:00", "2024-01-01T17:00:00", "2024-01-01T18:00:00", "2024-01-01T19:00:00", "2024-01-01T20:00:00", "2024-01-01T21:00:00", "2024-01-01T22:00:00", "2024-01-01T23:00:00" ], "y": [ 2.389724338414112e-07, -1.1913121319290232e-06, 2.2838208688646944e-06, -1.989772942856405e-06, 4.861455469296061e-07, 4.420029857676866e-07, -6.139655162051838e-08, -3.3781765651497153e-07, -6.916899684128452e-07, 1.6194052177009866e-06, -4.3715593545101683e-07, -1.15477960971333e-06, 6.34735206856557e-07, 1.5110094193637735e-06, -2.24994395203737e-06, 4.791459446984447e-07, 1.369216461100109e-05, -1.9650442705909654e-05, 5.5018003735085586e-06, -2.137951949698902e-06, 3.770449679585397e-06, 9.001704879385564e-06, -6.950712761355504e-06, -1.2489596936227088e-05 ] }, { "name": "N1_N2", "type": "scatter", "x": [ "2024-01-01T00:00:00", "2024-01-01T01:00:00", "2024-01-01T02:00:00", "2024-01-01T03:00:00", "2024-01-01T04:00:00", "2024-01-01T05:00:00", "2024-01-01T06:00:00", "2024-01-01T07:00:00", "2024-01-01T08:00:00", "2024-01-01T09:00:00", "2024-01-01T10:00:00", "2024-01-01T11:00:00", "2024-01-01T12:00:00", "2024-01-01T13:00:00", "2024-01-01T14:00:00", "2024-01-01T15:00:00", "2024-01-01T16:00:00", "2024-01-01T17:00:00", "2024-01-01T18:00:00", "2024-01-01T19:00:00", "2024-01-01T20:00:00", "2024-01-01T21:00:00", "2024-01-01T22:00:00", "2024-01-01T23:00:00" ], "y": [ 1.7261761087183913e-07, -8.620243415052853e-07, 1.6570594980613862e-06, -1.4515617987598262e-06, 3.6495567767858006e-07, 3.124491188000178e-07, -4.301458511601908e-08, -2.4558627531590105e-07, -4.950025837002769e-07, 1.167452267691882e-06, -3.1822246482349215e-07, -8.370162634108169e-07, 4.7423890102080146e-07, 1.0764047497779927e-06, -1.6339736381709713e-06, 3.7102871397465265e-07, 1.0477042825751681e-05, -1.4666591390266603e-05, 3.4536501765103367e-06, -9.008335242199905e-07, 7.035740701155646e-08, 1.1890732484531874e-05, -7.814124618699125e-06, -1.0080853328098272e-05 ] }, { "name": "N2_N3", "type": "scatter", "x": [ "2024-01-01T00:00:00", "2024-01-01T01:00:00", "2024-01-01T02:00:00", "2024-01-01T03:00:00", "2024-01-01T04:00:00", "2024-01-01T05:00:00", "2024-01-01T06:00:00", "2024-01-01T07:00:00", "2024-01-01T08:00:00", "2024-01-01T09:00:00", "2024-01-01T10:00:00", "2024-01-01T11:00:00", "2024-01-01T12:00:00", "2024-01-01T13:00:00", "2024-01-01T14:00:00", "2024-01-01T15:00:00", "2024-01-01T16:00:00", "2024-01-01T17:00:00", "2024-01-01T18:00:00", "2024-01-01T19:00:00", "2024-01-01T20:00:00", "2024-01-01T21:00:00", "2024-01-01T22:00:00", "2024-01-01T23:00:00" ], "y": [ 9.707943515735451e-08, -4.873083605597128e-07, 9.434493524196341e-07, -8.360620324943113e-07, 2.1971666597231376e-07, 1.73552527849008e-07, -2.689901223984492e-08, -1.3988176417178977e-07, -2.744321443981512e-07, 6.623019039864175e-07, -1.8961928538452355e-07, -4.7318461171563797e-07, 2.814874354153604e-07, 5.985735198610342e-07, -9.347737206510942e-07, 2.3030523688127857e-07, 6.208853976286122e-06, -8.570247281625143e-06, 1.5823869681241831e-06, 9.467074537639064e-07, -5.270181584471345e-06, 1.5206006351575763e-05, -8.492106337021355e-06, -6.995409128407459e-06 ] }, { "name": "N3_plant", "type": "scatter", "x": [ "2024-01-01T00:00:00", "2024-01-01T01:00:00", "2024-01-01T02:00:00", "2024-01-01T03:00:00", "2024-01-01T04:00:00", "2024-01-01T05:00:00", "2024-01-01T06:00:00", "2024-01-01T07:00:00", "2024-01-01T08:00:00", "2024-01-01T09:00:00", "2024-01-01T10:00:00", "2024-01-01T11:00:00", "2024-01-01T12:00:00", "2024-01-01T13:00:00", "2024-01-01T14:00:00", "2024-01-01T15:00:00", "2024-01-01T16:00:00", "2024-01-01T17:00:00", "2024-01-01T18:00:00", "2024-01-01T19:00:00", "2024-01-01T20:00:00", "2024-01-01T21:00:00", "2024-01-01T22:00:00", "2024-01-01T23:00:00" ], "y": [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -7.105427357601002e-15, 7.105427357601002e-15, 1.7763568394002505e-15, 0.0, 0.0, 0.0, 0.0 ] }, { "name": "Creek1_N1", "type": "scatter", "x": [ "2024-01-01T00:00:00", "2024-01-01T01:00:00", "2024-01-01T02:00:00", "2024-01-01T03:00:00", "2024-01-01T04:00:00", "2024-01-01T05:00:00", "2024-01-01T06:00:00", "2024-01-01T07:00:00", "2024-01-01T08:00:00", "2024-01-01T09:00:00", "2024-01-01T10:00:00", "2024-01-01T11:00:00", "2024-01-01T12:00:00", "2024-01-01T13:00:00", "2024-01-01T14:00:00", "2024-01-01T15:00:00", "2024-01-01T16:00:00", "2024-01-01T17:00:00", "2024-01-01T18:00:00", "2024-01-01T19:00:00", "2024-01-01T20:00:00", "2024-01-01T21:00:00", "2024-01-01T22:00:00", "2024-01-01T23:00:00" ], "y": [ -6.635482519001812e-08, 3.29287790121896e-07, -6.267613705812636e-07, 5.382111452068017e-07, -1.2118987063880482e-07, -1.2955386510804523e-07, 1.8381965338765127e-08, 9.223138053293667e-08, 1.9668738393541219e-07, -4.519529500091046e-07, 1.1893346973934626e-07, 3.1776334796784766e-07, -1.6049631383022872e-07, -4.3460467036293693e-07, 6.159703126451532e-07, -1.0811723072379209e-07, -3.21512178436123e-06, 4.983851302153841e-06, -2.0481501905589283e-06, 1.2371184189285955e-06, -3.7000922744612197e-06, 2.8890276037585316e-06, -8.634118576211769e-07, 2.4088737419214468e-06 ] }, { "name": "Creek2_N2", "type": "scatter", "x": [ "2024-01-01T00:00:00", "2024-01-01T01:00:00", "2024-01-01T02:00:00", "2024-01-01T03:00:00", "2024-01-01T04:00:00", "2024-01-01T05:00:00", "2024-01-01T06:00:00", "2024-01-01T07:00:00", "2024-01-01T08:00:00", "2024-01-01T09:00:00", "2024-01-01T10:00:00", "2024-01-01T11:00:00", "2024-01-01T12:00:00", "2024-01-01T13:00:00", "2024-01-01T14:00:00", "2024-01-01T15:00:00", "2024-01-01T16:00:00", "2024-01-01T17:00:00", "2024-01-01T18:00:00", "2024-01-01T19:00:00", "2024-01-01T20:00:00", "2024-01-01T21:00:00", "2024-01-01T22:00:00", "2024-01-01T23:00:00" ], "y": [ -7.553817527039541e-08, 3.7471598093863356e-07, -7.136101456417521e-07, 6.154997640450688e-07, -1.4523901015195406e-07, -1.3889659056243175e-07, 1.611557265412955e-08, 1.057045118102451e-07, 2.2057043980172608e-07, -5.051503637609756e-07, 1.286031796610132e-07, 3.6383164658815303e-07, -1.9275146698541357e-07, -4.778312299169585e-07, 6.991999184080555e-07, -1.4072347731541868e-07, -4.2681888494655595e-06, 6.096344103978524e-06, -1.8712632039452615e-06, 1.8475409637730422e-06, -5.340538991260857e-06, 3.3152738670438886e-06, -6.779817183222292e-07, 3.085444199246723e-06 ] }, { "name": "Creek3_N3", "type": "scatter", "x": [ "2024-01-01T00:00:00", "2024-01-01T01:00:00", "2024-01-01T02:00:00", "2024-01-01T03:00:00", "2024-01-01T04:00:00", "2024-01-01T05:00:00", "2024-01-01T06:00:00", "2024-01-01T07:00:00", "2024-01-01T08:00:00", "2024-01-01T09:00:00", "2024-01-01T10:00:00", "2024-01-01T11:00:00", "2024-01-01T12:00:00", "2024-01-01T13:00:00", "2024-01-01T14:00:00", "2024-01-01T15:00:00", "2024-01-01T16:00:00", "2024-01-01T17:00:00", "2024-01-01T18:00:00", "2024-01-01T19:00:00", "2024-01-01T20:00:00", "2024-01-01T21:00:00", "2024-01-01T22:00:00", "2024-01-01T23:00:00" ], "y": [ -9.707943404713149e-08, 4.873083608511464e-07, -9.434493524196341e-07, 8.360620331604451e-07, -2.1971666630538067e-07, -1.7355252779349684e-07, 2.6899014793357878e-08, 1.398817659481466e-07, 2.744321445091735e-07, -6.623019025986387e-07, 1.8961928405225592e-07, 4.731846130479056e-07, -2.814874353858701e-07, -5.985735196389896e-07, 9.347737204290496e-07, -2.3030523688127857e-07, -6.208853976286122e-06, 8.570247277739362e-06, -1.582386976561878e-06, -9.467074537639064e-07, 5.270181586025657e-06, -1.5206006351131673e-05, 8.492106336466243e-06, 6.995409129073593e-06 ] } ], "layout": { "template": { "data": { "bar": [ { "error_x": { "color": "#2a3f5f" }, "error_y": { "color": "#2a3f5f" }, "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "baxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "heatmap" } ], "heatmapgl": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "heatmapgl" } ], "histogram": [ { "marker": { "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "fillpattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergl" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "#EBF0F8" }, "line": { "color": "white" } }, "header": { "fill": { "color": "#C8D4E3" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1 }, "autotypenumbers": "strict", "coloraxis": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "colorscale": { "diverging": [ [ 0, "#8e0152" ], [ 0.1, "#c51b7d" ], [ 0.2, "#de77ae" ], [ 0.3, "#f1b6da" ], [ 0.4, "#fde0ef" ], [ 0.5, "#f7f7f7" ], [ 0.6, "#e6f5d0" ], [ 0.7, "#b8e186" ], [ 0.8, "#7fbc41" ], [ 0.9, "#4d9221" ], [ 1, "#276419" ] ], "sequential": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "sequentialminus": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ] }, "colorway": [ "#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52" ], "font": { "color": "#2a3f5f" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "#E5ECF6", "showlakes": true, "showland": true, "subunitcolor": "white" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "mapbox": { "style": "light" }, "paper_bgcolor": "white", "plot_bgcolor": "#E5ECF6", "polar": { "angularaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "radialaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "scene": { "xaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "yaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "zaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" } }, "shapedefaults": { "line": { "color": "#2a3f5f" } }, "ternary": { "aaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "baxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "caxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "title": { "x": 0.05 }, "xaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 }, "yaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 } } }, "title": { "text": "Tunnel flow deviation from post-calculated flow" }, "yaxis": { "title": { "text": "Flow [m3/s]" } } } }, "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig = go.Figure()\n", "for t in shop.model.tunnel:\n", " flow = t.flow.get()\n", " fig.add_trace(go.Scatter(x=flow.index, y=flow.values, name=t.get_name())) \n", "\n", "fig.update_layout(title=\"Tunnel flow\")\n", "fig.update_yaxes(title_text=\"Flow [m3/s]\")\n", "fig.show() \n", "\n", "fig = go.Figure()\n", "for t in shop.model.tunnel:\n", " flow = t.flow.get()\n", " pflow = t.physical_flow.get()\n", " fig.add_trace(go.Scatter(x=flow.index, y=flow.values-pflow.values, name=t.get_name())) \n", "\n", "fig.update_layout(title=\"Tunnel flow deviation from post-calculated flow\")\n", "fig.update_yaxes(title_text=\"Flow [m3/s]\")\n", "fig.show() " ] }, { "cell_type": "markdown", "id": "d2f8fd8e", "metadata": {}, "source": [ "There is no flow in any of the spillways, as expected. As for the tunnel flow, the deviation between the optimized [flow](river:flow) and post-calculated [physical_flow](river:physical_flow) is zero for all rivers." ] }, { "cell_type": "code", "execution_count": 9, "id": "62b7c203", "metadata": {}, "outputs": [ { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "name": "Spill_rsv", "type": "scatter", "x": [ "2024-01-01T00:00:00", "2024-01-01T01:00:00", "2024-01-01T02:00:00", "2024-01-01T03:00:00", "2024-01-01T04:00:00", "2024-01-01T05:00:00", "2024-01-01T06:00:00", "2024-01-01T07:00:00", "2024-01-01T08:00:00", "2024-01-01T09:00:00", "2024-01-01T10:00:00", "2024-01-01T11:00:00", "2024-01-01T12:00:00", "2024-01-01T13:00:00", "2024-01-01T14:00:00", "2024-01-01T15:00:00", "2024-01-01T16:00:00", "2024-01-01T17:00:00", "2024-01-01T18:00:00", "2024-01-01T19:00:00", "2024-01-01T20:00:00", "2024-01-01T21:00:00", "2024-01-01T22:00:00", "2024-01-01T23:00:00" ], "y": [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ] }, { "name": "Spill_C1", "type": "scatter", "x": [ "2024-01-01T00:00:00", "2024-01-01T01:00:00", "2024-01-01T02:00:00", "2024-01-01T03:00:00", "2024-01-01T04:00:00", "2024-01-01T05:00:00", "2024-01-01T06:00:00", "2024-01-01T07:00:00", "2024-01-01T08:00:00", "2024-01-01T09:00:00", "2024-01-01T10:00:00", "2024-01-01T11:00:00", "2024-01-01T12:00:00", "2024-01-01T13:00:00", "2024-01-01T14:00:00", "2024-01-01T15:00:00", "2024-01-01T16:00:00", "2024-01-01T17:00:00", "2024-01-01T18:00:00", "2024-01-01T19:00:00", "2024-01-01T20:00:00", "2024-01-01T21:00:00", "2024-01-01T22:00:00", "2024-01-01T23:00:00" ], "y": [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ] }, { "name": "Spill_C2", "type": "scatter", "x": [ "2024-01-01T00:00:00", "2024-01-01T01:00:00", "2024-01-01T02:00:00", "2024-01-01T03:00:00", "2024-01-01T04:00:00", "2024-01-01T05:00:00", "2024-01-01T06:00:00", "2024-01-01T07:00:00", "2024-01-01T08:00:00", "2024-01-01T09:00:00", "2024-01-01T10:00:00", "2024-01-01T11:00:00", "2024-01-01T12:00:00", "2024-01-01T13:00:00", "2024-01-01T14:00:00", "2024-01-01T15:00:00", "2024-01-01T16:00:00", "2024-01-01T17:00:00", "2024-01-01T18:00:00", "2024-01-01T19:00:00", "2024-01-01T20:00:00", "2024-01-01T21:00:00", "2024-01-01T22:00:00", "2024-01-01T23:00:00" ], "y": [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ] }, { "name": "Spill_C3", "type": "scatter", "x": [ "2024-01-01T00:00:00", "2024-01-01T01:00:00", "2024-01-01T02:00:00", "2024-01-01T03:00:00", "2024-01-01T04:00:00", "2024-01-01T05:00:00", "2024-01-01T06:00:00", "2024-01-01T07:00:00", "2024-01-01T08:00:00", "2024-01-01T09:00:00", "2024-01-01T10:00:00", "2024-01-01T11:00:00", "2024-01-01T12:00:00", "2024-01-01T13:00:00", "2024-01-01T14:00:00", "2024-01-01T15:00:00", "2024-01-01T16:00:00", "2024-01-01T17:00:00", "2024-01-01T18:00:00", "2024-01-01T19:00:00", "2024-01-01T20:00:00", "2024-01-01T21:00:00", "2024-01-01T22:00:00", "2024-01-01T23:00:00" ], "y": [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ] } ], "layout": { "template": { "data": { "bar": [ { "error_x": { "color": "#2a3f5f" }, "error_y": { "color": "#2a3f5f" }, "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "baxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "heatmap" } ], "heatmapgl": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "heatmapgl" } ], "histogram": [ { "marker": { "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "fillpattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergl" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "#EBF0F8" }, "line": { "color": "white" } }, "header": { "fill": { "color": "#C8D4E3" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1 }, "autotypenumbers": "strict", "coloraxis": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "colorscale": { "diverging": [ [ 0, "#8e0152" ], [ 0.1, "#c51b7d" ], [ 0.2, "#de77ae" ], [ 0.3, "#f1b6da" ], [ 0.4, "#fde0ef" ], [ 0.5, "#f7f7f7" ], [ 0.6, "#e6f5d0" ], [ 0.7, "#b8e186" ], [ 0.8, "#7fbc41" ], [ 0.9, "#4d9221" ], [ 1, "#276419" ] ], "sequential": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "sequentialminus": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ] }, "colorway": [ "#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52" ], "font": { "color": "#2a3f5f" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "#E5ECF6", "showlakes": true, "showland": true, "subunitcolor": "white" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "mapbox": { "style": "light" }, "paper_bgcolor": "white", "plot_bgcolor": "#E5ECF6", "polar": { "angularaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "radialaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "scene": { "xaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "yaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "zaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" } }, "shapedefaults": { "line": { "color": "#2a3f5f" } }, "ternary": { "aaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "baxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "caxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "title": { "x": 0.05 }, "xaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 }, "yaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 } } }, "title": { "text": "River flow" }, "yaxis": { "title": { "text": "Flow [m3/s]" } } } }, "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "name": "Spill_rsv", "type": "scatter", "x": [ "2024-01-01T00:00:00", "2024-01-01T01:00:00", "2024-01-01T02:00:00", "2024-01-01T03:00:00", "2024-01-01T04:00:00", "2024-01-01T05:00:00", "2024-01-01T06:00:00", "2024-01-01T07:00:00", "2024-01-01T08:00:00", "2024-01-01T09:00:00", "2024-01-01T10:00:00", "2024-01-01T11:00:00", "2024-01-01T12:00:00", "2024-01-01T13:00:00", "2024-01-01T14:00:00", "2024-01-01T15:00:00", "2024-01-01T16:00:00", "2024-01-01T17:00:00", "2024-01-01T18:00:00", "2024-01-01T19:00:00", "2024-01-01T20:00:00", "2024-01-01T21:00:00", "2024-01-01T22:00:00", "2024-01-01T23:00:00" ], "y": [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ] }, { "name": "Spill_C1", "type": "scatter", "x": [ "2024-01-01T00:00:00", "2024-01-01T01:00:00", "2024-01-01T02:00:00", "2024-01-01T03:00:00", "2024-01-01T04:00:00", "2024-01-01T05:00:00", "2024-01-01T06:00:00", "2024-01-01T07:00:00", "2024-01-01T08:00:00", "2024-01-01T09:00:00", "2024-01-01T10:00:00", "2024-01-01T11:00:00", "2024-01-01T12:00:00", "2024-01-01T13:00:00", "2024-01-01T14:00:00", "2024-01-01T15:00:00", "2024-01-01T16:00:00", "2024-01-01T17:00:00", "2024-01-01T18:00:00", "2024-01-01T19:00:00", "2024-01-01T20:00:00", "2024-01-01T21:00:00", "2024-01-01T22:00:00", "2024-01-01T23:00:00" ], "y": [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ] }, { "name": "Spill_C2", "type": "scatter", "x": [ "2024-01-01T00:00:00", "2024-01-01T01:00:00", "2024-01-01T02:00:00", "2024-01-01T03:00:00", "2024-01-01T04:00:00", "2024-01-01T05:00:00", "2024-01-01T06:00:00", "2024-01-01T07:00:00", "2024-01-01T08:00:00", "2024-01-01T09:00:00", "2024-01-01T10:00:00", "2024-01-01T11:00:00", "2024-01-01T12:00:00", "2024-01-01T13:00:00", "2024-01-01T14:00:00", "2024-01-01T15:00:00", "2024-01-01T16:00:00", "2024-01-01T17:00:00", "2024-01-01T18:00:00", "2024-01-01T19:00:00", "2024-01-01T20:00:00", "2024-01-01T21:00:00", "2024-01-01T22:00:00", "2024-01-01T23:00:00" ], "y": [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ] }, { "name": "Spill_C3", "type": "scatter", "x": [ "2024-01-01T00:00:00", "2024-01-01T01:00:00", "2024-01-01T02:00:00", "2024-01-01T03:00:00", "2024-01-01T04:00:00", "2024-01-01T05:00:00", "2024-01-01T06:00:00", "2024-01-01T07:00:00", "2024-01-01T08:00:00", "2024-01-01T09:00:00", "2024-01-01T10:00:00", "2024-01-01T11:00:00", "2024-01-01T12:00:00", "2024-01-01T13:00:00", "2024-01-01T14:00:00", "2024-01-01T15:00:00", "2024-01-01T16:00:00", "2024-01-01T17:00:00", "2024-01-01T18:00:00", "2024-01-01T19:00:00", "2024-01-01T20:00:00", "2024-01-01T21:00:00", "2024-01-01T22:00:00", "2024-01-01T23:00:00" ], "y": [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ] } ], "layout": { "template": { "data": { "bar": [ { "error_x": { "color": "#2a3f5f" }, "error_y": { "color": "#2a3f5f" }, "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "baxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "heatmap" } ], "heatmapgl": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "heatmapgl" } ], "histogram": [ { "marker": { "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "fillpattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergl" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "#EBF0F8" }, "line": { "color": "white" } }, "header": { "fill": { "color": "#C8D4E3" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1 }, "autotypenumbers": "strict", "coloraxis": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "colorscale": { "diverging": [ [ 0, "#8e0152" ], [ 0.1, "#c51b7d" ], [ 0.2, "#de77ae" ], [ 0.3, "#f1b6da" ], [ 0.4, "#fde0ef" ], [ 0.5, "#f7f7f7" ], [ 0.6, "#e6f5d0" ], [ 0.7, "#b8e186" ], [ 0.8, "#7fbc41" ], [ 0.9, "#4d9221" ], [ 1, "#276419" ] ], "sequential": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "sequentialminus": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ] }, "colorway": [ "#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52" ], "font": { "color": "#2a3f5f" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "#E5ECF6", "showlakes": true, "showland": true, "subunitcolor": "white" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "mapbox": { "style": "light" }, "paper_bgcolor": "white", "plot_bgcolor": "#E5ECF6", "polar": { "angularaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "radialaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "scene": { "xaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "yaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "zaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" } }, "shapedefaults": { "line": { "color": "#2a3f5f" } }, "ternary": { "aaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "baxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "caxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "title": { "x": 0.05 }, "xaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 }, "yaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 } } }, "title": { "text": "River flow deviation from post-calculated flow" }, "yaxis": { "title": { "text": "Flow [m3/s]" } } } }, "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#Plot river flow\n", "fig = go.Figure()\n", "for r in shop.model.river:\n", " flow = r.flow.get()\n", " fig.add_trace(go.Scatter(x=flow.index, y=flow.values, name=r.get_name()))\n", "\n", "fig.update_layout(title=\"River flow\")\n", "fig.update_yaxes(title_text=\"Flow [m3/s]\")\n", "fig.show()\n", "\n", "fig = go.Figure()\n", "for r in shop.model.river:\n", " flow = r.flow.get()\n", " pflow = r.physical_flow.get()\n", " fig.add_trace(go.Scatter(x=flow.index, y=flow.values-pflow.values, name=r.get_name()))\n", "\n", "fig.update_layout(title=\"River flow deviation from post-calculated flow\")\n", "fig.update_yaxes(title_text=\"Flow [m3/s]\")\n", "fig.show()" ] }, { "cell_type": "markdown", "id": "d701a889", "metadata": {}, "source": [ "## Optimizing a wet system state\n", "\n", "In the wet system state, all reservoirs start at hrl and the creek intakes receive 10 times the amount of inflow compared to the dry case." ] }, { "cell_type": "code", "execution_count": 10, "id": "88783d05", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Wet objective value: -521677.9081555805\n" ] } ], "source": [ "shop = build_model()\n", "\n", "#Set initial state of the reservoirs to full\n", "for r in shop.model.reservoir:\n", " r.start_head.set(r.hrl.get())\n", " \n", "#Create a random inflow profile that is used for all three creeks\n", "np.random.seed(10)\n", "t = [shop.get_time_resolution()[\"starttime\"] + pd.Timedelta(minutes=60*i) for i in range(24)]\n", "inflow_profile = pd.Series(np.random.rand(24), index=t)\n", "\n", "shop.model.reservoir[\"Creek1\"].inflow.set(10*inflow_profile)\n", "shop.model.reservoir[\"Creek2\"].inflow.set(30*inflow_profile)\n", "shop.model.reservoir[\"Creek3\"].inflow.set(20*inflow_profile)\n", "\n", "#No inflow on the large reservoir\n", "shop.model.reservoir[\"Reservoir\"].inflow.set(0)\n", "\n", "#Run a standard optimization\n", "\n", "shop.set_universal_mip(\"off\",[])\n", "shop.start_sim([],[3])\n", "shop.set_universal_mip(\"on\",[])\n", "shop.start_sim([],[2])\n", "shop.set_code(['incremental'], [])\n", "shop.start_sim([],[5])\n", "\n", "wet_objective = shop.model.objective.average_objective.total.get()\n", "print(\"Wet objective value:\",wet_objective)" ] }, { "cell_type": "markdown", "id": "3f626ab4", "metadata": {}, "source": [ "The power plant has to operate in almost all hours to avoid spillage losses in the system, but is still able to ramp down when the prices are low. \n", "\n", "The initial reservoir levels of all creek intakes are high above the large reservoir, but this initial difference is quickly eliminated due to the operation of the power plant and the relatively low losses in the system. The reservoir levels in the three creeks vary rapidly from hour to hour as inflow and power plant discharge changes." ] }, { "cell_type": "code", "execution_count": 11, "id": "dc0d91f0", "metadata": {}, "outputs": [ { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "name": "Plant", "type": "scatter", "x": [ "2024-01-01T00:00:00", "2024-01-01T01:00:00", "2024-01-01T02:00:00", "2024-01-01T03:00:00", "2024-01-01T04:00:00", "2024-01-01T05:00:00", "2024-01-01T06:00:00", "2024-01-01T07:00:00", "2024-01-01T08:00:00", "2024-01-01T09:00:00", "2024-01-01T10:00:00", "2024-01-01T11:00:00", "2024-01-01T12:00:00", "2024-01-01T13:00:00", "2024-01-01T14:00:00", "2024-01-01T15:00:00", "2024-01-01T16:00:00", "2024-01-01T17:00:00", "2024-01-01T18:00:00", "2024-01-01T19:00:00", "2024-01-01T20:00:00", "2024-01-01T21:00:00", "2024-01-01T22:00:00", "2024-01-01T23:00:00" ], "y": [ 63.75476844620866, 63.09435826536852, 13.515524084318642, 9.999933187812996, 9.999949767716755, 9.999967454291928, 9.999968181695188, 9.9999320675838, 9.999969405162929, 9.999967060012022, 55.4505199351207, 63.821615749433306, 63.064392494147256, 63.531090722678016, 66.31584862246322, 69.99975399746964, 69.99977019686307, 69.99967852475956, 69.99979822777803, 69.99977213259997, 67.66678552731528, 63.04074686757316, 63.239157888982604, 0.0 ] }, { "name": "Price", "type": "scatter", "x": [ "2024-01-01T00:00:00", "2024-01-01T01:00:00", "2024-01-01T02:00:00", "2024-01-01T03:00:00", "2024-01-01T04:00:00", "2024-01-01T05:00:00", "2024-01-01T06:00:00", "2024-01-01T07:00:00", "2024-01-01T08:00:00", "2024-01-01T09:00:00", "2024-01-01T10:00:00", "2024-01-01T11:00:00", "2024-01-01T12:00:00", "2024-01-01T13:00:00", "2024-01-01T14:00:00", "2024-01-01T15:00:00", "2024-01-01T16:00:00", "2024-01-01T17:00:00", "2024-01-01T18:00:00", "2024-01-01T19:00:00", "2024-01-01T20:00:00", "2024-01-01T21:00:00", "2024-01-01T22:00:00", "2024-01-01T23:00:00" ], "xaxis": "x", "y": [ 29.56, 28.46, 26.66, 24.48, 24.01, 21.23, 22.62, 25.04, 26.24, 32.21, 41.34, 43.51, 43.02, 44.29, 46.24, 50.61, 59.47, 64.99, 61.74, 55.07, 48.01, 44.01, 45.2, 38.0 ], "yaxis": "y2" } ], "layout": { "barmode": "stack", "template": { "data": { "bar": [ { "error_x": { "color": "#2a3f5f" }, "error_y": { "color": "#2a3f5f" }, "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "baxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "heatmap" } ], "heatmapgl": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "heatmapgl" } ], "histogram": [ { "marker": { "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "fillpattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergl" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "#EBF0F8" }, "line": { "color": "white" } }, "header": { "fill": { "color": "#C8D4E3" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1 }, "autotypenumbers": "strict", "coloraxis": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "colorscale": { "diverging": [ [ 0, "#8e0152" ], [ 0.1, "#c51b7d" ], [ 0.2, "#de77ae" ], [ 0.3, "#f1b6da" ], [ 0.4, "#fde0ef" ], [ 0.5, "#f7f7f7" ], [ 0.6, "#e6f5d0" ], [ 0.7, "#b8e186" ], [ 0.8, "#7fbc41" ], [ 0.9, "#4d9221" ], [ 1, "#276419" ] ], "sequential": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "sequentialminus": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ] }, "colorway": [ "#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52" ], "font": { "color": "#2a3f5f" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "#E5ECF6", "showlakes": true, "showland": true, "subunitcolor": "white" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "mapbox": { "style": "light" }, "paper_bgcolor": "white", "plot_bgcolor": "#E5ECF6", "polar": { "angularaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "radialaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "scene": { "xaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "yaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "zaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" } }, "shapedefaults": { "line": { "color": "#2a3f5f" } }, "ternary": { "aaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "baxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "caxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "title": { "x": 0.05 }, "xaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 }, "yaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 } } }, "title": { "text": "Production and market price" }, "xaxis": { "anchor": "y", "domain": [ 0.0, 0.94 ] }, "yaxis": { "anchor": "x", "domain": [ 0.0, 1.0 ], "title": { "text": "Production [MW]" } }, "yaxis2": { "anchor": "x", "overlaying": "y", "side": "right", "title": { "text": "Energy price [€/MWh]" } } } }, "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "name": "Reservoir", "type": "scatter", "x": [ "2024-01-01T00:00:00", "2024-01-01T01:00:00", "2024-01-01T02:00:00", "2024-01-01T03:00:00", "2024-01-01T04:00:00", "2024-01-01T05:00:00", "2024-01-01T06:00:00", "2024-01-01T07:00:00", "2024-01-01T08:00:00", "2024-01-01T09:00:00", "2024-01-01T10:00:00", "2024-01-01T11:00:00", "2024-01-01T12:00:00", "2024-01-01T13:00:00", "2024-01-01T14:00:00", "2024-01-01T15:00:00", "2024-01-01T16:00:00", "2024-01-01T17:00:00", "2024-01-01T18:00:00", "2024-01-01T19:00:00", "2024-01-01T20:00:00", "2024-01-01T21:00:00", "2024-01-01T22:00:00", "2024-01-01T23:00:00", "2024-01-02T00:00:00" ], "y": [ 100.0, 99.98286894189515, 99.93862904808567, 99.95119869181131, 99.97041907642827, 99.98062608266866, 99.98097274838246, 99.98035593301115, 100.0, 99.99834625586132, 99.9937796878974, 99.9796452452921, 99.96896693581725, 99.92412884144758, 99.89755581923633, 99.87964519928823, 99.85115578138375, 99.82665512878836, 99.78627038674222, 99.76889260305178, 99.7440737026758, 99.71501337491138, 99.67513949409792, 99.64357441251376, 99.66782525670786 ] }, { "name": "Creek1", "type": "scatter", "x": [ "2024-01-01T00:00:00", "2024-01-01T01:00:00", "2024-01-01T02:00:00", "2024-01-01T03:00:00", "2024-01-01T04:00:00", "2024-01-01T05:00:00", "2024-01-01T06:00:00", "2024-01-01T07:00:00", "2024-01-01T08:00:00", "2024-01-01T09:00:00", "2024-01-01T10:00:00", "2024-01-01T11:00:00", "2024-01-01T12:00:00", "2024-01-01T13:00:00", "2024-01-01T14:00:00", "2024-01-01T15:00:00", "2024-01-01T16:00:00", "2024-01-01T17:00:00", "2024-01-01T18:00:00", "2024-01-01T19:00:00", "2024-01-01T20:00:00", "2024-01-01T21:00:00", "2024-01-01T22:00:00", "2024-01-01T23:00:00", "2024-01-02T00:00:00" ], "y": [ 110.0, 99.84919626457457, 99.22994291007878, 99.94589743874673, 100.12207924385943, 99.99541348421243, 99.96781125706377, 99.98332627627934, 100.16813097210208, 99.99092531444825, 99.97665729972061, 99.87787157280482, 99.90253515250227, 99.0410805749467, 99.55240388204108, 99.74004066057576, 99.4813428508718, 99.54020233835044, 99.06029261675262, 99.6162244036956, 99.46776150794146, 99.32404761216718, 98.96278265689773, 99.18885459721741, 99.94752617811773 ] }, { "name": "Creek2", "type": "scatter", "x": [ "2024-01-01T00:00:00", "2024-01-01T01:00:00", "2024-01-01T02:00:00", "2024-01-01T03:00:00", "2024-01-01T04:00:00", "2024-01-01T05:00:00", "2024-01-01T06:00:00", "2024-01-01T07:00:00", "2024-01-01T08:00:00", "2024-01-01T09:00:00", "2024-01-01T10:00:00", "2024-01-01T11:00:00", "2024-01-01T12:00:00", "2024-01-01T13:00:00", "2024-01-01T14:00:00", "2024-01-01T15:00:00", "2024-01-01T16:00:00", "2024-01-01T17:00:00", "2024-01-01T18:00:00", "2024-01-01T19:00:00", "2024-01-01T20:00:00", "2024-01-01T21:00:00", "2024-01-01T22:00:00", "2024-01-01T23:00:00", "2024-01-02T00:00:00" ], "y": [ 105.0, 99.81165783474131, 99.14506272941111, 99.91707538845803, 100.1354041157469, 100.0044051175756, 99.96980220052261, 99.9812887247212, 100.18142400357992, 99.98809282290746, 99.97445014023782, 99.85568480604454, 99.88421876329815, 98.90321291546175, 99.48883757555478, 99.70675436275089, 99.41006465710689, 99.48166560677652, 98.93728051375237, 99.57959307624247, 99.41084823461262, 99.2510991152837, 98.84731322592073, 99.10944297165169, 99.97702225718646 ] }, { "name": "Creek3", "type": "scatter", "x": [ "2024-01-01T00:00:00", "2024-01-01T01:00:00", "2024-01-01T02:00:00", "2024-01-01T03:00:00", "2024-01-01T04:00:00", "2024-01-01T05:00:00", "2024-01-01T06:00:00", "2024-01-01T07:00:00", "2024-01-01T08:00:00", "2024-01-01T09:00:00", "2024-01-01T10:00:00", "2024-01-01T11:00:00", "2024-01-01T12:00:00", "2024-01-01T13:00:00", "2024-01-01T14:00:00", "2024-01-01T15:00:00", "2024-01-01T16:00:00", "2024-01-01T17:00:00", "2024-01-01T18:00:00", "2024-01-01T19:00:00", "2024-01-01T20:00:00", "2024-01-01T21:00:00", "2024-01-01T22:00:00", "2024-01-01T23:00:00", "2024-01-02T00:00:00" ], "y": [ 101.0, 99.68752910209325, 99.03840862766461, 99.9164626729243, 100.13690796512732, 100.0004941618407, 99.96883163211614, 99.97886912943659, 100.18305836019556, 99.97772243887513, 99.9698020103047, 99.78632976804894, 99.80430891044247, 98.74059866886002, 99.39565297483658, 99.61849372496118, 99.27159162770165, 99.35978974297606, 98.7678390172193, 99.4873056771238, 99.2859117904748, 99.12251882173938, 98.70690285281414, 99.00243070682824, 100.00630348425648 ] } ], "layout": { "template": { "data": { "bar": [ { "error_x": { "color": "#2a3f5f" }, "error_y": { "color": "#2a3f5f" }, "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "baxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "heatmap" } ], "heatmapgl": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "heatmapgl" } ], "histogram": [ { "marker": { "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "fillpattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergl" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "#EBF0F8" }, "line": { "color": "white" } }, "header": { "fill": { "color": "#C8D4E3" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1 }, "autotypenumbers": "strict", "coloraxis": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "colorscale": { "diverging": [ [ 0, "#8e0152" ], [ 0.1, "#c51b7d" ], [ 0.2, "#de77ae" ], [ 0.3, "#f1b6da" ], [ 0.4, "#fde0ef" ], [ 0.5, "#f7f7f7" ], [ 0.6, "#e6f5d0" ], [ 0.7, "#b8e186" ], [ 0.8, "#7fbc41" ], [ 0.9, "#4d9221" ], [ 1, "#276419" ] ], "sequential": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "sequentialminus": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ] }, "colorway": [ "#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52" ], "font": { "color": "#2a3f5f" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "#E5ECF6", "showlakes": true, "showland": true, "subunitcolor": "white" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "mapbox": { "style": "light" }, "paper_bgcolor": "white", "plot_bgcolor": "#E5ECF6", "polar": { "angularaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "radialaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "scene": { "xaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "yaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "zaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" } }, "shapedefaults": { "line": { "color": "#2a3f5f" } }, "ternary": { "aaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "baxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "caxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "title": { "x": 0.05 }, "xaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 }, "yaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 } } }, "title": { "text": "Reservoir levels" }, "yaxis": { "title": { "text": "Level [masl]" } } } }, "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "name": "Reservoir", "type": "scatter", "x": [ "2024-01-01T00:00:00", "2024-01-01T01:00:00", "2024-01-01T02:00:00", "2024-01-01T03:00:00", "2024-01-01T04:00:00", "2024-01-01T05:00:00", "2024-01-01T06:00:00", "2024-01-01T07:00:00", "2024-01-01T08:00:00", "2024-01-01T09:00:00", "2024-01-01T10:00:00", "2024-01-01T11:00:00", "2024-01-01T12:00:00", "2024-01-01T13:00:00", "2024-01-01T14:00:00", "2024-01-01T15:00:00", "2024-01-01T16:00:00", "2024-01-01T17:00:00", "2024-01-01T18:00:00", "2024-01-01T19:00:00", "2024-01-01T20:00:00", "2024-01-01T21:00:00", "2024-01-01T22:00:00", "2024-01-01T23:00:00" ], "y": [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ] }, { "name": "Creek1", "type": "scatter", "x": [ "2024-01-01T00:00:00", "2024-01-01T01:00:00", "2024-01-01T02:00:00", "2024-01-01T03:00:00", "2024-01-01T04:00:00", "2024-01-01T05:00:00", "2024-01-01T06:00:00", "2024-01-01T07:00:00", "2024-01-01T08:00:00", "2024-01-01T09:00:00", "2024-01-01T10:00:00", "2024-01-01T11:00:00", "2024-01-01T12:00:00", "2024-01-01T13:00:00", "2024-01-01T14:00:00", "2024-01-01T15:00:00", "2024-01-01T16:00:00", "2024-01-01T17:00:00", "2024-01-01T18:00:00", "2024-01-01T19:00:00", "2024-01-01T20:00:00", "2024-01-01T21:00:00", "2024-01-01T22:00:00", "2024-01-01T23:00:00" ], "y": [ 7.71320643266746, 0.207519493594015, 6.336482349262754, 7.488038825386118, 4.9850701230259045, 2.2479664553084766, 1.9806286475962398, 7.605307121989587, 1.6911083656253545, 0.8833981417401027, 6.853598183677972, 9.533933461949365, 0.039482663279144514, 5.121922633857766, 8.126209616521136, 6.1252606682938815, 7.217553174317995, 2.9187606817063316, 9.177741225129434, 7.145757833976906, 5.425443680112613, 1.4217004760152696, 3.733407600514692, 6.741336150663453 ] }, { "name": "Creek2", "type": "scatter", "x": [ "2024-01-01T00:00:00", "2024-01-01T01:00:00", "2024-01-01T02:00:00", "2024-01-01T03:00:00", "2024-01-01T04:00:00", "2024-01-01T05:00:00", "2024-01-01T06:00:00", "2024-01-01T07:00:00", "2024-01-01T08:00:00", "2024-01-01T09:00:00", "2024-01-01T10:00:00", "2024-01-01T11:00:00", "2024-01-01T12:00:00", "2024-01-01T13:00:00", "2024-01-01T14:00:00", "2024-01-01T15:00:00", "2024-01-01T16:00:00", "2024-01-01T17:00:00", "2024-01-01T18:00:00", "2024-01-01T19:00:00", "2024-01-01T20:00:00", "2024-01-01T21:00:00", "2024-01-01T22:00:00", "2024-01-01T23:00:00" ], "y": [ 23.13961929800238, 0.622558480782045, 19.009447047788264, 22.464116476158356, 14.955210369077713, 6.743899365925429, 5.941885942788719, 22.815921365968762, 5.073325096876063, 2.650194425220308, 20.56079455103392, 28.601800385848097, 0.11844798983743354, 15.365767901573298, 24.378628849563405, 18.375782004881643, 21.652659522953986, 8.756282045118995, 27.533223675388303, 21.43727350193072, 16.276331040337837, 4.265101428045809, 11.200222801544076, 20.224008451990358 ] }, { "name": "Creek3", "type": "scatter", "x": [ "2024-01-01T00:00:00", "2024-01-01T01:00:00", "2024-01-01T02:00:00", "2024-01-01T03:00:00", "2024-01-01T04:00:00", "2024-01-01T05:00:00", "2024-01-01T06:00:00", "2024-01-01T07:00:00", "2024-01-01T08:00:00", "2024-01-01T09:00:00", "2024-01-01T10:00:00", "2024-01-01T11:00:00", "2024-01-01T12:00:00", "2024-01-01T13:00:00", "2024-01-01T14:00:00", "2024-01-01T15:00:00", "2024-01-01T16:00:00", "2024-01-01T17:00:00", "2024-01-01T18:00:00", "2024-01-01T19:00:00", "2024-01-01T20:00:00", "2024-01-01T21:00:00", "2024-01-01T22:00:00", "2024-01-01T23:00:00" ], "y": [ 15.42641286533492, 0.41503898718803, 12.672964698525508, 14.976077650772236, 9.970140246051809, 4.495932910616953, 3.9612572951924796, 15.210614243979174, 3.382216731250709, 1.7667962834802053, 13.707196367355944, 19.06786692389873, 0.07896532655828903, 10.243845267715532, 16.25241923304227, 12.250521336587763, 14.43510634863599, 5.837521363412663, 18.35548245025887, 14.291515667953812, 10.850887360225226, 2.843400952030539, 7.466815201029384, 13.482672301326906 ] } ], "layout": { "template": { "data": { "bar": [ { "error_x": { "color": "#2a3f5f" }, "error_y": { "color": "#2a3f5f" }, "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "baxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "heatmap" } ], "heatmapgl": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "heatmapgl" } ], "histogram": [ { "marker": { "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "fillpattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergl" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "#EBF0F8" }, "line": { "color": "white" } }, "header": { "fill": { "color": "#C8D4E3" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1 }, "autotypenumbers": "strict", "coloraxis": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "colorscale": { "diverging": [ [ 0, "#8e0152" ], [ 0.1, "#c51b7d" ], [ 0.2, "#de77ae" ], [ 0.3, "#f1b6da" ], [ 0.4, "#fde0ef" ], [ 0.5, "#f7f7f7" ], [ 0.6, "#e6f5d0" ], [ 0.7, "#b8e186" ], [ 0.8, "#7fbc41" ], [ 0.9, "#4d9221" ], [ 1, "#276419" ] ], "sequential": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "sequentialminus": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ] }, "colorway": [ "#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52" ], "font": { "color": "#2a3f5f" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "#E5ECF6", "showlakes": true, "showland": true, "subunitcolor": "white" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "mapbox": { "style": "light" }, "paper_bgcolor": "white", "plot_bgcolor": "#E5ECF6", "polar": { "angularaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "radialaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "scene": { "xaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "yaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "zaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" } }, "shapedefaults": { "line": { "color": "#2a3f5f" } }, "ternary": { "aaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "baxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "caxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "title": { "x": 0.05 }, "xaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 }, "yaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 } } }, "title": { "text": "Reservoir inflow" }, "yaxis": { "title": { "text": "Inflow [m3/s]" } } } }, "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#Plot production and market price\n", "fig = make_subplots(specs=[[{\"secondary_y\": True}]])\n", "fig.update_layout(barmode=\"stack\", title=\"Production and market price\")\n", "fig.update_yaxes(title_text=\"Energy price [€/MWh]\", secondary_y=True)\n", "fig.update_yaxes(title_text=\"Production [MW]\", secondary_y=False)\n", "\n", "for plant in shop.model.plant:\n", "\n", " prod = plant.production.get()\n", " fig.add_trace(go.Scatter(x=prod.index, y=prod.values, name=plant.get_name()))\n", "\n", "price = shop.model.market.spot.sale_price.get()\n", "fig.add_trace(go.Scatter(x=price.index, y=price.values, name=\"Price\"),secondary_y=True)\n", "fig.show()\n", "\n", "#Plot reservoir levels\n", "fig = go.Figure()\n", "for rsv in shop.model.reservoir:\n", " level = rsv.head.get()\n", " fig.add_trace(go.Scatter(x=level.index, y=level.values, name=rsv.get_name()))\n", "\n", "fig.update_layout(title=\"Reservoir levels\")\n", "fig.update_yaxes(title_text=\"Level [masl]\")\n", "fig.show()\n", "\n", "#Plot reservoir inflow\n", "fig = go.Figure()\n", "for rsv in shop.model.reservoir:\n", " inflow = rsv.inflow.get()\n", " fig.add_trace(go.Scatter(x=inflow.index, y=inflow.values, name=rsv.get_name()))\n", "\n", "fig.update_layout(title=\"Reservoir inflow\")\n", "fig.update_yaxes(title_text=\"Inflow [m3/s]\")\n", "fig.show()" ] }, { "cell_type": "markdown", "id": "0c658eb7", "metadata": {}, "source": [ "The flow in the tunnel system is much more dramatic in the wet system state, and the direction of flow into and out of the large reservoir changes multiple times during the optimization. This is due to the changes in the operation of the power plant and the large but random changes in inflow from hour to hour. There are some slight deviations between the flow and physical_flow in this run, which means that there is a small error in the linearization of the non-linear tunnel network equations. However, the deviations are very small compared to the flow in the tunnels." ] }, { "cell_type": "code", "execution_count": 12, "id": "66466ee4", "metadata": {}, "outputs": [ { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "name": "Rsv_N1", "type": "scatter", "x": [ "2024-01-01T00:00:00", "2024-01-01T01:00:00", "2024-01-01T02:00:00", "2024-01-01T03:00:00", "2024-01-01T04:00:00", "2024-01-01T05:00:00", "2024-01-01T06:00:00", "2024-01-01T07:00:00", "2024-01-01T08:00:00", "2024-01-01T09:00:00", "2024-01-01T10:00:00", "2024-01-01T11:00:00", "2024-01-01T12:00:00", "2024-01-01T13:00:00", "2024-01-01T14:00:00", "2024-01-01T15:00:00", "2024-01-01T16:00:00", "2024-01-01T17:00:00", "2024-01-01T18:00:00", "2024-01-01T19:00:00", "2024-01-01T20:00:00", "2024-01-01T21:00:00", "2024-01-01T22:00:00", "2024-01-01T23:00:00" ], "y": [ 28.551763508075652, 73.73315634913625, -20.949406209403875, -32.033974361605146, -17.011677067305513, -0.5777761896570173, 1.0280256188285353, -32.740111648068776, 2.756240231127326, 7.610946606542359, 23.557404342149148, 17.79718245809578, 74.73015728278473, 44.28837035208412, 29.851033246814325, 47.48236317414316, 40.83442099232553, 67.30790341023969, 28.962972817380763, 41.36483395997621, 48.433879607377605, 66.45646802241792, 52.60846930694692, -40.4180736568391 ] }, { "name": "N1_N2", "type": "scatter", "x": [ "2024-01-01T00:00:00", "2024-01-01T01:00:00", "2024-01-01T02:00:00", "2024-01-01T03:00:00", "2024-01-01T04:00:00", "2024-01-01T05:00:00", "2024-01-01T06:00:00", "2024-01-01T07:00:00", "2024-01-01T08:00:00", "2024-01-01T09:00:00", "2024-01-01T10:00:00", "2024-01-01T11:00:00", "2024-01-01T12:00:00", "2024-01-01T13:00:00", "2024-01-01T14:00:00", "2024-01-01T15:00:00", "2024-01-01T16:00:00", "2024-01-01T17:00:00", "2024-01-01T18:00:00", "2024-01-01T19:00:00", "2024-01-01T20:00:00", "2024-01-01T21:00:00", "2024-01-01T22:00:00", "2024-01-01T23:00:00" ], "y": [ 36.35895886421927, 73.94640967008675, -14.619553068739918, -24.54756684922935, -12.025434113171741, 1.6704458418256536, 3.0085106088352322, -25.136515680670136, 4.448989389877884, 8.494476859527744, 30.411917208483302, 27.330887553566473, 74.77761637733752, 49.40555851087592, 37.975505485756464, 53.61001919252686, 48.051429171389096, 70.23110770047938, 38.13556652596444, 48.51196645039525, 53.86065397171035, 67.88151354431531, 56.339783648754945, -33.68376224303582 ] }, { "name": "N2_N3", "type": "scatter", "x": [ "2024-01-01T00:00:00", "2024-01-01T01:00:00", "2024-01-01T02:00:00", "2024-01-01T03:00:00", "2024-01-01T04:00:00", "2024-01-01T05:00:00", "2024-01-01T06:00:00", "2024-01-01T07:00:00", "2024-01-01T08:00:00", "2024-01-01T09:00:00", "2024-01-01T10:00:00", "2024-01-01T11:00:00", "2024-01-01T12:00:00", "2024-01-01T13:00:00", "2024-01-01T14:00:00", "2024-01-01T15:00:00", "2024-01-01T16:00:00", "2024-01-01T17:00:00", "2024-01-01T18:00:00", "2024-01-01T19:00:00", "2024-01-01T20:00:00", "2024-01-01T21:00:00", "2024-01-01T22:00:00", "2024-01-01T23:00:00" ], "y": [ 59.5562264085023, 74.57637476315013, 4.381316060614449, -2.0858762478185966, 2.9312318003300915, 8.414729684603262, 8.950268923571757, -2.3228180400220118, 9.524462610982017, 11.144822870108086, 50.974031374341, 55.93237089544508, 74.90696443215091, 64.76481947178152, 62.35171303768432, 71.98909774969346, 69.70329312823564, 78.99343846885418, 65.66165339510286, 69.95111489501073, 70.13876000226294, 72.15110148224292, 67.5370938975687, -13.469393560884738 ] }, { "name": "N3_plant", "type": "scatter", "x": [ "2024-01-01T00:00:00", "2024-01-01T01:00:00", "2024-01-01T02:00:00", "2024-01-01T03:00:00", "2024-01-01T04:00:00", "2024-01-01T05:00:00", "2024-01-01T06:00:00", "2024-01-01T07:00:00", "2024-01-01T08:00:00", "2024-01-01T09:00:00", "2024-01-01T10:00:00", "2024-01-01T11:00:00", "2024-01-01T12:00:00", "2024-01-01T13:00:00", "2024-01-01T14:00:00", "2024-01-01T15:00:00", "2024-01-01T16:00:00", "2024-01-01T17:00:00", "2024-01-01T18:00:00", "2024-01-01T19:00:00", "2024-01-01T20:00:00", "2024-01-01T21:00:00", "2024-01-01T22:00:00", "2024-01-01T23:00:00" ], "y": [ 75.0, 75.0, 17.04266628764183, 12.8872854599351, 12.903176461769299, 12.911081411744664, 12.91139344762729, 12.885095288215586, 12.909395425845727, 12.911723921157904, 64.68365462320733, 74.99999999999999, 74.99999999999999, 74.99999999999999, 78.60118464175653, 84.24420773836137, 84.13723283513522, 84.83878986832184, 84.00761909060105, 84.24529450326416, 80.99180864514341, 74.99999999999999, 75.0, 0.0 ] }, { "name": "Creek1_N1", "type": "scatter", "x": [ "2024-01-01T00:00:00", "2024-01-01T01:00:00", "2024-01-01T02:00:00", "2024-01-01T03:00:00", "2024-01-01T04:00:00", "2024-01-01T05:00:00", "2024-01-01T06:00:00", "2024-01-01T07:00:00", "2024-01-01T08:00:00", "2024-01-01T09:00:00", "2024-01-01T10:00:00", "2024-01-01T11:00:00", "2024-01-01T12:00:00", "2024-01-01T13:00:00", "2024-01-01T14:00:00", "2024-01-01T15:00:00", "2024-01-01T16:00:00", "2024-01-01T17:00:00", "2024-01-01T18:00:00", "2024-01-01T19:00:00", "2024-01-01T20:00:00", "2024-01-01T21:00:00", "2024-01-01T22:00:00", "2024-01-01T23:00:00" ], "y": [ 7.807195356143621, 0.21325332095045763, 6.3298531406639755, 7.486407512375815, 4.986242954133746, 2.248222031485779, 1.9804849900109103, 7.603595967398636, 1.692749158751779, 0.8835302529875806, 6.854512866334599, 9.533705095470687, 0.04745909455280726, 5.117188158792076, 8.12447223894211, 6.127656018383733, 7.217008179063563, 2.923204290239645, 9.172593708583662, 7.147132490419073, 5.426774364332744, 1.425045521897394, 3.731314341808028, 6.734311413803264 ] }, { "name": "Creek2_N2", "type": "scatter", "x": [ "2024-01-01T00:00:00", "2024-01-01T01:00:00", "2024-01-01T02:00:00", "2024-01-01T03:00:00", "2024-01-01T04:00:00", "2024-01-01T05:00:00", "2024-01-01T06:00:00", "2024-01-01T07:00:00", "2024-01-01T08:00:00", "2024-01-01T09:00:00", "2024-01-01T10:00:00", "2024-01-01T11:00:00", "2024-01-01T12:00:00", "2024-01-01T13:00:00", "2024-01-01T14:00:00", "2024-01-01T15:00:00", "2024-01-01T16:00:00", "2024-01-01T17:00:00", "2024-01-01T18:00:00", "2024-01-01T19:00:00", "2024-01-01T20:00:00", "2024-01-01T21:00:00", "2024-01-01T22:00:00", "2024-01-01T23:00:00" ], "y": [ 23.19726754428303, 0.6299650930634917, 19.00086912935441, 22.4616906014107, 14.956665913501839, 6.744283842781574, 5.941758314742068, 22.813697640648112, 5.075473221105757, 2.6503460105833034, 20.56211416585829, 28.601483341878605, 0.12934805481339356, 15.359260960905596, 24.37620755192789, 18.37907855716657, 21.651863956846544, 8.76233076837482, 27.52608686913841, 21.439148444615494, 16.278106030552603, 4.26958793792762, 11.197310248813732, 20.214368682151083 ] }, { "name": "Creek3_N3", "type": "scatter", "x": [ "2024-01-01T00:00:00", "2024-01-01T01:00:00", "2024-01-01T02:00:00", "2024-01-01T03:00:00", "2024-01-01T04:00:00", "2024-01-01T05:00:00", "2024-01-01T06:00:00", "2024-01-01T07:00:00", "2024-01-01T08:00:00", "2024-01-01T09:00:00", "2024-01-01T10:00:00", "2024-01-01T11:00:00", "2024-01-01T12:00:00", "2024-01-01T13:00:00", "2024-01-01T14:00:00", "2024-01-01T15:00:00", "2024-01-01T16:00:00", "2024-01-01T17:00:00", "2024-01-01T18:00:00", "2024-01-01T19:00:00", "2024-01-01T20:00:00", "2024-01-01T21:00:00", "2024-01-01T22:00:00", "2024-01-01T23:00:00" ], "y": [ 15.443773591497706, 0.4236252368497829, 12.661350227027368, 14.973161707753677, 9.971944661439199, 4.4963517271477, 3.9611245240639024, 15.207913328232781, 3.3849328148660582, 1.7669010510538883, 13.709623248867263, 19.067629104554904, 0.09303556784906221, 10.23518052821828, 16.24947160407237, 12.255109988667918, 14.433939706899555, 5.845351399467649, 18.345965695498226, 14.294179608253419, 10.853048642880456, 2.8488985177570623, 7.4629061024313135, 13.469393560884733 ] } ], "layout": { "template": { "data": { "bar": [ { "error_x": { "color": "#2a3f5f" }, "error_y": { "color": "#2a3f5f" }, "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "baxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "heatmap" } ], "heatmapgl": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "heatmapgl" } ], "histogram": [ { "marker": { "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "fillpattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergl" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "#EBF0F8" }, "line": { "color": "white" } }, "header": { "fill": { "color": "#C8D4E3" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1 }, "autotypenumbers": "strict", "coloraxis": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "colorscale": { "diverging": [ [ 0, "#8e0152" ], [ 0.1, "#c51b7d" ], [ 0.2, "#de77ae" ], [ 0.3, "#f1b6da" ], [ 0.4, "#fde0ef" ], [ 0.5, "#f7f7f7" ], [ 0.6, "#e6f5d0" ], [ 0.7, "#b8e186" ], [ 0.8, "#7fbc41" ], [ 0.9, "#4d9221" ], [ 1, "#276419" ] ], "sequential": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "sequentialminus": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ] }, "colorway": [ "#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52" ], "font": { "color": "#2a3f5f" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "#E5ECF6", "showlakes": true, "showland": true, "subunitcolor": "white" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "mapbox": { "style": "light" }, "paper_bgcolor": "white", "plot_bgcolor": "#E5ECF6", "polar": { "angularaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "radialaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "scene": { "xaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "yaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "zaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" } }, "shapedefaults": { "line": { "color": "#2a3f5f" } }, "ternary": { "aaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "baxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "caxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "title": { "x": 0.05 }, "xaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 }, "yaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 } } }, "title": { "text": "Tunnel flow" }, "yaxis": { "title": { "text": "Flow [m3/s]" } } } }, "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "name": "Rsv_N1", "type": "scatter", "x": [ "2024-01-01T00:00:00", "2024-01-01T01:00:00", "2024-01-01T02:00:00", "2024-01-01T03:00:00", "2024-01-01T04:00:00", "2024-01-01T05:00:00", "2024-01-01T06:00:00", "2024-01-01T07:00:00", "2024-01-01T08:00:00", "2024-01-01T09:00:00", "2024-01-01T10:00:00", "2024-01-01T11:00:00", "2024-01-01T12:00:00", "2024-01-01T13:00:00", "2024-01-01T14:00:00", "2024-01-01T15:00:00", "2024-01-01T16:00:00", "2024-01-01T17:00:00", "2024-01-01T18:00:00", "2024-01-01T19:00:00", "2024-01-01T20:00:00", "2024-01-01T21:00:00", "2024-01-01T22:00:00", "2024-01-01T23:00:00" ], "y": [ 0.00013336570807354065, 0.007343192039201085, -0.004057587752157588, -0.0009631304401196417, -0.0012636098075802238, -0.00039118925953784967, 7.703853572738062e-05, -9.019199254112209e-07, -0.0002473951294903465, -0.00012859226134498414, -3.822117859542118e-05, -0.0002419335483274665, 0.0003741441541791346, -0.0007657122007174166, 0.0006338331728628077, 8.594789461824348e-05, -0.0002976734794444269, 8.38136268157541e-05, -0.00024557921132029037, 0.00041201633175091956, -0.00018130331692134405, -8.114768856160026e-05, -6.134700882398647e-05, 0.00022029381092636413 ] }, { "name": "N1_N2", "type": "scatter", "x": [ "2024-01-01T00:00:00", "2024-01-01T01:00:00", "2024-01-01T02:00:00", "2024-01-01T03:00:00", "2024-01-01T04:00:00", "2024-01-01T05:00:00", "2024-01-01T06:00:00", "2024-01-01T07:00:00", "2024-01-01T08:00:00", "2024-01-01T09:00:00", "2024-01-01T10:00:00", "2024-01-01T11:00:00", "2024-01-01T12:00:00", "2024-01-01T13:00:00", "2024-01-01T14:00:00", "2024-01-01T15:00:00", "2024-01-01T16:00:00", "2024-01-01T17:00:00", "2024-01-01T18:00:00", "2024-01-01T19:00:00", "2024-01-01T20:00:00", "2024-01-01T21:00:00", "2024-01-01T22:00:00", "2024-01-01T23:00:00" ], "y": [ 4.908051996466156e-05, 0.005864337184689816, -0.0032592019115682547, -0.0007281662101661368, -0.0008850234953090563, -0.0002649667278684653, 4.125150093159391e-05, -3.198633157808217e-05, -0.00020758722751690328, -0.0001012418227688272, -2.3255345411143935e-05, -0.00018456192067617394, 0.000296014304112191, -0.0005892275008889669, 0.0004905154788090726, 6.259875888048327e-05, -0.00023302013322989978, 6.504833586973291e-05, -0.00018938969996895594, 0.00031876476293035694, -0.00014200849178536146, -6.226653421492756e-05, -4.554206095264135e-05, 0.00016928924547698898 ] }, { "name": "N2_N3", "type": "scatter", "x": [ "2024-01-01T00:00:00", "2024-01-01T01:00:00", "2024-01-01T02:00:00", "2024-01-01T03:00:00", "2024-01-01T04:00:00", "2024-01-01T05:00:00", "2024-01-01T06:00:00", "2024-01-01T07:00:00", "2024-01-01T08:00:00", "2024-01-01T09:00:00", "2024-01-01T10:00:00", "2024-01-01T11:00:00", "2024-01-01T12:00:00", "2024-01-01T13:00:00", "2024-01-01T14:00:00", "2024-01-01T15:00:00", "2024-01-01T16:00:00", "2024-01-01T17:00:00", "2024-01-01T18:00:00", "2024-01-01T19:00:00", "2024-01-01T20:00:00", "2024-01-01T21:00:00", "2024-01-01T22:00:00", "2024-01-01T23:00:00" ], "y": [ 3.1197781922287504e-06, 0.003514160562190227, -0.0019179847187000831, -0.0004219060080061787, -0.00048825389506257366, -0.00013594741937161814, 1.8781077107732358e-05, -3.633552900517145e-05, -0.00013358994409173874, -6.387177887745565e-05, -1.1513794476059047e-05, -0.00011161761342748378, 0.0001808860726129069, -0.00034686990217380753, 0.0002936670624151816, 3.155480528960197e-05, -0.0001417762224633634, 3.9978351637159903e-05, -0.00011144588420108903, 0.00019005548112716042, -8.752815938350977e-05, -3.64100259702127e-05, -2.470197419768283e-05, 9.955458805066542e-05 ] }, { "name": "N3_plant", "type": "scatter", "x": [ "2024-01-01T00:00:00", "2024-01-01T01:00:00", "2024-01-01T02:00:00", "2024-01-01T03:00:00", "2024-01-01T04:00:00", "2024-01-01T05:00:00", "2024-01-01T06:00:00", "2024-01-01T07:00:00", "2024-01-01T08:00:00", "2024-01-01T09:00:00", "2024-01-01T10:00:00", "2024-01-01T11:00:00", "2024-01-01T12:00:00", "2024-01-01T13:00:00", "2024-01-01T14:00:00", "2024-01-01T15:00:00", "2024-01-01T16:00:00", "2024-01-01T17:00:00", "2024-01-01T18:00:00", "2024-01-01T19:00:00", "2024-01-01T20:00:00", "2024-01-01T21:00:00", "2024-01-01T22:00:00", "2024-01-01T23:00:00" ], "y": [ 0.0, 0.0, -7.105427357601002e-15, -1.0658141036401503e-14, -5.329070518200751e-15, 0.0, 1.0658141036401503e-14, 0.0, 1.0658141036401503e-14, 1.4210854715202004e-14, 0.0, 1.4210854715202004e-14, 0.0, 0.0, 0.0, -1.4210854715202004e-14, 2.842170943040401e-14, 0.0, 0.0, -1.4210854715202004e-14, 0.0, 1.4210854715202004e-14, 1.4210854715202004e-14, 0.0 ] }, { "name": "Creek1_N1", "type": "scatter", "x": [ "2024-01-01T00:00:00", "2024-01-01T01:00:00", "2024-01-01T02:00:00", "2024-01-01T03:00:00", "2024-01-01T04:00:00", "2024-01-01T05:00:00", "2024-01-01T06:00:00", "2024-01-01T07:00:00", "2024-01-01T08:00:00", "2024-01-01T09:00:00", "2024-01-01T10:00:00", "2024-01-01T11:00:00", "2024-01-01T12:00:00", "2024-01-01T13:00:00", "2024-01-01T14:00:00", "2024-01-01T15:00:00", "2024-01-01T16:00:00", "2024-01-01T17:00:00", "2024-01-01T18:00:00", "2024-01-01T19:00:00", "2024-01-01T20:00:00", "2024-01-01T21:00:00", "2024-01-01T22:00:00", "2024-01-01T23:00:00" ], "y": [ -8.428518810266183e-05, -0.0014788548545588975, 0.000798385840609761, 0.00023496422997038025, 0.0003785863122445221, 0.00012622253477756473, -3.578703058249033e-05, -3.1084411656223665e-05, 3.9807903194466476e-05, 2.7350440771845008e-05, 1.4965833627478276e-05, 5.737162764418713e-05, -7.812985004310852e-05, 0.00017648470011000228, -0.00014331769408038042, -2.334913570756214e-05, 6.465334621186258e-05, -1.876529098376878e-05, 5.618951133357086e-05, -9.325156879036456e-05, 3.929482513687077e-05, 1.888115435377813e-05, 1.580494787800646e-05, -5.100456546180965e-05 ] }, { "name": "Creek2_N2", "type": "scatter", "x": [ "2024-01-01T00:00:00", "2024-01-01T01:00:00", "2024-01-01T02:00:00", "2024-01-01T03:00:00", "2024-01-01T04:00:00", "2024-01-01T05:00:00", "2024-01-01T06:00:00", "2024-01-01T07:00:00", "2024-01-01T08:00:00", "2024-01-01T09:00:00", "2024-01-01T10:00:00", "2024-01-01T11:00:00", "2024-01-01T12:00:00", "2024-01-01T13:00:00", "2024-01-01T14:00:00", "2024-01-01T15:00:00", "2024-01-01T16:00:00", "2024-01-01T17:00:00", "2024-01-01T18:00:00", "2024-01-01T19:00:00", "2024-01-01T20:00:00", "2024-01-01T21:00:00", "2024-01-01T22:00:00", "2024-01-01T23:00:00" ], "y": [ -4.596074177953824e-05, -0.0023501766223910092, 0.0013412171929090277, 0.0003062602021088878, 0.00039676960025225583, 0.00012901931246123155, -2.2470418280740034e-05, -4.3491974395237776e-06, 7.399728505053105e-05, 3.7370046851670224e-05, 1.1741551524835359e-05, 7.294430724513745e-05, -0.00011512823150752749, 0.00024235759870450124, -0.00019684841635836392, -3.104395362640844e-05, 9.124391075943095e-05, -2.5069984214809438e-05, 7.794381576076148e-05, -0.00012870928178898566, 5.448033240895711e-05, 2.585650825004393e-05, 2.0840086740747665e-05, -6.973465742632357e-05 ] }, { "name": "Creek3_N3", "type": "scatter", "x": [ "2024-01-01T00:00:00", "2024-01-01T01:00:00", "2024-01-01T02:00:00", "2024-01-01T03:00:00", "2024-01-01T04:00:00", "2024-01-01T05:00:00", "2024-01-01T06:00:00", "2024-01-01T07:00:00", "2024-01-01T08:00:00", "2024-01-01T09:00:00", "2024-01-01T10:00:00", "2024-01-01T11:00:00", "2024-01-01T12:00:00", "2024-01-01T13:00:00", "2024-01-01T14:00:00", "2024-01-01T15:00:00", "2024-01-01T16:00:00", "2024-01-01T17:00:00", "2024-01-01T18:00:00", "2024-01-01T19:00:00", "2024-01-01T20:00:00", "2024-01-01T21:00:00", "2024-01-01T22:00:00", "2024-01-01T23:00:00" ], "y": [ -3.119778185123323e-06, -0.0035141605622741046, 0.0019179847186805432, 0.00042190600797553657, 0.0004882538950496951, 0.0001359474256696913, -1.8781068728213057e-05, 3.633552418946806e-05, 0.00013358994644985245, 6.387178296285434e-05, 1.1513795408646388e-05, 0.00011161761344169463, -0.00018088607261829148, 0.00034686990199261913, -0.0002936670622624149, -3.155480528960197e-05, 0.00014177622247046884, -3.9978351647818045e-05, 0.00011144588423306345, -0.00019005548115558213, 8.752815937285163e-05, 3.64100259826472e-05, 2.47019742154464e-05, -9.955458805599449e-05 ] } ], "layout": { "template": { "data": { "bar": [ { "error_x": { "color": "#2a3f5f" }, "error_y": { "color": "#2a3f5f" }, "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "baxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "heatmap" } ], "heatmapgl": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "heatmapgl" } ], "histogram": [ { "marker": { "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "fillpattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergl" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "#EBF0F8" }, "line": { "color": "white" } }, "header": { "fill": { "color": "#C8D4E3" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1 }, "autotypenumbers": "strict", "coloraxis": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "colorscale": { "diverging": [ [ 0, "#8e0152" ], [ 0.1, "#c51b7d" ], [ 0.2, "#de77ae" ], [ 0.3, "#f1b6da" ], [ 0.4, "#fde0ef" ], [ 0.5, "#f7f7f7" ], [ 0.6, "#e6f5d0" ], [ 0.7, "#b8e186" ], [ 0.8, "#7fbc41" ], [ 0.9, "#4d9221" ], [ 1, "#276419" ] ], "sequential": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "sequentialminus": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ] }, "colorway": [ "#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52" ], "font": { "color": "#2a3f5f" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "#E5ECF6", "showlakes": true, "showland": true, "subunitcolor": "white" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "mapbox": { "style": "light" }, "paper_bgcolor": "white", "plot_bgcolor": "#E5ECF6", "polar": { "angularaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "radialaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "scene": { "xaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "yaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "zaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" } }, "shapedefaults": { "line": { "color": "#2a3f5f" } }, "ternary": { "aaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "baxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "caxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "title": { "x": 0.05 }, "xaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 }, "yaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 } } }, "title": { "text": "Tunnel flow deviation from post-calculated flow" }, "yaxis": { "title": { "text": "Flow [m3/s]" } } } }, "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#Plot tunnel flow\n", "fig = go.Figure()\n", "for t in shop.model.tunnel:\n", " flow = t.flow.get()\n", " fig.add_trace(go.Scatter(x=flow.index, y=flow.values, name=t.get_name()))\n", "\n", "fig.update_layout(title=\"Tunnel flow\")\n", "fig.update_yaxes(title_text=\"Flow [m3/s]\")\n", "fig.show()\n", "\n", "#Plot tunnel flow\n", "fig = go.Figure()\n", "for t in shop.model.tunnel:\n", " flow = t.flow.get()\n", " pflow = t.physical_flow.get()\n", " fig.add_trace(go.Scatter(x=flow.index, y=flow.values-pflow.values, name=t.get_name()))\n", "\n", "fig.update_layout(title=\"Tunnel flow deviation from post-calculated flow\")\n", "fig.update_yaxes(title_text=\"Flow [m3/s]\")\n", "fig.show()" ] }, { "cell_type": "markdown", "id": "af466ed2", "metadata": {}, "source": [ "SHOP is able to avoid spillage in the wet system state, but spillage from creek intakes are not uncommon. Specifying a [mip_flag](river:mip_flag) (or using the command [set universal_river_mip /on](set_universal_river_mip)) and adding a [flow_cost](river:flow_cost) on the creek spillways can be considered when there is a lot of spillage in the system. However, it is important to consider that adding high spillage penalties in a system where spillage is unavoidable can simply make the calculation time longer. This can happen when the objective function is increased a lot due to (spillage) penalties." ] }, { "cell_type": "code", "execution_count": 13, "id": "e5daa6f2", "metadata": {}, "outputs": [ { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "name": "Spill_rsv", "type": "scatter", "x": [ "2024-01-01T00:00:00", "2024-01-01T01:00:00", "2024-01-01T02:00:00", "2024-01-01T03:00:00", "2024-01-01T04:00:00", "2024-01-01T05:00:00", "2024-01-01T06:00:00", "2024-01-01T07:00:00", "2024-01-01T08:00:00", "2024-01-01T09:00:00", "2024-01-01T10:00:00", "2024-01-01T11:00:00", "2024-01-01T12:00:00", "2024-01-01T13:00:00", "2024-01-01T14:00:00", "2024-01-01T15:00:00", "2024-01-01T16:00:00", "2024-01-01T17:00:00", "2024-01-01T18:00:00", "2024-01-01T19:00:00", "2024-01-01T20:00:00", "2024-01-01T21:00:00", "2024-01-01T22:00:00", "2024-01-01T23:00:00" ], "y": [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ] }, { "name": "Spill_C1", "type": "scatter", "x": [ "2024-01-01T00:00:00", "2024-01-01T01:00:00", "2024-01-01T02:00:00", "2024-01-01T03:00:00", "2024-01-01T04:00:00", "2024-01-01T05:00:00", "2024-01-01T06:00:00", "2024-01-01T07:00:00", "2024-01-01T08:00:00", "2024-01-01T09:00:00", "2024-01-01T10:00:00", "2024-01-01T11:00:00", "2024-01-01T12:00:00", "2024-01-01T13:00:00", "2024-01-01T14:00:00", "2024-01-01T15:00:00", "2024-01-01T16:00:00", "2024-01-01T17:00:00", "2024-01-01T18:00:00", "2024-01-01T19:00:00", "2024-01-01T20:00:00", "2024-01-01T21:00:00", "2024-01-01T22:00:00", "2024-01-01T23:00:00" ], "y": [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ] }, { "name": "Spill_C2", "type": "scatter", "x": [ "2024-01-01T00:00:00", "2024-01-01T01:00:00", "2024-01-01T02:00:00", "2024-01-01T03:00:00", "2024-01-01T04:00:00", "2024-01-01T05:00:00", "2024-01-01T06:00:00", "2024-01-01T07:00:00", "2024-01-01T08:00:00", "2024-01-01T09:00:00", "2024-01-01T10:00:00", "2024-01-01T11:00:00", "2024-01-01T12:00:00", "2024-01-01T13:00:00", "2024-01-01T14:00:00", "2024-01-01T15:00:00", "2024-01-01T16:00:00", "2024-01-01T17:00:00", "2024-01-01T18:00:00", "2024-01-01T19:00:00", "2024-01-01T20:00:00", "2024-01-01T21:00:00", "2024-01-01T22:00:00", "2024-01-01T23:00:00" ], "y": [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ] }, { "name": "Spill_C3", "type": "scatter", "x": [ "2024-01-01T00:00:00", "2024-01-01T01:00:00", "2024-01-01T02:00:00", "2024-01-01T03:00:00", "2024-01-01T04:00:00", "2024-01-01T05:00:00", "2024-01-01T06:00:00", "2024-01-01T07:00:00", "2024-01-01T08:00:00", "2024-01-01T09:00:00", "2024-01-01T10:00:00", "2024-01-01T11:00:00", "2024-01-01T12:00:00", "2024-01-01T13:00:00", "2024-01-01T14:00:00", "2024-01-01T15:00:00", "2024-01-01T16:00:00", "2024-01-01T17:00:00", "2024-01-01T18:00:00", "2024-01-01T19:00:00", "2024-01-01T20:00:00", "2024-01-01T21:00:00", "2024-01-01T22:00:00", "2024-01-01T23:00:00" ], "y": [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ] } ], "layout": { "template": { "data": { "bar": [ { "error_x": { "color": "#2a3f5f" }, "error_y": { "color": "#2a3f5f" }, "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "baxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "heatmap" } ], "heatmapgl": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "heatmapgl" } ], "histogram": [ { "marker": { "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "fillpattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergl" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "#EBF0F8" }, "line": { "color": "white" } }, "header": { "fill": { "color": "#C8D4E3" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1 }, "autotypenumbers": "strict", "coloraxis": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "colorscale": { "diverging": [ [ 0, "#8e0152" ], [ 0.1, "#c51b7d" ], [ 0.2, "#de77ae" ], [ 0.3, "#f1b6da" ], [ 0.4, "#fde0ef" ], [ 0.5, "#f7f7f7" ], [ 0.6, "#e6f5d0" ], [ 0.7, "#b8e186" ], [ 0.8, "#7fbc41" ], [ 0.9, "#4d9221" ], [ 1, "#276419" ] ], "sequential": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "sequentialminus": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ] }, "colorway": [ "#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52" ], "font": { "color": "#2a3f5f" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "#E5ECF6", "showlakes": true, "showland": true, "subunitcolor": "white" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "mapbox": { "style": "light" }, "paper_bgcolor": "white", "plot_bgcolor": "#E5ECF6", "polar": { "angularaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "radialaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "scene": { "xaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "yaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "zaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" } }, "shapedefaults": { "line": { "color": "#2a3f5f" } }, "ternary": { "aaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "baxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "caxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "title": { "x": 0.05 }, "xaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 }, "yaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 } } }, "title": { "text": "River flow" }, "yaxis": { "title": { "text": "Flow [m3/s]" } } } }, "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "name": "Spill_rsv", "type": "scatter", "x": [ "2024-01-01T00:00:00", "2024-01-01T01:00:00", "2024-01-01T02:00:00", "2024-01-01T03:00:00", "2024-01-01T04:00:00", "2024-01-01T05:00:00", "2024-01-01T06:00:00", "2024-01-01T07:00:00", "2024-01-01T08:00:00", "2024-01-01T09:00:00", "2024-01-01T10:00:00", "2024-01-01T11:00:00", "2024-01-01T12:00:00", "2024-01-01T13:00:00", "2024-01-01T14:00:00", "2024-01-01T15:00:00", "2024-01-01T16:00:00", "2024-01-01T17:00:00", "2024-01-01T18:00:00", "2024-01-01T19:00:00", "2024-01-01T20:00:00", "2024-01-01T21:00:00", "2024-01-01T22:00:00", "2024-01-01T23:00:00" ], "y": [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ] }, { "name": "Spill_C1", "type": "scatter", "x": [ "2024-01-01T00:00:00", "2024-01-01T01:00:00", "2024-01-01T02:00:00", "2024-01-01T03:00:00", "2024-01-01T04:00:00", "2024-01-01T05:00:00", "2024-01-01T06:00:00", "2024-01-01T07:00:00", "2024-01-01T08:00:00", "2024-01-01T09:00:00", "2024-01-01T10:00:00", "2024-01-01T11:00:00", "2024-01-01T12:00:00", "2024-01-01T13:00:00", "2024-01-01T14:00:00", "2024-01-01T15:00:00", "2024-01-01T16:00:00", "2024-01-01T17:00:00", "2024-01-01T18:00:00", "2024-01-01T19:00:00", "2024-01-01T20:00:00", "2024-01-01T21:00:00", "2024-01-01T22:00:00", "2024-01-01T23:00:00" ], "y": [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ] }, { "name": "Spill_C2", "type": "scatter", "x": [ "2024-01-01T00:00:00", "2024-01-01T01:00:00", "2024-01-01T02:00:00", "2024-01-01T03:00:00", "2024-01-01T04:00:00", "2024-01-01T05:00:00", "2024-01-01T06:00:00", "2024-01-01T07:00:00", "2024-01-01T08:00:00", "2024-01-01T09:00:00", "2024-01-01T10:00:00", "2024-01-01T11:00:00", "2024-01-01T12:00:00", "2024-01-01T13:00:00", "2024-01-01T14:00:00", "2024-01-01T15:00:00", "2024-01-01T16:00:00", "2024-01-01T17:00:00", "2024-01-01T18:00:00", "2024-01-01T19:00:00", "2024-01-01T20:00:00", "2024-01-01T21:00:00", "2024-01-01T22:00:00", "2024-01-01T23:00:00" ], "y": [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ] }, { "name": "Spill_C3", "type": "scatter", "x": [ "2024-01-01T00:00:00", "2024-01-01T01:00:00", "2024-01-01T02:00:00", "2024-01-01T03:00:00", "2024-01-01T04:00:00", "2024-01-01T05:00:00", "2024-01-01T06:00:00", "2024-01-01T07:00:00", "2024-01-01T08:00:00", "2024-01-01T09:00:00", "2024-01-01T10:00:00", "2024-01-01T11:00:00", "2024-01-01T12:00:00", "2024-01-01T13:00:00", "2024-01-01T14:00:00", "2024-01-01T15:00:00", "2024-01-01T16:00:00", "2024-01-01T17:00:00", "2024-01-01T18:00:00", "2024-01-01T19:00:00", "2024-01-01T20:00:00", "2024-01-01T21:00:00", "2024-01-01T22:00:00", "2024-01-01T23:00:00" ], "y": [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ] } ], "layout": { "template": { "data": { "bar": [ { "error_x": { "color": "#2a3f5f" }, "error_y": { "color": "#2a3f5f" }, "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "baxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "heatmap" } ], "heatmapgl": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "heatmapgl" } ], "histogram": [ { "marker": { "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "fillpattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergl" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "#EBF0F8" }, "line": { "color": "white" } }, "header": { "fill": { "color": "#C8D4E3" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1 }, "autotypenumbers": "strict", "coloraxis": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "colorscale": { "diverging": [ [ 0, "#8e0152" ], [ 0.1, "#c51b7d" ], [ 0.2, "#de77ae" ], [ 0.3, "#f1b6da" ], [ 0.4, "#fde0ef" ], [ 0.5, "#f7f7f7" ], [ 0.6, "#e6f5d0" ], [ 0.7, "#b8e186" ], [ 0.8, "#7fbc41" ], [ 0.9, "#4d9221" ], [ 1, "#276419" ] ], "sequential": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ], "sequentialminus": [ [ 0.0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1.0, "#f0f921" ] ] }, "colorway": [ "#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52" ], "font": { "color": "#2a3f5f" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "#E5ECF6", "showlakes": true, "showland": true, "subunitcolor": "white" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "mapbox": { "style": "light" }, "paper_bgcolor": "white", "plot_bgcolor": "#E5ECF6", "polar": { "angularaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "radialaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "scene": { "xaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "yaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "zaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" } }, "shapedefaults": { "line": { "color": "#2a3f5f" } }, "ternary": { "aaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "baxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "caxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "title": { "x": 0.05 }, "xaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 }, "yaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 } } }, "title": { "text": "River flow deviation from post-calculated flow" }, "yaxis": { "title": { "text": "Flow [m3/s]" } } } }, "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#Plot river flow\n", "fig = go.Figure()\n", "for r in shop.model.river:\n", " flow = r.flow.get()\n", " fig.add_trace(go.Scatter(x=flow.index, y=flow.values, name=r.get_name()))\n", "\n", "fig.update_layout(title=\"River flow\")\n", "fig.update_yaxes(title_text=\"Flow [m3/s]\")\n", "fig.show()\n", "\n", "fig = go.Figure()\n", "for r in shop.model.river:\n", " flow = r.flow.get()\n", " pflow = r.physical_flow.get()\n", " fig.add_trace(go.Scatter(x=flow.index, y=flow.values-pflow.values, name=r.get_name()))\n", "\n", "fig.update_layout(title=\"River flow deviation from post-calculated flow\")\n", "fig.update_yaxes(title_text=\"Flow [m3/s]\")\n", "fig.show()" ] }, { "cell_type": "markdown", "id": "ee3a665c", "metadata": {}, "source": [ "## creek_model.py" ] }, { "cell_type": "code", "execution_count": 14, "id": "414b8f51", "metadata": { "Collapsed": "false", "tags": [ "remove-input" ] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "from pyshop import ShopSession\n", "import pandas as pd\n", "import numpy as np\n", "\n", "def build_model() -> ShopSession:\n", "\n", " shop = ShopSession()\n", "\n", " shop.set_time_resolution(pd.Timestamp(\"2024-01-01\"), pd.Timestamp(\"2024-01-02\"), \"hour\") #,\"minute\",timeresolution=pd.Series([15],index=[pd.Timestamp(\"2024-01-01\")]))\n", "\n", " rsv = shop.model.reservoir.add_object(\"Reservoir\")\n", " rsv.lrl.set(80)\n", " rsv.hrl.set(100)\n", " rsv.max_vol.set(50)\n", " rsv.vol_head.set(pd.Series([80,85,90,95,100,102], index=[0,5,12,20,50,60]))\n", "\n", " creek1 = shop.model.reservoir.add_object(\"Creek1\")\n", " creek1.lrl.set(80)\n", " creek1.hrl.set(110)\n", " creek1.max_vol.set(0.001)\n", " creek1.vol_head.set(pd.Series([80,110,140], index=[0,0.001,0.002]))\n", "\n", " creek2 = shop.model.reservoir.add_object(\"Creek2\")\n", " creek2.lrl.set(80)\n", " creek2.hrl.set(105)\n", " creek2.max_vol.set(0.001)\n", " creek2.vol_head.set(pd.Series([80,105,130], index=[0,0.001,0.002]))\n", "\n", " creek3 = shop.model.reservoir.add_object(\"Creek3\")\n", " creek3.lrl.set(80)\n", " creek3.hrl.set(101)\n", " creek3.max_vol.set(0.001)\n", " creek3.vol_head.set(pd.Series([80,101,121], index=[0,0.001,0.002]))\n", "\n", " tunnel1 = shop.model.tunnel.add_object(\"Rsv_N1\")\n", " tunnel1.start_height.set(80)\n", " tunnel1.end_height.set(80)\n", " tunnel1.loss_factor.set(0.00015)\n", "\n", " tunnel2 = shop.model.tunnel.add_object(\"N1_N2\")\n", " tunnel2.start_height.set(80)\n", " tunnel2.end_height.set(80)\n", " tunnel2.loss_factor.set(0.000025)\n", "\n", " tunnel3 = shop.model.tunnel.add_object(\"N2_N3\")\n", " tunnel3.start_height.set(80)\n", " tunnel3.end_height.set(80)\n", " tunnel3.loss_factor.set(0.000025)\n", "\n", " tunnel4 = shop.model.tunnel.add_object(\"N3_plant\")\n", " tunnel4.start_height.set(80)\n", " tunnel4.end_height.set(0)\n", " tunnel4.loss_factor.set(0.0008)\n", "\n", " tunnelC1 = shop.model.tunnel.add_object(\"Creek1_N1\")\n", " tunnelC1.start_height.set(80)\n", " tunnelC1.end_height.set(80)\n", " tunnelC1.loss_factor.set(1e-6)\n", "\n", " tunnelC2 = shop.model.tunnel.add_object(\"Creek2_N2\")\n", " tunnelC2.start_height.set(80)\n", " tunnelC2.end_height.set(80)\n", " tunnelC2.loss_factor.set(1e-6)\n", "\n", " tunnelC3 = shop.model.tunnel.add_object(\"Creek3_N3\")\n", " tunnelC3.start_height.set(80)\n", " tunnelC3.end_height.set(80)\n", " tunnelC3.loss_factor.set(1e-6)\n", "\n", " river1 = shop.model.river.add_object(\"Spill_rsv\")\n", " river1.upstream_elevation.set(100)\n", " river1.up_head_flow_curve.set([pd.Series([0,50],index=[100,102], name=0)])\n", " river1.flow_cost.set(1000)\n", "\n", " river2 = shop.model.river.add_object(\"Spill_C1\")\n", " river2.upstream_elevation.set(110)\n", " river2.up_head_flow_curve.set([pd.Series([0,50],index=[110,112], name=0)])\n", "\n", " river3 = shop.model.river.add_object(\"Spill_C2\")\n", " river3.upstream_elevation.set(105)\n", " river3.up_head_flow_curve.set([pd.Series([0,50],index=[105,107], name=0)])\n", "\n", " river4 = shop.model.river.add_object(\"Spill_C3\")\n", " river4.upstream_elevation.set(101)\n", " river4.up_head_flow_curve.set([pd.Series([0,50],index=[101,102], name=0)])\n", "\n", " plant = shop.model.plant.add_object(\"Plant\")\n", " plant.outlet_line.set(0)\n", " plant.main_loss.set([0])\n", " plant.penstock_loss.set([0.0001, 0.0002])\n", "\n", " q = [5,7.5,10,12.5,15,17.5,20,22.5,25,27.5,30,32.5,35,37.5,40,42.5,45,47.5,50]\n", " eff = [80.0, 82.15033783783784, 84.12612612612612, 85.92736486486487, 87.55405405405406, 89.00619369369369, 90.28378378378379, 91.38682432432432, 92.31531531531532, 93.06925675675676, 93.64864864864865, 94.053490990991, 94.28378378378379, 94.33952702702703, 94.22072072072072, 93.92736486486487, 93.45945945945945, 92.81700450450451, 92.0]\n", "\n", " gen1 = shop.model.generator.add_object(\"G1\")\n", " gen1.penstock.set(1)\n", " gen1.p_min.set(5)\n", " gen1.p_max.set(35)\n", " gen1.p_nom.set(35)\n", " gen1.gen_eff_curve.set(pd.Series([95,95],index=[5,35]))\n", " gen1.turb_eff_curves.set([pd.Series(eff,index=q, name=70), pd.Series(np.array(eff)+2,index=q,name=100)])\n", " gen1.startcost.set(500)\n", "\n", " gen2 = shop.model.generator.add_object(\"G2\")\n", " gen2.penstock.set(2)\n", " gen2.p_min.set(5)\n", " gen2.p_max.set(35)\n", " gen2.p_nom.set(35)\n", " gen2.gen_eff_curve.set(pd.Series([95,95],index=[5,35]))\n", " gen2.turb_eff_curves.set([pd.Series(eff,index=q, name=70), pd.Series(np.array(eff)+2,index=q,name=100)])\n", " gen2.startcost.set(500)\n", "\n", " rsv.connect_to(tunnel1)\n", " tunnel1.connect_to(tunnel2)\n", " tunnel2.connect_to(tunnel3)\n", " tunnel3.connect_to(tunnel4)\n", " tunnel4.connect_to(plant)\n", "\n", " creek1.connect_to(tunnelC1)\n", " tunnelC1.connect_to(tunnel2)\n", "\n", " creek2.connect_to(tunnelC2)\n", " tunnelC2.connect_to(tunnel3)\n", "\n", " creek3.connect_to(tunnelC3)\n", " tunnelC3.connect_to(tunnel4)\n", "\n", " rsv.connect_to(river1)\n", " creek1.connect_to(river2)\n", " creek2.connect_to(river3)\n", " creek3.connect_to(river4)\n", "\n", "\n", " plant.connect_to(gen1)\n", " plant.connect_to(gen2)\n", "\n", " market = shop.model.market.add_object(\"spot\")\n", "\n", " t = [pd.Timestamp(\"2024-01-01\") + pd.Timedelta(hours=i) for i in range(24)]\n", " p = [29.56,28.46,26.66,24.48,24.01,21.23,22.62,25.04,26.24,32.21,41.34,43.51,43.02,44.29,46.24,50.61,59.47,64.99,61.74,55.07,48.01,44.01,45.20,38.00]\n", " market.sale_price.set(pd.Series(p, index=t))\n", " market.max_sale.set(10000)\n", "\n", " for r in shop.model.reservoir:\n", " r.energy_value_input.set(40)\n", "\n", " return shop\n" ] } ], "source": [ "with open('creek_model.py', 'r') as f:\n", " print(f.read())" ] } ], "metadata": { "jupytext": { "text_representation": { "extension": ".md", "format_name": "myst", "format_version": 0.13, "jupytext_version": "1.16.2" } }, "kernelspec": { "display_name": "Python 3 (ipykernel)", "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.12.9" }, "source_map": [ 12, 21, 29, 33, 36, 40, 61, 70, 76, 83, 89, 94, 100, 108, 114, 144, 150, 185, 189, 208, 212, 232, 238, 268, 274, 309, 313, 334, 338, 358, 362 ] }, "nbformat": 4, "nbformat_minor": 5 }