{
"cells": [
{
"cell_type": "markdown",
"id": "e3892781",
"metadata": {},
"source": [
"(advanced-tunnel)=\n",
"# Advanced tunnel example\n",
"\n",
"This example will guide you through how to model more complex [](tunnel) networks in SHOP by implementing the topology shown in Figure 1. The system has three [reservoirs](reservoir), one [](plant) with two [generators](generator), and a plant with a single [](pump). All objects in the system are connected through a tunnel network. Reservoir 1 and Reservoir 2 are identical in size and elevation, but Reservoir 1 is closer to the generating plant in terms of the loss factor of the tunnel between the reservoir and plant. Reservoir 3 is only used to refill Reservoir 1 and Reservoir 2 through pumping the water directly into the tunnel network, close to Reservoir 2. In addition, there is an adjustable gate between the node and Reservoir 2 which can be closed to force all the pumped water into Reservoir 1 (and Plant 1 if it is running at the same time). When the gate is open, the water pumped into the tunnel network will be split among Reservoir 1 and Reservoir 2 (assuming Plant 1 is not operating), where most will end up in Reservoir 2 due to the loss factors in the tunnel network.\n",
"\n",
"||\n",
"|---|\n",
"| Figure 1: Topology of a more advanced tunnel network system. |\n",
"\n",
"\n",
"The intersections connecting multiple tunnels are indicated with black dots in Figure 1, one right above Plant 1 and one named \"Node\" where the pumped water will enter. Note that these nodes are not represented as explicit objects in SHOP and should not be confused with the old [](junction) object. \n",
"\n",
"The corresponding SHOP model is defined in the build_model() function in the advanced_tunnel_model.py script, which is imported together with other packages below:"
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "a82fd7ad",
"metadata": {},
"outputs": [],
"source": [
"from pyshop import ShopSession\n",
"import pandas as pd\n",
"import plotly.graph_objects as go\n",
"from plotly.subplots import make_subplots\n",
"\n",
"from advanced_tunnel_model import build_model"
]
},
{
"cell_type": "markdown",
"id": "ae6489b8",
"metadata": {},
"source": [
"The resulting topology is shown below:"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "32a48c3d",
"metadata": {},
"outputs": [
{
"data": {
"image/svg+xml": [
"\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": "4010beed",
"metadata": {},
"source": [
"Note that the tunnel from Reservoir 1 and from the Node are connected directly to Plant 1, which assumes that the tunnel loss from the intersection above the plant is covered in the [main_loss](plant:main_loss) attribute on the plant. In this case, the main loss is set to zero. All reservoirs have connected [](river) objects that will serve as spillways to the ocean if the reservoirs are overflowing. \n",
"\n",
"The model is initialized with historical spot prices from NO1 and a slightly higher water value for Reservoir 1 compared to Reservoir 2. Reservoir 3 has a lower water value than the other reservoirs, which means that it could be beneficial to pump the water if the prices are low enough. There is zero inflow into Reservoir 1 and Reservoir 2, while Reservoir 3 has a constant inflow of 20 m3/s.\n",
"\n",
"The loss factors in the four tunnels are printed below. Note that the loss from the Reservoir 2 down to Plant 1 through the tunnels \"rsv2_node\" and \"node_plant1\" is substantially higher than the loss from Reservoir 1 down to Plant 1 (\"rsv1_plant1\")."
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "d37cb19c",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"rsv1_plant1 0.002\n",
"node_plant1 0.004\n",
"rsv2_node 0.001\n",
"node_plant2 0.001\n"
]
}
],
"source": [
"for t in shop.model.tunnel:\n",
" print(t.get_name(), t.loss_factor.get())"
]
},
{
"cell_type": "markdown",
"id": "9d30be4c",
"metadata": {},
"source": [
"## Open gate\n",
"\n",
"The base model does not contain any gate in the tunnel as indicated in Figure 1. This means that the tunnel \"rsv2_node\" is always open in this first model run:"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "1c8fa2a8",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Open tunnel objective: -659639.1644133304\n"
]
}
],
"source": [
"#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",
"open_tunnel_objective = shop.model.objective.average_objective.total.get()\n",
"print(\"Open tunnel objective:\",open_tunnel_objective)"
]
},