{
"cells": [
{
"cell_type": "markdown",
"id": "0691b600",
"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": "c27e3c4d",
"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": "9752bc03",
"metadata": {},
"source": [
"The resulting topology is shown below:"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "99cebf66",
"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": "849683ea",
"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": "9cfcf3c0",
"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": "4db46b38",
"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": "7a7ca7de",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Open tunnel objective: -659181.0787454857\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": "2706dc1c",
"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": "39de0254",
"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.16618013562004,
78.01934390465746,
77.87251397615137,
77.72569150440837,
77.57887760371925,
77.43207334954899,
77.28527977968938,
77.13849789537608,
76.99172866237056,
56.94484143685712,
0.0,
0.0,
0.0,
0.0,
0.0,
76.88152075410001,
76.73475728660922,
76.58800779437955,
76.44127316118777,
76.29455423880397,
72.96913205563499,
76.00907119189344,
56.256945648696,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
56.22010906076439,
56.14687252770005,
56.07365219271904,
56.00044856521246,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
75.7519624733412,
75.60527801805155,
75.45861167196325,
75.31196416699194,
75.16533620750894,
55.666710714499594,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
56.220495265653526,
75.70822393000878,
75.56164032826092,
75.41507832176853,
75.26853850887075,
75.12202146427235,
74.97552773973466,
74.82905786474575
]
},
{
"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.319885272738055,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-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.30272804162124,
-43.616306399531,
-43.929085492987404,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-43.18663118781341,
-43.49891894618994,
-43.810401480824865,
-44.121083082901414,
-44.430968588425294,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-49.99926637773532,
-44.50169502620604,
-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.08574567774085,
93.90381199058106,
93.72217670811233,
93.54083676878084,
93.35978914800603,
93.17903085761607,
92.9985589452945,
92.81837049403785,
92.6918953783443,
92.72280159710293,
92.75244583570081,
92.78082910619999,
92.86392106778392,
92.89330926065979,
92.71296037115299,
92.5328936912008,
92.35310635347021,
92.17359552466569,
91.99435840502211,
91.82538990149291,
91.64667306827073,
91.5221983641632,
91.55880899313863,
91.59415393865082,
91.62823391907148,
91.66104970574416,
91.69260212902873,
91.72289208529799,
91.59607718148007,
91.46950940766426,
91.34318534677101,
91.21710163597231,
91.2491968970713,
91.28002929734586,
91.3638489967865,
91.44832745225787,
91.53345316240072,
91.5688106203714,
91.3898537743674,
91.21116504252278,
91.03274172382079,
90.85458114882674,
90.67668067922806,
90.55331235150219,
90.59275358436862,
90.67957009647634,
90.76699388992083,
90.85501479308243,
90.9436228874832,
91.0328084984659,
91.07802285633818,
91.12196771445949,
91.16464354185155,
91.20605083528524,
91.24619012178026,
91.28506196151118,
91.32266695097027,
91.35900572654877,
91.45054978391147,
91.53690030535722,
91.41338359803363,
91.23577991648688,
91.05843076236135,
90.88133359257023,
90.70448589332811,
90.52788517973346,
90.3515289953585,
90.17541491184673
]
},
{
"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.29618800941891,
94.17782329188765,
94.05916323121915,
93.94021085199395,
93.82096914238392,
93.70144105470548,
93.58162950596211,
93.49310462165568,
93.46219840289703,
93.43255416429915,
93.40417089379997,
93.59107893221605,
93.56169073934016,
93.44203962884696,
93.32210630879915,
93.20189364652973,
93.08140447533427,
92.96064159497782,
92.8455292437721,
92.72424607699428,
92.6337207811018,
92.59711015212638,
92.56176520661418,
92.52768522619353,
92.49486943952084,
92.46331701623627,
92.43302705996702,
92.34484196378493,
92.25640973760075,
92.16773379849398,
92.07881750929268,
92.0467222481937,
92.01588984791914,
92.2020701484785,
92.38759169300714,
92.57246598286429,
92.53710852489361,
92.41606537089758,
92.29475410274219,
92.1731774214442,
92.05133799643824,
91.92923846603692,
91.83760679376277,
91.79816556089634,
91.98134904878862,
92.16392525534414,
92.34590435218253,
92.52729625778177,
92.70811064679908,
92.6628962889268,
92.61895143080548,
92.57627560341344,
92.53486830997974,
92.49472902348471,
92.45585718375379,
92.4182521942947,
92.3819134187162,
92.58229347319676,
92.765942951751,
92.6744596590746,
92.55206334062134,
92.42941249474687,
92.306509664538,
92.18335736378009,
92.05995807737474,
91.93631426174969,
91.81242834526145
]
}
],
"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": "9ec7a2ac",
"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": "b12ffb5b",
"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.157656326125746,
61.05289377950082,
60.949216333339386,
60.84661066277194,
60.74506365131018,
60.64456238659312,
60.545094156243394,
60.44664644383003,
60.3492069249351,
60.252763463319894,
60.1573041071888,
60.062817085546165,
42.15837189785284,
-10.302072919544976,
-9.881412865961611,
-9.461090166390466,
-27.697320527978793,
-9.796064291957471,
60.11629650226652,
60.02222665073177,
59.929112576859566,
59.83694293484396,
59.74570654785306,
56.32283450973258,
59.57227774072915,
41.49156803584087,
-12.203542991805993,
-11.78164850406681,
-11.359993473550505,
-10.93859555756125,
-10.517474428190397,
-10.09665208975266,
42.271634605970654,
42.18925793860497,
42.10802029774664,
42.02790359956458,
-10.698420366327912,
-10.277466758186726,
-27.939899813546432,
-28.159485157121367,
-28.37523671428073,
-11.785819323560354,
59.65228200133055,
59.56291061486718,
59.47443956733241,
59.386858331349416,
59.30015653289399,
41.12277590862008,
-13.147077622143087,
-28.93883736924205,
-29.141264481492534,
-29.340301053868934,
-29.536031466921834,
-29.72853699423097,
-15.071452624094075,
-14.648286040437116,
-14.22527579735221,
-13.802431144562942,
-13.379762165010835,
-12.957279910304038,
-12.534996486367284,
-12.112925192831351,
-30.514685787567636,
-28.78350714858253,
41.172235774530364,
59.201227182250605,
59.11638470850816,
59.03238993037637,
58.94923308070231,
58.866904531550034,
58.78539479165209,
58.70469450392038
]
},
{
"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.84234367387426,
38.94710622049918,
39.05078366666063,
39.15338933722806,
39.25493634868982,
39.35543761340685,
39.45490584375659,
39.55335355616992,
39.65079307506484,
39.74723653668004,
39.84269589281122,
39.93718291445391,
29.508294768813904,
10.302072919544973,
9.881412865961611,
9.46109016639047,
27.69732052797879,
9.79606429195747,
39.88370349773347,
39.977773349268226,
40.070887423140434,
40.16305706515603,
40.25429345214694,
38.37078373523796,
40.427722259270844,
30.17509863082579,
12.20354299180599,
11.781648504066812,
11.359993473550505,
10.93859555756125,
10.517474428190395,
10.09665208975266,
29.395032060696018,
29.477408728061697,
29.558646368920016,
29.638763067102072,
10.698420366327914,
10.277466758186728,
27.939899813546436,
28.15948515712137,
28.37523671428073,
11.785819323560352,
40.34771799866945,
40.43708938513281,
40.52556043266758,
40.6131416686506,
40.69984346710599,
30.543890758046576,
13.147077622143087,
28.93883736924205,
29.141264481492538,
29.340301053868934,
29.536031466921838,
29.72853699423097,
15.071452624094073,
14.648286040437117,
14.22527579735221,
13.80243114456294,
13.379762165010835,
12.957279910304038,
12.534996486367284,
12.112925192831351,
30.514685787567636,
28.78350714858253,
30.4944308921363,
40.79877281774939,
40.88361529149184,
40.96761006962363,
41.050766919297686,
41.13309546844997,
41.21460520834791,
41.29530549607961
]
},
{
"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.84234367387426,
38.947106220499165,
39.0507836666606,
39.15338933722807,
39.25493634868982,
39.35543761340686,
39.45490584375661,
39.55335355616997,
39.6507930750649,
39.7472365366801,
39.842695892811214,
39.937182914453835,
29.508294768813812,
10.302072919544973,
9.881412865961611,
9.46109016639047,
-62.302679472021204,
9.79606429195747,
39.88370349773347,
39.97777334926822,
40.07088742314043,
40.16305706515604,
40.25429345214694,
38.37078373523796,
40.427722259270844,
30.17509863082579,
12.20354299180599,
11.781648504066812,
11.359993473550505,
10.93859555756125,
10.517474428190395,
10.09665208975266,
29.39503206069601,
29.477408728061693,
29.55864636892001,
29.63876306710207,
10.698420366327914,
10.277466758186728,
-62.06010018645357,
-61.84051484287862,
-61.62476328571927,
11.785819323560352,
40.347717998669445,
40.437089385132815,
40.52556043266758,
40.61314166865059,
40.69984346710599,
30.543890758046572,
13.147077622143087,
-61.06116263075795,
-60.858735518507466,
-60.65969894613107,
-60.46396853307816,
-60.271463005769036,
15.071452624094073,
14.648286040437117,
14.22527579735221,
13.80243114456294,
13.379762165010835,
12.957279910304038,
12.534996486367284,
12.112925192831351,
-66.79335149351796,
-61.21649285141747,
30.4944308921363,
40.79877281774939,
40.88361529149184,
40.96761006962363,
41.05076691929769,
41.133095468449966,
41.2146052083479,
41.2953054960796
]
},
{
"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.30803728108559,
-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": [
2.1316282072803006e-14,
2.842170943040401e-14,
0.0,
-2.1316282072803006e-14,
-1.4210854715202004e-14,
-2.1316282072803006e-14,
1.4210854715202004e-14,
-7.105427357601002e-15,
0.0,
-2.1316282072803006e-14,
1.2789769243681803e-13,
8.526512829121202e-14,
-7.105427357601002e-15,
2.3096191625882057e-11,
-8.472689216887375e-11,
-9.589307126134372e-11,
8.597567102697212e-13,
6.745537461938511e-11,
2.7711166694643907e-13,
2.2737367544323206e-13,
2.3447910280083306e-13,
2.0605739337042905e-13,
2.1316282072803006e-13,
2.3447910280083306e-13,
2.7000623958883807e-13,
3.694822225952521e-13,
3.801403636316536e-12,
-3.5491609651217004e-11,
-3.9401371054736956e-11,
-4.3218761902608094e-11,
4.305711343022267e-11,
4.356337512945174e-11,
7.034373084024992e-13,
7.673861546209082e-13,
3.0969573572292575e-09,
3.97140098584714e-09,
-4.7481840681484755e-08,
-4.879989923267658e-08,
1.9739943013519223e-10,
2.000106746891106e-10,
2.021884881742153e-10,
-1.7763863269237845e-08,
2.0521895294223214e-10,
2.0329338212832226e-10,
2.0153123614363722e-10,
1.9977619558630977e-10,
1.9799273331955192e-10,
5.7942344255934586e-09,
-2.1191729260294778e-08,
2.1249491055641556e-10,
2.1793766791233793e-10,
2.227373840923974e-10,
2.26947349801776e-10,
2.3067059373715892e-10,
-7.514959321497372e-09,
-7.647969368917984e-09,
-7.797563483791237e-09,
-8.555410602184566e-09,
-2.1419364060193402e-09,
-2.704560131405742e-09,
-1.0970275354793557e-08,
-1.140855943049246e-08,
1.7860450896023394e-09,
8.03005661964562e-10,
7.882263730607519e-10,
4.1394798699911917e-10,
4.091162963959505e-10,
4.04369870921073e-10,
3.9968028886505635e-10,
3.950688665099733e-10,
3.9047165500960546e-10,
3.85902865218668e-10
]
},
{
"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": [
-2.1316282072803006e-14,
-2.842170943040401e-14,
1.4210854715202004e-14,
2.1316282072803006e-14,
1.4210854715202004e-14,
-7.105427357601002e-15,
-2.842170943040401e-14,
-4.973799150320701e-14,
-5.684341886080802e-14,
-3.552713678800501e-14,
-9.947598300641403e-14,
0.0,
9.237055564881302e-14,
-2.3099744339560857e-11,
8.472689216887375e-11,
9.589662397502252e-11,
-8.633094239485217e-13,
-6.745715097622451e-11,
-2.7711166694643907e-13,
-2.2737367544323206e-13,
-2.3447910280083306e-13,
-2.0605739337042905e-13,
-2.1316282072803006e-13,
-2.3447910280083306e-13,
-2.7000623958883807e-13,
-3.730349362740526e-13,
-3.803179993155936e-12,
3.5493386008056405e-11,
3.9401371054736956e-11,
4.3218761902608094e-11,
-4.305888978706207e-11,
-4.356337512945174e-11,
-6.892264536872972e-13,
-7.602807272633072e-13,
-3.0969573572292575e-09,
-3.971397433133461e-09,
4.7481842457841594e-08,
4.879990100903342e-08,
-1.9739587742151343e-10,
-2.000071219754318e-10,
-2.021884881742153e-10,
1.7763861492881006e-08,
-2.0521895294223214e-10,
-2.0330759298303747e-10,
-2.0153123614363722e-10,
-1.9976198473159457e-10,
-1.9800694417426712e-10,
-5.794237978307137e-09,
2.1191729260294778e-08,
-2.1249491055641556e-10,
-2.1793411519865913e-10,
-2.227373840923974e-10,
-2.269437970880972e-10,
-2.3067059373715892e-10,
7.514957545140533e-09,
7.647971145274823e-09,
7.797563483791237e-09,
8.555408825827726e-09,
2.1419364060193402e-09,
2.704560131405742e-09,
1.0970275354793557e-08,
1.140855943049246e-08,
-1.7860450896023394e-09,
-8.03005661964562e-10,
-7.882263730607519e-10,
-4.1394798699911917e-10,
-4.091162963959505e-10,
-4.04369870921073e-10,
-3.9968028886505635e-10,
-3.950688665099733e-10,
-3.9047165500960546e-10,
-3.859170760733832e-10
]
},
{
"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": [
-2.1316282072803006e-14,
-4.263256414560601e-14,
-1.4210854715202004e-14,
2.842170943040401e-14,
1.4210854715202004e-14,
7.105427357601002e-15,
-7.105427357601002e-15,
0.0,
0.0,
2.1316282072803006e-14,
-1.0658141036401503e-13,
-7.815970093361102e-14,
0.0,
-2.3099744339560857e-11,
8.472689216887375e-11,
9.589662397502252e-11,
-8.597567102697212e-13,
-6.745715097622451e-11,
-2.7711166694643907e-13,
-2.3447910280083306e-13,
-2.4158453015843406e-13,
-1.9895196601282805e-13,
-2.1316282072803006e-13,
-2.3447910280083306e-13,
-2.7000623958883807e-13,
-3.730349362740526e-13,
-3.803179993155936e-12,
3.5493386008056405e-11,
3.9401371054736956e-11,
4.3218761902608094e-11,
-4.305888978706207e-11,
-4.356337512945174e-11,
-6.963318810448982e-13,
-7.638334409421077e-13,
-3.096964462656615e-09,
-3.97140098584714e-09,
4.7481842457841594e-08,
4.879990100903342e-08,
-1.9739587742151343e-10,
-1.999893584070378e-10,
-2.021920408878941e-10,
1.7763861492881006e-08,
-2.0522605836958974e-10,
-2.0330048755567987e-10,
-2.0153123614363722e-10,
-1.9976909015895217e-10,
-1.9800694417426712e-10,
-5.794241531020816e-09,
2.1191729260294778e-08,
-2.1249491055641556e-10,
-2.1793766791233793e-10,
-2.227409368060762e-10,
-2.26947349801776e-10,
-2.3067059373715892e-10,
7.514957545140533e-09,
7.647971145274823e-09,
7.797563483791237e-09,
8.555408825827726e-09,
2.1419364060193402e-09,
2.704560131405742e-09,
1.0970275354793557e-08,
1.140855943049246e-08,
-1.786034431461303e-09,
-8.03005661964562e-10,
-7.882263730607519e-10,
-4.1394798699911917e-10,
-4.091162963959505e-10,
-4.04369870921073e-10,
-3.9967318343769875e-10,
-3.950759719373309e-10,
-3.9048586586432066e-10,
-3.859241815007408e-10
]
},
{
"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,
1.4210854715202004e-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": "5ed7e067",
"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": "2416b38b",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Optimized gate objective: -666358.3709399446\n",
"Difference from open tunnel objective: -7177.292194458889\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": "4cdd4f68",
"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": "2d1a64c2",
"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": [
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
0.0,
0.0,
0.0,
0.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.0,
1.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": [
78.60671447386858,
78.45986668019985,
78.31302147348856,
78.16618013562005,
78.01934390465743,
77.8725139761514,
77.7256915044084,
77.57887760371926,
77.43207334954899,
77.28527977968938,
77.13849789537609,
76.99172866237058,
56.944841436857125,
0.0,
0.0,
0.0,
0.0,
56.96586627798112,
76.77014949985278,
76.62340890445809,
76.47668368779003,
76.32997468269186,
76.18328269149913,
76.0366084869364,
56.275791167537704,
56.202760732736145,
56.12975074429103,
10.352538113368817,
10.352523694694591,
10.35240113107991,
56.02565234565572,
55.952600471874554,
55.879568763298664,
55.80655748508544,
55.733566883425425,
55.66059718631316,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
75.56614948697211,
75.41930213755865,
75.2724576535555,
75.12561730736383,
74.9787823278272,
55.54287952504265,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
56.3058445256507,
75.84272486937164,
75.69629193088078,
75.54981646968375,
75.40330125196782,
75.25674895432583,
75.11016216659532,
74.96354339459857
]
},
{
"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.31988527275081,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-42.25399019382686,
-49.99979192347906,
-43.09547275500958,
-43.49173048764416,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-42.7289723185939,
-43.12595916594803,
-43.52215627918226,
-43.91756601250649,
-44.31219071078266,
-44.706032709571126,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-0.0,
-49.999146161644376,
-45.131406470575165,
-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.63336834968311,
94.4505207006831,
94.26798086869478,
94.08574567774085,
93.90381199058108,
93.72217670811234,
93.54083676878085,
93.35978914800604,
93.17903085761608,
92.9985589452945,
92.81837049403786,
92.6918953783443,
92.7228015970351,
92.75244583565556,
92.78082910617721,
92.86392106776165,
92.73721509813778,
92.5573179594121,
92.37769844271419,
92.19835373511825,
92.01928105692663,
91.8404776611786,
91.66194083316834,
91.5377102832771,
91.41369147925444,
91.2898815558485,
91.2907905851164,
91.29080966540386,
91.28995604363405,
91.16549727713564,
91.0412533502963,
90.9172213504868,
90.79339840970184,
90.66978170372622,
90.54636845131236,
90.58569834428954,
90.62376116694954,
90.89376116694953,
91.1918386563498,
91.46183865634981,
91.73183865634981,
91.54843331732931,
91.36534156482745,
91.18256015225589,
91.00008587277287,
90.81791555875381,
90.68873393555467,
90.95873393555466,
91.22873393555466,
91.49873393555467,
91.76873393555466,
92.03873393555466,
92.30873393555466,
92.30873393555466,
92.30873393555466,
92.30873393555466,
92.30873393555466,
92.30873393555466,
92.30873393555466,
92.30873393555466,
92.30873393555466,
92.59848461950753,
92.86848461950753,
92.72505118955064,
92.5333836346336,
92.34211755055875,
92.15124855989434,
91.96077234394686,
91.77068464172231,
91.58098124891065,
91.39165801689532
]
},
{
"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.41425432225915,
94.29618800941893,
94.17782329188766,
94.05916323121915,
93.94021085199395,
93.82096914238392,
93.7014410547055,
93.58162950596213,
93.49310462165569,
93.46219840296489,
93.43255416434442,
93.40417089382278,
93.59107893223835,
93.5027849018622,
93.38268204058788,
93.26230155728578,
93.14164626488173,
93.02071894307335,
92.89952233882137,
92.77805916683162,
92.68728971672287,
92.59630852074552,
92.50511844415146,
92.45920941488356,
92.4141903345961,
92.3700439563659,
92.27950272286432,
92.18874664970366,
92.09777864951317,
92.00660159029813,
91.91521829627375,
91.8236315486876,
91.78430165571042,
91.74623883305043,
91.74623883305043,
91.74623883305043,
91.74623883305043,
91.74623883305043,
91.62964417207091,
91.51273592457277,
91.39551733714433,
91.27799161662735,
91.16016193064642,
91.07434355384557,
91.07434355384557,
91.07434355384557,
91.07434355384557,
91.07434355384557,
91.07434355384557,
91.07434355384557,
91.07434355384557,
91.07434355384557,
91.07434355384557,
91.07434355384557,
91.07434355384557,
91.07434355384557,
91.07434355384557,
91.07434355384557,
91.07434355384557,
91.07434355384557,
91.00277698380245,
90.89444453871947,
90.78571062279431,
90.67657961345871,
90.5670558294062,
90.45714353163075,
90.3468469244424,
90.23617015645773
]
}
],
"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": "13eac013",
"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": "fe179e9c",
"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.15765632612571,
61.05289377950078,
60.94921633333939,
60.84661066277193,
60.74506365131018,
60.64456238659312,
60.54509415624339,
60.44664644383007,
60.34920692493514,
60.25276346331993,
60.157304107188665,
60.062817085546094,
42.15837189785287,
-10.302072896933364,
-9.881412873487914,
-9.461090173879022,
-27.697320528145987,
42.235323207952774,
59.96571290856045,
59.87317223263302,
59.78156919865011,
59.69089273053963,
59.601131916009656,
59.512276003416844,
41.41018329708331,
41.3396013408838,
41.2699744686461,
-0.303009755967798,
-0.006360095819905709,
0.2845405899351938,
41.48625549946938,
41.414642279781106,
41.34399993650223,
41.27431359498755,
41.20556865854061,
41.137750804617575,
-13.109964325729035,
-12.6876075533304,
-90.0,
-99.35916313342352,
-90.0,
-90.0,
61.13511300682814,
61.030584167286875,
60.927137523852466,
60.82475982767201,
60.72343800635726,
43.0605410663803,
-90.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,
-96.58356131762324,
-90.0,
47.81114331896255,
63.88918497234476,
63.75536135827777,
63.62299688813796,
63.492071982493414,
63.362567408182166,
63.234464270554334,
63.107744005104074
]
},
{
"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.9471062204992,
39.05078366666058,
39.153389337228035,
39.254936348689775,
39.35543761340684,
39.45490584375658,
39.5533535561699,
39.65079307506484,
39.74723653668005,
39.8426958928113,
39.93718291445387,
29.508294768813748,
10.302072896933362,
9.8814128734879,
9.461090173879022,
27.697320528145987,
29.431343458713883,
40.03428709143954,
40.12682776736699,
40.21843080134989,
40.30910726946037,
40.39886808399034,
40.487723996583156,
30.25648336958335,
30.32706532578285,
30.396692198020563,
15.303009755967798,
15.006360095819911,
14.715459410064813,
30.180411167197274,
30.25202438688555,
30.32266673016443,
30.392353071679114,
30.461098008126047,
30.528915862049082,
13.109964325729038,
12.687607553330405,
90.0,
99.35916313342352,
90.0,
90.0,
38.86488699317186,
38.969415832713125,
39.072862476147534,
39.175240172327975,
39.27656199364274,
28.606125600286347,
90.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,
96.58356131762324,
90.0,
23.85552334770411,
36.11081502765524,
36.24463864172225,
36.37700311186205,
36.5079280175066,
36.63743259181784,
36.76553572944567,
36.89225599489593
]
},
{
"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.94710622049923,
39.050783666660614,
39.15338933722808,
39.254936348689824,
39.35543761340688,
39.4549058437566,
39.55335355616994,
39.65079307506487,
39.74723653668007,
39.84269589281134,
39.9371829144539,
29.508294768813805,
10.30207289693337,
9.88141287348791,
9.461090173879015,
-62.30267947185402,
29.431343458713883,
40.03428709143954,
40.126827767367,
40.21843080134989,
40.30910726946037,
40.39886808399034,
40.487723996583156,
30.25648336958335,
30.327065325782854,
30.396692198020563,
15.3030097559678,
15.00636009581992,
14.715459410064812,
30.180411167197274,
30.25202438688555,
30.32266673016443,
30.392353071679114,
30.461098008126047,
30.528915862049082,
13.109964325729035,
12.687607553330402,
0.0,
0.0,
0.0,
0.0,
38.86488699317186,
38.969415832713125,
39.07286247614753,
39.175240172327975,
39.27656199364274,
28.606125600286347,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
23.855523347704107,
36.11081502765525,
36.24463864172225,
36.37700311186205,
36.50792801750661,
36.637432591817834,
36.76553572944567,
36.89225599489593
]
},
{
"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,
-99.35916313342352,
-90.0,
-90.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
-90.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,
-96.58356131762324,
-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,
-2.1316282072803006e-14,
2.1316282072803006e-14,
-3.552713678800501e-14,
0.0,
7.105427357601002e-15,
0.0,
3.552713678800501e-14,
2.1316282072803006e-14,
-2.842170943040401e-14,
-2.842170943040401e-14,
1.4210854715202004e-14,
2.1316282072803006e-14,
2.263475451513841e-08,
-6.66880062283326e-09,
-6.928960516461302e-09,
-6.782130412830156e-11,
-4.1806202943917015e-10,
-2.1380230919021415e-11,
-2.1096013824717375e-11,
-2.084021843984374e-11,
-2.0605739337042905e-11,
-2.042810365310288e-11,
-2.0129675704083638e-11,
5.3343924832915945e-09,
-3.1815261536394246e-10,
-1.1881908790201123e-09,
-1.274732004952206e-07,
-1.2302564726847376e-07,
-1.1056900328654251e-07,
1.299248708619416e-09,
1.201783561555203e-09,
2.0568009517774044e-09,
2.0143815504525264e-09,
1.9728645384020638e-09,
8.247766913882515e-09,
2.103275775766633e-08,
2.7198533203431907e-08,
0.0,
-2.842170943040401e-14,
0.0,
0.0,
-2.9011864910444274e-08,
1.6571277683397057e-09,
1.6225172316808312e-09,
1.5887167137407232e-09,
1.5556906873825938e-09,
6.592728141185944e-09,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
-2.842170943040401e-14,
0.0,
-8.012413843516697e-09,
1.3866667813999811e-09,
1.3565681911131833e-09,
1.3272583032630791e-09,
1.2985665875930863e-09,
1.1806946531578433e-09,
1.1609060379669245e-09,
1.2221832434988755e-09
]
},
{
"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,
-7.105427357601002e-15,
-4.973799150320701e-14,
7.105427357601002e-15,
-4.263256414560601e-14,
-3.552713678800501e-14,
-2.842170943040401e-14,
-6.394884621840902e-14,
-4.973799150320701e-14,
0.0,
0.0,
-4.263256414560601e-14,
-5.684341886080802e-14,
-2.263475629149525e-08,
6.6687864119785445e-09,
6.928960516461302e-09,
6.782130412830156e-11,
4.1806202943917015e-10,
2.1366020064306213e-11,
2.1096013824717375e-11,
2.084021843984374e-11,
2.0605739337042905e-11,
2.042810365310288e-11,
2.0129675704083638e-11,
-5.334388930577916e-09,
3.1815616807762126e-10,
1.1881944317337911e-09,
1.2747320177197707e-07,
1.2302565366439921e-07,
1.105690117242375e-07,
-1.2992522613330948e-09,
-1.201783561555203e-09,
-2.0567973990637256e-09,
-2.0143851031662052e-09,
-1.9728645384020638e-09,
-8.247774019309873e-09,
-2.1032754204952653e-08,
-2.719852787436139e-08,
0.0,
2.842170943040401e-14,
0.0,
0.0,
2.9011864910444274e-08,
-1.6571277683397057e-09,
-1.6225172316808312e-09,
-1.5887309245954384e-09,
-1.5556906873825938e-09,
-6.592728141185944e-09,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
2.842170943040401e-14,
0.0,
8.012417396230376e-09,
-1.3866667813999811e-09,
-1.356553980258468e-09,
-1.327244092408364e-09,
-1.298552376738371e-09,
-1.1806946531578433e-09,
-1.1609060379669245e-09,
-1.2221832434988755e-09
]
},
{
"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,
2.1316282072803006e-14,
-1.4210854715202004e-14,
4.973799150320701e-14,
7.105427357601002e-15,
0.0,
-7.105427357601002e-15,
-2.842170943040401e-14,
-2.1316282072803006e-14,
2.1316282072803006e-14,
4.263256414560601e-14,
-1.4210854715202004e-14,
0.0,
-2.2634749186067893e-08,
6.668797070119581e-09,
6.9289534110339446e-09,
6.780709327358636e-11,
4.1806202943917015e-10,
2.1366020064306213e-11,
2.1103119252074976e-11,
2.084021843984374e-11,
2.0605739337042905e-11,
2.042810365310288e-11,
2.0129675704083638e-11,
-5.334388930577916e-09,
3.1815972079130006e-10,
1.1881944317337911e-09,
1.274732035483339e-07,
1.230256625461834e-07,
1.1056900994788066e-07,
-1.2992522613330948e-09,
-1.201783561555203e-09,
-2.0567973990637256e-09,
-2.0143851031662052e-09,
-1.9728645384020638e-09,
-8.247774019309873e-09,
-2.103275775766633e-08,
-2.7198531427075068e-08,
0.0,
0.0,
0.0,
0.0,
2.9011864910444274e-08,
-1.6571277683397057e-09,
-1.6225243371081888e-09,
-1.5887309245954384e-09,
-1.5556906873825938e-09,
-6.592728141185944e-09,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
8.012413843516697e-09,
-1.3866596759726235e-09,
-1.356553980258468e-09,
-1.327244092408364e-09,
-1.2985452713110135e-09,
-1.1807017585852009e-09,
-1.1609060379669245e-09,
-1.2221832434988755e-09
]
},
{
"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,
-2.842170943040401e-14,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
-2.842170943040401e-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 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": "8209dd62",
"metadata": {},
"source": [
"## advanced_tunnel_model.py"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "409b3e82",
"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.12.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
}