
{
"cell_type": "markdown",
"id": "4af016a9",
"metadata": {},
"source": [
"The figures below show that Plant 1 produces power when the prices are high, while some pumping from Plant 2 occurs in the low price hours. As the reservoir levels indicate, most of the water for production is drawn from Reservoir 1 due to the relatively high tunnel losses from Reservoir 2 down to Plant 1. Note that SHOP does not \"want\" to draw more water from Reservoir 1 since this has a higher water value, it is simply the physics of the tunnel network (mass and pressure balance) that enforces this behaviour:"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "3a8973bd",
"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 1",
"type": "scatter",
"x": [
"2022-04-16T00:00:00",
"2022-04-16T01:00:00",
"2022-04-16T02:00:00",
"2022-04-16T03:00:00",
"2022-04-16T04:00:00",
"2022-04-16T05:00:00",
"2022-04-16T06:00:00",
"2022-04-16T07:00:00",
"2022-04-16T08:00:00",
"2022-04-16T09:00:00",
"2022-04-16T10:00:00",
"2022-04-16T11:00:00",
"2022-04-16T12:00:00",
"2022-04-16T13:00:00",
"2022-04-16T14:00:00",
"2022-04-16T15:00:00",
"2022-04-16T16:00:00",
"2022-04-16T17:00:00",
"2022-04-16T18:00:00",
"2022-04-16T19:00:00",
"2022-04-16T20:00:00",
"2022-04-16T21:00:00",
"2022-04-16T22:00:00",
"2022-04-16T23:00:00",
"2022-04-17T00:00:00",
"2022-04-17T01:00:00",
"2022-04-17T02:00:00",
"2022-04-17T03:00:00",
"2022-04-17T04:00:00",
"2022-04-17T05:00:00",
"2022-04-17T06:00:00",
"2022-04-17T07:00:00",
"2022-04-17T08:00:00",
"2022-04-17T09:00:00",
"2022-04-17T10:00:00",
"2022-04-17T11:00:00",
"2022-04-17T12:00:00",
"2022-04-17T13:00:00",
"2022-04-17T14:00:00",
"2022-04-17T15:00:00",
"2022-04-17T16:00:00",
"2022-04-17T17:00:00",
"2022-04-17T18:00:00",
"2022-04-17T19:00:00",
"2022-04-17T20:00:00",
"2022-04-17T21:00:00",
"2022-04-17T22:00:00",
"2022-04-17T23:00:00",
"2022-04-18T00:00:00",
"2022-04-18T01:00:00",
"2022-04-18T02:00:00",
"2022-04-18T03:00:00",
"2022-04-18T04:00:00",
"2022-04-18T05:00:00",
"2022-04-18T06:00:00",
"2022-04-18T07:00:00",
"2022-04-18T08:00:00",
"2022-04-18T09:00:00",
"2022-04-18T10:00:00",
"2022-04-18T11:00:00",
"2022-04-18T12:00:00",
"2022-04-18T13:00:00",
"2022-04-18T14:00:00",
"2022-04-18T15:00:00",
"2022-04-18T16:00:00",
"2022-04-18T17:00:00",
"2022-04-18T18:00:00",
"2022-04-18T19:00:00",
"2022-04-18T20:00:00",
"2022-04-18T21:00:00",
"2022-04-18T22:00:00",
"2022-04-18T23:00:00"
],
"y": [
78.60671447386856,
78.45986668019985,
78.31302147348858,
78.16618013562005,
78.01934390465746,
77.8725139761514,
77.7256915044084,
77.57887760371926,
77.43207334954899,
77.2852797796894,
76.73380230066992,
62.44826186951205,
56.96770544856805,
0.0,
0.0,
0.0,
0.0,
0.0,
76.89801910544587,
76.76705145554126,
76.62029876298894,
76.47356073482248,
76.32683822988045,
72.99967529761683,
56.382401405053216,
56.309308032853885,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
56.27157824523995,
56.19833049345,
56.12509855835354,
56.05188297065422,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
56.23202436022676,
75.72058125581127,
75.57390078402466,
75.42723858749851,
75.28059539191932,
55.74755503774912,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
56.10825754538537,
56.03534186636121,
0.0,
0.0,
0.0,
0.0,
56.14095925434685,
75.59714557135557,
75.45062993611023,
75.3041376539117,
75.15766925290833,
75.01122523966514,
74.86480609979397,
74.71841229856551
]
},
{
"name": "Plant 2",
"type": "scatter",
"x": [
"2022-04-16T00:00:00",
"2022-04-16T01:00:00",
"2022-04-16T02:00:00",
"2022-04-16T03:00:00",
"2022-04-16T04:00:00",
"2022-04-16T05:00:00",
"2022-04-16T06:00:00",
"2022-04-16T07:00:00",
"2022-04-16T08:00:00",
"2022-04-16T09:00:00",
"2022-04-16T10:00:00",
"2022-04-16T11:00:00",
"2022-04-16T12:00:00",
"2022-04-16T13:00:00",
"2022-04-16T14:00:00",
"2022-04-16T15:00:00",
"2022-04-16T16:00:00",
"2022-04-16T17:00:00",
"2022-04-16T18:00:00",
"2022-04-16T19:00:00",
"2022-04-16T20:00:00",
"2022-04-16T21:00:00",
"2022-04-16T22:00:00",
"2022-04-16T23:00:00",
"2022-04-17T00:00:00",
"2022-04-17T01:00:00",
"2022-04-17T02:00:00",
"2022-04-17T03:00:00",
"2022-04-17T04:00:00",
"2022-04-17T05:00:00",
"2022-04-17T06:00:00",
"2022-04-17T07:00:00",
"2022-04-17T08:00:00",
"2022-04-17T09:00:00",
"2022-04-17T10:00:00",
"2022-04-17T11:00:00",
"2022-04-17T12:00:00",
"2022-04-17T13:00:00",
"2022-04-17T14:00:00",
"2022-04-17T15:00:00",
"2022-04-17T16:00:00",
"2022-04-17T17:00:00",
"2022-04-17T18:00:00",
"2022-04-17T19:00:00",
"2022-04-17T20:00:00",
"2022-04-17T21:00:00",
"2022-04-17T22:00:00",
"2022-04-17T23:00:00",
"2022-04-18T00:00:00",
"2022-04-18T01:00:00",
"2022-04-18T02:00:00",
"2022-04-18T03:00:00",
"2022-04-18T04:00:00",
"2022-04-18T05:00:00",
"2022-04-18T06:00:00",
"2022-04-18T07:00:00",
"2022-04-18T08:00:00",
"2022-04-18T09:00:00",
"2022-04-18T10:00:00",
"2022-04-18T11:00:00",
"2022-04-18T12:00:00",
"2022-04-18T13:00:00",
"2022-04-18T14:00:00",
"2022-04-18T15:00:00",
"2022-04-18T16:00:00",
"2022-04-18T17:00:00",
"2022-04-18T18:00:00",
"2022-04-18T19:00:00",
"2022-04-18T20:00:00",
"2022-04-18T21:00:00",
"2022-04-18T22:00:00",
"2022-04-18T23: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,
-45.34277934734148,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-43.358126362931756,
-43.67168845495549,
-43.98445345006394,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-43.272238356677114,
-43.58452678477643,
-43.89600953313352,
-44.20669059250734,
-44.51657458223678,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-49.99927466974842,
-44.4710102028904,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0
]
},
{
"name": "Price",
"type": "scatter",
"x": [
"2022-04-16T00:00:00",
"2022-04-16T01:00:00",
"2022-04-16T02:00:00",
"2022-04-16T03:00:00",
"2022-04-16T04:00:00",
"2022-04-16T05:00:00",
"2022-04-16T06:00:00",
"2022-04-16T07:00:00",
"2022-04-16T08:00:00",
"2022-04-16T09:00:00",
"2022-04-16T10:00:00",
"2022-04-16T11:00:00",
"2022-04-16T12:00:00",
"2022-04-16T13:00:00",
"2022-04-16T14:00:00",
"2022-04-16T15:00:00",
"2022-04-16T16:00:00",
"2022-04-16T17:00:00",
"2022-04-16T18:00:00",
"2022-04-16T19:00:00",
"2022-04-16T20:00:00",
"2022-04-16T21:00:00",
"2022-04-16T22:00:00",
"2022-04-16T23:00:00",
"2022-04-17T00:00:00",
"2022-04-17T01:00:00",
"2022-04-17T02:00:00",
"2022-04-17T03:00:00",
"2022-04-17T04:00:00",
"2022-04-17T05:00:00",
"2022-04-17T06:00:00",
"2022-04-17T07:00:00",
"2022-04-17T08:00:00",
"2022-04-17T09:00:00",
"2022-04-17T10:00:00",
"2022-04-17T11:00:00",
"2022-04-17T12:00:00",
"2022-04-17T13:00:00",
"2022-04-17T14:00:00",
"2022-04-17T15:00:00",
"2022-04-17T16:00:00",
"2022-04-17T17:00:00",
"2022-04-17T18:00:00",
"2022-04-17T19:00:00",
"2022-04-17T20:00:00",
"2022-04-17T21:00:00",
"2022-04-17T22:00:00",
"2022-04-17T23:00:00",
"2022-04-18T00:00:00",
"2022-04-18T01:00:00",
"2022-04-18T02:00:00",
"2022-04-18T03:00:00",
"2022-04-18T04:00:00",
"2022-04-18T05:00:00",
"2022-04-18T06:00:00",
"2022-04-18T07:00:00",
"2022-04-18T08:00:00",
"2022-04-18T09:00:00",
"2022-04-18T10:00:00",
"2022-04-18T11:00:00",
"2022-04-18T12:00:00",
"2022-04-18T13:00:00",
"2022-04-18T14:00:00",
"2022-04-18T15:00:00",
"2022-04-18T16:00:00",
"2022-04-18T17:00:00",
"2022-04-18T18:00:00",
"2022-04-18T19:00:00",
"2022-04-18T20:00:00",
"2022-04-18T21:00:00",
"2022-04-18T22:00:00",
"2022-04-18T23:00:00"
],
"xaxis": "x",
"y": [
189.12,
187.39000000000001,
184.27,
179.78,
178.54000000000002,
184.03,
184.95000000000002,
185.18,
184.42000000000002,
178.4,
172.78,
169.99,
159.03,
151.01000000000002,
145.76000000000002,
140.70000000000002,
91.14,
151.31,
173.18,
184.13,
187.78,
187.19,
182.69,
172.39000000000001,
166.76000000000002,
158.85000000000002,
148.35000000000002,
144.24,
144.54000000000002,
144.57000000000002,
150.92000000000002,
148.76000000000002,
153.59,
159.29000000000002,
159.85000000000002,
161.07000000000002,
150.0,
127.21,
97.24,
70.02,
93.63,
107.46,
166.73000000000002,
182.44,
185.4,
185.41,
179.98000000000002,
163.29000000000002,
108.11999999999999,
83.67,
86.77,
83.67,
88.05999999999999,
95.25,
131.0,
148.9,
144.14000000000001,
151.96,
158.75,
153.20000000000002,
151.3,
130.01000000000002,
50.010000000000005,
77.6,
154.45000000000002,
175.79000000000002,
179.12,
186.70000000000002,
194.3,
202.3,
201.24,
195.53
],
"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": "Rsv 1",
"type": "scatter",
"x": [
"2022-04-16T00:00:00",
"2022-04-16T01:00:00",
"2022-04-16T02:00:00",
"2022-04-16T03:00:00",
"2022-04-16T04:00:00",
"2022-04-16T05:00:00",
"2022-04-16T06:00:00",
"2022-04-16T07:00:00",
"2022-04-16T08:00:00",
"2022-04-16T09:00:00",
"2022-04-16T10:00:00",
"2022-04-16T11:00:00",
"2022-04-16T12:00:00",
"2022-04-16T13:00:00",
"2022-04-16T14:00:00",
"2022-04-16T15:00:00",
"2022-04-16T16:00:00",
"2022-04-16T17:00:00",
"2022-04-16T18:00:00",
"2022-04-16T19:00:00",
"2022-04-16T20:00:00",
"2022-04-16T21:00:00",
"2022-04-16T22:00:00",
"2022-04-16T23:00:00",
"2022-04-17T00:00:00",
"2022-04-17T01:00:00",
"2022-04-17T02:00:00",
"2022-04-17T03:00:00",
"2022-04-17T04:00:00",
"2022-04-17T05:00:00",
"2022-04-17T06:00:00",
"2022-04-17T07:00:00",
"2022-04-17T08:00:00",
"2022-04-17T09:00:00",
"2022-04-17T10:00:00",
"2022-04-17T11:00:00",
"2022-04-17T12:00:00",
"2022-04-17T13:00:00",
"2022-04-17T14:00:00",
"2022-04-17T15:00:00",
"2022-04-17T16:00:00",
"2022-04-17T17:00:00",
"2022-04-17T18:00:00",
"2022-04-17T19:00:00",
"2022-04-17T20:00:00",
"2022-04-17T21:00:00",
"2022-04-17T22:00:00",
"2022-04-17T23:00:00",
"2022-04-18T00:00:00",
"2022-04-18T01:00:00",
"2022-04-18T02:00:00",
"2022-04-18T03:00:00",
"2022-04-18T04:00:00",
"2022-04-18T05:00:00",
"2022-04-18T06:00:00",
"2022-04-18T07:00:00",
"2022-04-18T08:00:00",
"2022-04-18T09:00:00",
"2022-04-18T10:00:00",
"2022-04-18T11:00:00",
"2022-04-18T12:00:00",
"2022-04-18T13:00:00",
"2022-04-18T14:00:00",
"2022-04-18T15:00:00",
"2022-04-18T16:00:00",
"2022-04-18T17:00:00",
"2022-04-18T18:00:00",
"2022-04-18T19:00:00",
"2022-04-18T20:00:00",
"2022-04-18T21:00:00",
"2022-04-18T22:00:00",
"2022-04-18T23:00:00",
"2022-04-19T00:00:00"
],
"y": [
95.0,
94.81652703102162,
94.63336834968312,
94.4505207006831,
94.26798086869479,
94.08574567774086,
93.90381199058108,
93.72217670811234,
93.54083676878085,
93.35978914800606,
93.1790308576161,
92.99982594080994,
92.85961048080884,
92.73302927257768,
92.76360588979976,
92.79292078311957,
92.82097498681921,
92.90397349215151,
92.93306147434328,
92.75269891951852,
92.57256943531277,
92.39271993100724,
92.2131475657457,
92.03384953231483,
91.86481748561124,
91.73989668236372,
91.61519700051325,
91.65120743274228,
91.68595251586248,
91.71943299266165,
91.75164966165762,
91.78260338357205,
91.81229508884317,
91.68530191048455,
91.55855833157516,
91.43206089572354,
91.305806201545,
91.33738709231571,
91.36770549508256,
91.45136778366138,
91.53569159241961,
91.6206653462673,
91.65560805286442,
91.53029591944271,
91.35139924877514,
91.17277008566595,
90.9944057361992,
90.81630353793749,
90.69266203594296,
90.73142178697339,
90.81797678813999,
90.90514347721785,
90.99291157194276,
91.08127104730727,
91.17021212603126,
91.2148854867011,
91.25828954423076,
91.300424779175,
91.3412917008781,
91.2181865388334,
91.09527795246474,
91.13584272912506,
91.17513986714808,
91.26774395735401,
91.35517820679716,
91.23272916660413,
91.05589663018324,
90.87931092849936,
90.70296960685148,
90.52687023858549,
90.35101042469934,
90.17538779345549,
90.0
]
},
{
"name": "Rsv 2",
"type": "scatter",
"x": [
"2022-04-16T00:00:00",
"2022-04-16T01:00:00",
"2022-04-16T02:00:00",
"2022-04-16T03:00:00",
"2022-04-16T04:00:00",
"2022-04-16T05:00:00",
"2022-04-16T06:00:00",
"2022-04-16T07:00:00",
"2022-04-16T08:00:00",
"2022-04-16T09:00:00",
"2022-04-16T10:00:00",
"2022-04-16T11:00:00",
"2022-04-16T12:00:00",
"2022-04-16T13:00:00",
"2022-04-16T14:00:00",
"2022-04-16T15:00:00",
"2022-04-16T16:00:00",
"2022-04-16T17:00:00",
"2022-04-16T18:00:00",
"2022-04-16T19:00:00",
"2022-04-16T20:00:00",
"2022-04-16T21:00:00",
"2022-04-16T22:00:00",
"2022-04-16T23:00:00",
"2022-04-17T00:00:00",
"2022-04-17T01:00:00",
"2022-04-17T02:00:00",
"2022-04-17T03:00:00",
"2022-04-17T04:00:00",
"2022-04-17T05:00:00",
"2022-04-17T06:00:00",
"2022-04-17T07:00:00",
"2022-04-17T08:00:00",
"2022-04-17T09:00:00",
"2022-04-17T10:00:00",
"2022-04-17T11:00:00",
"2022-04-17T12:00:00",
"2022-04-17T13:00:00",
"2022-04-17T14:00:00",
"2022-04-17T15:00:00",
"2022-04-17T16:00:00",
"2022-04-17T17:00:00",
"2022-04-17T18:00:00",
"2022-04-17T19:00:00",
"2022-04-17T20:00:00",
"2022-04-17T21:00:00",
"2022-04-17T22:00:00",
"2022-04-17T23:00:00",
"2022-04-18T00:00:00",
"2022-04-18T01:00:00",
"2022-04-18T02:00:00",
"2022-04-18T03:00:00",
"2022-04-18T04:00:00",
"2022-04-18T05:00:00",
"2022-04-18T06:00:00",
"2022-04-18T07:00:00",
"2022-04-18T08:00:00",
"2022-04-18T09:00:00",
"2022-04-18T10:00:00",
"2022-04-18T11:00:00",
"2022-04-18T12:00:00",
"2022-04-18T13:00:00",
"2022-04-18T14:00:00",
"2022-04-18T15:00:00",
"2022-04-18T16:00:00",
"2022-04-18T17:00:00",
"2022-04-18T18:00:00",
"2022-04-18T19:00:00",
"2022-04-18T20:00:00",
"2022-04-18T21:00:00",
"2022-04-18T22:00:00",
"2022-04-18T23:00:00",
"2022-04-19T00:00:00"
],
"y": [
95.0,
94.88347296897838,
94.76663165031688,
94.6494792993169,
94.53201913130522,
94.41425432225914,
94.29618800941893,
94.17782329188765,
94.05916323121915,
93.94021085199395,
93.8209691423839,
93.70220957774485,
93.6062742332799,
93.51785544151106,
93.48727882428898,
93.45796393096917,
93.42990972726953,
93.61691122193724,
93.58782323974548,
93.46826561222255,
93.3483950964283,
93.22824460073383,
93.10781696599537,
92.98711499942625,
92.8720661913759,
92.78198699462341,
92.69168667647388,
92.65567624424486,
92.62093116112464,
92.58745068432549,
92.55523401532952,
92.52428029341507,
92.49458858814396,
92.40658176650257,
92.31832534541196,
92.22982278126358,
92.14107747544213,
92.10949658467142,
92.07917818190457,
92.26551589332574,
92.45119208456752,
92.63621833071983,
92.60127562412269,
92.51158775754442,
92.39048442821199,
92.26911359132119,
92.14747794078792,
92.02558013904965,
91.93422164104418,
91.89546189001375,
92.07890688884714,
92.26174019976928,
92.44397210504438,
92.62561262967985,
92.80667155095587,
92.76199819028602,
92.71859413275635,
92.67645889781213,
92.63559197610903,
92.54369713815373,
92.4516057245224,
92.41104094786206,
92.37174380983905,
92.57118571732265,
92.75375146787951,
92.66120050807253,
92.53803304449342,
92.4146187461773,
92.29096006782517,
92.16705943609118,
92.04291924997732,
91.91854188122117,
91.79392967467666
]
}
],
"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"
}
],
"source": [
"#Plot production/consumption 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",
"plant1_prod = shop.model.plant.plant1.production.get()\n",
"plant2_cons = shop.model.plant.plant2.consumption.get()\n",
"price = shop.model.market.spot.sale_price.get()\n",
"fig.add_trace(go.Scatter(x=plant1_prod.index, y=plant1_prod.values, name=\"Plant 1\"))\n",
"fig.add_trace(go.Scatter(x=plant2_cons.index, y=-plant2_cons.values, name=\"Plant 2\"))\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 of Reservoir 1 and 2\n",
"fig = go.Figure()\n",
"rsv1_head = shop.model.reservoir.rsv1.head.get()\n",
"rsv2_head = shop.model.reservoir.rsv2.head.get()\n",
"fig.add_trace(go.Scatter(x=rsv1_head.index, y=rsv1_head.values, name=\"Rsv 1\"))\n",
"fig.add_trace(go.Scatter(x=rsv2_head.index, y=rsv2_head.values, name=\"Rsv 2\"))\n",
"fig.update_layout(title=\"Reservoir levels\")\n",
"fig.update_yaxes(title_text=\"Level [masl]\")\n",
"fig.show()"
]
},
{
"cell_type": "markdown",
"id": "822be0ed",
"metadata": {},
"source": [
"The [flow](tunnel:flow) in the tunnel network is shown below, and confirms that most of the pumped water ends up in Reservoir 2 instead of Reservoir 1. The split is about 70/30, which is again due to the mass and pressure balance of the tunnel network at each point in time.\n",
"\n",
"Note that the tunnel flow does not deviate from the post-calculated [physical flow](tunnel:physical_flow) attribute, which means that the linearization of the tunnel network equations is stable."
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "6db53098",
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.plotly.v1+json": {
"config": {
"plotlyServerURL": "https://plot.ly"
},
"data": [
{
"name": "rsv1_plant1",
"type": "scatter",
"x": [
"2022-04-16T00:00:00",
"2022-04-16T01:00:00",
"2022-04-16T02:00:00",
"2022-04-16T03:00:00",
"2022-04-16T04:00:00",
"2022-04-16T05:00:00",
"2022-04-16T06:00:00",
"2022-04-16T07:00:00",
"2022-04-16T08:00:00",
"2022-04-16T09:00:00",
"2022-04-16T10:00:00",
"2022-04-16T11:00:00",
"2022-04-16T12:00:00",
"2022-04-16T13:00:00",
"2022-04-16T14:00:00",
"2022-04-16T15:00:00",
"2022-04-16T16:00:00",
"2022-04-16T17:00:00",
"2022-04-16T18:00:00",
"2022-04-16T19:00:00",
"2022-04-16T20:00:00",
"2022-04-16T21:00:00",
"2022-04-16T22:00:00",
"2022-04-16T23:00:00",
"2022-04-17T00:00:00",
"2022-04-17T01:00:00",
"2022-04-17T02:00:00",
"2022-04-17T03:00:00",
"2022-04-17T04:00:00",
"2022-04-17T05:00:00",
"2022-04-17T06:00:00",
"2022-04-17T07:00:00",
"2022-04-17T08:00:00",
"2022-04-17T09:00:00",
"2022-04-17T10:00:00",
"2022-04-17T11:00:00",
"2022-04-17T12:00:00",
"2022-04-17T13:00:00",
"2022-04-17T14:00:00",
"2022-04-17T15:00:00",
"2022-04-17T16:00:00",
"2022-04-17T17:00:00",
"2022-04-17T18:00:00",
"2022-04-17T19:00:00",
"2022-04-17T20:00:00",
"2022-04-17T21:00:00",
"2022-04-17T22:00:00",
"2022-04-17T23:00:00",
"2022-04-18T00:00:00",
"2022-04-18T01:00:00",
"2022-04-18T02:00:00",
"2022-04-18T03:00:00",
"2022-04-18T04:00:00",
"2022-04-18T05:00:00",
"2022-04-18T06:00:00",
"2022-04-18T07:00:00",
"2022-04-18T08:00:00",
"2022-04-18T09:00:00",
"2022-04-18T10:00:00",
"2022-04-18T11:00:00",
"2022-04-18T12:00:00",
"2022-04-18T13:00:00",
"2022-04-18T14:00:00",
"2022-04-18T15:00:00",
"2022-04-18T16:00:00",
"2022-04-18T17:00:00",
"2022-04-18T18:00:00",
"2022-04-18T19:00:00",
"2022-04-18T20:00:00",
"2022-04-18T21:00:00",
"2022-04-18T22:00:00",
"2022-04-18T23:00:00"
],
"y": [
61.157656326125704,
61.05289377950081,
60.94921633333939,
60.846610662771965,
60.7450636513102,
60.64456238659318,
60.54509415624341,
60.44664644383006,
60.34920692493513,
60.25276346331994,
59.73497226871656,
46.738486667035,
42.193736077052286,
-10.192205740696291,
-9.771631106599207,
-9.351401233214709,
-27.666168444097295,
-9.695994063923894,
60.12085160825177,
60.04316140191829,
59.94983476850827,
59.8574550871778,
59.766011143626564,
56.34401556786277,
41.64026774917177,
41.56656061682326,
-12.003477409674895,
-11.581694373401124,
-11.160158933054896,
-10.738889665323509,
-10.317907304810651,
-9.897235090373918,
42.331059452870946,
42.24785963646639,
42.165811950538675,
42.08489805951313,
-10.5269635902366,
-10.106134255614565,
-27.88742952627579,
-28.107936252741528,
-28.32458461589869,
-11.647568865708182,
41.77071114057425,
59.63222355585735,
59.5430543697288,
59.45478315558113,
59.36739942057458,
41.21383399817559,
-12.919917010141875,
-28.851667055535316,
-29.05556302595423,
-29.25603157496797,
-29.453158454841677,
-29.647026241327833,
-14.891120223282087,
-14.468019176555035,
-14.045078314743776,
-13.62230723436712,
41.03505401490093,
40.96952878955364,
-13.521592220106918,
-13.099046007673858,
-30.8680300686428,
-29.14474981438209,
40.816346731007364,
58.9441788069631,
58.86190056129149,
58.780440549293864,
58.699789422001544,
58.61993796204633,
58.54087708128776,
58.46259781849403
]
},
{
"name": "node_plant1",
"type": "scatter",
"x": [
"2022-04-16T00:00:00",
"2022-04-16T01:00:00",
"2022-04-16T02:00:00",
"2022-04-16T03:00:00",
"2022-04-16T04:00:00",
"2022-04-16T05:00:00",
"2022-04-16T06:00:00",
"2022-04-16T07:00:00",
"2022-04-16T08:00:00",
"2022-04-16T09:00:00",
"2022-04-16T10:00:00",
"2022-04-16T11:00:00",
"2022-04-16T12:00:00",
"2022-04-16T13:00:00",
"2022-04-16T14:00:00",
"2022-04-16T15:00:00",
"2022-04-16T16:00:00",
"2022-04-16T17:00:00",
"2022-04-16T18:00:00",
"2022-04-16T19:00:00",
"2022-04-16T20:00:00",
"2022-04-16T21:00:00",
"2022-04-16T22:00:00",
"2022-04-16T23:00:00",
"2022-04-17T00:00:00",
"2022-04-17T01:00:00",
"2022-04-17T02:00:00",
"2022-04-17T03:00:00",
"2022-04-17T04:00:00",
"2022-04-17T05:00:00",
"2022-04-17T06:00:00",
"2022-04-17T07:00:00",
"2022-04-17T08:00:00",
"2022-04-17T09:00:00",
"2022-04-17T10:00:00",
"2022-04-17T11:00:00",
"2022-04-17T12:00:00",
"2022-04-17T13:00:00",
"2022-04-17T14:00:00",
"2022-04-17T15:00:00",
"2022-04-17T16:00:00",
"2022-04-17T17:00:00",
"2022-04-17T18:00:00",
"2022-04-17T19:00:00",
"2022-04-17T20:00:00",
"2022-04-17T21:00:00",
"2022-04-17T22:00:00",
"2022-04-17T23:00:00",
"2022-04-18T00:00:00",
"2022-04-18T01:00:00",
"2022-04-18T02:00:00",
"2022-04-18T03:00:00",
"2022-04-18T04:00:00",
"2022-04-18T05:00:00",
"2022-04-18T06:00:00",
"2022-04-18T07:00:00",
"2022-04-18T08:00:00",
"2022-04-18T09:00:00",
"2022-04-18T10:00:00",
"2022-04-18T11:00:00",
"2022-04-18T12:00:00",
"2022-04-18T13:00:00",
"2022-04-18T14:00:00",
"2022-04-18T15:00:00",
"2022-04-18T16:00:00",
"2022-04-18T17:00:00",
"2022-04-18T18:00:00",
"2022-04-18T19:00:00",
"2022-04-18T20:00:00",
"2022-04-18T21:00:00",
"2022-04-18T22:00:00",
"2022-04-18T23:00:00"
],
"y": [
38.84234367387429,
38.94710622049918,
39.05078366666061,
39.15338933722803,
39.2549363486898,
39.355437613406835,
39.4549058437566,
39.55335355616994,
39.650793075064875,
39.747236536680056,
39.586521546353936,
31.9784481549808,
29.47293058961448,
10.19220574069629,
9.771631106599207,
9.351401233214707,
27.666168444097288,
9.695994063923893,
39.852542507636805,
39.9568385980817,
40.05016523149173,
40.1425449128222,
40.23398885637344,
38.349602683452744,
30.026398917494898,
30.100106049843397,
12.003477409674893,
11.581694373401126,
11.160158933054896,
10.738889665323509,
10.317907304810651,
9.897235090373918,
29.33560721379572,
29.418807030200274,
29.50085471612799,
29.581768607153528,
10.5269635902366,
10.106134255614567,
27.887429526275785,
28.107936252741528,
28.324584615898697,
11.647568865708182,
29.89595552609241,
40.367776444142656,
40.4569456302712,
40.545216844418874,
40.63260057942542,
30.45283266849108,
12.919917010141875,
28.851667055535312,
29.05556302595423,
29.25603157496797,
29.453158454841677,
29.647026241327833,
14.891120223282087,
14.468019176555035,
14.045078314743776,
13.62230723436712,
30.63161265176573,
30.697137877113015,
13.521592220106918,
13.09904600767386,
30.8680300686428,
29.14474981438209,
30.850319935659293,
41.055821193036905,
41.13809943870851,
41.219559450706136,
41.300210577998456,
41.380062037953685,
41.45912291871223,
41.53740218150597
]
},
{
"name": "rsv2_node",
"type": "scatter",
"x": [
"2022-04-16T00:00:00",
"2022-04-16T01:00:00",
"2022-04-16T02:00:00",
"2022-04-16T03:00:00",
"2022-04-16T04:00:00",
"2022-04-16T05:00:00",
"2022-04-16T06:00:00",
"2022-04-16T07:00:00",
"2022-04-16T08:00:00",
"2022-04-16T09:00:00",
"2022-04-16T10:00:00",
"2022-04-16T11:00:00",
"2022-04-16T12:00:00",
"2022-04-16T13:00:00",
"2022-04-16T14:00:00",
"2022-04-16T15:00:00",
"2022-04-16T16:00:00",
"2022-04-16T17:00:00",
"2022-04-16T18:00:00",
"2022-04-16T19:00:00",
"2022-04-16T20:00:00",
"2022-04-16T21:00:00",
"2022-04-16T22:00:00",
"2022-04-16T23:00:00",
"2022-04-17T00:00:00",
"2022-04-17T01:00:00",
"2022-04-17T02:00:00",
"2022-04-17T03:00:00",
"2022-04-17T04:00:00",
"2022-04-17T05:00:00",
"2022-04-17T06:00:00",
"2022-04-17T07:00:00",
"2022-04-17T08:00:00",
"2022-04-17T09:00:00",
"2022-04-17T10:00:00",
"2022-04-17T11:00:00",
"2022-04-17T12:00:00",
"2022-04-17T13:00:00",
"2022-04-17T14:00:00",
"2022-04-17T15:00:00",
"2022-04-17T16:00:00",
"2022-04-17T17:00:00",
"2022-04-17T18:00:00",
"2022-04-17T19:00:00",
"2022-04-17T20:00:00",
"2022-04-17T21:00:00",
"2022-04-17T22:00:00",
"2022-04-17T23:00:00",
"2022-04-18T00:00:00",
"2022-04-18T01:00:00",
"2022-04-18T02:00:00",
"2022-04-18T03:00:00",
"2022-04-18T04:00:00",
"2022-04-18T05:00:00",
"2022-04-18T06:00:00",
"2022-04-18T07:00:00",
"2022-04-18T08:00:00",
"2022-04-18T09:00:00",
"2022-04-18T10:00:00",
"2022-04-18T11:00:00",
"2022-04-18T12:00:00",
"2022-04-18T13:00:00",
"2022-04-18T14:00:00",
"2022-04-18T15:00:00",
"2022-04-18T16:00:00",
"2022-04-18T17:00:00",
"2022-04-18T18:00:00",
"2022-04-18T19:00:00",
"2022-04-18T20:00:00",
"2022-04-18T21:00:00",
"2022-04-18T22:00:00",
"2022-04-18T23:00:00"
],
"y": [
38.84234367387429,
38.94710622049918,
39.05078366666061,
39.15338933722803,
39.2549363486898,
39.35543761340683,
39.454905843756606,
39.55335355616994,
39.650793075064875,
39.74723653668006,
39.586521546353815,
31.97844815498068,
29.47293058961437,
10.192205740696291,
9.771631106599207,
9.351401233214709,
-62.33383155590271,
9.695994063923894,
39.8525425076368,
39.9568385980817,
40.05016523149173,
40.14254491282221,
40.23398885637343,
38.349602683452744,
30.0263989174949,
30.100106049843397,
12.003477409674895,
11.581694373401124,
11.160158933054896,
10.738889665323509,
10.317907304810651,
9.897235090373918,
29.33560721379572,
29.418807030200277,
29.500854716127993,
29.58176860715353,
10.5269635902366,
10.106134255614565,
-62.11257047372422,
-61.89206374725847,
-61.6754153841013,
11.647568865708182,
29.895955526092408,
40.367776444142656,
40.4569456302712,
40.54521684441887,
40.63260057942542,
30.45283266849108,
12.919917010141875,
-61.14833294446468,
-60.944436974045765,
-60.74396842503203,
-60.54684154515832,
-60.352973758672164,
14.891120223282087,
14.468019176555035,
14.045078314743776,
13.62230723436712,
30.63161265176573,
30.69713787711301,
13.521592220106918,
13.099046007673858,
-66.48063582786912,
-60.8552501856179,
30.8503199356593,
41.0558211930369,
41.1380994387085,
41.219559450706136,
41.300210577998456,
41.38006203795368,
41.45912291871223,
41.53740218150597
]
},
{
"name": "node_plant2",
"type": "scatter",
"x": [
"2022-04-16T00:00:00",
"2022-04-16T01:00:00",
"2022-04-16T02:00:00",
"2022-04-16T03:00:00",
"2022-04-16T04:00:00",
"2022-04-16T05:00:00",
"2022-04-16T06:00:00",
"2022-04-16T07:00:00",
"2022-04-16T08:00:00",
"2022-04-16T09:00:00",
"2022-04-16T10:00:00",
"2022-04-16T11:00:00",
"2022-04-16T12:00:00",
"2022-04-16T13:00:00",
"2022-04-16T14:00:00",
"2022-04-16T15:00:00",
"2022-04-16T16:00:00",
"2022-04-16T17:00:00",
"2022-04-16T18:00:00",
"2022-04-16T19:00:00",
"2022-04-16T20:00:00",
"2022-04-16T21:00:00",
"2022-04-16T22:00:00",
"2022-04-16T23:00:00",
"2022-04-17T00:00:00",
"2022-04-17T01:00:00",
"2022-04-17T02:00:00",
"2022-04-17T03:00:00",
"2022-04-17T04:00:00",
"2022-04-17T05:00:00",
"2022-04-17T06:00:00",
"2022-04-17T07:00:00",
"2022-04-17T08:00:00",
"2022-04-17T09:00:00",
"2022-04-17T10:00:00",
"2022-04-17T11:00:00",
"2022-04-17T12:00:00",
"2022-04-17T13:00:00",
"2022-04-17T14:00:00",
"2022-04-17T15:00:00",
"2022-04-17T16:00:00",
"2022-04-17T17:00:00",
"2022-04-17T18:00:00",
"2022-04-17T19:00:00",
"2022-04-17T20:00:00",
"2022-04-17T21:00:00",
"2022-04-17T22:00:00",
"2022-04-17T23:00:00",
"2022-04-18T00:00:00",
"2022-04-18T01:00:00",
"2022-04-18T02:00:00",
"2022-04-18T03:00:00",
"2022-04-18T04:00:00",
"2022-04-18T05:00:00",
"2022-04-18T06:00:00",
"2022-04-18T07:00:00",
"2022-04-18T08:00:00",
"2022-04-18T09:00:00",
"2022-04-18T10:00:00",
"2022-04-18T11:00:00",
"2022-04-18T12:00:00",
"2022-04-18T13:00:00",
"2022-04-18T14:00:00",
"2022-04-18T15:00:00",
"2022-04-18T16:00:00",
"2022-04-18T17:00:00",
"2022-04-18T18:00:00",
"2022-04-18T19:00:00",
"2022-04-18T20:00:00",
"2022-04-18T21:00:00",
"2022-04-18T22:00:00",
"2022-04-18T23: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,
-90.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
-90.0,
-90.0,
-90.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
-90.0,
-90.0,
-90.0,
-90.0,
-90.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
-97.34866589651196,
-90.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": "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": "rsv1_plant1",
"type": "scatter",
"x": [
"2022-04-16T00:00:00",
"2022-04-16T01:00:00",
"2022-04-16T02:00:00",
"2022-04-16T03:00:00",
"2022-04-16T04:00:00",
"2022-04-16T05:00:00",
"2022-04-16T06:00:00",
"2022-04-16T07:00:00",
"2022-04-16T08:00:00",
"2022-04-16T09:00:00",
"2022-04-16T10:00:00",
"2022-04-16T11:00:00",
"2022-04-16T12:00:00",
"2022-04-16T13:00:00",
"2022-04-16T14:00:00",
"2022-04-16T15:00:00",
"2022-04-16T16:00:00",
"2022-04-16T17:00:00",
"2022-04-16T18:00:00",
"2022-04-16T19:00:00",
"2022-04-16T20:00:00",
"2022-04-16T21:00:00",
"2022-04-16T22:00:00",
"2022-04-16T23:00:00",
"2022-04-17T00:00:00",
"2022-04-17T01:00:00",
"2022-04-17T02:00:00",
"2022-04-17T03:00:00",
"2022-04-17T04:00:00",
"2022-04-17T05:00:00",
"2022-04-17T06:00:00",
"2022-04-17T07:00:00",
"2022-04-17T08:00:00",
"2022-04-17T09:00:00",
"2022-04-17T10:00:00",
"2022-04-17T11:00:00",
"2022-04-17T12:00:00",
"2022-04-17T13:00:00",
"2022-04-17T14:00:00",
"2022-04-17T15:00:00",
"2022-04-17T16:00:00",
"2022-04-17T17:00:00",
"2022-04-17T18:00:00",
"2022-04-17T19:00:00",
"2022-04-17T20:00:00",
"2022-04-17T21:00:00",
"2022-04-17T22:00:00",
"2022-04-17T23:00:00",
"2022-04-18T00:00:00",
"2022-04-18T01:00:00",
"2022-04-18T02:00:00",
"2022-04-18T03:00:00",
"2022-04-18T04:00:00",
"2022-04-18T05:00:00",
"2022-04-18T06:00:00",
"2022-04-18T07:00:00",
"2022-04-18T08:00:00",
"2022-04-18T09:00:00",
"2022-04-18T10:00:00",
"2022-04-18T11:00:00",
"2022-04-18T12:00:00",
"2022-04-18T13:00:00",
"2022-04-18T14:00:00",
"2022-04-18T15:00:00",
"2022-04-18T16:00:00",
"2022-04-18T17:00:00",
"2022-04-18T18:00:00",
"2022-04-18T19:00:00",
"2022-04-18T20:00:00",
"2022-04-18T21:00:00",
"2022-04-18T22:00:00",
"2022-04-18T23:00:00"
],
"y": [
0.0,
0.0,
-7.105427357601002e-15,
-7.105427357601002e-15,
-1.4210854715202004e-14,
7.105427357601002e-15,
2.842170943040401e-14,
0.0,
1.4210854715202004e-14,
-2.1316282072803006e-14,
1.2079226507921703e-13,
2.842170943040401e-14,
0.0,
2.7608137997958693e-11,
-8.642331295050099e-11,
-9.617018292829016e-11,
8.206768598029157e-13,
7.480771557766275e-11,
2.716404878810863e-11,
-1.7053025658242404e-13,
-1.7053025658242404e-13,
-1.4210854715202004e-13,
-1.7763568394002505e-13,
-1.9895196601282805e-13,
-3.481659405224491e-13,
-3.055333763768431e-13,
-2.382094521635736e-12,
-4.5416115312946204e-11,
-4.857270141656045e-11,
-5.085531995518977e-11,
4.7696957494736125e-11,
4.9469761620457575e-11,
1.4921397450962104e-13,
1.5631940186722204e-13,
1.7763568394002505e-13,
1.7053025658242404e-13,
2.6558311105873145e-11,
-6.322231627109431e-11,
3.410605131648481e-13,
4.227729277772596e-13,
4.050093593832571e-13,
4.2025760649266886e-10,
-2.6290081223123707e-12,
-1.1866063687193673e-12,
-1.1510792319313623e-12,
-1.1013412404281553e-12,
-1.1084466677857563e-12,
-2.3234747459355276e-12,
1.5936940656047227e-10,
-3.709033080667723e-12,
-3.5846881019097054e-12,
-3.502975687297294e-12,
-3.3715252811816754e-12,
-3.247180302423658e-12,
-5.1656456889759284e-11,
-4.268940756446682e-11,
-5.7690741073201934e-11,
-7.334186591378966e-10,
4.412470389070222e-12,
4.355626970209414e-12,
2.2820856315775018e-10,
6.432188115468307e-12,
8.71835936777643e-12,
2.1458390619955026e-12,
2.0747847884194925e-12,
9.166001291305292e-13,
9.094947017729282e-13,
9.166001291305292e-13,
8.810729923425242e-13,
8.384404281969182e-13,
8.384404281969182e-13,
8.029132914089132e-13
]
},
{
"name": "node_plant1",
"type": "scatter",
"x": [
"2022-04-16T00:00:00",
"2022-04-16T01:00:00",
"2022-04-16T02:00:00",
"2022-04-16T03:00:00",
"2022-04-16T04:00:00",
"2022-04-16T05:00:00",
"2022-04-16T06:00:00",
"2022-04-16T07:00:00",
"2022-04-16T08:00:00",
"2022-04-16T09:00:00",
"2022-04-16T10:00:00",
"2022-04-16T11:00:00",
"2022-04-16T12:00:00",
"2022-04-16T13:00:00",
"2022-04-16T14:00:00",
"2022-04-16T15:00:00",
"2022-04-16T16:00:00",
"2022-04-16T17:00:00",
"2022-04-16T18:00:00",
"2022-04-16T19:00:00",
"2022-04-16T20:00:00",
"2022-04-16T21:00:00",
"2022-04-16T22:00:00",
"2022-04-16T23:00:00",
"2022-04-17T00:00:00",
"2022-04-17T01:00:00",
"2022-04-17T02:00:00",
"2022-04-17T03:00:00",
"2022-04-17T04:00:00",
"2022-04-17T05:00:00",
"2022-04-17T06:00:00",
"2022-04-17T07:00:00",
"2022-04-17T08:00:00",
"2022-04-17T09:00:00",
"2022-04-17T10:00:00",
"2022-04-17T11:00:00",
"2022-04-17T12:00:00",
"2022-04-17T13:00:00",
"2022-04-17T14:00:00",
"2022-04-17T15:00:00",
"2022-04-17T16:00:00",
"2022-04-17T17:00:00",
"2022-04-17T18:00:00",
"2022-04-17T19:00:00",
"2022-04-17T20:00:00",
"2022-04-17T21:00:00",
"2022-04-17T22:00:00",
"2022-04-17T23:00:00",
"2022-04-18T00:00:00",
"2022-04-18T01:00:00",
"2022-04-18T02:00:00",
"2022-04-18T03:00:00",
"2022-04-18T04:00:00",
"2022-04-18T05:00:00",
"2022-04-18T06:00:00",
"2022-04-18T07:00:00",
"2022-04-18T08:00:00",
"2022-04-18T09:00:00",
"2022-04-18T10:00:00",
"2022-04-18T11:00:00",
"2022-04-18T12:00:00",
"2022-04-18T13:00:00",
"2022-04-18T14:00:00",
"2022-04-18T15:00:00",
"2022-04-18T16:00:00",
"2022-04-18T17:00:00",
"2022-04-18T18:00:00",
"2022-04-18T19:00:00",
"2022-04-18T20:00:00",
"2022-04-18T21:00:00",
"2022-04-18T22:00:00",
"2022-04-18T23:00:00"
],
"y": [
0.0,
0.0,
7.105427357601002e-15,
7.105427357601002e-15,
1.4210854715202004e-14,
7.105427357601002e-15,
-2.842170943040401e-14,
0.0,
-1.4210854715202004e-14,
2.1316282072803006e-14,
2.1316282072803006e-14,
1.0302869668521453e-13,
1.1723955140041653e-13,
-2.7609914354798093e-11,
8.642331295050099e-11,
9.616840657145076e-11,
-8.277822871605167e-13,
-7.480949193450215e-11,
-2.716404878810863e-11,
1.7053025658242404e-13,
1.7053025658242404e-13,
1.4210854715202004e-13,
1.7763568394002505e-13,
1.9895196601282805e-13,
3.694822225952521e-13,
3.090860900556436e-13,
2.3803181647963356e-12,
4.5417891669785604e-11,
4.857270141656045e-11,
5.085531995518977e-11,
-4.7696957494736125e-11,
-4.9469761620457575e-11,
-1.4566126083082054e-13,
-1.5631940186722204e-13,
-1.7763568394002505e-13,
-1.7053025658242404e-13,
-2.6558311105873145e-11,
6.322409262793371e-11,
-3.446132268436486e-13,
-4.227729277772596e-13,
-3.979039320256561e-13,
-4.2025760649266886e-10,
2.6290081223123707e-12,
1.1866063687193673e-12,
1.1510792319313623e-12,
1.1013412404281553e-12,
1.1084466677857563e-12,
2.334132886971929e-12,
-1.5936940656047227e-10,
3.7054803669889225e-12,
3.5846881019097054e-12,
3.502975687297294e-12,
3.3715252811816754e-12,
3.247180302423658e-12,
5.1656456889759284e-11,
4.268940756446682e-11,
5.7690741073201934e-11,
7.334186591378966e-10,
-4.412470389070222e-12,
-4.359179683888215e-12,
-2.2820856315775018e-10,
-6.430411758628907e-12,
-8.71835936777643e-12,
-2.1458390619955026e-12,
-2.071232074740692e-12,
-9.166001291305292e-13,
-9.094947017729282e-13,
-9.166001291305292e-13,
-8.810729923425242e-13,
-8.242295734817162e-13,
-8.384404281969182e-13,
-8.029132914089132e-13
]
},
{
"name": "rsv2_node",
"type": "scatter",
"x": [
"2022-04-16T00:00:00",
"2022-04-16T01:00:00",
"2022-04-16T02:00:00",
"2022-04-16T03:00:00",
"2022-04-16T04:00:00",
"2022-04-16T05:00:00",
"2022-04-16T06:00:00",
"2022-04-16T07:00:00",
"2022-04-16T08:00:00",
"2022-04-16T09:00:00",
"2022-04-16T10:00:00",
"2022-04-16T11:00:00",
"2022-04-16T12:00:00",
"2022-04-16T13:00:00",
"2022-04-16T14:00:00",
"2022-04-16T15:00:00",
"2022-04-16T16:00:00",
"2022-04-16T17:00:00",
"2022-04-16T18:00:00",
"2022-04-16T19:00:00",
"2022-04-16T20:00:00",
"2022-04-16T21:00:00",
"2022-04-16T22:00:00",
"2022-04-16T23:00:00",
"2022-04-17T00:00:00",
"2022-04-17T01:00:00",
"2022-04-17T02:00:00",
"2022-04-17T03:00:00",
"2022-04-17T04:00:00",
"2022-04-17T05:00:00",
"2022-04-17T06:00:00",
"2022-04-17T07:00:00",
"2022-04-17T08:00:00",
"2022-04-17T09:00:00",
"2022-04-17T10:00:00",
"2022-04-17T11:00:00",
"2022-04-17T12:00:00",
"2022-04-17T13:00:00",
"2022-04-17T14:00:00",
"2022-04-17T15:00:00",
"2022-04-17T16:00:00",
"2022-04-17T17:00:00",
"2022-04-17T18:00:00",
"2022-04-17T19:00:00",
"2022-04-17T20:00:00",
"2022-04-17T21:00:00",
"2022-04-17T22:00:00",
"2022-04-17T23:00:00",
"2022-04-18T00:00:00",
"2022-04-18T01:00:00",
"2022-04-18T02:00:00",
"2022-04-18T03:00:00",
"2022-04-18T04:00:00",
"2022-04-18T05:00:00",
"2022-04-18T06:00:00",
"2022-04-18T07:00:00",
"2022-04-18T08:00:00",
"2022-04-18T09:00:00",
"2022-04-18T10:00:00",
"2022-04-18T11:00:00",
"2022-04-18T12:00:00",
"2022-04-18T13:00:00",
"2022-04-18T14:00:00",
"2022-04-18T15:00:00",
"2022-04-18T16:00:00",
"2022-04-18T17:00:00",
"2022-04-18T18:00:00",
"2022-04-18T19:00:00",
"2022-04-18T20:00:00",
"2022-04-18T21:00:00",
"2022-04-18T22:00:00",
"2022-04-18T23:00:00"
],
"y": [
0.0,
0.0,
7.105427357601002e-15,
7.105427357601002e-15,
1.4210854715202004e-14,
0.0,
-2.1316282072803006e-14,
0.0,
-1.4210854715202004e-14,
2.842170943040401e-14,
-9.947598300641403e-14,
-1.7763568394002505e-14,
7.105427357601002e-15,
-2.7608137997958693e-11,
8.642331295050099e-11,
9.617018292829016e-11,
-8.242295734817162e-13,
-7.480771557766275e-11,
-2.717115421546623e-11,
1.7053025658242404e-13,
1.7053025658242404e-13,
1.4921397450962104e-13,
1.6342482922482304e-13,
1.9895196601282805e-13,
3.730349362740526e-13,
3.090860900556436e-13,
2.382094521635736e-12,
4.5416115312946204e-11,
4.857270141656045e-11,
5.085531995518977e-11,
-4.7696957494736125e-11,
-4.9469761620457575e-11,
-1.4566126083082054e-13,
-1.5276668818842154e-13,
-1.7408297026122455e-13,
-1.6697754290362354e-13,
-2.6558311105873145e-11,
6.322231627109431e-11,
-3.481659405224491e-13,
-4.263256414560601e-13,
-3.979039320256561e-13,
-4.2025760649266886e-10,
2.62545540863357e-12,
1.1866063687193673e-12,
1.1510792319313623e-12,
1.0942358130705543e-12,
1.1084466677857563e-12,
2.334132886971929e-12,
-1.5936940656047227e-10,
3.723243935382925e-12,
3.588240815588506e-12,
3.502975687297294e-12,
3.375077994860476e-12,
3.247180302423658e-12,
5.1656456889759284e-11,
4.268940756446682e-11,
5.7690741073201934e-11,
7.334186591378966e-10,
-4.412470389070222e-12,
-4.362732397567015e-12,
-2.2820856315775018e-10,
-6.432188115468307e-12,
-8.72546479513403e-12,
-2.1316282072803006e-12,
-2.064126647383091e-12,
-9.237055564881302e-13,
-9.166001291305292e-13,
-9.166001291305292e-13,
-8.810729923425242e-13,
-8.313350008393172e-13,
-8.384404281969182e-13,
-8.029132914089132e-13
]
},
{
"name": "node_plant2",
"type": "scatter",
"x": [
"2022-04-16T00:00:00",
"2022-04-16T01:00:00",
"2022-04-16T02:00:00",
"2022-04-16T03:00:00",
"2022-04-16T04:00:00",
"2022-04-16T05:00:00",
"2022-04-16T06:00:00",
"2022-04-16T07:00:00",
"2022-04-16T08:00:00",
"2022-04-16T09:00:00",
"2022-04-16T10:00:00",
"2022-04-16T11:00:00",
"2022-04-16T12:00:00",
"2022-04-16T13:00:00",
"2022-04-16T14:00:00",
"2022-04-16T15:00:00",
"2022-04-16T16:00:00",
"2022-04-16T17:00:00",
"2022-04-16T18:00:00",
"2022-04-16T19:00:00",
"2022-04-16T20:00:00",
"2022-04-16T21:00:00",
"2022-04-16T22:00:00",
"2022-04-16T23:00:00",
"2022-04-17T00:00:00",
"2022-04-17T01:00:00",
"2022-04-17T02:00:00",
"2022-04-17T03:00:00",
"2022-04-17T04:00:00",
"2022-04-17T05:00:00",
"2022-04-17T06:00:00",
"2022-04-17T07:00:00",
"2022-04-17T08:00:00",
"2022-04-17T09:00:00",
"2022-04-17T10:00:00",
"2022-04-17T11:00:00",
"2022-04-17T12:00:00",
"2022-04-17T13:00:00",
"2022-04-17T14:00:00",
"2022-04-17T15:00:00",
"2022-04-17T16:00:00",
"2022-04-17T17:00:00",
"2022-04-17T18:00:00",
"2022-04-17T19:00:00",
"2022-04-17T20:00:00",
"2022-04-17T21:00:00",
"2022-04-17T22:00:00",
"2022-04-17T23:00:00",
"2022-04-18T00:00:00",
"2022-04-18T01:00:00",
"2022-04-18T02:00:00",
"2022-04-18T03:00:00",
"2022-04-18T04:00:00",
"2022-04-18T05:00:00",
"2022-04-18T06:00:00",
"2022-04-18T07:00:00",
"2022-04-18T08:00:00",
"2022-04-18T09:00:00",
"2022-04-18T10:00:00",
"2022-04-18T11:00:00",
"2022-04-18T12:00:00",
"2022-04-18T13:00:00",
"2022-04-18T14:00:00",
"2022-04-18T15:00:00",
"2022-04-18T16:00:00",
"2022-04-18T17:00:00",
"2022-04-18T18:00:00",
"2022-04-18T19:00:00",
"2022-04-18T20:00:00",
"2022-04-18T21:00:00",
"2022-04-18T22:00:00",
"2022-04-18T23: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,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
-4.263256414560601e-14,
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": "Optimized tunnel flow deviation from post-calculated flow"
},
"yaxis": {
"title": {
"text": "Flow [m3/s]"
}
}
}
},
"text/html": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"#Plot the flow in all tunnels, negative values indicate flow in the opposite direction of the connection\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 the deviation of the flow from the post-calculated 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=\"Optimized tunnel flow deviation from post-calculated flow\")\n",
"fig.update_yaxes(title_text=\"Flow [m3/s]\")\n",
"fig.show()"
]
},
{
"cell_type": "markdown",
"id": "fe5a0789",
"metadata": {},
"source": [
"## Gate optimization\n",
"\n",
"Now, an adjustable gate can be inserted in tunnel \"rsv2_node\". Instead of having the tunnel open at all times like in the first model run, SHOP can now optimize the gate opening. The gate is modelled as a binary gate, which is either fully open or fully closed. A [gate_adjustment_cost](tunnel:gate_adjustment_cost) of 1000 € is added to the gate to avoid excessive switching of the gate position between time steps. Gate optimization problems are in general difficult to solve as the gate position can drastically change the flow in the network. For this system, it is beneficial to set the CPLEX parameter \"Mip emphasis switch\" (id 2058) to 3, which means that CPLEX will prioritize shrinking in the best bound for the MIP problem (see the CPLEX documentation https://www.ibm.com/docs/en/icos/20.1.0?topic=parameters-mip-emphasis-switch). Any integer CPLEX parameter can be set with the [cplex_int_params](global_settings:cplex_int_params) attribute. The MIP gap is also set to 1500 €, which is the same as adjusting the gate position 1.5 times."
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "973fd06c",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Optimized gate objective: 0.0\n",
"Difference from open tunnel objective: 659639.1644133304\n"
]
}
],
"source": [
"shop = build_model()\n",
"\n",
"#Add a binary gate\n",
"t3 = shop.model.tunnel[\"rsv2_node\"]\n",
"t3.gate_opening_curve.set(pd.Series([0,1], index=[0,1]))\n",
"t3.initial_opening.set(1)\n",
"t3.gate_adjustment_cost.set(1000)\n",
"\n",
"gs = shop.model.global_settings.global_settings\n",
"gs.cplex_int_params.set(pd.Series([3],index=[2058]))\n",
"\n",
"#Run a standard optimization model\n",
"shop.set_mipgap(\"absolute\",1500)\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",
"optimized_gate_objective = shop.model.objective.average_objective.total.get()\n",
"print(\"Optimized gate objective:\",optimized_gate_objective)\n",
"print(\"Difference from open tunnel objective:\",optimized_gate_objective - open_tunnel_objective)"
]
},
{
"cell_type": "markdown",
"id": "cfc318e7",
"metadata": {},
"source": [
"The objective function has improved when the gate position is free to optimize. The figures below show that the gate is mostly open, but it is closed off in two periods towards the end of the optimization to allow all of the pumped water from Reservoir 3 to flow into Reservoir 1 instead of mostly into Reservoir 2. This makes it possible to draw down Reservoir 2 more than Reservoir 1, which has a higher water value."
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "47a9af9b",
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.plotly.v1+json": {
"config": {
"plotlyServerURL": "https://plot.ly"
},
"data": [
{
"name": "rsv2_node",
"type": "scatter",
"x": [
"2022-04-16T00:00:00",
"2022-04-16T01:00:00",
"2022-04-16T02:00:00",
"2022-04-16T03:00:00",
"2022-04-16T04:00:00",
"2022-04-16T05:00:00",
"2022-04-16T06:00:00",
"2022-04-16T07:00:00",
"2022-04-16T08:00:00",
"2022-04-16T09:00:00",
"2022-04-16T10:00:00",
"2022-04-16T11:00:00",
"2022-04-16T12:00:00",
"2022-04-16T13:00:00",
"2022-04-16T14:00:00",
"2022-04-16T15:00:00",
"2022-04-16T16:00:00",
"2022-04-16T17:00:00",
"2022-04-16T18:00:00",
"2022-04-16T19:00:00",
"2022-04-16T20:00:00",
"2022-04-16T21:00:00",
"2022-04-16T22:00:00",
"2022-04-16T23:00:00",
"2022-04-17T00:00:00",
"2022-04-17T01:00:00",
"2022-04-17T02:00:00",
"2022-04-17T03:00:00",
"2022-04-17T04:00:00",
"2022-04-17T05:00:00",
"2022-04-17T06:00:00",
"2022-04-17T07:00:00",
"2022-04-17T08:00:00",
"2022-04-17T09:00:00",
"2022-04-17T10:00:00",
"2022-04-17T11:00:00",
"2022-04-17T12:00:00",
"2022-04-17T13:00:00",
"2022-04-17T14:00:00",
"2022-04-17T15:00:00",
"2022-04-17T16:00:00",
"2022-04-17T17:00:00",
"2022-04-17T18:00:00",
"2022-04-17T19:00:00",
"2022-04-17T20:00:00",
"2022-04-17T21:00:00",
"2022-04-17T22:00:00",
"2022-04-17T23:00:00",
"2022-04-18T00:00:00",
"2022-04-18T01:00:00",
"2022-04-18T02:00:00",
"2022-04-18T03:00:00",
"2022-04-18T04:00:00",
"2022-04-18T05:00:00",
"2022-04-18T06:00:00",
"2022-04-18T07:00:00",
"2022-04-18T08:00:00",
"2022-04-18T09:00:00",
"2022-04-18T10:00:00",
"2022-04-18T11:00:00",
"2022-04-18T12:00:00",
"2022-04-18T13:00:00",
"2022-04-18T14:00:00",
"2022-04-18T15:00:00",
"2022-04-18T16:00:00",
"2022-04-18T17:00:00",
"2022-04-18T18:00:00",
"2022-04-18T19:00:00",
"2022-04-18T20:00:00",
"2022-04-18T21:00:00",
"2022-04-18T22:00:00",
"2022-04-18T23: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,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
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": "Gate opening"
}
}
},
"text/html": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.plotly.v1+json": {
"config": {
"plotlyServerURL": "https://plot.ly"
},
"data": [
{
"name": "Plant 1",
"type": "scatter",
"x": [
"2022-04-16T00:00:00",
"2022-04-16T01:00:00",
"2022-04-16T02:00:00",
"2022-04-16T03:00:00",
"2022-04-16T04:00:00",
"2022-04-16T05:00:00",
"2022-04-16T06:00:00",
"2022-04-16T07:00:00",
"2022-04-16T08:00:00",
"2022-04-16T09:00:00",
"2022-04-16T10:00:00",
"2022-04-16T11:00:00",
"2022-04-16T12:00:00",
"2022-04-16T13:00:00",
"2022-04-16T14:00:00",
"2022-04-16T15:00:00",
"2022-04-16T16:00:00",
"2022-04-16T17:00:00",
"2022-04-16T18:00:00",
"2022-04-16T19:00:00",
"2022-04-16T20:00:00",
"2022-04-16T21:00:00",
"2022-04-16T22:00:00",
"2022-04-16T23:00:00",
"2022-04-17T00:00:00",
"2022-04-17T01:00:00",
"2022-04-17T02:00:00",
"2022-04-17T03:00:00",
"2022-04-17T04:00:00",
"2022-04-17T05:00:00",
"2022-04-17T06:00:00",
"2022-04-17T07:00:00",
"2022-04-17T08:00:00",
"2022-04-17T09:00:00",
"2022-04-17T10:00:00",
"2022-04-17T11:00:00",
"2022-04-17T12:00:00",
"2022-04-17T13:00:00",
"2022-04-17T14:00:00",
"2022-04-17T15:00:00",
"2022-04-17T16:00:00",
"2022-04-17T17:00:00",
"2022-04-17T18:00:00",
"2022-04-17T19:00:00",
"2022-04-17T20:00:00",
"2022-04-17T21:00:00",
"2022-04-17T22:00:00",
"2022-04-17T23:00:00",
"2022-04-18T00:00:00",
"2022-04-18T01:00:00",
"2022-04-18T02:00:00",
"2022-04-18T03:00:00",
"2022-04-18T04:00:00",
"2022-04-18T05:00:00",
"2022-04-18T06:00:00",
"2022-04-18T07:00:00",
"2022-04-18T08:00:00",
"2022-04-18T09:00:00",
"2022-04-18T10:00:00",
"2022-04-18T11:00:00",
"2022-04-18T12:00:00",
"2022-04-18T13:00:00",
"2022-04-18T14:00:00",
"2022-04-18T15:00:00",
"2022-04-18T16:00:00",
"2022-04-18T17:00:00",
"2022-04-18T18:00:00",
"2022-04-18T19:00:00",
"2022-04-18T20:00:00",
"2022-04-18T21:00:00",
"2022-04-18T22:00:00",
"2022-04-18T23: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,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
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": "Plant 2",
"type": "scatter",
"x": [
"2022-04-16T00:00:00",
"2022-04-16T01:00:00",
"2022-04-16T02:00:00",
"2022-04-16T03:00:00",
"2022-04-16T04:00:00",
"2022-04-16T05:00:00",
"2022-04-16T06:00:00",
"2022-04-16T07:00:00",
"2022-04-16T08:00:00",
"2022-04-16T09:00:00",
"2022-04-16T10:00:00",
"2022-04-16T11:00:00",
"2022-04-16T12:00:00",
"2022-04-16T13:00:00",
"2022-04-16T14:00:00",
"2022-04-16T15:00:00",
"2022-04-16T16:00:00",
"2022-04-16T17:00:00",
"2022-04-16T18:00:00",
"2022-04-16T19:00:00",
"2022-04-16T20:00:00",
"2022-04-16T21:00:00",
"2022-04-16T22:00:00",
"2022-04-16T23:00:00",
"2022-04-17T00:00:00",
"2022-04-17T01:00:00",
"2022-04-17T02:00:00",
"2022-04-17T03:00:00",
"2022-04-17T04:00:00",
"2022-04-17T05:00:00",
"2022-04-17T06:00:00",
"2022-04-17T07:00:00",
"2022-04-17T08:00:00",
"2022-04-17T09:00:00",
"2022-04-17T10:00:00",
"2022-04-17T11:00:00",
"2022-04-17T12:00:00",
"2022-04-17T13:00:00",
"2022-04-17T14:00:00",
"2022-04-17T15:00:00",
"2022-04-17T16:00:00",
"2022-04-17T17:00:00",
"2022-04-17T18:00:00",
"2022-04-17T19:00:00",
"2022-04-17T20:00:00",
"2022-04-17T21:00:00",
"2022-04-17T22:00:00",
"2022-04-17T23:00:00",
"2022-04-18T00:00:00",
"2022-04-18T01:00:00",
"2022-04-18T02:00:00",
"2022-04-18T03:00:00",
"2022-04-18T04:00:00",
"2022-04-18T05:00:00",
"2022-04-18T06:00:00",
"2022-04-18T07:00:00",
"2022-04-18T08:00:00",
"2022-04-18T09:00:00",
"2022-04-18T10:00:00",
"2022-04-18T11:00:00",
"2022-04-18T12:00:00",
"2022-04-18T13:00:00",
"2022-04-18T14:00:00",
"2022-04-18T15:00:00",
"2022-04-18T16:00:00",
"2022-04-18T17:00:00",
"2022-04-18T18:00:00",
"2022-04-18T19:00:00",
"2022-04-18T20:00:00",
"2022-04-18T21:00:00",
"2022-04-18T22:00:00",
"2022-04-18T23: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,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-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": "Price",
"type": "scatter",
"x": [
"2022-04-16T00:00:00",
"2022-04-16T01:00:00",
"2022-04-16T02:00:00",
"2022-04-16T03:00:00",
"2022-04-16T04:00:00",
"2022-04-16T05:00:00",
"2022-04-16T06:00:00",
"2022-04-16T07:00:00",
"2022-04-16T08:00:00",
"2022-04-16T09:00:00",
"2022-04-16T10:00:00",
"2022-04-16T11:00:00",
"2022-04-16T12:00:00",
"2022-04-16T13:00:00",
"2022-04-16T14:00:00",
"2022-04-16T15:00:00",
"2022-04-16T16:00:00",
"2022-04-16T17:00:00",
"2022-04-16T18:00:00",
"2022-04-16T19:00:00",
"2022-04-16T20:00:00",
"2022-04-16T21:00:00",
"2022-04-16T22:00:00",
"2022-04-16T23:00:00",
"2022-04-17T00:00:00",
"2022-04-17T01:00:00",
"2022-04-17T02:00:00",
"2022-04-17T03:00:00",
"2022-04-17T04:00:00",
"2022-04-17T05:00:00",
"2022-04-17T06:00:00",
"2022-04-17T07:00:00",
"2022-04-17T08:00:00",
"2022-04-17T09:00:00",
"2022-04-17T10:00:00",
"2022-04-17T11:00:00",
"2022-04-17T12:00:00",
"2022-04-17T13:00:00",
"2022-04-17T14:00:00",
"2022-04-17T15:00:00",
"2022-04-17T16:00:00",
"2022-04-17T17:00:00",
"2022-04-17T18:00:00",
"2022-04-17T19:00:00",
"2022-04-17T20:00:00",
"2022-04-17T21:00:00",
"2022-04-17T22:00:00",
"2022-04-17T23:00:00",
"2022-04-18T00:00:00",
"2022-04-18T01:00:00",
"2022-04-18T02:00:00",
"2022-04-18T03:00:00",
"2022-04-18T04:00:00",
"2022-04-18T05:00:00",
"2022-04-18T06:00:00",
"2022-04-18T07:00:00",
"2022-04-18T08:00:00",
"2022-04-18T09:00:00",
"2022-04-18T10:00:00",
"2022-04-18T11:00:00",
"2022-04-18T12:00:00",
"2022-04-18T13:00:00",
"2022-04-18T14:00:00",
"2022-04-18T15:00:00",
"2022-04-18T16:00:00",
"2022-04-18T17:00:00",
"2022-04-18T18:00:00",
"2022-04-18T19:00:00",
"2022-04-18T20:00:00",
"2022-04-18T21:00:00",
"2022-04-18T22:00:00",
"2022-04-18T23:00:00"
],
"xaxis": "x",
"y": [
189.12,
187.39000000000001,
184.27,
179.78,
178.54000000000002,
184.03,
184.95000000000002,
185.18,
184.42000000000002,
178.4,
172.78,
169.99,
159.03,
151.01000000000002,
145.76000000000002,
140.70000000000002,
91.14,
151.31,
173.18,
184.13,
187.78,
187.19,
182.69,
172.39000000000001,
166.76000000000002,
158.85000000000002,
148.35000000000002,
144.24,
144.54000000000002,
144.57000000000002,
150.92000000000002,
148.76000000000002,
153.59,
159.29000000000002,
159.85000000000002,
161.07000000000002,
150.0,
127.21,
97.24,
70.02,
93.63,
107.46,
166.73000000000002,
182.44,
185.4,
185.41,
179.98000000000002,
163.29000000000002,
108.11999999999999,
83.67,
86.77,
83.67,
88.05999999999999,
95.25,
131.0,
148.9,
144.14000000000001,
151.96,
158.75,
153.20000000000002,
151.3,
130.01000000000002,
50.010000000000005,
77.6,
154.45000000000002,
175.79000000000002,
179.12,
186.70000000000002,
194.3,
202.3,
201.24,
195.53
],
"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": "Rsv 1",
"type": "scatter",
"x": [
"2022-04-16T00:00:00",
"2022-04-16T01:00:00",
"2022-04-16T02:00:00",
"2022-04-16T03:00:00",
"2022-04-16T04:00:00",
"2022-04-16T05:00:00",
"2022-04-16T06:00:00",
"2022-04-16T07:00:00",
"2022-04-16T08:00:00",
"2022-04-16T09:00:00",
"2022-04-16T10:00:00",
"2022-04-16T11:00:00",
"2022-04-16T12:00:00",
"2022-04-16T13:00:00",
"2022-04-16T14:00:00",
"2022-04-16T15:00:00",
"2022-04-16T16:00:00",
"2022-04-16T17:00:00",
"2022-04-16T18:00:00",
"2022-04-16T19:00:00",
"2022-04-16T20:00:00",
"2022-04-16T21:00:00",
"2022-04-16T22:00:00",
"2022-04-16T23:00:00",
"2022-04-17T00:00:00",
"2022-04-17T01:00:00",
"2022-04-17T02:00:00",
"2022-04-17T03:00:00",
"2022-04-17T04:00:00",
"2022-04-17T05:00:00",
"2022-04-17T06:00:00",
"2022-04-17T07:00:00",
"2022-04-17T08:00:00",
"2022-04-17T09:00:00",
"2022-04-17T10:00:00",
"2022-04-17T11:00:00",
"2022-04-17T12:00:00",
"2022-04-17T13:00:00",
"2022-04-17T14:00:00",
"2022-04-17T15:00:00",
"2022-04-17T16:00:00",
"2022-04-17T17:00:00",
"2022-04-17T18:00:00",
"2022-04-17T19:00:00",
"2022-04-17T20:00:00",
"2022-04-17T21:00:00",
"2022-04-17T22:00:00",
"2022-04-17T23:00:00",
"2022-04-18T00:00:00",
"2022-04-18T01:00:00",
"2022-04-18T02:00:00",
"2022-04-18T03:00:00",
"2022-04-18T04:00:00",
"2022-04-18T05:00:00",
"2022-04-18T06:00:00",
"2022-04-18T07:00:00",
"2022-04-18T08:00:00",
"2022-04-18T09:00:00",
"2022-04-18T10:00:00",
"2022-04-18T11:00:00",
"2022-04-18T12:00:00",
"2022-04-18T13:00:00",
"2022-04-18T14:00:00",
"2022-04-18T15:00:00",
"2022-04-18T16:00:00",
"2022-04-18T17:00:00",
"2022-04-18T18:00:00",
"2022-04-18T19:00:00",
"2022-04-18T20:00:00",
"2022-04-18T21:00:00",
"2022-04-18T22:00:00",
"2022-04-18T23:00:00",
"2022-04-19T00:00:00"
],
"y": [
95.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0
]
},
{
"name": "Rsv 2",
"type": "scatter",
"x": [
"2022-04-16T00:00:00",
"2022-04-16T01:00:00",
"2022-04-16T02:00:00",
"2022-04-16T03:00:00",
"2022-04-16T04:00:00",
"2022-04-16T05:00:00",
"2022-04-16T06:00:00",
"2022-04-16T07:00:00",
"2022-04-16T08:00:00",
"2022-04-16T09:00:00",
"2022-04-16T10:00:00",
"2022-04-16T11:00:00",
"2022-04-16T12:00:00",
"2022-04-16T13:00:00",
"2022-04-16T14:00:00",
"2022-04-16T15:00:00",
"2022-04-16T16:00:00",
"2022-04-16T17:00:00",
"2022-04-16T18:00:00",
"2022-04-16T19:00:00",
"2022-04-16T20:00:00",
"2022-04-16T21:00:00",
"2022-04-16T22:00:00",
"2022-04-16T23:00:00",
"2022-04-17T00:00:00",
"2022-04-17T01:00:00",
"2022-04-17T02:00:00",
"2022-04-17T03:00:00",
"2022-04-17T04:00:00",
"2022-04-17T05:00:00",
"2022-04-17T06:00:00",
"2022-04-17T07:00:00",
"2022-04-17T08:00:00",
"2022-04-17T09:00:00",
"2022-04-17T10:00:00",
"2022-04-17T11:00:00",
"2022-04-17T12:00:00",
"2022-04-17T13:00:00",
"2022-04-17T14:00:00",
"2022-04-17T15:00:00",
"2022-04-17T16:00:00",
"2022-04-17T17:00:00",
"2022-04-17T18:00:00",
"2022-04-17T19:00:00",
"2022-04-17T20:00:00",
"2022-04-17T21:00:00",
"2022-04-17T22:00:00",
"2022-04-17T23:00:00",
"2022-04-18T00:00:00",
"2022-04-18T01:00:00",
"2022-04-18T02:00:00",
"2022-04-18T03:00:00",
"2022-04-18T04:00:00",
"2022-04-18T05:00:00",
"2022-04-18T06:00:00",
"2022-04-18T07:00:00",
"2022-04-18T08:00:00",
"2022-04-18T09:00:00",
"2022-04-18T10:00:00",
"2022-04-18T11:00:00",
"2022-04-18T12:00:00",
"2022-04-18T13:00:00",
"2022-04-18T14:00:00",
"2022-04-18T15:00:00",
"2022-04-18T16:00:00",
"2022-04-18T17:00:00",
"2022-04-18T18:00:00",
"2022-04-18T19:00:00",
"2022-04-18T20:00:00",
"2022-04-18T21:00:00",
"2022-04-18T22:00:00",
"2022-04-18T23:00:00",
"2022-04-19T00:00:00"
],
"y": [
95.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.0,
90.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": "Reservoir levels"
},
"yaxis": {
"title": {
"text": "Level [masl]"
}
}
}
},
"text/html": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"#Plot resulting gate opening\n",
"gate_opening = t3.gate_opening.get()\n",
"fig = go.Figure()\n",
"fig.add_trace(go.Scatter(x=gate_opening.index, y=gate_opening.values, name=t3.get_name()))\n",
"fig.update_layout(title=\"Gate opening\")\n",
"fig.show()\n",
"\n",
"#Plot production/consumption 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",
"plant1_prod = shop.model.plant.plant1.production.get()\n",
"plant2_cons = shop.model.plant.plant2.consumption.get()\n",
"price = shop.model.market.spot.sale_price.get()\n",
"fig.add_trace(go.Scatter(x=plant1_prod.index, y=plant1_prod.values, name=\"Plant 1\"))\n",
"fig.add_trace(go.Scatter(x=plant2_cons.index, y=-plant2_cons.values, name=\"Plant 2\"))\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",
"rsv1_head = shop.model.reservoir.rsv1.head.get()\n",
"rsv2_head = shop.model.reservoir.rsv2.head.get()\n",
"fig.add_trace(go.Scatter(x=rsv1_head.index, y=rsv1_head.values, name=\"Rsv 1\"))\n",
"fig.add_trace(go.Scatter(x=rsv2_head.index, y=rsv2_head.values, name=\"Rsv 2\"))\n",
"fig.update_layout(title=\"Reservoir levels\")\n",
"fig.update_yaxes(title_text=\"Level [masl]\")\n",
"fig.show()"
]
},
{
"cell_type": "markdown",
"id": "2e9af30f",
"metadata": {},
"source": [
"As the flows in the tunnel network show, all the pumped water flows into Reservoir 1 when the gate is closed. Note that the gate is left open in the first pumping period that lasts for 1 hour, this is likely due to the gate adjustment cost of 1000 € making it unprofitable to change."
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "419d8e76",
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.plotly.v1+json": {
"config": {
"plotlyServerURL": "https://plot.ly"
},
"data": [
{
"name": "rsv1_plant1",
"type": "scatter",
"x": [
"2022-04-16T00:00:00",
"2022-04-16T01:00:00",
"2022-04-16T02:00:00",
"2022-04-16T03:00:00",
"2022-04-16T04:00:00",
"2022-04-16T05:00:00",
"2022-04-16T06:00:00",
"2022-04-16T07:00:00",
"2022-04-16T08:00:00",
"2022-04-16T09:00:00",
"2022-04-16T10:00:00",
"2022-04-16T11:00:00",
"2022-04-16T12:00:00",
"2022-04-16T13:00:00",
"2022-04-16T14:00:00",
"2022-04-16T15:00:00",
"2022-04-16T16:00:00",
"2022-04-16T17:00:00",
"2022-04-16T18:00:00",
"2022-04-16T19:00:00",
"2022-04-16T20:00:00",
"2022-04-16T21:00:00",
"2022-04-16T22:00:00",
"2022-04-16T23:00:00",
"2022-04-17T00:00:00",
"2022-04-17T01:00:00",
"2022-04-17T02:00:00",
"2022-04-17T03:00:00",
"2022-04-17T04:00:00",
"2022-04-17T05:00:00",
"2022-04-17T06:00:00",
"2022-04-17T07:00:00",
"2022-04-17T08:00:00",
"2022-04-17T09:00:00",
"2022-04-17T10:00:00",
"2022-04-17T11:00:00",
"2022-04-17T12:00:00",
"2022-04-17T13:00:00",
"2022-04-17T14:00:00",
"2022-04-17T15:00:00",
"2022-04-17T16:00:00",
"2022-04-17T17:00:00",
"2022-04-17T18:00:00",
"2022-04-17T19:00:00",
"2022-04-17T20:00:00",
"2022-04-17T21:00:00",
"2022-04-17T22:00:00",
"2022-04-17T23:00:00",
"2022-04-18T00:00:00",
"2022-04-18T01:00:00",
"2022-04-18T02:00:00",
"2022-04-18T03:00:00",
"2022-04-18T04:00:00",
"2022-04-18T05:00:00",
"2022-04-18T06:00:00",
"2022-04-18T07:00:00",
"2022-04-18T08:00:00",
"2022-04-18T09:00:00",
"2022-04-18T10:00:00",
"2022-04-18T11:00:00",
"2022-04-18T12:00:00",
"2022-04-18T13:00:00",
"2022-04-18T14:00:00",
"2022-04-18T15:00:00",
"2022-04-18T16:00:00",
"2022-04-18T17:00:00",
"2022-04-18T18:00:00",
"2022-04-18T19:00:00",
"2022-04-18T20:00:00",
"2022-04-18T21:00:00",
"2022-04-18T22:00:00",
"2022-04-18T23: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,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
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": "node_plant1",
"type": "scatter",
"x": [
"2022-04-16T00:00:00",
"2022-04-16T01:00:00",
"2022-04-16T02:00:00",
"2022-04-16T03:00:00",
"2022-04-16T04:00:00",
"2022-04-16T05:00:00",
"2022-04-16T06:00:00",
"2022-04-16T07:00:00",
"2022-04-16T08:00:00",
"2022-04-16T09:00:00",
"2022-04-16T10:00:00",
"2022-04-16T11:00:00",
"2022-04-16T12:00:00",
"2022-04-16T13:00:00",
"2022-04-16T14:00:00",
"2022-04-16T15:00:00",
"2022-04-16T16:00:00",
"2022-04-16T17:00:00",
"2022-04-16T18:00:00",
"2022-04-16T19:00:00",
"2022-04-16T20:00:00",
"2022-04-16T21:00:00",
"2022-04-16T22:00:00",
"2022-04-16T23:00:00",
"2022-04-17T00:00:00",
"2022-04-17T01:00:00",
"2022-04-17T02:00:00",
"2022-04-17T03:00:00",
"2022-04-17T04:00:00",
"2022-04-17T05:00:00",
"2022-04-17T06:00:00",
"2022-04-17T07:00:00",
"2022-04-17T08:00:00",
"2022-04-17T09:00:00",
"2022-04-17T10:00:00",
"2022-04-17T11:00:00",
"2022-04-17T12:00:00",
"2022-04-17T13:00:00",
"2022-04-17T14:00:00",
"2022-04-17T15:00:00",
"2022-04-17T16:00:00",
"2022-04-17T17:00:00",
"2022-04-17T18:00:00",
"2022-04-17T19:00:00",
"2022-04-17T20:00:00",
"2022-04-17T21:00:00",
"2022-04-17T22:00:00",
"2022-04-17T23:00:00",
"2022-04-18T00:00:00",
"2022-04-18T01:00:00",
"2022-04-18T02:00:00",
"2022-04-18T03:00:00",
"2022-04-18T04:00:00",
"2022-04-18T05:00:00",
"2022-04-18T06:00:00",
"2022-04-18T07:00:00",
"2022-04-18T08:00:00",
"2022-04-18T09:00:00",
"2022-04-18T10:00:00",
"2022-04-18T11:00:00",
"2022-04-18T12:00:00",
"2022-04-18T13:00:00",
"2022-04-18T14:00:00",
"2022-04-18T15:00:00",
"2022-04-18T16:00:00",
"2022-04-18T17:00:00",
"2022-04-18T18:00:00",
"2022-04-18T19:00:00",
"2022-04-18T20:00:00",
"2022-04-18T21:00:00",
"2022-04-18T22:00:00",
"2022-04-18T23: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,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
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": "rsv2_node",
"type": "scatter",
"x": [
"2022-04-16T00:00:00",
"2022-04-16T01:00:00",
"2022-04-16T02:00:00",
"2022-04-16T03:00:00",
"2022-04-16T04:00:00",
"2022-04-16T05:00:00",
"2022-04-16T06:00:00",
"2022-04-16T07:00:00",
"2022-04-16T08:00:00",
"2022-04-16T09:00:00",
"2022-04-16T10:00:00",
"2022-04-16T11:00:00",
"2022-04-16T12:00:00",
"2022-04-16T13:00:00",
"2022-04-16T14:00:00",
"2022-04-16T15:00:00",
"2022-04-16T16:00:00",
"2022-04-16T17:00:00",
"2022-04-16T18:00:00",
"2022-04-16T19:00:00",
"2022-04-16T20:00:00",
"2022-04-16T21:00:00",
"2022-04-16T22:00:00",
"2022-04-16T23:00:00",
"2022-04-17T00:00:00",
"2022-04-17T01:00:00",
"2022-04-17T02:00:00",
"2022-04-17T03:00:00",
"2022-04-17T04:00:00",
"2022-04-17T05:00:00",
"2022-04-17T06:00:00",
"2022-04-17T07:00:00",
"2022-04-17T08:00:00",
"2022-04-17T09:00:00",
"2022-04-17T10:00:00",
"2022-04-17T11:00:00",
"2022-04-17T12:00:00",
"2022-04-17T13:00:00",
"2022-04-17T14:00:00",
"2022-04-17T15:00:00",
"2022-04-17T16:00:00",
"2022-04-17T17:00:00",
"2022-04-17T18:00:00",
"2022-04-17T19:00:00",
"2022-04-17T20:00:00",
"2022-04-17T21:00:00",
"2022-04-17T22:00:00",
"2022-04-17T23:00:00",
"2022-04-18T00:00:00",
"2022-04-18T01:00:00",
"2022-04-18T02:00:00",
"2022-04-18T03:00:00",
"2022-04-18T04:00:00",
"2022-04-18T05:00:00",
"2022-04-18T06:00:00",
"2022-04-18T07:00:00",
"2022-04-18T08:00:00",
"2022-04-18T09:00:00",
"2022-04-18T10:00:00",
"2022-04-18T11:00:00",
"2022-04-18T12:00:00",
"2022-04-18T13:00:00",
"2022-04-18T14:00:00",
"2022-04-18T15:00:00",
"2022-04-18T16:00:00",
"2022-04-18T17:00:00",
"2022-04-18T18:00:00",
"2022-04-18T19:00:00",
"2022-04-18T20:00:00",
"2022-04-18T21:00:00",
"2022-04-18T22:00:00",
"2022-04-18T23: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,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
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": "node_plant2",
"type": "scatter",
"x": [
"2022-04-16T00:00:00",
"2022-04-16T01:00:00",
"2022-04-16T02:00:00",
"2022-04-16T03:00:00",
"2022-04-16T04:00:00",
"2022-04-16T05:00:00",
"2022-04-16T06:00:00",
"2022-04-16T07:00:00",
"2022-04-16T08:00:00",
"2022-04-16T09:00:00",
"2022-04-16T10:00:00",
"2022-04-16T11:00:00",
"2022-04-16T12:00:00",
"2022-04-16T13:00:00",
"2022-04-16T14:00:00",
"2022-04-16T15:00:00",
"2022-04-16T16:00:00",
"2022-04-16T17:00:00",
"2022-04-16T18:00:00",
"2022-04-16T19:00:00",
"2022-04-16T20:00:00",
"2022-04-16T21:00:00",
"2022-04-16T22:00:00",
"2022-04-16T23:00:00",
"2022-04-17T00:00:00",
"2022-04-17T01:00:00",
"2022-04-17T02:00:00",
"2022-04-17T03:00:00",
"2022-04-17T04:00:00",
"2022-04-17T05:00:00",
"2022-04-17T06:00:00",
"2022-04-17T07:00:00",
"2022-04-17T08:00:00",
"2022-04-17T09:00:00",
"2022-04-17T10:00:00",
"2022-04-17T11:00:00",
"2022-04-17T12:00:00",
"2022-04-17T13:00:00",
"2022-04-17T14:00:00",
"2022-04-17T15:00:00",
"2022-04-17T16:00:00",
"2022-04-17T17:00:00",
"2022-04-17T18:00:00",
"2022-04-17T19:00:00",
"2022-04-17T20:00:00",
"2022-04-17T21:00:00",
"2022-04-17T22:00:00",
"2022-04-17T23:00:00",
"2022-04-18T00:00:00",
"2022-04-18T01:00:00",
"2022-04-18T02:00:00",
"2022-04-18T03:00:00",
"2022-04-18T04:00:00",
"2022-04-18T05:00:00",
"2022-04-18T06:00:00",
"2022-04-18T07:00:00",
"2022-04-18T08:00:00",
"2022-04-18T09:00:00",
"2022-04-18T10:00:00",
"2022-04-18T11:00:00",
"2022-04-18T12:00:00",
"2022-04-18T13:00:00",
"2022-04-18T14:00:00",
"2022-04-18T15:00:00",
"2022-04-18T16:00:00",
"2022-04-18T17:00:00",
"2022-04-18T18:00:00",
"2022-04-18T19:00:00",
"2022-04-18T20:00:00",
"2022-04-18T21:00:00",
"2022-04-18T22:00:00",
"2022-04-18T23: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,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
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": "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": "rsv1_plant1",
"type": "scatter",
"x": [
"2022-04-16T00:00:00",
"2022-04-16T01:00:00",
"2022-04-16T02:00:00",
"2022-04-16T03:00:00",
"2022-04-16T04:00:00",
"2022-04-16T05:00:00",
"2022-04-16T06:00:00",
"2022-04-16T07:00:00",
"2022-04-16T08:00:00",
"2022-04-16T09:00:00",
"2022-04-16T10:00:00",
"2022-04-16T11:00:00",
"2022-04-16T12:00:00",
"2022-04-16T13:00:00",
"2022-04-16T14:00:00",
"2022-04-16T15:00:00",
"2022-04-16T16:00:00",
"2022-04-16T17:00:00",
"2022-04-16T18:00:00",
"2022-04-16T19:00:00",
"2022-04-16T20:00:00",
"2022-04-16T21:00:00",
"2022-04-16T22:00:00",
"2022-04-16T23:00:00",
"2022-04-17T00:00:00",
"2022-04-17T01:00:00",
"2022-04-17T02:00:00",
"2022-04-17T03:00:00",
"2022-04-17T04:00:00",
"2022-04-17T05:00:00",
"2022-04-17T06:00:00",
"2022-04-17T07:00:00",
"2022-04-17T08:00:00",
"2022-04-17T09:00:00",
"2022-04-17T10:00:00",
"2022-04-17T11:00:00",
"2022-04-17T12:00:00",
"2022-04-17T13:00:00",
"2022-04-17T14:00:00",
"2022-04-17T15:00:00",
"2022-04-17T16:00:00",
"2022-04-17T17:00:00",
"2022-04-17T18:00:00",
"2022-04-17T19:00:00",
"2022-04-17T20:00:00",
"2022-04-17T21:00:00",
"2022-04-17T22:00:00",
"2022-04-17T23:00:00",
"2022-04-18T00:00:00",
"2022-04-18T01:00:00",
"2022-04-18T02:00:00",
"2022-04-18T03:00:00",
"2022-04-18T04:00:00",
"2022-04-18T05:00:00",
"2022-04-18T06:00:00",
"2022-04-18T07:00:00",
"2022-04-18T08:00:00",
"2022-04-18T09:00:00",
"2022-04-18T10:00:00",
"2022-04-18T11:00:00",
"2022-04-18T12:00:00",
"2022-04-18T13:00:00",
"2022-04-18T14:00:00",
"2022-04-18T15:00:00",
"2022-04-18T16:00:00",
"2022-04-18T17:00:00",
"2022-04-18T18:00:00",
"2022-04-18T19:00:00",
"2022-04-18T20:00:00",
"2022-04-18T21:00:00",
"2022-04-18T22:00:00",
"2022-04-18T23: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,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
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": "node_plant1",
"type": "scatter",
"x": [
"2022-04-16T00:00:00",
"2022-04-16T01:00:00",
"2022-04-16T02:00:00",
"2022-04-16T03:00:00",
"2022-04-16T04:00:00",
"2022-04-16T05:00:00",
"2022-04-16T06:00:00",
"2022-04-16T07:00:00",
"2022-04-16T08:00:00",
"2022-04-16T09:00:00",
"2022-04-16T10:00:00",
"2022-04-16T11:00:00",
"2022-04-16T12:00:00",
"2022-04-16T13:00:00",
"2022-04-16T14:00:00",
"2022-04-16T15:00:00",
"2022-04-16T16:00:00",
"2022-04-16T17:00:00",
"2022-04-16T18:00:00",
"2022-04-16T19:00:00",
"2022-04-16T20:00:00",
"2022-04-16T21:00:00",
"2022-04-16T22:00:00",
"2022-04-16T23:00:00",
"2022-04-17T00:00:00",
"2022-04-17T01:00:00",
"2022-04-17T02:00:00",
"2022-04-17T03:00:00",
"2022-04-17T04:00:00",
"2022-04-17T05:00:00",
"2022-04-17T06:00:00",
"2022-04-17T07:00:00",
"2022-04-17T08:00:00",
"2022-04-17T09:00:00",
"2022-04-17T10:00:00",
"2022-04-17T11:00:00",
"2022-04-17T12:00:00",
"2022-04-17T13:00:00",
"2022-04-17T14:00:00",
"2022-04-17T15:00:00",
"2022-04-17T16:00:00",
"2022-04-17T17:00:00",
"2022-04-17T18:00:00",
"2022-04-17T19:00:00",
"2022-04-17T20:00:00",
"2022-04-17T21:00:00",
"2022-04-17T22:00:00",
"2022-04-17T23:00:00",
"2022-04-18T00:00:00",
"2022-04-18T01:00:00",
"2022-04-18T02:00:00",
"2022-04-18T03:00:00",
"2022-04-18T04:00:00",
"2022-04-18T05:00:00",
"2022-04-18T06:00:00",
"2022-04-18T07:00:00",
"2022-04-18T08:00:00",
"2022-04-18T09:00:00",
"2022-04-18T10:00:00",
"2022-04-18T11:00:00",
"2022-04-18T12:00:00",
"2022-04-18T13:00:00",
"2022-04-18T14:00:00",
"2022-04-18T15:00:00",
"2022-04-18T16:00:00",
"2022-04-18T17:00:00",
"2022-04-18T18:00:00",
"2022-04-18T19:00:00",
"2022-04-18T20:00:00",
"2022-04-18T21:00:00",
"2022-04-18T22:00:00",
"2022-04-18T23: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,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
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": "rsv2_node",
"type": "scatter",
"x": [
"2022-04-16T00:00:00",
"2022-04-16T01:00:00",
"2022-04-16T02:00:00",
"2022-04-16T03:00:00",
"2022-04-16T04:00:00",
"2022-04-16T05:00:00",
"2022-04-16T06:00:00",
"2022-04-16T07:00:00",
"2022-04-16T08:00:00",
"2022-04-16T09:00:00",
"2022-04-16T10:00:00",
"2022-04-16T11:00:00",
"2022-04-16T12:00:00",
"2022-04-16T13:00:00",
"2022-04-16T14:00:00",
"2022-04-16T15:00:00",
"2022-04-16T16:00:00",
"2022-04-16T17:00:00",
"2022-04-16T18:00:00",
"2022-04-16T19:00:00",
"2022-04-16T20:00:00",
"2022-04-16T21:00:00",
"2022-04-16T22:00:00",
"2022-04-16T23:00:00",
"2022-04-17T00:00:00",
"2022-04-17T01:00:00",
"2022-04-17T02:00:00",
"2022-04-17T03:00:00",
"2022-04-17T04:00:00",
"2022-04-17T05:00:00",
"2022-04-17T06:00:00",
"2022-04-17T07:00:00",
"2022-04-17T08:00:00",
"2022-04-17T09:00:00",
"2022-04-17T10:00:00",
"2022-04-17T11:00:00",
"2022-04-17T12:00:00",
"2022-04-17T13:00:00",
"2022-04-17T14:00:00",
"2022-04-17T15:00:00",
"2022-04-17T16:00:00",
"2022-04-17T17:00:00",
"2022-04-17T18:00:00",
"2022-04-17T19:00:00",
"2022-04-17T20:00:00",
"2022-04-17T21:00:00",
"2022-04-17T22:00:00",
"2022-04-17T23:00:00",
"2022-04-18T00:00:00",
"2022-04-18T01:00:00",
"2022-04-18T02:00:00",
"2022-04-18T03:00:00",
"2022-04-18T04:00:00",
"2022-04-18T05:00:00",
"2022-04-18T06:00:00",
"2022-04-18T07:00:00",
"2022-04-18T08:00:00",
"2022-04-18T09:00:00",
"2022-04-18T10:00:00",
"2022-04-18T11:00:00",
"2022-04-18T12:00:00",
"2022-04-18T13:00:00",
"2022-04-18T14:00:00",
"2022-04-18T15:00:00",
"2022-04-18T16:00:00",
"2022-04-18T17:00:00",
"2022-04-18T18:00:00",
"2022-04-18T19:00:00",
"2022-04-18T20:00:00",
"2022-04-18T21:00:00",
"2022-04-18T22:00:00",
"2022-04-18T23: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,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
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": "node_plant2",
"type": "scatter",
"x": [
"2022-04-16T00:00:00",
"2022-04-16T01:00:00",
"2022-04-16T02:00:00",
"2022-04-16T03:00:00",
"2022-04-16T04:00:00",
"2022-04-16T05:00:00",
"2022-04-16T06:00:00",
"2022-04-16T07:00:00",
"2022-04-16T08:00:00",
"2022-04-16T09:00:00",
"2022-04-16T10:00:00",
"2022-04-16T11:00:00",
"2022-04-16T12:00:00",
"2022-04-16T13:00:00",
"2022-04-16T14:00:00",
"2022-04-16T15:00:00",
"2022-04-16T16:00:00",
"2022-04-16T17:00:00",
"2022-04-16T18:00:00",
"2022-04-16T19:00:00",
"2022-04-16T20:00:00",
"2022-04-16T21:00:00",
"2022-04-16T22:00:00",
"2022-04-16T23:00:00",
"2022-04-17T00:00:00",
"2022-04-17T01:00:00",
"2022-04-17T02:00:00",
"2022-04-17T03:00:00",
"2022-04-17T04:00:00",
"2022-04-17T05:00:00",
"2022-04-17T06:00:00",
"2022-04-17T07:00:00",
"2022-04-17T08:00:00",
"2022-04-17T09:00:00",
"2022-04-17T10:00:00",
"2022-04-17T11:00:00",
"2022-04-17T12:00:00",
"2022-04-17T13:00:00",
"2022-04-17T14:00:00",
"2022-04-17T15:00:00",
"2022-04-17T16:00:00",
"2022-04-17T17:00:00",
"2022-04-17T18:00:00",
"2022-04-17T19:00:00",
"2022-04-17T20:00:00",
"2022-04-17T21:00:00",
"2022-04-17T22:00:00",
"2022-04-17T23:00:00",
"2022-04-18T00:00:00",
"2022-04-18T01:00:00",
"2022-04-18T02:00:00",
"2022-04-18T03:00:00",
"2022-04-18T04:00:00",
"2022-04-18T05:00:00",
"2022-04-18T06:00:00",
"2022-04-18T07:00:00",
"2022-04-18T08:00:00",
"2022-04-18T09:00:00",
"2022-04-18T10:00:00",
"2022-04-18T11:00:00",
"2022-04-18T12:00:00",
"2022-04-18T13:00:00",
"2022-04-18T14:00:00",
"2022-04-18T15:00:00",
"2022-04-18T16:00:00",
"2022-04-18T17:00:00",
"2022-04-18T18:00:00",
"2022-04-18T19:00:00",
"2022-04-18T20:00:00",
"2022-04-18T21:00:00",
"2022-04-18T22:00:00",
"2022-04-18T23: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,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
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": "Optimized 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 deviation from post-calculated 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=\"Optimized tunnel flow deviation from post-calculated flow\")\n",
"fig.update_yaxes(title_text=\"Flow [m3/s]\")\n",
"fig.show()"
]
},
{
"cell_type": "markdown",
"id": "b3d3f9af",
"metadata": {},
"source": [
"## advanced_tunnel_model.py"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "b49886c8",
"metadata": {
"Collapsed": "false",
"tags": [
"remove-input"
]
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"import pandas as pd\n",
"from pyshop import ShopSession\n",
"\n",
"def build_model():\n",
" \n",
" shop = ShopSession()\n",
" starttime = pd.Timestamp('2022-04-16')\n",
" endtime = pd.Timestamp('2022-04-19')\n",
" shop.set_time_resolution(starttime=starttime, endtime=endtime, timeunit='hour') \n",
" \n",
" rsv1 = shop.model.reservoir.add_object(\"rsv1\")\n",
" rsv1.max_vol.set(12)\n",
" rsv1.lrl.set(90)\n",
" rsv1.hrl.set(100)\n",
" rsv1.vol_head.set(pd.Series([90, 100, 101], index=[0, 12, 14], name=0))\n",
"\n",
" spill1 = shop.model.river.add_object(\"spill_rsv1\")\n",
" spill1.upstream_elevation.set(100)\n",
" spill1.up_head_flow_curve.set([pd.Series([0,1000],index=[100,101], name=0)])\n",
" spill1.flow_cost.set(100)\n",
" rsv1.connect_to(spill1)\n",
" \n",
" rsv2 = shop.model.reservoir.add_object(\"rsv2\")\n",
" rsv2.max_vol.set(12)\n",
" rsv2.lrl.set(90)\n",
" rsv2.hrl.set(100)\n",
" rsv2.vol_head.set(pd.Series([90, 100, 101], index=[0, 12, 14], name=0))\n",
"\n",
" spill2 = shop.model.river.add_object(\"spill_rsv2\")\n",
" spill2.upstream_elevation.set(100)\n",
" spill2.up_head_flow_curve.set([pd.Series([0,1000],index=[100,101], name=0)])\n",
" spill2.flow_cost.set(100)\n",
" rsv2.connect_to(spill2)\n",
" \n",
" rsv3 = shop.model.reservoir.add_object(\"rsv3\")\n",
" rsv3.max_vol.set(12)\n",
" rsv3.lrl.set(40)\n",
" rsv3.hrl.set(50)\n",
" rsv3.vol_head.set(pd.Series([40, 50, 51], index=[0, 12, 14], name=0))\n",
"\n",
" spill3 = shop.model.river.add_object(\"spill_rsv3\")\n",
" spill3.upstream_elevation.set(50)\n",
" spill3.up_head_flow_curve.set([pd.Series([0,1000],index=[50,51], name=0)])\n",
" spill3.flow_cost.set(100)\n",
" rsv3.connect_to(spill3)\n",
" \n",
" plant1 = shop.model.plant.add_object(\"plant1\")\n",
" plant1.outlet_line.set(0)\n",
" plant1.main_loss.set([0.0002])\n",
" plant1.penstock_loss.set([0.0001])\n",
"\n",
" p1g1 = shop.model.generator.add_object(\"plant1_g1\")\n",
" plant1.connect_to(p1g1)\n",
" p1g1.penstock.set(1)\n",
" p1g1.p_min.set(10)\n",
" p1g1.p_max.set(100)\n",
" p1g1.p_nom.set(100)\n",
" p1g1.startcost.set(500)\n",
" p1g1.turb_eff_curves.set([pd.Series([77,91,94.75,95,94,93.4], index=[15,60,90,100,120,125], name=90),\n",
" pd.Series([78,92,95.75,96,95,94.4], index=[15,60,90,100,120,125], name=100)])\n",
"\n",
" p1g2 = shop.model.generator.add_object(\"plant1_g2\")\n",
" plant1.connect_to(p1g2)\n",
" p1g2.penstock.set(1)\n",
" p1g2.p_min.set(10)\n",
" p1g2.p_max.set(100)\n",
" p1g2.p_nom.set(100)\n",
" p1g2.startcost.set(500)\n",
" p1g2.turb_eff_curves.set([pd.Series([77,91,94.75,95,94,93.4], index=[15,60,90,100,120,125], name=90),\n",
" pd.Series([78,92,95.75,96,95,94.4], index=[15,60,90,100,120,125], name=100)])\n",
"\n",
" plant2 = shop.model.plant.add_object(\"plant2\")\n",
" plant2.outlet_line.set(40)\n",
" plant2.main_loss.set([0.0002])\n",
" plant2.penstock_loss.set([0.0001])\n",
"\n",
" p2p1 = shop.model.pump.add_object(\"plant2_p1\")\n",
" plant2.connect_to(p2p1)\n",
" p2p1.penstock.set(1)\n",
" p2p1.p_min.set(12)\n",
" p2p1.p_max.set(50)\n",
" p2p1.p_nom.set(50)\n",
" p2p1.startcost.set(500)\n",
" p2p1.turb_eff_curves.set([pd.Series([80, 95, 90], index=[25, 90, 100], name=40),\n",
" pd.Series([82, 97, 92], index=[25, 90, 100], name=50)]) \n",
" \n",
" t1 = shop.model.tunnel.add_object(\"rsv1_plant1\")\n",
" t1.start_height.set(89)\n",
" t1.end_height.set(89)\n",
" t1.loss_factor.set(0.002)\n",
"\n",
" t2 = shop.model.tunnel.add_object(\"node_plant1\")\n",
" t2.start_height.set(89)\n",
" t2.end_height.set(89)\n",
" t2.loss_factor.set(0.004)\n",
"\n",
" t3 = shop.model.tunnel.add_object(\"rsv2_node\")\n",
" t3.start_height.set(89)\n",
" t3.end_height.set(89)\n",
" t3.loss_factor.set(0.001)\n",
"\n",
" t4 = shop.model.tunnel.add_object(\"node_plant2\")\n",
" t4.start_height.set(89)\n",
" t4.end_height.set(89)\n",
" t4.loss_factor.set(0.001)\n",
" \n",
" price = pd.Series(\n",
" [189.13, 187.4, 184.28, 179.79, 178.55, 184.04, 184.96, 185.19, 184.43, 178.41, 172.79, 170, 159.04, 151.02, 145.77, 140.71, 91.15, 151.32, 173.19, 184.14, 187.79, 187.2, 182.7, 172.4, 166.77, 158.86, 148.36, 144.25, 144.55, 144.58, 150.93, 148.77, 153.6, 159.3, 159.86, 161.08, 150.01, 127.22, 97.25, 70.03, 93.64, 107.47, 166.74, 182.45, 185.41, 185.42, 179.99, 163.3, 108.13, 83.68, 86.78, 83.68, 88.07, 95.26, 131.01, 148.91, 144.15, 151.97, 158.76, 153.21, 151.31, 130.02, 50.02, 77.61, 154.46, 175.8, 179.13, 186.71, 194.31, 202.31, 201.25, 195.54, 192.99, 187.38, 185.6, 185.41, 185.97, 192.53, 196.88, 204.7, 285.98, 247.53, 202.89, 193.53, 189.69, 185.28, 182.22, 181.75, 184.18, 189.16, 196.09, 203.57, 206.68, 206.65, 191.96, 185.45],\n",
" index=[starttime+pd.Timedelta(hours=t) for t in range(24*4)]\n",
" )\n",
" price_mean = price.mean()\n",
" \n",
" rsv1.start_head.set(95)\n",
" rsv2.start_head.set(95)\n",
" rsv3.start_head.set(45)\n",
"\n",
" rsv1.energy_value_input.set(0.9*price_mean)\n",
" rsv2.energy_value_input.set(0.8*price_mean)\n",
" rsv3.energy_value_input.set(0.5*price_mean)\n",
" \n",
" spot = shop.model.market.add_object(\"spot\")\n",
" spot.buy_price.set(price + 0.01)\n",
" spot.sale_price.set(price - 0.01)\n",
" spot.max_sale.set(9999)\n",
" spot.max_buy.set(9999)\n",
"\n",
" rsv3.inflow.set(20) \n",
" \n",
" \n",
" rsv1.connect_to(t1)\n",
" t2.connect_to(plant1)\n",
" t1.connect_to(plant1)\n",
"\n",
" rsv2.connect_to(t3)\n",
" t3.connect_to(t2)\n",
" t3.connect_to(t4)\n",
" t4.connect_to(plant2)\n",
" plant2.connect_to(rsv3) \n",
" \n",
" return shop\n"
]
}
],
"source": [
"with open('advanced_tunnel_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.13.9"
},
"source_map": [
12,
28,
35,
39,
42,
50,
53,
59,
71,
75,
99,
105,
126,
132,
156,
160,
191,
195,
216,
219
]
},
"nbformat": 4,
"nbformat_minor": 5
}