{
"cells": [
{
"cell_type": "markdown",
"id": "ef6861b0",
"metadata": {},
"source": [
"(creek-intake-example)=\n",
"# Modelling stable creek intakes\n",
"\n",
"Creek intakes are modelled as tiny [reservoirs](reservoir) connected to a tunnel network in SHOP, typically connected directly on the main tunnel of a large [plant](plant). Since the reservoir volumes of creek intakes are so small compared to the flow in the tunnel network, it can be challenging to model a stable system when creek intakes are present. This example will describe general rules and best practice for modelling creek intakes in SHOP. Note that this example does not use the old [creek_intake](creek_intake) object in combination with a [junction](junction), as this way of modelling is deprecated.\n",
"\n",
"The system that will be used to illustrate the creek intake modelling in SHOP is based on the code in the function build_model() found in the creek_model.py script:"
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "5889b480",
"metadata": {},
"outputs": [],
"source": [
"from pyshop import ShopSession\n",
"import pandas as pd\n",
"import numpy as np\n",
"import plotly.graph_objects as go\n",
"from plotly.subplots import make_subplots\n",
"\n",
"from creek_model import build_model"
]
},
{
"cell_type": "markdown",
"id": "fd926af4",
"metadata": {},
"source": [
"The resulting topology is shown below:"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "0850b4c2",
"metadata": {},
"outputs": [
{
"data": {
"image/svg+xml": [
"\n",
"\n",
"\n",
"\n",
"\n",
"\n",
"%3 \n",
" \n",
"\n",
"\n",
"reservoir_Reservoir \n",
" \n",
"Reservoir \n",
" \n",
"\n",
"\n",
"tunnel_Rsv_N1 \n",
" \n",
"Rsv_N1 \n",
" \n",
"\n",
"\n",
"reservoir_Reservoir->tunnel_Rsv_N1 \n",
" \n",
" \n",
"\n",
"\n",
"river_Spill_rsv \n",
" \n",
"Spill_rsv \n",
" \n",
"\n",
"\n",
"reservoir_Reservoir->river_Spill_rsv \n",
" \n",
" \n",
"\n",
"\n",
"reservoir_Creek1 \n",
" \n",
"Creek1 \n",
" \n",
"\n",
"\n",
"tunnel_Creek1_N1 \n",
" \n",
"Creek1_N1 \n",
" \n",
"\n",
"\n",
"reservoir_Creek1->tunnel_Creek1_N1 \n",
" \n",
" \n",
"\n",
"\n",
"river_Spill_C1 \n",
" \n",
"Spill_C1 \n",
" \n",
"\n",
"\n",
"reservoir_Creek1->river_Spill_C1 \n",
" \n",
" \n",
"\n",
"\n",
"reservoir_Creek2 \n",
" \n",
"Creek2 \n",
" \n",
"\n",
"\n",
"tunnel_Creek2_N2 \n",
" \n",
"Creek2_N2 \n",
" \n",
"\n",
"\n",
"reservoir_Creek2->tunnel_Creek2_N2 \n",
" \n",
" \n",
"\n",
"\n",
"river_Spill_C2 \n",
" \n",
"Spill_C2 \n",
" \n",
"\n",
"\n",
"reservoir_Creek2->river_Spill_C2 \n",
" \n",
" \n",
"\n",
"\n",
"reservoir_Creek3 \n",
" \n",
"Creek3 \n",
" \n",
"\n",
"\n",
"tunnel_Creek3_N3 \n",
" \n",
"Creek3_N3 \n",
" \n",
"\n",
"\n",
"reservoir_Creek3->tunnel_Creek3_N3 \n",
" \n",
" \n",
"\n",
"\n",
"river_Spill_C3 \n",
" \n",
"Spill_C3 \n",
" \n",
"\n",
"\n",
"reservoir_Creek3->river_Spill_C3 \n",
" \n",
" \n",
"\n",
"\n",
"tunnel_N1_N2 \n",
" \n",
"N1_N2 \n",
" \n",
"\n",
"\n",
"tunnel_Rsv_N1->tunnel_N1_N2 \n",
" \n",
" \n",
"\n",
"\n",
"tunnel_N2_N3 \n",
" \n",
"N2_N3 \n",
" \n",
"\n",
"\n",
"tunnel_N1_N2->tunnel_N2_N3 \n",
" \n",
" \n",
"\n",
"\n",
"tunnel_N3_plant \n",
" \n",
"N3_plant \n",
" \n",
"\n",
"\n",
"tunnel_N2_N3->tunnel_N3_plant \n",
" \n",
" \n",
"\n",
"\n",
"plant_Plant \n",
" \n",
"Plant \n",
" \n",
"\n",
"\n",
"tunnel_N3_plant->plant_Plant \n",
" \n",
" \n",
"\n",
"\n",
"tunnel_Creek1_N1->tunnel_N1_N2 \n",
" \n",
" \n",
"\n",
"\n",
"tunnel_Creek2_N2->tunnel_N2_N3 \n",
" \n",
" \n",
"\n",
"\n",
"tunnel_Creek3_N3->tunnel_N3_plant \n",
" \n",
" \n",
" \n",
" \n"
],
"text/plain": [
""
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"shop = build_model()\n",
"shop.model.build_connection_tree()"
]
},
{
"cell_type": "markdown",
"id": "fc9fd1c2",
"metadata": {},
"source": [
"A single large reservoir called Reservoir sits at the far end of a long tunnel stretch down to the plant. Three small creek intake reservoirs, Creek1 to 3, are connected to the main tunnel of the plant. All reservoirs have [river](river) objects connected to them that acts as spillways with [up_head_flow_curve](river:up_head_flow_curve) defining the flow out of the reservoirs."
]
},
{
"cell_type": "markdown",
"id": "4f7e444f",
"metadata": {},
"source": [
"## Modelling the reservoir of a creek intake\n",
"\n",
"The reservoirs representing creek intakes should be modelled using the following principles:\n",
"\n",
"### Storage capacity\n",
"The reservoir of a creek intake represents the volume of the tunnel segment in addition to any small dam at the top of the creek intake. In this model, the [max_vol](reservoir:max_vol) it is set to 0.001 Mm3 for all three creek intakes.\n",
"\n",
"### Upper and lower regulation levels\n",
"The [hrl](reservoir:hrl) of the creek intake reservoirs should be the top of the dam or tunnel entrance of the creek intake. Above this level, water will spill out of the creek. The [lrl](reservoir:lrl) should be set to the lrl of the large reservoir in the network. If the lrl of the creek intake reservoirs are set lower than the lrl of the main reservoir, problems can arise if the large reservoir is empty.\n",
"\n",
"### Volume to level conversion\n",
"One of the most important factors of modelling a creek intake reservoir is the [vol_head curve](reservoir:vol_head). Since the reservoir capacity is so small, the level of a creek intake reservoir can change very rapidly over a time step in the optimization model. It is therefore important to model the vol_head curve with the __same gradient in all segments__. The simple way to do this is to set 0 Mm3 for lrl, max_vol for hrl, and then choose some additional height above hrl and calculate the volume that will ensure a constant gradient. Choosing the level of $\\textup{hrl} + \\Delta$ for the final point on the vol_head curve should result in a volume of $V = (1+\\frac{\\Delta}{\\textup{hrl}-\\textup{lrl}})\\cdot V_{\\textup{max}}$. This means that the reservoir level can potentially go far above the actual intake of the creek, but this will not happen if the spillway of the creek intake is modelled correctly.\n",
"\n",
"### Flow_descr\n",
"Before SHOP 16.4.0, the [flow_descr](reservoir:flow_descr) attribute on the reservoir object would be used in the tunnel network simulations when a reservoir in the network had a level above hrl. SHOP now only uses the vol_head curve in these calculations, but for older SHOP versions it is important to define a flow_descr on the creek intake reservoirs even though a river is used to model the spillage.\n",
"\n",
"\n",
"The values for max_vol, hrl, lrl, and the vol_head curve of each reservoir in the model is printed below:"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "3aa5e321",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Reservoir\n",
"max_vol: 50.0\n",
"lrl: 80.0\n",
"hrl: 100.0\n",
"vol_head:\n",
"0.0 80.0\n",
"5.0 85.0\n",
"12.0 90.0\n",
"20.0 95.0\n",
"50.0 100.0\n",
"60.0 102.0\n",
"Name: 0.0, dtype: float64\n",
"\n",
"Creek1\n",
"max_vol: 0.001\n",
"lrl: 80.0\n",
"hrl: 110.0\n",
"vol_head:\n",
"0.000 80.0\n",
"0.001 110.0\n",
"0.002 140.0\n",
"Name: 0.0, dtype: float64\n",
"\n",
"Creek2\n",
"max_vol: 0.001\n",
"lrl: 80.0\n",
"hrl: 105.0\n",
"vol_head:\n",
"0.000 80.0\n",
"0.001 105.0\n",
"0.002 130.0\n",
"Name: 0.0, dtype: float64\n",
"\n",
"Creek3\n",
"max_vol: 0.001\n",
"lrl: 80.0\n",
"hrl: 101.0\n",
"vol_head:\n",
"0.000 80.0\n",
"0.001 101.0\n",
"0.002 121.0\n",
"Name: 0.0, dtype: float64\n",
"\n"
]
}
],
"source": [
"for rsv in shop.model.reservoir:\n",
" print(rsv.get_name())\n",
" print(\"max_vol:\",rsv.max_vol.get())\n",
" print(\"lrl:\",rsv.lrl.get())\n",
" print(\"hrl:\",rsv.hrl.get())\n",
" print(\"vol_head:\")\n",
" print(rsv.vol_head.get())\n",
" print(\"\")"
]
},
{
"cell_type": "markdown",
"id": "e45ae66f",
"metadata": {},
"source": [
"## Modelling the tunnels connecting the creek intakes\n",
"\n",
"The creek intake reservoirs are connected to the main tunnel with short tunnel objects with low [loss coefficients](tunnel:loss_factor). Note that setting the loss coefficients to zero may lead to instabilities when solving the tunnel network equations, so the loss factors should always be larger than zero. In this case, the tunnels connecting the creeks have a loss coefficient of 1e-6, while the main tunnel segments have much higher losses. 1e-6 is about 0.1% of the sum of all loss factors in the tunnel network:"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "9eae4340",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Loss in Rsv_N1: 0.00015, 14.96 % of sum loss factor\n",
"\n",
"Loss in N1_N2: 2.5e-05, 2.49 % of sum loss factor\n",
"\n",
"Loss in N2_N3: 2.5e-05, 2.49 % of sum loss factor\n",
"\n",
"Loss in N3_plant: 0.0008, 79.76 % of sum loss factor\n",
"\n",
"Loss in Creek1_N1: 1e-06, 0.10 % of sum loss factor\n",
"\n",
"Loss in Creek2_N2: 1e-06, 0.10 % of sum loss factor\n",
"\n",
"Loss in Creek3_N3: 1e-06, 0.10 % of sum loss factor\n",
"\n"
]
}
],
"source": [
"sum_loss_factor = sum(t.loss_factor.get() for t in shop.model.tunnel)\n",
"\n",
"for t in shop.model.tunnel:\n",
" loss = t.loss_factor.get()\n",
" print(f\"Loss in {t.get_name()}: {loss}, {100*loss/sum_loss_factor:.2f} % of sum loss factor\")\n",
" print(\"\")"
]
},
{
"cell_type": "markdown",
"id": "939f9ad3",
"metadata": {},
"source": [
"## Modelling the main tunnel\n",
"\n",
"The main tunnel from the large reservoir to the plant is split into 4 tunnel segments to allow creek intakes to connect at different points in the system. 15% of the main tunnel loss happens in the first tunnel segment between the large reservoir and the first creek intake, then 2.5% loss is added between each creek before 80% of the loss happens after the last creek intake. The main tunnel is modelled as flat at the lrl of the large reservoir before it drops off down to the plant in the final tunnel segment. This is seen in the [start_height](tunnel:start_height) and [end_height](tunnel:end_height) of each tunnel:"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "d35a75cc",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Rsv_N1: starts at 80.0 masl, ends at 80.0 masl\n",
"\n",
"N1_N2: starts at 80.0 masl, ends at 80.0 masl\n",
"\n",
"N2_N3: starts at 80.0 masl, ends at 80.0 masl\n",
"\n",
"N3_plant: starts at 80.0 masl, ends at 0.0 masl\n",
"\n",
"Creek1_N1: starts at 80.0 masl, ends at 80.0 masl\n",
"\n",
"Creek2_N2: starts at 80.0 masl, ends at 80.0 masl\n",
"\n",
"Creek3_N3: starts at 80.0 masl, ends at 80.0 masl\n",
"\n"
]
}
],
"source": [
"for t in shop.model.tunnel:\n",
" start = t.start_height.get()\n",
" print(f\"{t.get_name()}: starts at {t.start_height.get()} masl, ends at {t.end_height.get()} masl\")\n",
" print(\"\")"
]
},
{
"cell_type": "markdown",
"id": "2d8c450f",
"metadata": {},
"source": [
"## Modelling the spillways\n",
"\n",
"The [overflow example](reservoir-overflow) gives a general overview of how to modell spillage in SHOP. For creek intakes, it is recommended to add a river object with a simple [up_head_flow_curve](river:up_head_flow_curve) to each creek reservoir. The [upstream_elevation](river:upstream_elevation) of the river should be the hrl of the reservoirs, and using a single segment in the up_head_flow_curve is usually sufficient. Setting a [flow_cost](river:flow_cost) on the spill rivers is also common practice, but not strictly necessary as long as the creek reservoirs has a [water value](water-value-descriptions) consistent with the larger reservoir(s) in the tunnel system. In this model, no flow_cost is added to the rivers connected to the creek intake reservoirs, and the [energy_value_input](reservoir:energy_value_input) of all creeks are set to the same as the large reservoir."
]
},
{
"cell_type": "markdown",
"id": "ece10419",
"metadata": {},
"source": [
"## General recommendations and considerations\n",
"\n",
"- Start simple and expand the modelling of creeks in the system gradually. This allows the user to verify that the main components in the system function as expected before adding more complexity.\n",
"- Consider aggregating creek intakes that are close together with low losses between them. Large tunnel systems increase the complexity and calculation time of SHOP.\n",
"- Make sure the initial reservoir levels of the whole tunnel system are consistent to avoid numerical trouble."
]
},
{
"cell_type": "markdown",
"id": "189006d6",
"metadata": {},
"source": [
"## Optimizing a dry system state\n",
"\n",
"It is good practice to test the stability of the modelling in both wet and dry system conditions. First the a dry system state with all reservoirs at lrl and low inflow is optimized:"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "67dfba0f",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Dry objective value: -2418.800137270531\n"
]
}
],
"source": [
"shop = build_model()\n",
"\n",
"#Set initial state of the reservoirs to empty\n",
"for r in shop.model.reservoir:\n",
" r.start_head.set(r.lrl.get())\n",
"\n",
"#Create a random inflow profile that is used for all three creeks\n",
"np.random.seed(10)\n",
"t = [shop.get_time_resolution()[\"starttime\"] + pd.Timedelta(minutes=60*i) for i in range(24)]\n",
"inflow_profile = pd.Series(np.random.rand(24), index=t)\n",
"\n",
"shop.model.reservoir[\"Creek1\"].inflow.set(1*inflow_profile)\n",
"shop.model.reservoir[\"Creek2\"].inflow.set(3*inflow_profile)\n",
"shop.model.reservoir[\"Creek3\"].inflow.set(2*inflow_profile)\n",
"\n",
"#No inflow on the large reservoir\n",
"shop.model.reservoir[\"Reservoir\"].inflow.set(0)\n",
"\n",
"#Run a standard optimization\n",
"\n",
"shop.set_universal_mip(\"off\",[])\n",
"shop.start_sim([],[3])\n",
"shop.set_universal_mip(\"on\",[])\n",
"shop.start_sim([],[2])\n",
"shop.set_code(['incremental'], [])\n",
"shop.start_sim([],[5])\n",
"\n",
"dry_objective = shop.model.objective.average_objective.total.get()\n",
"print(\"Dry objective value:\",dry_objective)"
]
},
{
"cell_type": "markdown",
"id": "4a3c6878",
"metadata": {},
"source": [
"As expected, the power plant produces very little since the system is dry. Enough water is saved to produce some power during the price peak towards the end of the optimization horizon. \n",
"\n",
"All reservoir levels slowly increase in the beginning when the power plant is offline, and the inflow into the creeks flow into the larger reservoir. When the power plant draws water, the reservoir levels drop quickly in the closest creek intakes while it takes a little longer for the main upstream reservoir to be affected."
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "88f16b34",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
" \n",
" "
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.plotly.v1+json": {
"config": {
"plotlyServerURL": "https://plot.ly"
},
"data": [
{
"name": "Plant",
"type": "scatter",
"x": [
"2024-01-01T00:00:00",
"2024-01-01T01:00:00",
"2024-01-01T02:00:00",
"2024-01-01T03:00:00",
"2024-01-01T04:00:00",
"2024-01-01T05:00:00",
"2024-01-01T06:00:00",
"2024-01-01T07:00:00",
"2024-01-01T08:00:00",
"2024-01-01T09:00:00",
"2024-01-01T10:00:00",
"2024-01-01T11:00:00",
"2024-01-01T12:00:00",
"2024-01-01T13:00:00",
"2024-01-01T14:00:00",
"2024-01-01T15:00:00",
"2024-01-01T16:00:00",
"2024-01-01T17:00:00",
"2024-01-01T18:00:00",
"2024-01-01T19:00:00",
"2024-01-01T20:00:00",
"2024-01-01T21:00:00",
"2024-01-01T22:00:00",
"2024-01-01T23:00:00"
],
"y": [
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
19.56925411754598,
15.539960959510038,
7.046765354056346,
0.0,
0.0,
0.0,
0.0
]
},
{
"name": "Price",
"type": "scatter",
"x": [
"2024-01-01T00:00:00",
"2024-01-01T01:00:00",
"2024-01-01T02:00:00",
"2024-01-01T03:00:00",
"2024-01-01T04:00:00",
"2024-01-01T05:00:00",
"2024-01-01T06:00:00",
"2024-01-01T07:00:00",
"2024-01-01T08:00:00",
"2024-01-01T09:00:00",
"2024-01-01T10:00:00",
"2024-01-01T11:00:00",
"2024-01-01T12:00:00",
"2024-01-01T13:00:00",
"2024-01-01T14:00:00",
"2024-01-01T15:00:00",
"2024-01-01T16:00:00",
"2024-01-01T17:00:00",
"2024-01-01T18:00:00",
"2024-01-01T19:00:00",
"2024-01-01T20:00:00",
"2024-01-01T21:00:00",
"2024-01-01T22:00:00",
"2024-01-01T23:00:00"
],
"xaxis": "x",
"y": [
29.56,
28.46,
26.66,
24.48,
24.01,
21.23,
22.62,
25.04,
26.24,
32.21,
41.34,
43.51,
43.02,
44.29,
46.24,
50.61,
59.47,
64.99,
61.74,
55.07,
48.01,
44.01,
45.2,
38.0
],
"yaxis": "y2"
}
],
"layout": {
"barmode": "stack",
"template": {
"data": {
"bar": [
{
"error_x": {
"color": "#2a3f5f"
},
"error_y": {
"color": "#2a3f5f"
},
"marker": {
"line": {
"color": "#E5ECF6",
"width": 0.5
},
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "bar"
}
],
"barpolar": [
{
"marker": {
"line": {
"color": "#E5ECF6",
"width": 0.5
},
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "barpolar"
}
],
"carpet": [
{
"aaxis": {
"endlinecolor": "#2a3f5f",
"gridcolor": "white",
"linecolor": "white",
"minorgridcolor": "white",
"startlinecolor": "#2a3f5f"
},
"baxis": {
"endlinecolor": "#2a3f5f",
"gridcolor": "white",
"linecolor": "white",
"minorgridcolor": "white",
"startlinecolor": "#2a3f5f"
},
"type": "carpet"
}
],
"choropleth": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "choropleth"
}
],
"contour": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "contour"
}
],
"contourcarpet": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "contourcarpet"
}
],
"heatmap": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "heatmap"
}
],
"heatmapgl": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "heatmapgl"
}
],
"histogram": [
{
"marker": {
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "histogram"
}
],
"histogram2d": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "histogram2d"
}
],
"histogram2dcontour": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "histogram2dcontour"
}
],
"mesh3d": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "mesh3d"
}
],
"parcoords": [
{
"line": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "parcoords"
}
],
"pie": [
{
"automargin": true,
"type": "pie"
}
],
"scatter": [
{
"fillpattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
},
"type": "scatter"
}
],
"scatter3d": [
{
"line": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatter3d"
}
],
"scattercarpet": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattercarpet"
}
],
"scattergeo": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattergeo"
}
],
"scattergl": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattergl"
}
],
"scattermapbox": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattermapbox"
}
],
"scatterpolar": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterpolar"
}
],
"scatterpolargl": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterpolargl"
}
],
"scatterternary": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterternary"
}
],
"surface": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "surface"
}
],
"table": [
{
"cells": {
"fill": {
"color": "#EBF0F8"
},
"line": {
"color": "white"
}
},
"header": {
"fill": {
"color": "#C8D4E3"
},
"line": {
"color": "white"
}
},
"type": "table"
}
]
},
"layout": {
"annotationdefaults": {
"arrowcolor": "#2a3f5f",
"arrowhead": 0,
"arrowwidth": 1
},
"autotypenumbers": "strict",
"coloraxis": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"colorscale": {
"diverging": [
[
0,
"#8e0152"
],
[
0.1,
"#c51b7d"
],
[
0.2,
"#de77ae"
],
[
0.3,
"#f1b6da"
],
[
0.4,
"#fde0ef"
],
[
0.5,
"#f7f7f7"
],
[
0.6,
"#e6f5d0"
],
[
0.7,
"#b8e186"
],
[
0.8,
"#7fbc41"
],
[
0.9,
"#4d9221"
],
[
1,
"#276419"
]
],
"sequential": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"sequentialminus": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
]
},
"colorway": [
"#636efa",
"#EF553B",
"#00cc96",
"#ab63fa",
"#FFA15A",
"#19d3f3",
"#FF6692",
"#B6E880",
"#FF97FF",
"#FECB52"
],
"font": {
"color": "#2a3f5f"
},
"geo": {
"bgcolor": "white",
"lakecolor": "white",
"landcolor": "#E5ECF6",
"showlakes": true,
"showland": true,
"subunitcolor": "white"
},
"hoverlabel": {
"align": "left"
},
"hovermode": "closest",
"mapbox": {
"style": "light"
},
"paper_bgcolor": "white",
"plot_bgcolor": "#E5ECF6",
"polar": {
"angularaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"bgcolor": "#E5ECF6",
"radialaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
}
},
"scene": {
"xaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
},
"yaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
},
"zaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
}
},
"shapedefaults": {
"line": {
"color": "#2a3f5f"
}
},
"ternary": {
"aaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"baxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"bgcolor": "#E5ECF6",
"caxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
}
},
"title": {
"x": 0.05
},
"xaxis": {
"automargin": true,
"gridcolor": "white",
"linecolor": "white",
"ticks": "",
"title": {
"standoff": 15
},
"zerolinecolor": "white",
"zerolinewidth": 2
},
"yaxis": {
"automargin": true,
"gridcolor": "white",
"linecolor": "white",
"ticks": "",
"title": {
"standoff": 15
},
"zerolinecolor": "white",
"zerolinewidth": 2
}
}
},
"title": {
"text": "Production and market price"
},
"xaxis": {
"anchor": "y",
"domain": [
0.0,
0.94
]
},
"yaxis": {
"anchor": "x",
"domain": [
0.0,
1.0
],
"title": {
"text": "Production [MW]"
}
},
"yaxis2": {
"anchor": "x",
"overlaying": "y",
"side": "right",
"title": {
"text": "Energy price [€/MWh]"
}
}
}
},
"text/html": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.plotly.v1+json": {
"config": {
"plotlyServerURL": "https://plot.ly"
},
"data": [
{
"name": "Reservoir",
"type": "scatter",
"x": [
"2024-01-01T00:00:00",
"2024-01-01T01:00:00",
"2024-01-01T02:00:00",
"2024-01-01T03:00:00",
"2024-01-01T04:00:00",
"2024-01-01T05:00:00",
"2024-01-01T06:00:00",
"2024-01-01T07:00:00",
"2024-01-01T08:00:00",
"2024-01-01T09:00:00",
"2024-01-01T10:00:00",
"2024-01-01T11:00:00",
"2024-01-01T12:00:00",
"2024-01-01T13:00:00",
"2024-01-01T14:00:00",
"2024-01-01T15:00:00",
"2024-01-01T16:00:00",
"2024-01-01T17:00:00",
"2024-01-01T18:00:00",
"2024-01-01T19:00:00",
"2024-01-01T20:00:00",
"2024-01-01T21:00:00",
"2024-01-01T22:00:00",
"2024-01-01T23:00:00",
"2024-01-02T00:00:00"
],
"y": [
80.0,
80.01665935059755,
80.01710672922609,
80.03079259039627,
80.0469648816156,
80.05773113436541,
80.06258584888538,
80.06686345816152,
80.08328947311641,
80.08694124477073,
80.08884903316611,
80.10365167289284,
80.12424259976736,
80.12432695729186,
80.13538962465239,
80.15294032954627,
80.166169157082,
80.18175721490526,
80.08649805788318,
80.02438982495822,
80.0,
80.01171877884498,
80.01478899710479,
80.02285259507212,
80.0374123767652
]
},
{
"name": "Creek1",
"type": "scatter",
"x": [
"2024-01-01T00:00:00",
"2024-01-01T01:00:00",
"2024-01-01T02:00:00",
"2024-01-01T03:00:00",
"2024-01-01T04:00:00",
"2024-01-01T05:00:00",
"2024-01-01T06:00:00",
"2024-01-01T07:00:00",
"2024-01-01T08:00:00",
"2024-01-01T09:00:00",
"2024-01-01T10:00:00",
"2024-01-01T11:00:00",
"2024-01-01T12:00:00",
"2024-01-01T13:00:00",
"2024-01-01T14:00:00",
"2024-01-01T15:00:00",
"2024-01-01T16:00:00",
"2024-01-01T17:00:00",
"2024-01-01T18:00:00",
"2024-01-01T19:00:00",
"2024-01-01T20:00:00",
"2024-01-01T21:00:00",
"2024-01-01T22:00:00",
"2024-01-01T23:00:00",
"2024-01-02T00:00:00"
],
"y": [
80.0,
80.00932838896124,
80.01679014168108,
80.02436083202605,
80.03969197698572,
80.05226742196992,
80.05979802014485,
80.06436414120284,
80.0759997935009,
80.08476158659286,
80.08773171394985,
80.0968003810211,
80.11607551457418,
80.12429094768099,
80.1298469370188,
80.14532414229892,
80.15982843718648,
80.175044923892,
80.04126380402165,
80.01930090717276,
80.00842947653672,
80.0062848727661,
80.01264185309441,
80.01859208631193,
80.03038525644426
]
},
{
"name": "Creek2",
"type": "scatter",
"x": [
"2024-01-01T00:00:00",
"2024-01-01T01:00:00",
"2024-01-01T02:00:00",
"2024-01-01T03:00:00",
"2024-01-01T04:00:00",
"2024-01-01T05:00:00",
"2024-01-01T06:00:00",
"2024-01-01T07:00:00",
"2024-01-01T08:00:00",
"2024-01-01T09:00:00",
"2024-01-01T10:00:00",
"2024-01-01T11:00:00",
"2024-01-01T12:00:00",
"2024-01-01T13:00:00",
"2024-01-01T14:00:00",
"2024-01-01T15:00:00",
"2024-01-01T16:00:00",
"2024-01-01T17:00:00",
"2024-01-01T18:00:00",
"2024-01-01T19:00:00",
"2024-01-01T20:00:00",
"2024-01-01T21:00:00",
"2024-01-01T22:00:00",
"2024-01-01T23:00:00",
"2024-01-02T00:00:00"
],
"y": [
80.0,
80.00970456864056,
80.01679225202479,
80.02461149232956,
80.04004956487066,
80.05242467370557,
80.05982850666295,
80.06438950244875,
80.07636631619026,
80.08478107166081,
80.08773330491111,
80.09709894322194,
80.11665234370193,
80.12429097140124,
80.13000904852724,
80.14574566293578,
80.16006686614129,
80.17541151061133,
80.0233596512978,
80.01100089992916,
80.00699908920649,
80.00631783541657,
80.01343006604317,
80.01796906045519,
80.03060075006401
]
},
{
"name": "Creek3",
"type": "scatter",
"x": [
"2024-01-01T00:00:00",
"2024-01-01T01:00:00",
"2024-01-01T02:00:00",
"2024-01-01T03:00:00",
"2024-01-01T04:00:00",
"2024-01-01T05:00:00",
"2024-01-01T06:00:00",
"2024-01-01T07:00:00",
"2024-01-01T08:00:00",
"2024-01-01T09:00:00",
"2024-01-01T10:00:00",
"2024-01-01T11:00:00",
"2024-01-01T12:00:00",
"2024-01-01T13:00:00",
"2024-01-01T14:00:00",
"2024-01-01T15:00:00",
"2024-01-01T16:00:00",
"2024-01-01T17:00:00",
"2024-01-01T18:00:00",
"2024-01-01T19:00:00",
"2024-01-01T20:00:00",
"2024-01-01T21:00:00",
"2024-01-01T22:00:00",
"2024-01-01T23:00:00",
"2024-01-02T00:00:00"
],
"y": [
80.0,
80.0099995274258,
80.01695567642275,
80.02484282008666,
80.04046855149802,
80.05274368269599,
80.06000653782279,
80.0644996726854,
80.07671119329557,
80.08498026765295,
80.08780470891293,
80.0973688560087,
80.11720887520673,
80.12446721663912,
80.13017093997277,
80.14618357422059,
80.16044642059407,
80.17590307692556,
80.0,
80.0,
80.0,
80.01087419516774,
80.0142001713258,
80.01803369816936,
80.03076008913972
]
}
],
"layout": {
"template": {
"data": {
"bar": [
{
"error_x": {
"color": "#2a3f5f"
},
"error_y": {
"color": "#2a3f5f"
},
"marker": {
"line": {
"color": "#E5ECF6",
"width": 0.5
},
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "bar"
}
],
"barpolar": [
{
"marker": {
"line": {
"color": "#E5ECF6",
"width": 0.5
},
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "barpolar"
}
],
"carpet": [
{
"aaxis": {
"endlinecolor": "#2a3f5f",
"gridcolor": "white",
"linecolor": "white",
"minorgridcolor": "white",
"startlinecolor": "#2a3f5f"
},
"baxis": {
"endlinecolor": "#2a3f5f",
"gridcolor": "white",
"linecolor": "white",
"minorgridcolor": "white",
"startlinecolor": "#2a3f5f"
},
"type": "carpet"
}
],
"choropleth": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "choropleth"
}
],
"contour": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "contour"
}
],
"contourcarpet": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "contourcarpet"
}
],
"heatmap": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "heatmap"
}
],
"heatmapgl": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "heatmapgl"
}
],
"histogram": [
{
"marker": {
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "histogram"
}
],
"histogram2d": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "histogram2d"
}
],
"histogram2dcontour": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "histogram2dcontour"
}
],
"mesh3d": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "mesh3d"
}
],
"parcoords": [
{
"line": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "parcoords"
}
],
"pie": [
{
"automargin": true,
"type": "pie"
}
],
"scatter": [
{
"fillpattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
},
"type": "scatter"
}
],
"scatter3d": [
{
"line": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatter3d"
}
],
"scattercarpet": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattercarpet"
}
],
"scattergeo": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattergeo"
}
],
"scattergl": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattergl"
}
],
"scattermapbox": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattermapbox"
}
],
"scatterpolar": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterpolar"
}
],
"scatterpolargl": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterpolargl"
}
],
"scatterternary": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterternary"
}
],
"surface": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "surface"
}
],
"table": [
{
"cells": {
"fill": {
"color": "#EBF0F8"
},
"line": {
"color": "white"
}
},
"header": {
"fill": {
"color": "#C8D4E3"
},
"line": {
"color": "white"
}
},
"type": "table"
}
]
},
"layout": {
"annotationdefaults": {
"arrowcolor": "#2a3f5f",
"arrowhead": 0,
"arrowwidth": 1
},
"autotypenumbers": "strict",
"coloraxis": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"colorscale": {
"diverging": [
[
0,
"#8e0152"
],
[
0.1,
"#c51b7d"
],
[
0.2,
"#de77ae"
],
[
0.3,
"#f1b6da"
],
[
0.4,
"#fde0ef"
],
[
0.5,
"#f7f7f7"
],
[
0.6,
"#e6f5d0"
],
[
0.7,
"#b8e186"
],
[
0.8,
"#7fbc41"
],
[
0.9,
"#4d9221"
],
[
1,
"#276419"
]
],
"sequential": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"sequentialminus": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
]
},
"colorway": [
"#636efa",
"#EF553B",
"#00cc96",
"#ab63fa",
"#FFA15A",
"#19d3f3",
"#FF6692",
"#B6E880",
"#FF97FF",
"#FECB52"
],
"font": {
"color": "#2a3f5f"
},
"geo": {
"bgcolor": "white",
"lakecolor": "white",
"landcolor": "#E5ECF6",
"showlakes": true,
"showland": true,
"subunitcolor": "white"
},
"hoverlabel": {
"align": "left"
},
"hovermode": "closest",
"mapbox": {
"style": "light"
},
"paper_bgcolor": "white",
"plot_bgcolor": "#E5ECF6",
"polar": {
"angularaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"bgcolor": "#E5ECF6",
"radialaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
}
},
"scene": {
"xaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
},
"yaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
},
"zaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
}
},
"shapedefaults": {
"line": {
"color": "#2a3f5f"
}
},
"ternary": {
"aaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"baxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"bgcolor": "#E5ECF6",
"caxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
}
},
"title": {
"x": 0.05
},
"xaxis": {
"automargin": true,
"gridcolor": "white",
"linecolor": "white",
"ticks": "",
"title": {
"standoff": 15
},
"zerolinecolor": "white",
"zerolinewidth": 2
},
"yaxis": {
"automargin": true,
"gridcolor": "white",
"linecolor": "white",
"ticks": "",
"title": {
"standoff": 15
},
"zerolinecolor": "white",
"zerolinewidth": 2
}
}
},
"title": {
"text": "Reservoir levels"
},
"yaxis": {
"title": {
"text": "Level [masl]"
}
}
}
},
"text/html": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.plotly.v1+json": {
"config": {
"plotlyServerURL": "https://plot.ly"
},
"data": [
{
"name": "Reservoir",
"type": "scatter",
"x": [
"2024-01-01T00:00:00",
"2024-01-01T01:00:00",
"2024-01-01T02:00:00",
"2024-01-01T03:00:00",
"2024-01-01T04:00:00",
"2024-01-01T05:00:00",
"2024-01-01T06:00:00",
"2024-01-01T07:00:00",
"2024-01-01T08:00:00",
"2024-01-01T09:00:00",
"2024-01-01T10:00:00",
"2024-01-01T11:00:00",
"2024-01-01T12:00:00",
"2024-01-01T13:00:00",
"2024-01-01T14:00:00",
"2024-01-01T15:00:00",
"2024-01-01T16:00:00",
"2024-01-01T17:00:00",
"2024-01-01T18:00:00",
"2024-01-01T19:00:00",
"2024-01-01T20:00:00",
"2024-01-01T21:00:00",
"2024-01-01T22:00:00",
"2024-01-01T23:00:00"
],
"y": [
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0
]
},
{
"name": "Creek1",
"type": "scatter",
"x": [
"2024-01-01T00:00:00",
"2024-01-01T01:00:00",
"2024-01-01T02:00:00",
"2024-01-01T03:00:00",
"2024-01-01T04:00:00",
"2024-01-01T05:00:00",
"2024-01-01T06:00:00",
"2024-01-01T07:00:00",
"2024-01-01T08:00:00",
"2024-01-01T09:00:00",
"2024-01-01T10:00:00",
"2024-01-01T11:00:00",
"2024-01-01T12:00:00",
"2024-01-01T13:00:00",
"2024-01-01T14:00:00",
"2024-01-01T15:00:00",
"2024-01-01T16:00:00",
"2024-01-01T17:00:00",
"2024-01-01T18:00:00",
"2024-01-01T19:00:00",
"2024-01-01T20:00:00",
"2024-01-01T21:00:00",
"2024-01-01T22:00:00",
"2024-01-01T23:00:00"
],
"y": [
0.771320643266746,
0.0207519493594015,
0.6336482349262754,
0.7488038825386119,
0.4985070123025904,
0.22479664553084766,
0.19806286475962398,
0.7605307121989587,
0.16911083656253545,
0.08833981417401027,
0.6853598183677972,
0.9533933461949365,
0.003948266327914451,
0.5121922633857766,
0.8126209616521135,
0.6125260668293881,
0.7217553174317995,
0.29187606817063316,
0.9177741225129434,
0.7145757833976906,
0.5425443680112613,
0.14217004760152696,
0.3733407600514692,
0.6741336150663453
]
},
{
"name": "Creek2",
"type": "scatter",
"x": [
"2024-01-01T00:00:00",
"2024-01-01T01:00:00",
"2024-01-01T02:00:00",
"2024-01-01T03:00:00",
"2024-01-01T04:00:00",
"2024-01-01T05:00:00",
"2024-01-01T06:00:00",
"2024-01-01T07:00:00",
"2024-01-01T08:00:00",
"2024-01-01T09:00:00",
"2024-01-01T10:00:00",
"2024-01-01T11:00:00",
"2024-01-01T12:00:00",
"2024-01-01T13:00:00",
"2024-01-01T14:00:00",
"2024-01-01T15:00:00",
"2024-01-01T16:00:00",
"2024-01-01T17:00:00",
"2024-01-01T18:00:00",
"2024-01-01T19:00:00",
"2024-01-01T20:00:00",
"2024-01-01T21:00:00",
"2024-01-01T22:00:00",
"2024-01-01T23:00:00"
],
"y": [
2.313961929800238,
0.0622558480782045,
1.9009447047788264,
2.246411647615836,
1.4955210369077712,
0.674389936592543,
0.5941885942788719,
2.2815921365968763,
0.5073325096876063,
0.2650194425220308,
2.056079455103392,
2.8601800385848097,
0.011844798983743354,
1.53657679015733,
2.4378628849563406,
1.8375782004881644,
2.1652659522953988,
0.8756282045118995,
2.7533223675388303,
2.1437273501930716,
1.6276331040337837,
0.4265101428045809,
1.1200222801544077,
2.022400845199036
]
},
{
"name": "Creek3",
"type": "scatter",
"x": [
"2024-01-01T00:00:00",
"2024-01-01T01:00:00",
"2024-01-01T02:00:00",
"2024-01-01T03:00:00",
"2024-01-01T04:00:00",
"2024-01-01T05:00:00",
"2024-01-01T06:00:00",
"2024-01-01T07:00:00",
"2024-01-01T08:00:00",
"2024-01-01T09:00:00",
"2024-01-01T10:00:00",
"2024-01-01T11:00:00",
"2024-01-01T12:00:00",
"2024-01-01T13:00:00",
"2024-01-01T14:00:00",
"2024-01-01T15:00:00",
"2024-01-01T16:00:00",
"2024-01-01T17:00:00",
"2024-01-01T18:00:00",
"2024-01-01T19:00:00",
"2024-01-01T20:00:00",
"2024-01-01T21:00:00",
"2024-01-01T22:00:00",
"2024-01-01T23:00:00"
],
"y": [
1.542641286533492,
0.041503898718803,
1.2672964698525508,
1.4976077650772237,
0.9970140246051808,
0.4495932910616953,
0.39612572951924796,
1.5210614243979175,
0.3382216731250709,
0.17667962834802053,
1.3707196367355945,
1.906786692389873,
0.007896532655828903,
1.0243845267715532,
1.625241923304227,
1.2250521336587763,
1.443510634863599,
0.5837521363412663,
1.8355482450258869,
1.4291515667953811,
1.0850887360225225,
0.2843400952030539,
0.7466815201029384,
1.3482672301326906
]
}
],
"layout": {
"template": {
"data": {
"bar": [
{
"error_x": {
"color": "#2a3f5f"
},
"error_y": {
"color": "#2a3f5f"
},
"marker": {
"line": {
"color": "#E5ECF6",
"width": 0.5
},
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "bar"
}
],
"barpolar": [
{
"marker": {
"line": {
"color": "#E5ECF6",
"width": 0.5
},
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "barpolar"
}
],
"carpet": [
{
"aaxis": {
"endlinecolor": "#2a3f5f",
"gridcolor": "white",
"linecolor": "white",
"minorgridcolor": "white",
"startlinecolor": "#2a3f5f"
},
"baxis": {
"endlinecolor": "#2a3f5f",
"gridcolor": "white",
"linecolor": "white",
"minorgridcolor": "white",
"startlinecolor": "#2a3f5f"
},
"type": "carpet"
}
],
"choropleth": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "choropleth"
}
],
"contour": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "contour"
}
],
"contourcarpet": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "contourcarpet"
}
],
"heatmap": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "heatmap"
}
],
"heatmapgl": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "heatmapgl"
}
],
"histogram": [
{
"marker": {
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "histogram"
}
],
"histogram2d": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "histogram2d"
}
],
"histogram2dcontour": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "histogram2dcontour"
}
],
"mesh3d": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "mesh3d"
}
],
"parcoords": [
{
"line": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "parcoords"
}
],
"pie": [
{
"automargin": true,
"type": "pie"
}
],
"scatter": [
{
"fillpattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
},
"type": "scatter"
}
],
"scatter3d": [
{
"line": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatter3d"
}
],
"scattercarpet": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattercarpet"
}
],
"scattergeo": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattergeo"
}
],
"scattergl": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattergl"
}
],
"scattermapbox": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattermapbox"
}
],
"scatterpolar": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterpolar"
}
],
"scatterpolargl": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterpolargl"
}
],
"scatterternary": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterternary"
}
],
"surface": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "surface"
}
],
"table": [
{
"cells": {
"fill": {
"color": "#EBF0F8"
},
"line": {
"color": "white"
}
},
"header": {
"fill": {
"color": "#C8D4E3"
},
"line": {
"color": "white"
}
},
"type": "table"
}
]
},
"layout": {
"annotationdefaults": {
"arrowcolor": "#2a3f5f",
"arrowhead": 0,
"arrowwidth": 1
},
"autotypenumbers": "strict",
"coloraxis": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"colorscale": {
"diverging": [
[
0,
"#8e0152"
],
[
0.1,
"#c51b7d"
],
[
0.2,
"#de77ae"
],
[
0.3,
"#f1b6da"
],
[
0.4,
"#fde0ef"
],
[
0.5,
"#f7f7f7"
],
[
0.6,
"#e6f5d0"
],
[
0.7,
"#b8e186"
],
[
0.8,
"#7fbc41"
],
[
0.9,
"#4d9221"
],
[
1,
"#276419"
]
],
"sequential": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"sequentialminus": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
]
},
"colorway": [
"#636efa",
"#EF553B",
"#00cc96",
"#ab63fa",
"#FFA15A",
"#19d3f3",
"#FF6692",
"#B6E880",
"#FF97FF",
"#FECB52"
],
"font": {
"color": "#2a3f5f"
},
"geo": {
"bgcolor": "white",
"lakecolor": "white",
"landcolor": "#E5ECF6",
"showlakes": true,
"showland": true,
"subunitcolor": "white"
},
"hoverlabel": {
"align": "left"
},
"hovermode": "closest",
"mapbox": {
"style": "light"
},
"paper_bgcolor": "white",
"plot_bgcolor": "#E5ECF6",
"polar": {
"angularaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"bgcolor": "#E5ECF6",
"radialaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
}
},
"scene": {
"xaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
},
"yaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
},
"zaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
}
},
"shapedefaults": {
"line": {
"color": "#2a3f5f"
}
},
"ternary": {
"aaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"baxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"bgcolor": "#E5ECF6",
"caxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
}
},
"title": {
"x": 0.05
},
"xaxis": {
"automargin": true,
"gridcolor": "white",
"linecolor": "white",
"ticks": "",
"title": {
"standoff": 15
},
"zerolinecolor": "white",
"zerolinewidth": 2
},
"yaxis": {
"automargin": true,
"gridcolor": "white",
"linecolor": "white",
"ticks": "",
"title": {
"standoff": 15
},
"zerolinecolor": "white",
"zerolinewidth": 2
}
}
},
"title": {
"text": "Reservoir inflow"
},
"yaxis": {
"title": {
"text": "Inflow [m3/s]"
}
}
}
},
"text/html": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"#Plot production and market price\n",
"fig = make_subplots(specs=[[{\"secondary_y\": True}]])\n",
"fig.update_layout(barmode=\"stack\", title=\"Production and market price\")\n",
"fig.update_yaxes(title_text=\"Energy price [€/MWh]\", secondary_y=True)\n",
"fig.update_yaxes(title_text=\"Production [MW]\", secondary_y=False)\n",
"\n",
"for plant in shop.model.plant:\n",
"\n",
" prod = plant.production.get()\n",
" fig.add_trace(go.Scatter(x=prod.index, y=prod.values, name=plant.get_name()))\n",
"\n",
"price = shop.model.market.spot.sale_price.get()\n",
"fig.add_trace(go.Scatter(x=price.index, y=price.values, name=\"Price\"),secondary_y=True)\n",
"fig.show()\n",
"\n",
"#Plot reservoir levels\n",
"fig = go.Figure()\n",
"for rsv in shop.model.reservoir:\n",
" level = rsv.head.get()\n",
" fig.add_trace(go.Scatter(x=level.index, y=level.values, name=rsv.get_name()))\n",
"\n",
"fig.update_layout(title=\"Reservoir levels\")\n",
"fig.update_yaxes(title_text=\"Level [masl]\")\n",
"fig.show()\n",
"\n",
"#Plot reservoir inflow\n",
"fig = go.Figure()\n",
"for rsv in shop.model.reservoir:\n",
" inflow = rsv.inflow.get()\n",
" fig.add_trace(go.Scatter(x=inflow.index, y=inflow.values, name=rsv.get_name()))\n",
"\n",
"fig.update_layout(title=\"Reservoir inflow\")\n",
"fig.update_yaxes(title_text=\"Inflow [m3/s]\")\n",
"fig.show()"
]
},
{
"cell_type": "markdown",
"id": "124c4799",
"metadata": {},
"source": [
"The tunnel flow is shown in the figure below. As the reservoir volumes of the creek intakes are so small, most of the inflow goes directly into the larger reservoir. For these calm conditions, there are virtually no deviations between the optimized tunnel [flow](tunnel:flow) and the post-calculated [physical_flow](tunnel:physical_flow) in the tunnels (note the scale on the y-axis)."
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "a3931c96",
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.plotly.v1+json": {
"config": {
"plotlyServerURL": "https://plot.ly"
},
"data": [
{
"name": "Rsv_N1",
"type": "scatter",
"x": [
"2024-01-01T00:00:00",
"2024-01-01T01:00:00",
"2024-01-01T02:00:00",
"2024-01-01T03:00:00",
"2024-01-01T04:00:00",
"2024-01-01T05:00:00",
"2024-01-01T06:00:00",
"2024-01-01T07:00:00",
"2024-01-01T08:00:00",
"2024-01-01T09:00:00",
"2024-01-01T10:00:00",
"2024-01-01T11:00:00",
"2024-01-01T12:00:00",
"2024-01-01T13:00:00",
"2024-01-01T14:00:00",
"2024-01-01T15:00:00",
"2024-01-01T16:00:00",
"2024-01-01T17:00:00",
"2024-01-01T18:00:00",
"2024-01-01T19:00:00",
"2024-01-01T20:00:00",
"2024-01-01T21:00:00",
"2024-01-01T22:00:00",
"2024-01-01T23:00:00"
],
"y": [
-4.62759738820687,
-0.12427184126297498,
-3.8016281028280052,
-4.492303116477472,
-2.990625763840567,
-1.3485318111013083,
-1.188224798927276,
-4.562781931913837,
-1.0143810150879495,
-0.5299412209390335,
-4.111844368537121,
-5.719701909589085,
-0.02343264569399306,
-3.0729631557028076,
-4.875195803853856,
-3.674674315480463,
-4.330016062019632,
26.460876950581195,
17.252286923599318,
6.774951377281749,
-3.255216345828198,
-0.8528384055018318,
-2.2398883242585255,
-4.044383803636527
]
},
{
"name": "N1_N2",
"type": "scatter",
"x": [
"2024-01-01T00:00:00",
"2024-01-01T01:00:00",
"2024-01-01T02:00:00",
"2024-01-01T03:00:00",
"2024-01-01T04:00:00",
"2024-01-01T05:00:00",
"2024-01-01T06:00:00",
"2024-01-01T07:00:00",
"2024-01-01T08:00:00",
"2024-01-01T09:00:00",
"2024-01-01T10:00:00",
"2024-01-01T11:00:00",
"2024-01-01T12:00:00",
"2024-01-01T13:00:00",
"2024-01-01T14:00:00",
"2024-01-01T15:00:00",
"2024-01-01T16:00:00",
"2024-01-01T17:00:00",
"2024-01-01T18:00:00",
"2024-01-01T19:00:00",
"2024-01-01T20:00:00",
"2024-01-01T21:00:00",
"2024-01-01T22:00:00",
"2024-01-01T23:00:00"
],
"y": [
-3.8563631189119847,
-0.1035889822065352,
-3.1680499668864055,
-3.743641188984783,
-2.492235190843385,
-1.12380489333134,
-0.9902042130663367,
-3.8023589572361565,
-0.8453513062392287,
-0.44162890794425314,
-3.4265685193088684,
-4.7664870368529755,
-0.019560448191164165,
-2.5608223366627514,
-4.062718149658041,
-3.062282547677812,
-3.608401637983253,
26.75399173282466,
18.170264406268277,
7.489627822074224,
-2.7126521203746092,
-0.7107272188292697,
-1.8666026589590705,
-3.370359384720061
]
},
{
"name": "N2_N3",
"type": "scatter",
"x": [
"2024-01-01T00:00:00",
"2024-01-01T01:00:00",
"2024-01-01T02:00:00",
"2024-01-01T03:00:00",
"2024-01-01T04:00:00",
"2024-01-01T05:00:00",
"2024-01-01T06:00:00",
"2024-01-01T07:00:00",
"2024-01-01T08:00:00",
"2024-01-01T09:00:00",
"2024-01-01T10:00:00",
"2024-01-01T11:00:00",
"2024-01-01T12:00:00",
"2024-01-01T13:00:00",
"2024-01-01T14:00:00",
"2024-01-01T15:00:00",
"2024-01-01T16:00:00",
"2024-01-01T17:00:00",
"2024-01-01T18:00:00",
"2024-01-01T19:00:00",
"2024-01-01T20:00:00",
"2024-01-01T21:00:00",
"2024-01-01T22:00:00",
"2024-01-01T23:00:00"
],
"y": [
-1.5425090176521974,
-0.04141188616593315,
-1.2671921425554096,
-1.4974010755082907,
-0.9968516551448903,
-0.4494972215494343,
-0.3960662965184182,
-1.5208998963475189,
-0.3381122938346294,
-0.17664226801389238,
-1.370593126853375,
-1.9065242582734967,
-0.00780052284852404,
-1.0243090806957105,
-1.625030115972907,
-1.224863471669709,
-1.443306181737521,
27.631309402440046,
20.923724093266756,
9.633399636830873,
-1.0850114468542704,
-0.28429610080942863,
-0.746630812075908,
-1.3480988916277898
]
},
{
"name": "N3_plant",
"type": "scatter",
"x": [
"2024-01-01T00:00:00",
"2024-01-01T01:00:00",
"2024-01-01T02:00:00",
"2024-01-01T03:00:00",
"2024-01-01T04:00:00",
"2024-01-01T05:00:00",
"2024-01-01T06:00:00",
"2024-01-01T07:00:00",
"2024-01-01T08:00:00",
"2024-01-01T09:00:00",
"2024-01-01T10:00:00",
"2024-01-01T11:00:00",
"2024-01-01T12:00:00",
"2024-01-01T13:00:00",
"2024-01-01T14:00:00",
"2024-01-01T15:00:00",
"2024-01-01T16:00:00",
"2024-01-01T17:00:00",
"2024-01-01T18:00:00",
"2024-01-01T19:00:00",
"2024-01-01T20:00:00",
"2024-01-01T21:00:00",
"2024-01-01T22:00:00",
"2024-01-01T23:00:00"
],
"y": [
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
28.2173882990581,
22.759272338292647,
11.062484653848195,
0.0,
0.0,
0.0,
0.0
]
},
{
"name": "Creek1_N1",
"type": "scatter",
"x": [
"2024-01-01T00:00:00",
"2024-01-01T01:00:00",
"2024-01-01T02:00:00",
"2024-01-01T03:00:00",
"2024-01-01T04:00:00",
"2024-01-01T05:00:00",
"2024-01-01T06:00:00",
"2024-01-01T07:00:00",
"2024-01-01T08:00:00",
"2024-01-01T09:00:00",
"2024-01-01T10:00:00",
"2024-01-01T11:00:00",
"2024-01-01T12:00:00",
"2024-01-01T13:00:00",
"2024-01-01T14:00:00",
"2024-01-01T15:00:00",
"2024-01-01T16:00:00",
"2024-01-01T17:00:00",
"2024-01-01T18:00:00",
"2024-01-01T19:00:00",
"2024-01-01T20:00:00",
"2024-01-01T21:00:00",
"2024-01-01T22:00:00",
"2024-01-01T23:00:00"
],
"y": [
0.7712342692948826,
0.020682859056439993,
0.6335781359415998,
0.7486619274926888,
0.4983905729971812,
0.22472691776996856,
0.1980205858609388,
0.7604229746776805,
0.16902970884872098,
0.08831231299477885,
0.6852758492282486,
0.9532148727361116,
0.0038721975028514037,
0.512140819040056,
0.8124776541958161,
0.6123917678026514,
0.7216144240363781,
0.29311478224350684,
0.9179774826689514,
0.714676444792469,
0.5425642254535816,
0.14211118667256106,
0.37328566529945517,
0.6740244190466014
]
},
{
"name": "Creek2_N2",
"type": "scatter",
"x": [
"2024-01-01T00:00:00",
"2024-01-01T01:00:00",
"2024-01-01T02:00:00",
"2024-01-01T03:00:00",
"2024-01-01T04:00:00",
"2024-01-01T05:00:00",
"2024-01-01T06:00:00",
"2024-01-01T07:00:00",
"2024-01-01T08:00:00",
"2024-01-01T09:00:00",
"2024-01-01T10:00:00",
"2024-01-01T11:00:00",
"2024-01-01T12:00:00",
"2024-01-01T13:00:00",
"2024-01-01T14:00:00",
"2024-01-01T15:00:00",
"2024-01-01T16:00:00",
"2024-01-01T17:00:00",
"2024-01-01T18:00:00",
"2024-01-01T19:00:00",
"2024-01-01T20:00:00",
"2024-01-01T21:00:00",
"2024-01-01T22:00:00",
"2024-01-01T23:00:00"
],
"y": [
2.3138541012597873,
0.062177096040602044,
1.9008578243309957,
2.24624011347649,
1.495383535698494,
0.6743076717819054,
0.5941379165479186,
2.2814590608886367,
0.5072390124046002,
0.26498663993036087,
2.0559753924554935,
2.8599627785794763,
0.011759925342639874,
1.536513255967041,
2.4376880336851343,
1.837419076008103,
2.165095456245732,
0.8773176696153833,
2.7534596869984824,
2.143771814756656,
1.6276406735203384,
0.42643111801984096,
1.119971846883163,
2.0222604930922707
]
},
{
"name": "Creek3_N3",
"type": "scatter",
"x": [
"2024-01-01T00:00:00",
"2024-01-01T01:00:00",
"2024-01-01T02:00:00",
"2024-01-01T03:00:00",
"2024-01-01T04:00:00",
"2024-01-01T05:00:00",
"2024-01-01T06:00:00",
"2024-01-01T07:00:00",
"2024-01-01T08:00:00",
"2024-01-01T09:00:00",
"2024-01-01T10:00:00",
"2024-01-01T11:00:00",
"2024-01-01T12:00:00",
"2024-01-01T13:00:00",
"2024-01-01T14:00:00",
"2024-01-01T15:00:00",
"2024-01-01T16:00:00",
"2024-01-01T17:00:00",
"2024-01-01T18:00:00",
"2024-01-01T19:00:00",
"2024-01-01T20:00:00",
"2024-01-01T21:00:00",
"2024-01-01T22:00:00",
"2024-01-01T23:00:00"
],
"y": [
1.542509017652198,
0.04141188616593319,
1.26719214255541,
1.4974010755082903,
0.9968516551448903,
0.44949722154943594,
0.3960662965184198,
1.5208998963475189,
0.33811229383462926,
0.17664226801389382,
1.3705931268533753,
1.9065242582734971,
0.007800522848522297,
1.0243090806957098,
1.6250301159729066,
1.224863471669709,
1.443306181737521,
0.5860788966180597,
1.8355482450258866,
1.4290850170173146,
1.0850114468542709,
0.284296100809429,
0.7466308120759071,
1.3480988916277916
]
}
],
"layout": {
"template": {
"data": {
"bar": [
{
"error_x": {
"color": "#2a3f5f"
},
"error_y": {
"color": "#2a3f5f"
},
"marker": {
"line": {
"color": "#E5ECF6",
"width": 0.5
},
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "bar"
}
],
"barpolar": [
{
"marker": {
"line": {
"color": "#E5ECF6",
"width": 0.5
},
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "barpolar"
}
],
"carpet": [
{
"aaxis": {
"endlinecolor": "#2a3f5f",
"gridcolor": "white",
"linecolor": "white",
"minorgridcolor": "white",
"startlinecolor": "#2a3f5f"
},
"baxis": {
"endlinecolor": "#2a3f5f",
"gridcolor": "white",
"linecolor": "white",
"minorgridcolor": "white",
"startlinecolor": "#2a3f5f"
},
"type": "carpet"
}
],
"choropleth": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "choropleth"
}
],
"contour": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "contour"
}
],
"contourcarpet": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "contourcarpet"
}
],
"heatmap": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "heatmap"
}
],
"heatmapgl": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "heatmapgl"
}
],
"histogram": [
{
"marker": {
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "histogram"
}
],
"histogram2d": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "histogram2d"
}
],
"histogram2dcontour": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "histogram2dcontour"
}
],
"mesh3d": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "mesh3d"
}
],
"parcoords": [
{
"line": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "parcoords"
}
],
"pie": [
{
"automargin": true,
"type": "pie"
}
],
"scatter": [
{
"fillpattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
},
"type": "scatter"
}
],
"scatter3d": [
{
"line": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatter3d"
}
],
"scattercarpet": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattercarpet"
}
],
"scattergeo": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattergeo"
}
],
"scattergl": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattergl"
}
],
"scattermapbox": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattermapbox"
}
],
"scatterpolar": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterpolar"
}
],
"scatterpolargl": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterpolargl"
}
],
"scatterternary": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterternary"
}
],
"surface": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "surface"
}
],
"table": [
{
"cells": {
"fill": {
"color": "#EBF0F8"
},
"line": {
"color": "white"
}
},
"header": {
"fill": {
"color": "#C8D4E3"
},
"line": {
"color": "white"
}
},
"type": "table"
}
]
},
"layout": {
"annotationdefaults": {
"arrowcolor": "#2a3f5f",
"arrowhead": 0,
"arrowwidth": 1
},
"autotypenumbers": "strict",
"coloraxis": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"colorscale": {
"diverging": [
[
0,
"#8e0152"
],
[
0.1,
"#c51b7d"
],
[
0.2,
"#de77ae"
],
[
0.3,
"#f1b6da"
],
[
0.4,
"#fde0ef"
],
[
0.5,
"#f7f7f7"
],
[
0.6,
"#e6f5d0"
],
[
0.7,
"#b8e186"
],
[
0.8,
"#7fbc41"
],
[
0.9,
"#4d9221"
],
[
1,
"#276419"
]
],
"sequential": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"sequentialminus": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
]
},
"colorway": [
"#636efa",
"#EF553B",
"#00cc96",
"#ab63fa",
"#FFA15A",
"#19d3f3",
"#FF6692",
"#B6E880",
"#FF97FF",
"#FECB52"
],
"font": {
"color": "#2a3f5f"
},
"geo": {
"bgcolor": "white",
"lakecolor": "white",
"landcolor": "#E5ECF6",
"showlakes": true,
"showland": true,
"subunitcolor": "white"
},
"hoverlabel": {
"align": "left"
},
"hovermode": "closest",
"mapbox": {
"style": "light"
},
"paper_bgcolor": "white",
"plot_bgcolor": "#E5ECF6",
"polar": {
"angularaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"bgcolor": "#E5ECF6",
"radialaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
}
},
"scene": {
"xaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
},
"yaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
},
"zaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
}
},
"shapedefaults": {
"line": {
"color": "#2a3f5f"
}
},
"ternary": {
"aaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"baxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"bgcolor": "#E5ECF6",
"caxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
}
},
"title": {
"x": 0.05
},
"xaxis": {
"automargin": true,
"gridcolor": "white",
"linecolor": "white",
"ticks": "",
"title": {
"standoff": 15
},
"zerolinecolor": "white",
"zerolinewidth": 2
},
"yaxis": {
"automargin": true,
"gridcolor": "white",
"linecolor": "white",
"ticks": "",
"title": {
"standoff": 15
},
"zerolinecolor": "white",
"zerolinewidth": 2
}
}
},
"title": {
"text": "Tunnel flow"
},
"yaxis": {
"title": {
"text": "Flow [m3/s]"
}
}
}
},
"text/html": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.plotly.v1+json": {
"config": {
"plotlyServerURL": "https://plot.ly"
},
"data": [
{
"name": "Rsv_N1",
"type": "scatter",
"x": [
"2024-01-01T00:00:00",
"2024-01-01T01:00:00",
"2024-01-01T02:00:00",
"2024-01-01T03:00:00",
"2024-01-01T04:00:00",
"2024-01-01T05:00:00",
"2024-01-01T06:00:00",
"2024-01-01T07:00:00",
"2024-01-01T08:00:00",
"2024-01-01T09:00:00",
"2024-01-01T10:00:00",
"2024-01-01T11:00:00",
"2024-01-01T12:00:00",
"2024-01-01T13:00:00",
"2024-01-01T14:00:00",
"2024-01-01T15:00:00",
"2024-01-01T16:00:00",
"2024-01-01T17:00:00",
"2024-01-01T18:00:00",
"2024-01-01T19:00:00",
"2024-01-01T20:00:00",
"2024-01-01T21:00:00",
"2024-01-01T22:00:00",
"2024-01-01T23:00:00"
],
"y": [
2.3897243206505436e-07,
-1.1913121317208564e-06,
2.2838208693087836e-06,
-1.9897729437445832e-06,
4.861455464855169e-07,
4.420029848795082e-07,
-6.139655028825075e-08,
-3.3781765829132837e-07,
-6.916899673026222e-07,
1.619405217478942e-06,
-4.3715593633919525e-07,
-1.15477960971333e-06,
6.347352239678694e-07,
1.5110093967152238e-06,
-2.249943931609266e-06,
4.791459420339095e-07,
1.3692164598566592e-05,
-1.965044268104066e-05,
5.5018003415341354e-06,
-2.1177156863672053e-06,
1.028904808908493e-06,
1.7881741986025546e-05,
-1.4900046254151533e-05,
-1.3126125533169386e-05
]
},
{
"name": "N1_N2",
"type": "scatter",
"x": [
"2024-01-01T00:00:00",
"2024-01-01T01:00:00",
"2024-01-01T02:00:00",
"2024-01-01T03:00:00",
"2024-01-01T04:00:00",
"2024-01-01T05:00:00",
"2024-01-01T06:00:00",
"2024-01-01T07:00:00",
"2024-01-01T08:00:00",
"2024-01-01T09:00:00",
"2024-01-01T10:00:00",
"2024-01-01T11:00:00",
"2024-01-01T12:00:00",
"2024-01-01T13:00:00",
"2024-01-01T14:00:00",
"2024-01-01T15:00:00",
"2024-01-01T16:00:00",
"2024-01-01T17:00:00",
"2024-01-01T18:00:00",
"2024-01-01T19:00:00",
"2024-01-01T20:00:00",
"2024-01-01T21:00:00",
"2024-01-01T22:00:00",
"2024-01-01T23:00:00"
],
"y": [
1.7261760998366071e-07,
-8.620243417967188e-07,
1.6570594985054754e-06,
-1.4515617992039154e-06,
3.6495567679040164e-07,
3.12449119244107e-07,
-4.301458444988526e-08,
-2.455862775363471e-07,
-4.9500258336721e-07,
1.167452268802105e-06,
-3.182224630471353e-07,
-8.370162634108169e-07,
4.7423889886280546e-07,
1.0764047506661711e-06,
-1.6339736381709713e-06,
3.7102871397465265e-07,
1.0477042824419414e-05,
-1.4666591390266603e-05,
3.4536501800630504e-06,
-8.869625327534436e-07,
-2.658367665553385e-06,
2.076897181568782e-05,
-1.576821292892383e-05,
-1.0719752387089443e-05
]
},
{
"name": "N2_N3",
"type": "scatter",
"x": [
"2024-01-01T00:00:00",
"2024-01-01T01:00:00",
"2024-01-01T02:00:00",
"2024-01-01T03:00:00",
"2024-01-01T04:00:00",
"2024-01-01T05:00:00",
"2024-01-01T06:00:00",
"2024-01-01T07:00:00",
"2024-01-01T08:00:00",
"2024-01-01T09:00:00",
"2024-01-01T10:00:00",
"2024-01-01T11:00:00",
"2024-01-01T12:00:00",
"2024-01-01T13:00:00",
"2024-01-01T14:00:00",
"2024-01-01T15:00:00",
"2024-01-01T16:00:00",
"2024-01-01T17:00:00",
"2024-01-01T18:00:00",
"2024-01-01T19:00:00",
"2024-01-01T20:00:00",
"2024-01-01T21:00:00",
"2024-01-01T22:00:00",
"2024-01-01T23:00:00"
],
"y": [
9.70794349353099e-08,
-4.873083608025741e-07,
9.434493533078125e-07,
-8.360620331604451e-07,
2.1971666686049218e-07,
1.735525279600303e-07,
-2.6899012461889527e-08,
-1.398817659481466e-07,
-2.7443214423161777e-07,
6.623019049023515e-07,
-1.896192836081667e-07,
-4.731846134919948e-07,
2.8148743369451473e-07,
5.985735211933019e-07,
-9.347737206510942e-07,
2.3030523665923397e-07,
6.2088539758420325e-06,
-8.57024727807243e-06,
1.5823869787823241e-06,
9.467063950552301e-07,
-5.37916275167305e-06,
1.56178450761435e-05,
-8.907296261240205e-06,
-7.03058344653229e-06
]
},
{
"name": "N3_plant",
"type": "scatter",
"x": [
"2024-01-01T00:00:00",
"2024-01-01T01:00:00",
"2024-01-01T02:00:00",
"2024-01-01T03:00:00",
"2024-01-01T04:00:00",
"2024-01-01T05:00:00",
"2024-01-01T06:00:00",
"2024-01-01T07:00:00",
"2024-01-01T08:00:00",
"2024-01-01T09:00:00",
"2024-01-01T10:00:00",
"2024-01-01T11:00:00",
"2024-01-01T12:00:00",
"2024-01-01T13:00:00",
"2024-01-01T14:00:00",
"2024-01-01T15:00:00",
"2024-01-01T16:00:00",
"2024-01-01T17:00:00",
"2024-01-01T18:00:00",
"2024-01-01T19:00:00",
"2024-01-01T20:00:00",
"2024-01-01T21:00:00",
"2024-01-01T22:00:00",
"2024-01-01T23:00:00"
],
"y": [
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
3.552713678800501e-15,
8.881784197001252e-15,
0.0,
0.0,
0.0,
0.0
]
},
{
"name": "Creek1_N1",
"type": "scatter",
"x": [
"2024-01-01T00:00:00",
"2024-01-01T01:00:00",
"2024-01-01T02:00:00",
"2024-01-01T03:00:00",
"2024-01-01T04:00:00",
"2024-01-01T05:00:00",
"2024-01-01T06:00:00",
"2024-01-01T07:00:00",
"2024-01-01T08:00:00",
"2024-01-01T09:00:00",
"2024-01-01T10:00:00",
"2024-01-01T11:00:00",
"2024-01-01T12:00:00",
"2024-01-01T13:00:00",
"2024-01-01T14:00:00",
"2024-01-01T15:00:00",
"2024-01-01T16:00:00",
"2024-01-01T17:00:00",
"2024-01-01T18:00:00",
"2024-01-01T19:00:00",
"2024-01-01T20:00:00",
"2024-01-01T21:00:00",
"2024-01-01T22:00:00",
"2024-01-01T23:00:00"
],
"y": [
-6.635482507899582e-08,
3.292877901427127e-07,
-6.267613706922859e-07,
5.382111444296456e-07,
-1.2118987036124906e-07,
-1.2955386533008983e-07,
1.8381965172231673e-08,
9.223138064395897e-08,
1.9668738421296794e-07,
-4.5195295023114923e-07,
1.1893346896219015e-07,
3.177633487450038e-07,
-1.6049630259529213e-07,
-4.346046462710973e-07,
6.159702943264733e-07,
-1.0811722750414532e-07,
-3.215121774369223e-06,
4.983851334350309e-06,
-2.0481501714630923e-06,
1.2307531470634459e-06,
-3.6872724816783276e-06,
2.8872298286630738e-06,
-8.681666746612748e-07,
2.406503281426886e-06
]
},
{
"name": "Creek2_N2",
"type": "scatter",
"x": [
"2024-01-01T00:00:00",
"2024-01-01T01:00:00",
"2024-01-01T02:00:00",
"2024-01-01T03:00:00",
"2024-01-01T04:00:00",
"2024-01-01T05:00:00",
"2024-01-01T06:00:00",
"2024-01-01T07:00:00",
"2024-01-01T08:00:00",
"2024-01-01T09:00:00",
"2024-01-01T10:00:00",
"2024-01-01T11:00:00",
"2024-01-01T12:00:00",
"2024-01-01T13:00:00",
"2024-01-01T14:00:00",
"2024-01-01T15:00:00",
"2024-01-01T16:00:00",
"2024-01-01T17:00:00",
"2024-01-01T18:00:00",
"2024-01-01T19:00:00",
"2024-01-01T20:00:00",
"2024-01-01T21:00:00",
"2024-01-01T22:00:00",
"2024-01-01T23:00:00"
],
"y": [
-7.553817527039541e-08,
3.747159809872058e-07,
-7.136101456417521e-07,
6.154997640450688e-07,
-1.4523901081808788e-07,
-1.3889659167265478e-07,
1.611557221004034e-08,
1.0570451092206667e-07,
2.2057044002377069e-07,
-5.051503637609756e-07,
1.286031796610132e-07,
3.6383164747633145e-07,
-1.9275146541895827e-07,
-4.778312292508247e-07,
6.991999184080555e-07,
-1.4072347731541868e-07,
-4.268188848577381e-06,
6.096344107975327e-06,
-1.871263198616191e-06,
1.8336689344700119e-06,
-2.7207950865637542e-06,
-5.151126739655343e-06,
6.8609166681277145e-06,
3.6891689401130634e-06
]
},
{
"name": "Creek3_N3",
"type": "scatter",
"x": [
"2024-01-01T00:00:00",
"2024-01-01T01:00:00",
"2024-01-01T02:00:00",
"2024-01-01T03:00:00",
"2024-01-01T04:00:00",
"2024-01-01T05:00:00",
"2024-01-01T06:00:00",
"2024-01-01T07:00:00",
"2024-01-01T08:00:00",
"2024-01-01T09:00:00",
"2024-01-01T10:00:00",
"2024-01-01T11:00:00",
"2024-01-01T12:00:00",
"2024-01-01T13:00:00",
"2024-01-01T14:00:00",
"2024-01-01T15:00:00",
"2024-01-01T16:00:00",
"2024-01-01T17:00:00",
"2024-01-01T18:00:00",
"2024-01-01T19:00:00",
"2024-01-01T20:00:00",
"2024-01-01T21:00:00",
"2024-01-01T22:00:00",
"2024-01-01T23:00:00"
],
"y": [
-9.707943426917609e-08,
4.873083608442075e-07,
-9.434493528637233e-07,
8.360620327163559e-07,
-2.1971666686049218e-07,
-1.7355252629469575e-07,
2.6899014071712912e-08,
1.398817659481466e-07,
2.7443214412059547e-07,
-6.623019034590616e-07,
1.8961928383021132e-07,
4.73184613936084e-07,
-2.8148743543704446e-07,
-5.985735218594357e-07,
9.34773720207005e-07,
-2.3030523665923397e-07,
-6.2088539758420325e-06,
8.570247282402299e-06,
-1.5823869776721011e-06,
-9.467063923906949e-07,
5.379162752117139e-06,
-1.561784507575492e-05,
8.907296260352027e-06,
7.030583448308647e-06
]
}
],
"layout": {
"template": {
"data": {
"bar": [
{
"error_x": {
"color": "#2a3f5f"
},
"error_y": {
"color": "#2a3f5f"
},
"marker": {
"line": {
"color": "#E5ECF6",
"width": 0.5
},
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "bar"
}
],
"barpolar": [
{
"marker": {
"line": {
"color": "#E5ECF6",
"width": 0.5
},
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "barpolar"
}
],
"carpet": [
{
"aaxis": {
"endlinecolor": "#2a3f5f",
"gridcolor": "white",
"linecolor": "white",
"minorgridcolor": "white",
"startlinecolor": "#2a3f5f"
},
"baxis": {
"endlinecolor": "#2a3f5f",
"gridcolor": "white",
"linecolor": "white",
"minorgridcolor": "white",
"startlinecolor": "#2a3f5f"
},
"type": "carpet"
}
],
"choropleth": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "choropleth"
}
],
"contour": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "contour"
}
],
"contourcarpet": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "contourcarpet"
}
],
"heatmap": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "heatmap"
}
],
"heatmapgl": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "heatmapgl"
}
],
"histogram": [
{
"marker": {
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "histogram"
}
],
"histogram2d": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "histogram2d"
}
],
"histogram2dcontour": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "histogram2dcontour"
}
],
"mesh3d": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "mesh3d"
}
],
"parcoords": [
{
"line": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "parcoords"
}
],
"pie": [
{
"automargin": true,
"type": "pie"
}
],
"scatter": [
{
"fillpattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
},
"type": "scatter"
}
],
"scatter3d": [
{
"line": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatter3d"
}
],
"scattercarpet": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattercarpet"
}
],
"scattergeo": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattergeo"
}
],
"scattergl": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattergl"
}
],
"scattermapbox": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattermapbox"
}
],
"scatterpolar": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterpolar"
}
],
"scatterpolargl": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterpolargl"
}
],
"scatterternary": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterternary"
}
],
"surface": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "surface"
}
],
"table": [
{
"cells": {
"fill": {
"color": "#EBF0F8"
},
"line": {
"color": "white"
}
},
"header": {
"fill": {
"color": "#C8D4E3"
},
"line": {
"color": "white"
}
},
"type": "table"
}
]
},
"layout": {
"annotationdefaults": {
"arrowcolor": "#2a3f5f",
"arrowhead": 0,
"arrowwidth": 1
},
"autotypenumbers": "strict",
"coloraxis": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"colorscale": {
"diverging": [
[
0,
"#8e0152"
],
[
0.1,
"#c51b7d"
],
[
0.2,
"#de77ae"
],
[
0.3,
"#f1b6da"
],
[
0.4,
"#fde0ef"
],
[
0.5,
"#f7f7f7"
],
[
0.6,
"#e6f5d0"
],
[
0.7,
"#b8e186"
],
[
0.8,
"#7fbc41"
],
[
0.9,
"#4d9221"
],
[
1,
"#276419"
]
],
"sequential": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"sequentialminus": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
]
},
"colorway": [
"#636efa",
"#EF553B",
"#00cc96",
"#ab63fa",
"#FFA15A",
"#19d3f3",
"#FF6692",
"#B6E880",
"#FF97FF",
"#FECB52"
],
"font": {
"color": "#2a3f5f"
},
"geo": {
"bgcolor": "white",
"lakecolor": "white",
"landcolor": "#E5ECF6",
"showlakes": true,
"showland": true,
"subunitcolor": "white"
},
"hoverlabel": {
"align": "left"
},
"hovermode": "closest",
"mapbox": {
"style": "light"
},
"paper_bgcolor": "white",
"plot_bgcolor": "#E5ECF6",
"polar": {
"angularaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"bgcolor": "#E5ECF6",
"radialaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
}
},
"scene": {
"xaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
},
"yaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
},
"zaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
}
},
"shapedefaults": {
"line": {
"color": "#2a3f5f"
}
},
"ternary": {
"aaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"baxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"bgcolor": "#E5ECF6",
"caxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
}
},
"title": {
"x": 0.05
},
"xaxis": {
"automargin": true,
"gridcolor": "white",
"linecolor": "white",
"ticks": "",
"title": {
"standoff": 15
},
"zerolinecolor": "white",
"zerolinewidth": 2
},
"yaxis": {
"automargin": true,
"gridcolor": "white",
"linecolor": "white",
"ticks": "",
"title": {
"standoff": 15
},
"zerolinecolor": "white",
"zerolinewidth": 2
}
}
},
"title": {
"text": "Tunnel flow deviation from post-calculated flow"
},
"yaxis": {
"title": {
"text": "Flow [m3/s]"
}
}
}
},
"text/html": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig = go.Figure()\n",
"for t in shop.model.tunnel:\n",
" flow = t.flow.get()\n",
" fig.add_trace(go.Scatter(x=flow.index, y=flow.values, name=t.get_name())) \n",
"\n",
"fig.update_layout(title=\"Tunnel flow\")\n",
"fig.update_yaxes(title_text=\"Flow [m3/s]\")\n",
"fig.show() \n",
"\n",
"fig = go.Figure()\n",
"for t in shop.model.tunnel:\n",
" flow = t.flow.get()\n",
" pflow = t.physical_flow.get()\n",
" fig.add_trace(go.Scatter(x=flow.index, y=flow.values-pflow.values, name=t.get_name())) \n",
"\n",
"fig.update_layout(title=\"Tunnel flow deviation from post-calculated flow\")\n",
"fig.update_yaxes(title_text=\"Flow [m3/s]\")\n",
"fig.show() "
]
},
{
"cell_type": "markdown",
"id": "7a2c728a",
"metadata": {},
"source": [
"There is no flow in any of the spillways, as expected. As for the tunnel flow, the deviation between the optimized [flow](river:flow) and post-calculated [physical_flow](river:physical_flow) is zero for all rivers."
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "32549616",
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.plotly.v1+json": {
"config": {
"plotlyServerURL": "https://plot.ly"
},
"data": [
{
"name": "Spill_rsv",
"type": "scatter",
"x": [
"2024-01-01T00:00:00",
"2024-01-01T01:00:00",
"2024-01-01T02:00:00",
"2024-01-01T03:00:00",
"2024-01-01T04:00:00",
"2024-01-01T05:00:00",
"2024-01-01T06:00:00",
"2024-01-01T07:00:00",
"2024-01-01T08:00:00",
"2024-01-01T09:00:00",
"2024-01-01T10:00:00",
"2024-01-01T11:00:00",
"2024-01-01T12:00:00",
"2024-01-01T13:00:00",
"2024-01-01T14:00:00",
"2024-01-01T15:00:00",
"2024-01-01T16:00:00",
"2024-01-01T17:00:00",
"2024-01-01T18:00:00",
"2024-01-01T19:00:00",
"2024-01-01T20:00:00",
"2024-01-01T21:00:00",
"2024-01-01T22:00:00",
"2024-01-01T23:00:00"
],
"y": [
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0
]
},
{
"name": "Spill_C1",
"type": "scatter",
"x": [
"2024-01-01T00:00:00",
"2024-01-01T01:00:00",
"2024-01-01T02:00:00",
"2024-01-01T03:00:00",
"2024-01-01T04:00:00",
"2024-01-01T05:00:00",
"2024-01-01T06:00:00",
"2024-01-01T07:00:00",
"2024-01-01T08:00:00",
"2024-01-01T09:00:00",
"2024-01-01T10:00:00",
"2024-01-01T11:00:00",
"2024-01-01T12:00:00",
"2024-01-01T13:00:00",
"2024-01-01T14:00:00",
"2024-01-01T15:00:00",
"2024-01-01T16:00:00",
"2024-01-01T17:00:00",
"2024-01-01T18:00:00",
"2024-01-01T19:00:00",
"2024-01-01T20:00:00",
"2024-01-01T21:00:00",
"2024-01-01T22:00:00",
"2024-01-01T23:00:00"
],
"y": [
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0
]
},
{
"name": "Spill_C2",
"type": "scatter",
"x": [
"2024-01-01T00:00:00",
"2024-01-01T01:00:00",
"2024-01-01T02:00:00",
"2024-01-01T03:00:00",
"2024-01-01T04:00:00",
"2024-01-01T05:00:00",
"2024-01-01T06:00:00",
"2024-01-01T07:00:00",
"2024-01-01T08:00:00",
"2024-01-01T09:00:00",
"2024-01-01T10:00:00",
"2024-01-01T11:00:00",
"2024-01-01T12:00:00",
"2024-01-01T13:00:00",
"2024-01-01T14:00:00",
"2024-01-01T15:00:00",
"2024-01-01T16:00:00",
"2024-01-01T17:00:00",
"2024-01-01T18:00:00",
"2024-01-01T19:00:00",
"2024-01-01T20:00:00",
"2024-01-01T21:00:00",
"2024-01-01T22:00:00",
"2024-01-01T23:00:00"
],
"y": [
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0
]
},
{
"name": "Spill_C3",
"type": "scatter",
"x": [
"2024-01-01T00:00:00",
"2024-01-01T01:00:00",
"2024-01-01T02:00:00",
"2024-01-01T03:00:00",
"2024-01-01T04:00:00",
"2024-01-01T05:00:00",
"2024-01-01T06:00:00",
"2024-01-01T07:00:00",
"2024-01-01T08:00:00",
"2024-01-01T09:00:00",
"2024-01-01T10:00:00",
"2024-01-01T11:00:00",
"2024-01-01T12:00:00",
"2024-01-01T13:00:00",
"2024-01-01T14:00:00",
"2024-01-01T15:00:00",
"2024-01-01T16:00:00",
"2024-01-01T17:00:00",
"2024-01-01T18:00:00",
"2024-01-01T19:00:00",
"2024-01-01T20:00:00",
"2024-01-01T21:00:00",
"2024-01-01T22:00:00",
"2024-01-01T23:00:00"
],
"y": [
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0
]
}
],
"layout": {
"template": {
"data": {
"bar": [
{
"error_x": {
"color": "#2a3f5f"
},
"error_y": {
"color": "#2a3f5f"
},
"marker": {
"line": {
"color": "#E5ECF6",
"width": 0.5
},
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "bar"
}
],
"barpolar": [
{
"marker": {
"line": {
"color": "#E5ECF6",
"width": 0.5
},
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "barpolar"
}
],
"carpet": [
{
"aaxis": {
"endlinecolor": "#2a3f5f",
"gridcolor": "white",
"linecolor": "white",
"minorgridcolor": "white",
"startlinecolor": "#2a3f5f"
},
"baxis": {
"endlinecolor": "#2a3f5f",
"gridcolor": "white",
"linecolor": "white",
"minorgridcolor": "white",
"startlinecolor": "#2a3f5f"
},
"type": "carpet"
}
],
"choropleth": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "choropleth"
}
],
"contour": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "contour"
}
],
"contourcarpet": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "contourcarpet"
}
],
"heatmap": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "heatmap"
}
],
"heatmapgl": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "heatmapgl"
}
],
"histogram": [
{
"marker": {
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "histogram"
}
],
"histogram2d": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "histogram2d"
}
],
"histogram2dcontour": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "histogram2dcontour"
}
],
"mesh3d": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "mesh3d"
}
],
"parcoords": [
{
"line": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "parcoords"
}
],
"pie": [
{
"automargin": true,
"type": "pie"
}
],
"scatter": [
{
"fillpattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
},
"type": "scatter"
}
],
"scatter3d": [
{
"line": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatter3d"
}
],
"scattercarpet": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattercarpet"
}
],
"scattergeo": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattergeo"
}
],
"scattergl": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattergl"
}
],
"scattermapbox": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattermapbox"
}
],
"scatterpolar": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterpolar"
}
],
"scatterpolargl": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterpolargl"
}
],
"scatterternary": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterternary"
}
],
"surface": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "surface"
}
],
"table": [
{
"cells": {
"fill": {
"color": "#EBF0F8"
},
"line": {
"color": "white"
}
},
"header": {
"fill": {
"color": "#C8D4E3"
},
"line": {
"color": "white"
}
},
"type": "table"
}
]
},
"layout": {
"annotationdefaults": {
"arrowcolor": "#2a3f5f",
"arrowhead": 0,
"arrowwidth": 1
},
"autotypenumbers": "strict",
"coloraxis": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"colorscale": {
"diverging": [
[
0,
"#8e0152"
],
[
0.1,
"#c51b7d"
],
[
0.2,
"#de77ae"
],
[
0.3,
"#f1b6da"
],
[
0.4,
"#fde0ef"
],
[
0.5,
"#f7f7f7"
],
[
0.6,
"#e6f5d0"
],
[
0.7,
"#b8e186"
],
[
0.8,
"#7fbc41"
],
[
0.9,
"#4d9221"
],
[
1,
"#276419"
]
],
"sequential": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"sequentialminus": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
]
},
"colorway": [
"#636efa",
"#EF553B",
"#00cc96",
"#ab63fa",
"#FFA15A",
"#19d3f3",
"#FF6692",
"#B6E880",
"#FF97FF",
"#FECB52"
],
"font": {
"color": "#2a3f5f"
},
"geo": {
"bgcolor": "white",
"lakecolor": "white",
"landcolor": "#E5ECF6",
"showlakes": true,
"showland": true,
"subunitcolor": "white"
},
"hoverlabel": {
"align": "left"
},
"hovermode": "closest",
"mapbox": {
"style": "light"
},
"paper_bgcolor": "white",
"plot_bgcolor": "#E5ECF6",
"polar": {
"angularaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"bgcolor": "#E5ECF6",
"radialaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
}
},
"scene": {
"xaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
},
"yaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
},
"zaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
}
},
"shapedefaults": {
"line": {
"color": "#2a3f5f"
}
},
"ternary": {
"aaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"baxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"bgcolor": "#E5ECF6",
"caxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
}
},
"title": {
"x": 0.05
},
"xaxis": {
"automargin": true,
"gridcolor": "white",
"linecolor": "white",
"ticks": "",
"title": {
"standoff": 15
},
"zerolinecolor": "white",
"zerolinewidth": 2
},
"yaxis": {
"automargin": true,
"gridcolor": "white",
"linecolor": "white",
"ticks": "",
"title": {
"standoff": 15
},
"zerolinecolor": "white",
"zerolinewidth": 2
}
}
},
"title": {
"text": "River flow"
},
"yaxis": {
"title": {
"text": "Flow [m3/s]"
}
}
}
},
"text/html": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.plotly.v1+json": {
"config": {
"plotlyServerURL": "https://plot.ly"
},
"data": [
{
"name": "Spill_rsv",
"type": "scatter",
"x": [
"2024-01-01T00:00:00",
"2024-01-01T01:00:00",
"2024-01-01T02:00:00",
"2024-01-01T03:00:00",
"2024-01-01T04:00:00",
"2024-01-01T05:00:00",
"2024-01-01T06:00:00",
"2024-01-01T07:00:00",
"2024-01-01T08:00:00",
"2024-01-01T09:00:00",
"2024-01-01T10:00:00",
"2024-01-01T11:00:00",
"2024-01-01T12:00:00",
"2024-01-01T13:00:00",
"2024-01-01T14:00:00",
"2024-01-01T15:00:00",
"2024-01-01T16:00:00",
"2024-01-01T17:00:00",
"2024-01-01T18:00:00",
"2024-01-01T19:00:00",
"2024-01-01T20:00:00",
"2024-01-01T21:00:00",
"2024-01-01T22:00:00",
"2024-01-01T23:00:00"
],
"y": [
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0
]
},
{
"name": "Spill_C1",
"type": "scatter",
"x": [
"2024-01-01T00:00:00",
"2024-01-01T01:00:00",
"2024-01-01T02:00:00",
"2024-01-01T03:00:00",
"2024-01-01T04:00:00",
"2024-01-01T05:00:00",
"2024-01-01T06:00:00",
"2024-01-01T07:00:00",
"2024-01-01T08:00:00",
"2024-01-01T09:00:00",
"2024-01-01T10:00:00",
"2024-01-01T11:00:00",
"2024-01-01T12:00:00",
"2024-01-01T13:00:00",
"2024-01-01T14:00:00",
"2024-01-01T15:00:00",
"2024-01-01T16:00:00",
"2024-01-01T17:00:00",
"2024-01-01T18:00:00",
"2024-01-01T19:00:00",
"2024-01-01T20:00:00",
"2024-01-01T21:00:00",
"2024-01-01T22:00:00",
"2024-01-01T23:00:00"
],
"y": [
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0
]
},
{
"name": "Spill_C2",
"type": "scatter",
"x": [
"2024-01-01T00:00:00",
"2024-01-01T01:00:00",
"2024-01-01T02:00:00",
"2024-01-01T03:00:00",
"2024-01-01T04:00:00",
"2024-01-01T05:00:00",
"2024-01-01T06:00:00",
"2024-01-01T07:00:00",
"2024-01-01T08:00:00",
"2024-01-01T09:00:00",
"2024-01-01T10:00:00",
"2024-01-01T11:00:00",
"2024-01-01T12:00:00",
"2024-01-01T13:00:00",
"2024-01-01T14:00:00",
"2024-01-01T15:00:00",
"2024-01-01T16:00:00",
"2024-01-01T17:00:00",
"2024-01-01T18:00:00",
"2024-01-01T19:00:00",
"2024-01-01T20:00:00",
"2024-01-01T21:00:00",
"2024-01-01T22:00:00",
"2024-01-01T23:00:00"
],
"y": [
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0
]
},
{
"name": "Spill_C3",
"type": "scatter",
"x": [
"2024-01-01T00:00:00",
"2024-01-01T01:00:00",
"2024-01-01T02:00:00",
"2024-01-01T03:00:00",
"2024-01-01T04:00:00",
"2024-01-01T05:00:00",
"2024-01-01T06:00:00",
"2024-01-01T07:00:00",
"2024-01-01T08:00:00",
"2024-01-01T09:00:00",
"2024-01-01T10:00:00",
"2024-01-01T11:00:00",
"2024-01-01T12:00:00",
"2024-01-01T13:00:00",
"2024-01-01T14:00:00",
"2024-01-01T15:00:00",
"2024-01-01T16:00:00",
"2024-01-01T17:00:00",
"2024-01-01T18:00:00",
"2024-01-01T19:00:00",
"2024-01-01T20:00:00",
"2024-01-01T21:00:00",
"2024-01-01T22:00:00",
"2024-01-01T23:00:00"
],
"y": [
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0
]
}
],
"layout": {
"template": {
"data": {
"bar": [
{
"error_x": {
"color": "#2a3f5f"
},
"error_y": {
"color": "#2a3f5f"
},
"marker": {
"line": {
"color": "#E5ECF6",
"width": 0.5
},
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "bar"
}
],
"barpolar": [
{
"marker": {
"line": {
"color": "#E5ECF6",
"width": 0.5
},
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "barpolar"
}
],
"carpet": [
{
"aaxis": {
"endlinecolor": "#2a3f5f",
"gridcolor": "white",
"linecolor": "white",
"minorgridcolor": "white",
"startlinecolor": "#2a3f5f"
},
"baxis": {
"endlinecolor": "#2a3f5f",
"gridcolor": "white",
"linecolor": "white",
"minorgridcolor": "white",
"startlinecolor": "#2a3f5f"
},
"type": "carpet"
}
],
"choropleth": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "choropleth"
}
],
"contour": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "contour"
}
],
"contourcarpet": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "contourcarpet"
}
],
"heatmap": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "heatmap"
}
],
"heatmapgl": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "heatmapgl"
}
],
"histogram": [
{
"marker": {
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "histogram"
}
],
"histogram2d": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "histogram2d"
}
],
"histogram2dcontour": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "histogram2dcontour"
}
],
"mesh3d": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "mesh3d"
}
],
"parcoords": [
{
"line": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "parcoords"
}
],
"pie": [
{
"automargin": true,
"type": "pie"
}
],
"scatter": [
{
"fillpattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
},
"type": "scatter"
}
],
"scatter3d": [
{
"line": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatter3d"
}
],
"scattercarpet": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattercarpet"
}
],
"scattergeo": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattergeo"
}
],
"scattergl": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattergl"
}
],
"scattermapbox": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattermapbox"
}
],
"scatterpolar": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterpolar"
}
],
"scatterpolargl": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterpolargl"
}
],
"scatterternary": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterternary"
}
],
"surface": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "surface"
}
],
"table": [
{
"cells": {
"fill": {
"color": "#EBF0F8"
},
"line": {
"color": "white"
}
},
"header": {
"fill": {
"color": "#C8D4E3"
},
"line": {
"color": "white"
}
},
"type": "table"
}
]
},
"layout": {
"annotationdefaults": {
"arrowcolor": "#2a3f5f",
"arrowhead": 0,
"arrowwidth": 1
},
"autotypenumbers": "strict",
"coloraxis": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"colorscale": {
"diverging": [
[
0,
"#8e0152"
],
[
0.1,
"#c51b7d"
],
[
0.2,
"#de77ae"
],
[
0.3,
"#f1b6da"
],
[
0.4,
"#fde0ef"
],
[
0.5,
"#f7f7f7"
],
[
0.6,
"#e6f5d0"
],
[
0.7,
"#b8e186"
],
[
0.8,
"#7fbc41"
],
[
0.9,
"#4d9221"
],
[
1,
"#276419"
]
],
"sequential": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"sequentialminus": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
]
},
"colorway": [
"#636efa",
"#EF553B",
"#00cc96",
"#ab63fa",
"#FFA15A",
"#19d3f3",
"#FF6692",
"#B6E880",
"#FF97FF",
"#FECB52"
],
"font": {
"color": "#2a3f5f"
},
"geo": {
"bgcolor": "white",
"lakecolor": "white",
"landcolor": "#E5ECF6",
"showlakes": true,
"showland": true,
"subunitcolor": "white"
},
"hoverlabel": {
"align": "left"
},
"hovermode": "closest",
"mapbox": {
"style": "light"
},
"paper_bgcolor": "white",
"plot_bgcolor": "#E5ECF6",
"polar": {
"angularaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"bgcolor": "#E5ECF6",
"radialaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
}
},
"scene": {
"xaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
},
"yaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
},
"zaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
}
},
"shapedefaults": {
"line": {
"color": "#2a3f5f"
}
},
"ternary": {
"aaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"baxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"bgcolor": "#E5ECF6",
"caxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
}
},
"title": {
"x": 0.05
},
"xaxis": {
"automargin": true,
"gridcolor": "white",
"linecolor": "white",
"ticks": "",
"title": {
"standoff": 15
},
"zerolinecolor": "white",
"zerolinewidth": 2
},
"yaxis": {
"automargin": true,
"gridcolor": "white",
"linecolor": "white",
"ticks": "",
"title": {
"standoff": 15
},
"zerolinecolor": "white",
"zerolinewidth": 2
}
}
},
"title": {
"text": "River flow deviation from post-calculated flow"
},
"yaxis": {
"title": {
"text": "Flow [m3/s]"
}
}
}
},
"text/html": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"#Plot river flow\n",
"fig = go.Figure()\n",
"for r in shop.model.river:\n",
" flow = r.flow.get()\n",
" fig.add_trace(go.Scatter(x=flow.index, y=flow.values, name=r.get_name()))\n",
"\n",
"fig.update_layout(title=\"River flow\")\n",
"fig.update_yaxes(title_text=\"Flow [m3/s]\")\n",
"fig.show()\n",
"\n",
"fig = go.Figure()\n",
"for r in shop.model.river:\n",
" flow = r.flow.get()\n",
" pflow = r.physical_flow.get()\n",
" fig.add_trace(go.Scatter(x=flow.index, y=flow.values-pflow.values, name=r.get_name()))\n",
"\n",
"fig.update_layout(title=\"River flow deviation from post-calculated flow\")\n",
"fig.update_yaxes(title_text=\"Flow [m3/s]\")\n",
"fig.show()"
]
},
{
"cell_type": "markdown",
"id": "12859918",
"metadata": {},
"source": [
"## Optimizing a wet system state\n",
"\n",
"In the wet system state, all reservoirs start at hrl and the creek intakes receive 10 times the amount of inflow compared to the dry case."
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "b2c2e6c1",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Wet objective value: -521669.0400604958\n"
]
}
],
"source": [
"shop = build_model()\n",
"\n",
"#Set initial state of the reservoirs to full\n",
"for r in shop.model.reservoir:\n",
" r.start_head.set(r.hrl.get())\n",
" \n",
"#Create a random inflow profile that is used for all three creeks\n",
"np.random.seed(10)\n",
"t = [shop.get_time_resolution()[\"starttime\"] + pd.Timedelta(minutes=60*i) for i in range(24)]\n",
"inflow_profile = pd.Series(np.random.rand(24), index=t)\n",
"\n",
"shop.model.reservoir[\"Creek1\"].inflow.set(10*inflow_profile)\n",
"shop.model.reservoir[\"Creek2\"].inflow.set(30*inflow_profile)\n",
"shop.model.reservoir[\"Creek3\"].inflow.set(20*inflow_profile)\n",
"\n",
"#No inflow on the large reservoir\n",
"shop.model.reservoir[\"Reservoir\"].inflow.set(0)\n",
"\n",
"#Run a standard optimization\n",
"\n",
"shop.set_universal_mip(\"off\",[])\n",
"shop.start_sim([],[3])\n",
"shop.set_universal_mip(\"on\",[])\n",
"shop.start_sim([],[2])\n",
"shop.set_code(['incremental'], [])\n",
"shop.start_sim([],[5])\n",
"\n",
"wet_objective = shop.model.objective.average_objective.total.get()\n",
"print(\"Wet objective value:\",wet_objective)"
]
},
{
"cell_type": "markdown",
"id": "14b1e388",
"metadata": {},
"source": [
"The power plant has to operate in almost all hours to avoid spillage losses in the system, but is still able to ramp down when the prices are low. \n",
"\n",
"The initial reservoir levels of all creek intakes are high above the large reservoir, but this initial difference is quickly eliminated due to the operation of the power plant and the relatively low losses in the system. The reservoir levels in the three creeks vary rapidly from hour to hour as inflow and power plant discharge changes."
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "d8887544",
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.plotly.v1+json": {
"config": {
"plotlyServerURL": "https://plot.ly"
},
"data": [
{
"name": "Plant",
"type": "scatter",
"x": [
"2024-01-01T00:00:00",
"2024-01-01T01:00:00",
"2024-01-01T02:00:00",
"2024-01-01T03:00:00",
"2024-01-01T04:00:00",
"2024-01-01T05:00:00",
"2024-01-01T06:00:00",
"2024-01-01T07:00:00",
"2024-01-01T08:00:00",
"2024-01-01T09:00:00",
"2024-01-01T10:00:00",
"2024-01-01T11:00:00",
"2024-01-01T12:00:00",
"2024-01-01T13:00:00",
"2024-01-01T14:00:00",
"2024-01-01T15:00:00",
"2024-01-01T16:00:00",
"2024-01-01T17:00:00",
"2024-01-01T18:00:00",
"2024-01-01T19:00:00",
"2024-01-01T20:00:00",
"2024-01-01T21:00:00",
"2024-01-01T22:00:00",
"2024-01-01T23:00:00"
],
"y": [
63.754768446208665,
55.028250363103794,
22.88729172854965,
9.999936363847297,
9.999950958577898,
9.99996762247683,
9.999968323099317,
9.999932694982991,
9.999969507648032,
9.999967179230532,
55.45052054670371,
63.8216161680751,
63.064393017358654,
63.531096724278726,
66.32273801067478,
69.99974832113398,
69.99976220851283,
69.99966336812903,
69.99978865936244,
69.99976083961329,
67.67744024174597,
63.04073580513128,
63.23914564430193,
0.0
]
},
{
"name": "Price",
"type": "scatter",
"x": [
"2024-01-01T00:00:00",
"2024-01-01T01:00:00",
"2024-01-01T02:00:00",
"2024-01-01T03:00:00",
"2024-01-01T04:00:00",
"2024-01-01T05:00:00",
"2024-01-01T06:00:00",
"2024-01-01T07:00:00",
"2024-01-01T08:00:00",
"2024-01-01T09:00:00",
"2024-01-01T10:00:00",
"2024-01-01T11:00:00",
"2024-01-01T12:00:00",
"2024-01-01T13:00:00",
"2024-01-01T14:00:00",
"2024-01-01T15:00:00",
"2024-01-01T16:00:00",
"2024-01-01T17:00:00",
"2024-01-01T18:00:00",
"2024-01-01T19:00:00",
"2024-01-01T20:00:00",
"2024-01-01T21:00:00",
"2024-01-01T22:00:00",
"2024-01-01T23:00:00"
],
"xaxis": "x",
"y": [
29.56,
28.46,
26.66,
24.48,
24.01,
21.23,
22.62,
25.04,
26.24,
32.21,
41.34,
43.51,
43.02,
44.29,
46.24,
50.61,
59.47,
64.99,
61.74,
55.07,
48.01,
44.01,
45.2,
38.0
],
"yaxis": "y2"
}
],
"layout": {
"barmode": "stack",
"template": {
"data": {
"bar": [
{
"error_x": {
"color": "#2a3f5f"
},
"error_y": {
"color": "#2a3f5f"
},
"marker": {
"line": {
"color": "#E5ECF6",
"width": 0.5
},
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "bar"
}
],
"barpolar": [
{
"marker": {
"line": {
"color": "#E5ECF6",
"width": 0.5
},
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "barpolar"
}
],
"carpet": [
{
"aaxis": {
"endlinecolor": "#2a3f5f",
"gridcolor": "white",
"linecolor": "white",
"minorgridcolor": "white",
"startlinecolor": "#2a3f5f"
},
"baxis": {
"endlinecolor": "#2a3f5f",
"gridcolor": "white",
"linecolor": "white",
"minorgridcolor": "white",
"startlinecolor": "#2a3f5f"
},
"type": "carpet"
}
],
"choropleth": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "choropleth"
}
],
"contour": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "contour"
}
],
"contourcarpet": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "contourcarpet"
}
],
"heatmap": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "heatmap"
}
],
"heatmapgl": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "heatmapgl"
}
],
"histogram": [
{
"marker": {
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "histogram"
}
],
"histogram2d": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "histogram2d"
}
],
"histogram2dcontour": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "histogram2dcontour"
}
],
"mesh3d": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "mesh3d"
}
],
"parcoords": [
{
"line": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "parcoords"
}
],
"pie": [
{
"automargin": true,
"type": "pie"
}
],
"scatter": [
{
"fillpattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
},
"type": "scatter"
}
],
"scatter3d": [
{
"line": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatter3d"
}
],
"scattercarpet": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattercarpet"
}
],
"scattergeo": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattergeo"
}
],
"scattergl": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattergl"
}
],
"scattermapbox": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattermapbox"
}
],
"scatterpolar": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterpolar"
}
],
"scatterpolargl": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterpolargl"
}
],
"scatterternary": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterternary"
}
],
"surface": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "surface"
}
],
"table": [
{
"cells": {
"fill": {
"color": "#EBF0F8"
},
"line": {
"color": "white"
}
},
"header": {
"fill": {
"color": "#C8D4E3"
},
"line": {
"color": "white"
}
},
"type": "table"
}
]
},
"layout": {
"annotationdefaults": {
"arrowcolor": "#2a3f5f",
"arrowhead": 0,
"arrowwidth": 1
},
"autotypenumbers": "strict",
"coloraxis": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"colorscale": {
"diverging": [
[
0,
"#8e0152"
],
[
0.1,
"#c51b7d"
],
[
0.2,
"#de77ae"
],
[
0.3,
"#f1b6da"
],
[
0.4,
"#fde0ef"
],
[
0.5,
"#f7f7f7"
],
[
0.6,
"#e6f5d0"
],
[
0.7,
"#b8e186"
],
[
0.8,
"#7fbc41"
],
[
0.9,
"#4d9221"
],
[
1,
"#276419"
]
],
"sequential": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"sequentialminus": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
]
},
"colorway": [
"#636efa",
"#EF553B",
"#00cc96",
"#ab63fa",
"#FFA15A",
"#19d3f3",
"#FF6692",
"#B6E880",
"#FF97FF",
"#FECB52"
],
"font": {
"color": "#2a3f5f"
},
"geo": {
"bgcolor": "white",
"lakecolor": "white",
"landcolor": "#E5ECF6",
"showlakes": true,
"showland": true,
"subunitcolor": "white"
},
"hoverlabel": {
"align": "left"
},
"hovermode": "closest",
"mapbox": {
"style": "light"
},
"paper_bgcolor": "white",
"plot_bgcolor": "#E5ECF6",
"polar": {
"angularaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"bgcolor": "#E5ECF6",
"radialaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
}
},
"scene": {
"xaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
},
"yaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
},
"zaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
}
},
"shapedefaults": {
"line": {
"color": "#2a3f5f"
}
},
"ternary": {
"aaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"baxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"bgcolor": "#E5ECF6",
"caxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
}
},
"title": {
"x": 0.05
},
"xaxis": {
"automargin": true,
"gridcolor": "white",
"linecolor": "white",
"ticks": "",
"title": {
"standoff": 15
},
"zerolinecolor": "white",
"zerolinewidth": 2
},
"yaxis": {
"automargin": true,
"gridcolor": "white",
"linecolor": "white",
"ticks": "",
"title": {
"standoff": 15
},
"zerolinecolor": "white",
"zerolinewidth": 2
}
}
},
"title": {
"text": "Production and market price"
},
"xaxis": {
"anchor": "y",
"domain": [
0.0,
0.94
]
},
"yaxis": {
"anchor": "x",
"domain": [
0.0,
1.0
],
"title": {
"text": "Production [MW]"
}
},
"yaxis2": {
"anchor": "x",
"overlaying": "y",
"side": "right",
"title": {
"text": "Energy price [€/MWh]"
}
}
}
},
"text/html": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.plotly.v1+json": {
"config": {
"plotlyServerURL": "https://plot.ly"
},
"data": [
{
"name": "Reservoir",
"type": "scatter",
"x": [
"2024-01-01T00:00:00",
"2024-01-01T01:00:00",
"2024-01-01T02:00:00",
"2024-01-01T03:00:00",
"2024-01-01T04:00:00",
"2024-01-01T05:00:00",
"2024-01-01T06:00:00",
"2024-01-01T07:00:00",
"2024-01-01T08:00:00",
"2024-01-01T09:00:00",
"2024-01-01T10:00:00",
"2024-01-01T11:00:00",
"2024-01-01T12:00:00",
"2024-01-01T13:00:00",
"2024-01-01T14:00:00",
"2024-01-01T15:00:00",
"2024-01-01T16:00:00",
"2024-01-01T17:00:00",
"2024-01-01T18:00:00",
"2024-01-01T19:00:00",
"2024-01-01T20:00:00",
"2024-01-01T21:00:00",
"2024-01-01T22:00:00",
"2024-01-01T23:00:00",
"2024-01-02T00:00:00"
],
"y": [
100.0,
99.98286895339571,
99.94481265436683,
99.95119723475605,
99.97041853425823,
99.98062585956184,
99.98097264547987,
99.98035589083112,
100.0,
99.99834628633333,
99.99377974507584,
99.9796453201315,
99.96896703071428,
99.92412866726674,
99.89755634298076,
99.87963954562275,
99.85115002747797,
99.82664943104578,
99.78626471271846,
99.76888700707576,
99.74406807218608,
99.71499825698142,
99.67512442650744,
99.64355923311102,
99.66781008964479
]
},
{
"name": "Creek1",
"type": "scatter",
"x": [
"2024-01-01T00:00:00",
"2024-01-01T01:00:00",
"2024-01-01T02:00:00",
"2024-01-01T03:00:00",
"2024-01-01T04:00:00",
"2024-01-01T05:00:00",
"2024-01-01T06:00:00",
"2024-01-01T07:00:00",
"2024-01-01T08:00:00",
"2024-01-01T09:00:00",
"2024-01-01T10:00:00",
"2024-01-01T11:00:00",
"2024-01-01T12:00:00",
"2024-01-01T13:00:00",
"2024-01-01T14:00:00",
"2024-01-01T15:00:00",
"2024-01-01T16:00:00",
"2024-01-01T17:00:00",
"2024-01-01T18:00:00",
"2024-01-01T19:00:00",
"2024-01-01T20:00:00",
"2024-01-01T21:00:00",
"2024-01-01T22:00:00",
"2024-01-01T23:00:00",
"2024-01-02T00:00:00"
],
"y": [
110.0,
99.84874079330962,
99.25985941616052,
100.01952366183235,
100.1497213746772,
100.00909197972884,
99.9765778324529,
99.98956779796353,
100.17257054472688,
99.99408157926852,
99.97870899743896,
99.87920663519805,
99.9030981596684,
99.05265456038364,
99.5356577838768,
99.74004654018131,
99.48568169117173,
99.54258489723591,
99.06222249305755,
99.6151035905704,
99.46832984479418,
99.32373832786433,
98.96040258781304,
99.19091880964454,
99.94914387613102
]
},
{
"name": "Creek2",
"type": "scatter",
"x": [
"2024-01-01T00:00:00",
"2024-01-01T01:00:00",
"2024-01-01T02:00:00",
"2024-01-01T03:00:00",
"2024-01-01T04:00:00",
"2024-01-01T05:00:00",
"2024-01-01T06:00:00",
"2024-01-01T07:00:00",
"2024-01-01T08:00:00",
"2024-01-01T09:00:00",
"2024-01-01T10:00:00",
"2024-01-01T11:00:00",
"2024-01-01T12:00:00",
"2024-01-01T13:00:00",
"2024-01-01T14:00:00",
"2024-01-01T15:00:00",
"2024-01-01T16:00:00",
"2024-01-01T17:00:00",
"2024-01-01T18:00:00",
"2024-01-01T19:00:00",
"2024-01-01T20:00:00",
"2024-01-01T21:00:00",
"2024-01-01T22:00:00",
"2024-01-01T23:00:00",
"2024-01-02T00:00:00"
],
"y": [
105.0,
99.81111200605093,
99.1785837222255,
99.99686652746057,
100.16702177931485,
100.02027131868286,
99.97987709190525,
99.98841519881721,
100.18649666238673,
99.99171159000271,
99.97681220641687,
99.85722519485716,
99.88484773886925,
98.91669368336392,
99.46936282889396,
99.70677169062029,
99.4150810912937,
99.48441525559515,
98.93950955615753,
99.57832293692118,
99.411506025331,
99.25073169399467,
98.84454426062183,
99.1118615425213,
99.97892759898987
]
},
{
"name": "Creek3",
"type": "scatter",
"x": [
"2024-01-01T00:00:00",
"2024-01-01T01:00:00",
"2024-01-01T02:00:00",
"2024-01-01T03:00:00",
"2024-01-01T04:00:00",
"2024-01-01T05:00:00",
"2024-01-01T06:00:00",
"2024-01-01T07:00:00",
"2024-01-01T08:00:00",
"2024-01-01T09:00:00",
"2024-01-01T10:00:00",
"2024-01-01T11:00:00",
"2024-01-01T12:00:00",
"2024-01-01T13:00:00",
"2024-01-01T14:00:00",
"2024-01-01T15:00:00",
"2024-01-01T16:00:00",
"2024-01-01T17:00:00",
"2024-01-01T18:00:00",
"2024-01-01T19:00:00",
"2024-01-01T20:00:00",
"2024-01-01T21:00:00",
"2024-01-01T22:00:00",
"2024-01-01T23:00:00",
"2024-01-02T00:00:00"
],
"y": [
101.0,
99.68685735799397,
99.07639413057746,
99.99524325028364,
100.17305000986696,
100.01940095639443,
99.9808878032203,
99.98751136668379,
100.18934148877943,
99.98228087947669,
99.9728190897294,
99.78831288851049,
99.80507079350826,
98.7567611732029,
99.37138358647431,
99.6193673675056,
99.27802440032859,
99.36309687885543,
98.77039720697557,
99.48577059290002,
99.28663772505953,
99.12194715734013,
98.70345526252285,
99.00560293168277,
100.00866458498203
]
}
],
"layout": {
"template": {
"data": {
"bar": [
{
"error_x": {
"color": "#2a3f5f"
},
"error_y": {
"color": "#2a3f5f"
},
"marker": {
"line": {
"color": "#E5ECF6",
"width": 0.5
},
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "bar"
}
],
"barpolar": [
{
"marker": {
"line": {
"color": "#E5ECF6",
"width": 0.5
},
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "barpolar"
}
],
"carpet": [
{
"aaxis": {
"endlinecolor": "#2a3f5f",
"gridcolor": "white",
"linecolor": "white",
"minorgridcolor": "white",
"startlinecolor": "#2a3f5f"
},
"baxis": {
"endlinecolor": "#2a3f5f",
"gridcolor": "white",
"linecolor": "white",
"minorgridcolor": "white",
"startlinecolor": "#2a3f5f"
},
"type": "carpet"
}
],
"choropleth": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "choropleth"
}
],
"contour": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "contour"
}
],
"contourcarpet": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "contourcarpet"
}
],
"heatmap": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "heatmap"
}
],
"heatmapgl": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "heatmapgl"
}
],
"histogram": [
{
"marker": {
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "histogram"
}
],
"histogram2d": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "histogram2d"
}
],
"histogram2dcontour": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "histogram2dcontour"
}
],
"mesh3d": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "mesh3d"
}
],
"parcoords": [
{
"line": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "parcoords"
}
],
"pie": [
{
"automargin": true,
"type": "pie"
}
],
"scatter": [
{
"fillpattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
},
"type": "scatter"
}
],
"scatter3d": [
{
"line": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatter3d"
}
],
"scattercarpet": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattercarpet"
}
],
"scattergeo": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattergeo"
}
],
"scattergl": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattergl"
}
],
"scattermapbox": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattermapbox"
}
],
"scatterpolar": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterpolar"
}
],
"scatterpolargl": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterpolargl"
}
],
"scatterternary": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterternary"
}
],
"surface": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "surface"
}
],
"table": [
{
"cells": {
"fill": {
"color": "#EBF0F8"
},
"line": {
"color": "white"
}
},
"header": {
"fill": {
"color": "#C8D4E3"
},
"line": {
"color": "white"
}
},
"type": "table"
}
]
},
"layout": {
"annotationdefaults": {
"arrowcolor": "#2a3f5f",
"arrowhead": 0,
"arrowwidth": 1
},
"autotypenumbers": "strict",
"coloraxis": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"colorscale": {
"diverging": [
[
0,
"#8e0152"
],
[
0.1,
"#c51b7d"
],
[
0.2,
"#de77ae"
],
[
0.3,
"#f1b6da"
],
[
0.4,
"#fde0ef"
],
[
0.5,
"#f7f7f7"
],
[
0.6,
"#e6f5d0"
],
[
0.7,
"#b8e186"
],
[
0.8,
"#7fbc41"
],
[
0.9,
"#4d9221"
],
[
1,
"#276419"
]
],
"sequential": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"sequentialminus": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
]
},
"colorway": [
"#636efa",
"#EF553B",
"#00cc96",
"#ab63fa",
"#FFA15A",
"#19d3f3",
"#FF6692",
"#B6E880",
"#FF97FF",
"#FECB52"
],
"font": {
"color": "#2a3f5f"
},
"geo": {
"bgcolor": "white",
"lakecolor": "white",
"landcolor": "#E5ECF6",
"showlakes": true,
"showland": true,
"subunitcolor": "white"
},
"hoverlabel": {
"align": "left"
},
"hovermode": "closest",
"mapbox": {
"style": "light"
},
"paper_bgcolor": "white",
"plot_bgcolor": "#E5ECF6",
"polar": {
"angularaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"bgcolor": "#E5ECF6",
"radialaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
}
},
"scene": {
"xaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
},
"yaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
},
"zaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
}
},
"shapedefaults": {
"line": {
"color": "#2a3f5f"
}
},
"ternary": {
"aaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"baxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"bgcolor": "#E5ECF6",
"caxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
}
},
"title": {
"x": 0.05
},
"xaxis": {
"automargin": true,
"gridcolor": "white",
"linecolor": "white",
"ticks": "",
"title": {
"standoff": 15
},
"zerolinecolor": "white",
"zerolinewidth": 2
},
"yaxis": {
"automargin": true,
"gridcolor": "white",
"linecolor": "white",
"ticks": "",
"title": {
"standoff": 15
},
"zerolinecolor": "white",
"zerolinewidth": 2
}
}
},
"title": {
"text": "Reservoir levels"
},
"yaxis": {
"title": {
"text": "Level [masl]"
}
}
}
},
"text/html": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.plotly.v1+json": {
"config": {
"plotlyServerURL": "https://plot.ly"
},
"data": [
{
"name": "Reservoir",
"type": "scatter",
"x": [
"2024-01-01T00:00:00",
"2024-01-01T01:00:00",
"2024-01-01T02:00:00",
"2024-01-01T03:00:00",
"2024-01-01T04:00:00",
"2024-01-01T05:00:00",
"2024-01-01T06:00:00",
"2024-01-01T07:00:00",
"2024-01-01T08:00:00",
"2024-01-01T09:00:00",
"2024-01-01T10:00:00",
"2024-01-01T11:00:00",
"2024-01-01T12:00:00",
"2024-01-01T13:00:00",
"2024-01-01T14:00:00",
"2024-01-01T15:00:00",
"2024-01-01T16:00:00",
"2024-01-01T17:00:00",
"2024-01-01T18:00:00",
"2024-01-01T19:00:00",
"2024-01-01T20:00:00",
"2024-01-01T21:00:00",
"2024-01-01T22:00:00",
"2024-01-01T23:00:00"
],
"y": [
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0
]
},
{
"name": "Creek1",
"type": "scatter",
"x": [
"2024-01-01T00:00:00",
"2024-01-01T01:00:00",
"2024-01-01T02:00:00",
"2024-01-01T03:00:00",
"2024-01-01T04:00:00",
"2024-01-01T05:00:00",
"2024-01-01T06:00:00",
"2024-01-01T07:00:00",
"2024-01-01T08:00:00",
"2024-01-01T09:00:00",
"2024-01-01T10:00:00",
"2024-01-01T11:00:00",
"2024-01-01T12:00:00",
"2024-01-01T13:00:00",
"2024-01-01T14:00:00",
"2024-01-01T15:00:00",
"2024-01-01T16:00:00",
"2024-01-01T17:00:00",
"2024-01-01T18:00:00",
"2024-01-01T19:00:00",
"2024-01-01T20:00:00",
"2024-01-01T21:00:00",
"2024-01-01T22:00:00",
"2024-01-01T23:00:00"
],
"y": [
7.71320643266746,
0.207519493594015,
6.336482349262754,
7.488038825386118,
4.9850701230259045,
2.2479664553084766,
1.9806286475962398,
7.605307121989587,
1.6911083656253545,
0.8833981417401027,
6.853598183677972,
9.533933461949365,
0.039482663279144514,
5.121922633857766,
8.126209616521136,
6.1252606682938815,
7.217553174317995,
2.9187606817063316,
9.177741225129434,
7.145757833976906,
5.425443680112613,
1.4217004760152696,
3.733407600514692,
6.741336150663453
]
},
{
"name": "Creek2",
"type": "scatter",
"x": [
"2024-01-01T00:00:00",
"2024-01-01T01:00:00",
"2024-01-01T02:00:00",
"2024-01-01T03:00:00",
"2024-01-01T04:00:00",
"2024-01-01T05:00:00",
"2024-01-01T06:00:00",
"2024-01-01T07:00:00",
"2024-01-01T08:00:00",
"2024-01-01T09:00:00",
"2024-01-01T10:00:00",
"2024-01-01T11:00:00",
"2024-01-01T12:00:00",
"2024-01-01T13:00:00",
"2024-01-01T14:00:00",
"2024-01-01T15:00:00",
"2024-01-01T16:00:00",
"2024-01-01T17:00:00",
"2024-01-01T18:00:00",
"2024-01-01T19:00:00",
"2024-01-01T20:00:00",
"2024-01-01T21:00:00",
"2024-01-01T22:00:00",
"2024-01-01T23:00:00"
],
"y": [
23.13961929800238,
0.622558480782045,
19.009447047788264,
22.464116476158356,
14.955210369077713,
6.743899365925429,
5.941885942788719,
22.815921365968762,
5.073325096876063,
2.650194425220308,
20.56079455103392,
28.601800385848097,
0.11844798983743354,
15.365767901573298,
24.378628849563405,
18.375782004881643,
21.652659522953986,
8.756282045118995,
27.533223675388303,
21.43727350193072,
16.276331040337837,
4.265101428045809,
11.200222801544076,
20.224008451990358
]
},
{
"name": "Creek3",
"type": "scatter",
"x": [
"2024-01-01T00:00:00",
"2024-01-01T01:00:00",
"2024-01-01T02:00:00",
"2024-01-01T03:00:00",
"2024-01-01T04:00:00",
"2024-01-01T05:00:00",
"2024-01-01T06:00:00",
"2024-01-01T07:00:00",
"2024-01-01T08:00:00",
"2024-01-01T09:00:00",
"2024-01-01T10:00:00",
"2024-01-01T11:00:00",
"2024-01-01T12:00:00",
"2024-01-01T13:00:00",
"2024-01-01T14:00:00",
"2024-01-01T15:00:00",
"2024-01-01T16:00:00",
"2024-01-01T17:00:00",
"2024-01-01T18:00:00",
"2024-01-01T19:00:00",
"2024-01-01T20:00:00",
"2024-01-01T21:00:00",
"2024-01-01T22:00:00",
"2024-01-01T23:00:00"
],
"y": [
15.42641286533492,
0.41503898718803,
12.672964698525508,
14.976077650772236,
9.970140246051809,
4.495932910616953,
3.9612572951924796,
15.210614243979174,
3.382216731250709,
1.7667962834802053,
13.707196367355944,
19.06786692389873,
0.07896532655828903,
10.243845267715532,
16.25241923304227,
12.250521336587763,
14.43510634863599,
5.837521363412663,
18.35548245025887,
14.291515667953812,
10.850887360225226,
2.843400952030539,
7.466815201029384,
13.482672301326906
]
}
],
"layout": {
"template": {
"data": {
"bar": [
{
"error_x": {
"color": "#2a3f5f"
},
"error_y": {
"color": "#2a3f5f"
},
"marker": {
"line": {
"color": "#E5ECF6",
"width": 0.5
},
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "bar"
}
],
"barpolar": [
{
"marker": {
"line": {
"color": "#E5ECF6",
"width": 0.5
},
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "barpolar"
}
],
"carpet": [
{
"aaxis": {
"endlinecolor": "#2a3f5f",
"gridcolor": "white",
"linecolor": "white",
"minorgridcolor": "white",
"startlinecolor": "#2a3f5f"
},
"baxis": {
"endlinecolor": "#2a3f5f",
"gridcolor": "white",
"linecolor": "white",
"minorgridcolor": "white",
"startlinecolor": "#2a3f5f"
},
"type": "carpet"
}
],
"choropleth": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "choropleth"
}
],
"contour": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "contour"
}
],
"contourcarpet": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "contourcarpet"
}
],
"heatmap": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "heatmap"
}
],
"heatmapgl": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "heatmapgl"
}
],
"histogram": [
{
"marker": {
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "histogram"
}
],
"histogram2d": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "histogram2d"
}
],
"histogram2dcontour": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "histogram2dcontour"
}
],
"mesh3d": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "mesh3d"
}
],
"parcoords": [
{
"line": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "parcoords"
}
],
"pie": [
{
"automargin": true,
"type": "pie"
}
],
"scatter": [
{
"fillpattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
},
"type": "scatter"
}
],
"scatter3d": [
{
"line": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatter3d"
}
],
"scattercarpet": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattercarpet"
}
],
"scattergeo": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattergeo"
}
],
"scattergl": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattergl"
}
],
"scattermapbox": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattermapbox"
}
],
"scatterpolar": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterpolar"
}
],
"scatterpolargl": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterpolargl"
}
],
"scatterternary": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterternary"
}
],
"surface": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "surface"
}
],
"table": [
{
"cells": {
"fill": {
"color": "#EBF0F8"
},
"line": {
"color": "white"
}
},
"header": {
"fill": {
"color": "#C8D4E3"
},
"line": {
"color": "white"
}
},
"type": "table"
}
]
},
"layout": {
"annotationdefaults": {
"arrowcolor": "#2a3f5f",
"arrowhead": 0,
"arrowwidth": 1
},
"autotypenumbers": "strict",
"coloraxis": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"colorscale": {
"diverging": [
[
0,
"#8e0152"
],
[
0.1,
"#c51b7d"
],
[
0.2,
"#de77ae"
],
[
0.3,
"#f1b6da"
],
[
0.4,
"#fde0ef"
],
[
0.5,
"#f7f7f7"
],
[
0.6,
"#e6f5d0"
],
[
0.7,
"#b8e186"
],
[
0.8,
"#7fbc41"
],
[
0.9,
"#4d9221"
],
[
1,
"#276419"
]
],
"sequential": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"sequentialminus": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
]
},
"colorway": [
"#636efa",
"#EF553B",
"#00cc96",
"#ab63fa",
"#FFA15A",
"#19d3f3",
"#FF6692",
"#B6E880",
"#FF97FF",
"#FECB52"
],
"font": {
"color": "#2a3f5f"
},
"geo": {
"bgcolor": "white",
"lakecolor": "white",
"landcolor": "#E5ECF6",
"showlakes": true,
"showland": true,
"subunitcolor": "white"
},
"hoverlabel": {
"align": "left"
},
"hovermode": "closest",
"mapbox": {
"style": "light"
},
"paper_bgcolor": "white",
"plot_bgcolor": "#E5ECF6",
"polar": {
"angularaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"bgcolor": "#E5ECF6",
"radialaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
}
},
"scene": {
"xaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
},
"yaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
},
"zaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
}
},
"shapedefaults": {
"line": {
"color": "#2a3f5f"
}
},
"ternary": {
"aaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"baxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"bgcolor": "#E5ECF6",
"caxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
}
},
"title": {
"x": 0.05
},
"xaxis": {
"automargin": true,
"gridcolor": "white",
"linecolor": "white",
"ticks": "",
"title": {
"standoff": 15
},
"zerolinecolor": "white",
"zerolinewidth": 2
},
"yaxis": {
"automargin": true,
"gridcolor": "white",
"linecolor": "white",
"ticks": "",
"title": {
"standoff": 15
},
"zerolinecolor": "white",
"zerolinewidth": 2
}
}
},
"title": {
"text": "Reservoir inflow"
},
"yaxis": {
"title": {
"text": "Inflow [m3/s]"
}
}
}
},
"text/html": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"#Plot production and market price\n",
"fig = make_subplots(specs=[[{\"secondary_y\": True}]])\n",
"fig.update_layout(barmode=\"stack\", title=\"Production and market price\")\n",
"fig.update_yaxes(title_text=\"Energy price [€/MWh]\", secondary_y=True)\n",
"fig.update_yaxes(title_text=\"Production [MW]\", secondary_y=False)\n",
"\n",
"for plant in shop.model.plant:\n",
"\n",
" prod = plant.production.get()\n",
" fig.add_trace(go.Scatter(x=prod.index, y=prod.values, name=plant.get_name()))\n",
"\n",
"price = shop.model.market.spot.sale_price.get()\n",
"fig.add_trace(go.Scatter(x=price.index, y=price.values, name=\"Price\"),secondary_y=True)\n",
"fig.show()\n",
"\n",
"#Plot reservoir levels\n",
"fig = go.Figure()\n",
"for rsv in shop.model.reservoir:\n",
" level = rsv.head.get()\n",
" fig.add_trace(go.Scatter(x=level.index, y=level.values, name=rsv.get_name()))\n",
"\n",
"fig.update_layout(title=\"Reservoir levels\")\n",
"fig.update_yaxes(title_text=\"Level [masl]\")\n",
"fig.show()\n",
"\n",
"#Plot reservoir inflow\n",
"fig = go.Figure()\n",
"for rsv in shop.model.reservoir:\n",
" inflow = rsv.inflow.get()\n",
" fig.add_trace(go.Scatter(x=inflow.index, y=inflow.values, name=rsv.get_name()))\n",
"\n",
"fig.update_layout(title=\"Reservoir inflow\")\n",
"fig.update_yaxes(title_text=\"Inflow [m3/s]\")\n",
"fig.show()"
]
},
{
"cell_type": "markdown",
"id": "e25ae95a",
"metadata": {},
"source": [
"The flow in the tunnel system is much more dramatic in the wet system state, and the direction of flow into and out of the large reservoir changes multiple times during the optimization. This is due to the changes in the operation of the power plant and the large but random changes in inflow from hour to hour. There are some slight deviations between the flow and physical_flow in this run, which means that there is a small error in the linearization of the non-linear tunnel network equations. However, the deviations are very small compared to the flow in the tunnels."
]
},
{
"cell_type": "code",
"execution_count": 12,
"id": "7c45d592",
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.plotly.v1+json": {
"config": {
"plotlyServerURL": "https://plot.ly"
},
"data": [
{
"name": "Rsv_N1",
"type": "scatter",
"x": [
"2024-01-01T00:00:00",
"2024-01-01T01:00:00",
"2024-01-01T02:00:00",
"2024-01-01T03:00:00",
"2024-01-01T04:00:00",
"2024-01-01T05:00:00",
"2024-01-01T06:00:00",
"2024-01-01T07:00:00",
"2024-01-01T08:00:00",
"2024-01-01T09:00:00",
"2024-01-01T10:00:00",
"2024-01-01T11:00:00",
"2024-01-01T12:00:00",
"2024-01-01T13:00:00",
"2024-01-01T14:00:00",
"2024-01-01T15:00:00",
"2024-01-01T16:00:00",
"2024-01-01T17:00:00",
"2024-01-01T18:00:00",
"2024-01-01T19:00:00",
"2024-01-01T20:00:00",
"2024-01-01T21:00:00",
"2024-01-01T22:00:00",
"2024-01-01T23:00:00"
],
"y": [
28.55174434048193,
63.42716504813689,
-10.640967315379937,
-32.035499170278115,
-17.012208839349995,
-0.5779765300601678,
1.0279244145746524,
-32.740181948124395,
2.7561894444473953,
7.61090209581293,
23.557374907246903,
17.79714902868868,
74.73060574590147,
44.287207143307704,
29.861328930021273,
47.48253024130155,
40.83432738698161,
67.30786387884926,
28.962842737841033,
41.36489148278752,
48.44969200777751,
66.45638412331465,
52.60865566068484,
-40.41809422293212
]
},
{
"name": "N1_N2",
"type": "scatter",
"x": [
"2024-01-01T00:00:00",
"2024-01-01T01:00:00",
"2024-01-01T02:00:00",
"2024-01-01T03:00:00",
"2024-01-01T04:00:00",
"2024-01-01T05:00:00",
"2024-01-01T06:00:00",
"2024-01-01T07:00:00",
"2024-01-01T08:00:00",
"2024-01-01T09:00:00",
"2024-01-01T10:00:00",
"2024-01-01T11:00:00",
"2024-01-01T12:00:00",
"2024-01-01T13:00:00",
"2024-01-01T14:00:00",
"2024-01-01T15:00:00",
"2024-01-01T16:00:00",
"2024-01-01T17:00:00",
"2024-01-01T18:00:00",
"2024-01-01T19:00:00",
"2024-01-01T20:00:00",
"2024-01-01T21:00:00",
"2024-01-01T22:00:00",
"2024-01-01T23:00:00"
],
"y": [
36.35894391395208,
63.6401371470887,
-4.311518894317854,
-24.54866587927015,
-12.025836592296834,
1.6702909821672933,
3.0084327847111054,
-25.136569296012244,
4.448950485680006,
8.494442576276125,
30.411894409094447,
27.33086127281888,
74.77796288695177,
49.404657525096205,
37.98564605805828,
53.610146139678896,
48.051353679761995,
70.23107236059427,
38.135464693549025,
48.51200833292905,
53.87647449823205,
67.88144881914519,
56.33992885173812,
-33.68377867473614
]
},
{
"name": "N2_N3",
"type": "scatter",
"x": [
"2024-01-01T00:00:00",
"2024-01-01T01:00:00",
"2024-01-01T02:00:00",
"2024-01-01T03:00:00",
"2024-01-01T04:00:00",
"2024-01-01T05:00:00",
"2024-01-01T06:00:00",
"2024-01-01T07:00:00",
"2024-01-01T08:00:00",
"2024-01-01T09:00:00",
"2024-01-01T10:00:00",
"2024-01-01T11:00:00",
"2024-01-01T12:00:00",
"2024-01-01T13:00:00",
"2024-01-01T14:00:00",
"2024-01-01T15:00:00",
"2024-01-01T16:00:00",
"2024-01-01T17:00:00",
"2024-01-01T18:00:00",
"2024-01-01T19:00:00",
"2024-01-01T20:00:00",
"2024-01-01T21:00:00",
"2024-01-01T22:00:00",
"2024-01-01T23:00:00"
],
"y": [
59.55621752299834,
64.26972371993243,
14.688836122301119,
-2.086440017021299,
2.9310043374546098,
8.414639172834324,
8.95022385964343,
-2.322848835194241,
9.52443986113969,
11.144802550206153,
50.97401770470219,
55.93235474151128,
74.90716814407257,
64.76428465838583,
62.36163703138027,
71.98916915121971,
69.70324282311259,
78.99340891348481,
65.6615904424844,
69.95113535609964,
70.15459192002919,
72.15106344089516,
67.5371814612611,
-13.46940429003988
]
},
{
"name": "N3_plant",
"type": "scatter",
"x": [
"2024-01-01T00:00:00",
"2024-01-01T01:00:00",
"2024-01-01T02:00:00",
"2024-01-01T03:00:00",
"2024-01-01T04:00:00",
"2024-01-01T05:00:00",
"2024-01-01T06:00:00",
"2024-01-01T07:00:00",
"2024-01-01T08:00:00",
"2024-01-01T09:00:00",
"2024-01-01T10:00:00",
"2024-01-01T11:00:00",
"2024-01-01T12:00:00",
"2024-01-01T13:00:00",
"2024-01-01T14:00:00",
"2024-01-01T15:00:00",
"2024-01-01T16:00:00",
"2024-01-01T17:00:00",
"2024-01-01T18:00:00",
"2024-01-01T19:00:00",
"2024-01-01T20:00:00",
"2024-01-01T21:00:00",
"2024-01-01T22:00:00",
"2024-01-01T23:00:00"
],
"y": [
75.0,
64.69283761753604,
27.3496467319416,
12.887285692486577,
12.90317697839359,
12.911081516693807,
12.911393541559885,
12.88509569817159,
12.90939548934113,
12.911723989639848,
64.68365463027678,
75.0,
75.0,
75.0,
78.61077605567871,
84.24420560642089,
84.13722387441359,
84.83877021964722,
84.00761028181836,
84.24528505669686,
81.00765772691736,
75.0,
75.0,
0.0
]
},
{
"name": "Creek1_N1",
"type": "scatter",
"x": [
"2024-01-01T00:00:00",
"2024-01-01T01:00:00",
"2024-01-01T02:00:00",
"2024-01-01T03:00:00",
"2024-01-01T04:00:00",
"2024-01-01T05:00:00",
"2024-01-01T06:00:00",
"2024-01-01T07:00:00",
"2024-01-01T08:00:00",
"2024-01-01T09:00:00",
"2024-01-01T10:00:00",
"2024-01-01T11:00:00",
"2024-01-01T12:00:00",
"2024-01-01T13:00:00",
"2024-01-01T14:00:00",
"2024-01-01T15:00:00",
"2024-01-01T16:00:00",
"2024-01-01T17:00:00",
"2024-01-01T18:00:00",
"2024-01-01T19:00:00",
"2024-01-01T20:00:00",
"2024-01-01T21:00:00",
"2024-01-01T22:00:00",
"2024-01-01T23:00:00"
],
"y": [
7.807199573470148,
0.212972098937988,
6.3294484210620885,
7.486833291007924,
4.986372247053205,
2.248267512227698,
1.9805083701378081,
7.603612652112148,
1.69276104123145,
0.8835404804607468,
6.854519501846869,
9.533712244130196,
0.0473571410502997,
5.117450381788385,
8.124317128036834,
6.127615898377304,
7.217026292780363,
2.9232084817450197,
9.172621955708017,
7.1471168501415,
5.4267824904545545,
1.4250646958305593,
3.731273191053289,
6.734315548195984
]
},
{
"name": "Creek2_N2",
"type": "scatter",
"x": [
"2024-01-01T00:00:00",
"2024-01-01T01:00:00",
"2024-01-01T02:00:00",
"2024-01-01T03:00:00",
"2024-01-01T04:00:00",
"2024-01-01T05:00:00",
"2024-01-01T06:00:00",
"2024-01-01T07:00:00",
"2024-01-01T08:00:00",
"2024-01-01T09:00:00",
"2024-01-01T10:00:00",
"2024-01-01T11:00:00",
"2024-01-01T12:00:00",
"2024-01-01T13:00:00",
"2024-01-01T14:00:00",
"2024-01-01T15:00:00",
"2024-01-01T16:00:00",
"2024-01-01T17:00:00",
"2024-01-01T18:00:00",
"2024-01-01T19:00:00",
"2024-01-01T20:00:00",
"2024-01-01T21:00:00",
"2024-01-01T22:00:00",
"2024-01-01T23:00:00"
],
"y": [
23.197273609046256,
0.6295865728245497,
19.000355016618986,
22.46222586224886,
14.9568409297514,
6.744348190667401,
5.941791074934142,
22.81372046081799,
5.075489375458108,
2.6503599739268173,
20.5621232956068,
28.601493468692407,
0.12920525712082614,
15.359627133289628,
24.375990973321997,
18.379023011540827,
21.651889143350633,
8.762336552890524,
27.52612574893537,
21.439127023170606,
16.27811742179713,
4.269614621749951,
11.197252609522971,
20.214374384696264
]
},
{
"name": "Creek3_N3",
"type": "scatter",
"x": [
"2024-01-01T00:00:00",
"2024-01-01T01:00:00",
"2024-01-01T02:00:00",
"2024-01-01T03:00:00",
"2024-01-01T04:00:00",
"2024-01-01T05:00:00",
"2024-01-01T06:00:00",
"2024-01-01T07:00:00",
"2024-01-01T08:00:00",
"2024-01-01T09:00:00",
"2024-01-01T10:00:00",
"2024-01-01T11:00:00",
"2024-01-01T12:00:00",
"2024-01-01T13:00:00",
"2024-01-01T14:00:00",
"2024-01-01T15:00:00",
"2024-01-01T16:00:00",
"2024-01-01T17:00:00",
"2024-01-01T18:00:00",
"2024-01-01T19:00:00",
"2024-01-01T20:00:00",
"2024-01-01T21:00:00",
"2024-01-01T22:00:00",
"2024-01-01T23:00:00"
],
"y": [
15.443782477001665,
0.4231138976035919,
12.660810609640498,
14.973725709507907,
9.972172640939013,
4.4964423438599965,
3.9611696819191535,
15.207944533365229,
3.3849556281991577,
1.7669214394292436,
13.709636925573125,
19.067645258488714,
0.09283185592740753,
10.235715341614025,
16.249139024298472,
12.25503645520122,
14.433981051300979,
5.845361306162399,
18.34601983933394,
14.29414970059722,
10.85306580688818,
2.848936559104841,
7.462818538738909,
13.46940429003988
]
}
],
"layout": {
"template": {
"data": {
"bar": [
{
"error_x": {
"color": "#2a3f5f"
},
"error_y": {
"color": "#2a3f5f"
},
"marker": {
"line": {
"color": "#E5ECF6",
"width": 0.5
},
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "bar"
}
],
"barpolar": [
{
"marker": {
"line": {
"color": "#E5ECF6",
"width": 0.5
},
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "barpolar"
}
],
"carpet": [
{
"aaxis": {
"endlinecolor": "#2a3f5f",
"gridcolor": "white",
"linecolor": "white",
"minorgridcolor": "white",
"startlinecolor": "#2a3f5f"
},
"baxis": {
"endlinecolor": "#2a3f5f",
"gridcolor": "white",
"linecolor": "white",
"minorgridcolor": "white",
"startlinecolor": "#2a3f5f"
},
"type": "carpet"
}
],
"choropleth": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "choropleth"
}
],
"contour": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "contour"
}
],
"contourcarpet": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "contourcarpet"
}
],
"heatmap": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "heatmap"
}
],
"heatmapgl": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "heatmapgl"
}
],
"histogram": [
{
"marker": {
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "histogram"
}
],
"histogram2d": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "histogram2d"
}
],
"histogram2dcontour": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "histogram2dcontour"
}
],
"mesh3d": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "mesh3d"
}
],
"parcoords": [
{
"line": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "parcoords"
}
],
"pie": [
{
"automargin": true,
"type": "pie"
}
],
"scatter": [
{
"fillpattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
},
"type": "scatter"
}
],
"scatter3d": [
{
"line": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatter3d"
}
],
"scattercarpet": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattercarpet"
}
],
"scattergeo": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattergeo"
}
],
"scattergl": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattergl"
}
],
"scattermapbox": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattermapbox"
}
],
"scatterpolar": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterpolar"
}
],
"scatterpolargl": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterpolargl"
}
],
"scatterternary": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterternary"
}
],
"surface": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "surface"
}
],
"table": [
{
"cells": {
"fill": {
"color": "#EBF0F8"
},
"line": {
"color": "white"
}
},
"header": {
"fill": {
"color": "#C8D4E3"
},
"line": {
"color": "white"
}
},
"type": "table"
}
]
},
"layout": {
"annotationdefaults": {
"arrowcolor": "#2a3f5f",
"arrowhead": 0,
"arrowwidth": 1
},
"autotypenumbers": "strict",
"coloraxis": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"colorscale": {
"diverging": [
[
0,
"#8e0152"
],
[
0.1,
"#c51b7d"
],
[
0.2,
"#de77ae"
],
[
0.3,
"#f1b6da"
],
[
0.4,
"#fde0ef"
],
[
0.5,
"#f7f7f7"
],
[
0.6,
"#e6f5d0"
],
[
0.7,
"#b8e186"
],
[
0.8,
"#7fbc41"
],
[
0.9,
"#4d9221"
],
[
1,
"#276419"
]
],
"sequential": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"sequentialminus": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
]
},
"colorway": [
"#636efa",
"#EF553B",
"#00cc96",
"#ab63fa",
"#FFA15A",
"#19d3f3",
"#FF6692",
"#B6E880",
"#FF97FF",
"#FECB52"
],
"font": {
"color": "#2a3f5f"
},
"geo": {
"bgcolor": "white",
"lakecolor": "white",
"landcolor": "#E5ECF6",
"showlakes": true,
"showland": true,
"subunitcolor": "white"
},
"hoverlabel": {
"align": "left"
},
"hovermode": "closest",
"mapbox": {
"style": "light"
},
"paper_bgcolor": "white",
"plot_bgcolor": "#E5ECF6",
"polar": {
"angularaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"bgcolor": "#E5ECF6",
"radialaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
}
},
"scene": {
"xaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
},
"yaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
},
"zaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
}
},
"shapedefaults": {
"line": {
"color": "#2a3f5f"
}
},
"ternary": {
"aaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"baxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"bgcolor": "#E5ECF6",
"caxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
}
},
"title": {
"x": 0.05
},
"xaxis": {
"automargin": true,
"gridcolor": "white",
"linecolor": "white",
"ticks": "",
"title": {
"standoff": 15
},
"zerolinecolor": "white",
"zerolinewidth": 2
},
"yaxis": {
"automargin": true,
"gridcolor": "white",
"linecolor": "white",
"ticks": "",
"title": {
"standoff": 15
},
"zerolinecolor": "white",
"zerolinewidth": 2
}
}
},
"title": {
"text": "Tunnel flow"
},
"yaxis": {
"title": {
"text": "Flow [m3/s]"
}
}
}
},
"text/html": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.plotly.v1+json": {
"config": {
"plotlyServerURL": "https://plot.ly"
},
"data": [
{
"name": "Rsv_N1",
"type": "scatter",
"x": [
"2024-01-01T00:00:00",
"2024-01-01T01:00:00",
"2024-01-01T02:00:00",
"2024-01-01T03:00:00",
"2024-01-01T04:00:00",
"2024-01-01T05:00:00",
"2024-01-01T06:00:00",
"2024-01-01T07:00:00",
"2024-01-01T08:00:00",
"2024-01-01T09:00:00",
"2024-01-01T10:00:00",
"2024-01-01T11:00:00",
"2024-01-01T12:00:00",
"2024-01-01T13:00:00",
"2024-01-01T14:00:00",
"2024-01-01T15:00:00",
"2024-01-01T16:00:00",
"2024-01-01T17:00:00",
"2024-01-01T18:00:00",
"2024-01-01T19:00:00",
"2024-01-01T20:00:00",
"2024-01-01T21:00:00",
"2024-01-01T22:00:00",
"2024-01-01T23:00:00"
],
"y": [
0.00011419811435686711,
-0.0005110252167952467,
0.0006594436277644888,
0.00014661936877757853,
-0.0006991500061559464,
-3.252428510336358e-05,
0.00033220009421230934,
0.00018237087311234745,
-0.00011565266443769318,
-4.1989385364260556e-05,
1.8430677677372387e-05,
-0.00021903207411710923,
0.0008451090801031569,
-0.0014532259750410503,
0.0006422685295639496,
0.0002674144799712508,
-0.0001991474307985186,
0.00016145150534896402,
-0.0002893917966169113,
0.00043390303147816667,
-0.00018507763358144302,
-0.00017921477306970246,
2.606345461941828e-05,
0.00028916864325623237
]
},
{
"name": "N1_N2",
"type": "scatter",
"x": [
"2024-01-01T00:00:00",
"2024-01-01T01:00:00",
"2024-01-01T02:00:00",
"2024-01-01T03:00:00",
"2024-01-01T04:00:00",
"2024-01-01T05:00:00",
"2024-01-01T06:00:00",
"2024-01-01T07:00:00",
"2024-01-01T08:00:00",
"2024-01-01T09:00:00",
"2024-01-01T10:00:00",
"2024-01-01T11:00:00",
"2024-01-01T12:00:00",
"2024-01-01T13:00:00",
"2024-01-01T14:00:00",
"2024-01-01T15:00:00",
"2024-01-01T16:00:00",
"2024-01-01T17:00:00",
"2024-01-01T18:00:00",
"2024-01-01T19:00:00",
"2024-01-01T20:00:00",
"2024-01-01T21:00:00",
"2024-01-01T22:00:00",
"2024-01-01T23:00:00"
],
"y": [
3.4130252785757875e-05,
-0.00017931653423630678,
0.00025539399720564404,
0.0001258911806516494,
-0.00044715622840918456,
1.2531923843317472e-05,
0.0002386256179813806,
0.00011020367680103504,
-0.00010506580458091719,
-3.36314861506537e-05,
2.1042040444285703e-05,
-0.00016686930731424354,
0.0006598185229194087,
-0.0011216220766669949,
0.0004979223454384396,
0.0002038406235485013,
-0.00015658394487871874,
0.00012478757236067395,
-0.00022286892538403436,
0.0003353327383024407,
-0.0001452927477956223,
-0.00013843871153085274,
2.2600139850226242e-05,
0.0002230559798377385
]
},
{
"name": "N2_N3",
"type": "scatter",
"x": [
"2024-01-01T00:00:00",
"2024-01-01T01:00:00",
"2024-01-01T02:00:00",
"2024-01-01T03:00:00",
"2024-01-01T04:00:00",
"2024-01-01T05:00:00",
"2024-01-01T06:00:00",
"2024-01-01T07:00:00",
"2024-01-01T08:00:00",
"2024-01-01T09:00:00",
"2024-01-01T10:00:00",
"2024-01-01T11:00:00",
"2024-01-01T12:00:00",
"2024-01-01T13:00:00",
"2024-01-01T14:00:00",
"2024-01-01T15:00:00",
"2024-01-01T16:00:00",
"2024-01-01T17:00:00",
"2024-01-01T18:00:00",
"2024-01-01T19:00:00",
"2024-01-01T20:00:00",
"2024-01-01T21:00:00",
"2024-01-01T22:00:00",
"2024-01-01T23:00:00"
],
"y": [
-5.765725774153907e-06,
-3.2239138221257235e-06,
3.101082158352142e-05,
8.117485943559544e-05,
-0.00022659980701078553,
2.961522219102619e-05,
0.0001369779313016295,
4.9523611612478646e-05,
-7.127233114267995e-05,
-2.25005446985449e-05,
1.5677965137683714e-05,
-0.00010090793941941456,
0.00039491168946881317,
-0.0006627929676454869,
0.0002994986389879273,
0.0001169986098688014,
-9.592256742507743e-05,
7.491886424304539e-05,
-0.00013086443806287207,
0.00019924636806933904,
-9.005193327027428e-05,
-8.198767753242464e-05,
1.6378577612385925e-05,
0.00013199688566345458
]
},
{
"name": "N3_plant",
"type": "scatter",
"x": [
"2024-01-01T00:00:00",
"2024-01-01T01:00:00",
"2024-01-01T02:00:00",
"2024-01-01T03:00:00",
"2024-01-01T04:00:00",
"2024-01-01T05:00:00",
"2024-01-01T06:00:00",
"2024-01-01T07:00:00",
"2024-01-01T08:00:00",
"2024-01-01T09:00:00",
"2024-01-01T10:00:00",
"2024-01-01T11:00:00",
"2024-01-01T12:00:00",
"2024-01-01T13:00:00",
"2024-01-01T14:00:00",
"2024-01-01T15:00:00",
"2024-01-01T16:00:00",
"2024-01-01T17:00:00",
"2024-01-01T18:00:00",
"2024-01-01T19:00:00",
"2024-01-01T20:00:00",
"2024-01-01T21:00:00",
"2024-01-01T22:00:00",
"2024-01-01T23:00:00"
],
"y": [
0.0,
2.842170943040401e-14,
-1.0658141036401503e-14,
-3.552713678800501e-15,
-1.9539925233402755e-14,
-1.7763568394002505e-15,
3.552713678800501e-15,
0.0,
1.4210854715202004e-14,
-2.4868995751603507e-14,
2.842170943040401e-14,
0.0,
0.0,
0.0,
0.0,
-1.4210854715202004e-14,
0.0,
1.4210854715202004e-14,
2.842170943040401e-14,
1.4210854715202004e-14,
0.0,
0.0,
0.0,
0.0
]
},
{
"name": "Creek1_N1",
"type": "scatter",
"x": [
"2024-01-01T00:00:00",
"2024-01-01T01:00:00",
"2024-01-01T02:00:00",
"2024-01-01T03:00:00",
"2024-01-01T04:00:00",
"2024-01-01T05:00:00",
"2024-01-01T06:00:00",
"2024-01-01T07:00:00",
"2024-01-01T08:00:00",
"2024-01-01T09:00:00",
"2024-01-01T10:00:00",
"2024-01-01T11:00:00",
"2024-01-01T12:00:00",
"2024-01-01T13:00:00",
"2024-01-01T14:00:00",
"2024-01-01T15:00:00",
"2024-01-01T16:00:00",
"2024-01-01T17:00:00",
"2024-01-01T18:00:00",
"2024-01-01T19:00:00",
"2024-01-01T20:00:00",
"2024-01-01T21:00:00",
"2024-01-01T22:00:00",
"2024-01-01T23:00:00"
],
"y": [
-8.006786157555013e-05,
0.00033170866874385196,
-0.00040404963055262755,
-2.0728188165008987e-05,
0.0002519937777885062,
4.505620918315856e-05,
-9.357447487601256e-05,
-7.216719631664148e-05,
1.0586858695482704e-05,
8.357896765898154e-06,
2.611362091009539e-06,
5.216276679753662e-05,
-0.0001852905571775587,
0.00033160389825148684,
-0.00014434618429426394,
-6.357385646271752e-05,
4.2563485900259934e-05,
-3.666393297141468e-05,
6.652287126129863e-05,
-9.857029320059496e-05,
3.978488580091977e-05,
4.077606156371871e-05,
-3.4633147665275033e-06,
-6.61126634131648e-05
]
},
{
"name": "Creek2_N2",
"type": "scatter",
"x": [
"2024-01-01T00:00:00",
"2024-01-01T01:00:00",
"2024-01-01T02:00:00",
"2024-01-01T03:00:00",
"2024-01-01T04:00:00",
"2024-01-01T05:00:00",
"2024-01-01T06:00:00",
"2024-01-01T07:00:00",
"2024-01-01T08:00:00",
"2024-01-01T09:00:00",
"2024-01-01T10:00:00",
"2024-01-01T11:00:00",
"2024-01-01T12:00:00",
"2024-01-01T13:00:00",
"2024-01-01T14:00:00",
"2024-01-01T15:00:00",
"2024-01-01T16:00:00",
"2024-01-01T17:00:00",
"2024-01-01T18:00:00",
"2024-01-01T19:00:00",
"2024-01-01T20:00:00",
"2024-01-01T21:00:00",
"2024-01-01T22:00:00",
"2024-01-01T23:00:00"
],
"y": [
-3.9895978552806355e-05,
0.00017609260123574444,
-0.00022438317560968812,
-4.4716321205839904e-05,
0.00022055642135399012,
1.7083298718745255e-05,
-0.00010164768486298215,
-6.068006520010272e-05,
3.3793471863496904e-05,
1.1130938241343813e-05,
-5.364076251623828e-06,
6.596136790193441e-05,
-0.00026490683342120236,
0.0004588291090197316,
-0.0001984237064469596,
-8.684201366193633e-05,
6.0661377499826585e-05,
-4.986870813716848e-05,
9.2004487324715e-05,
-0.00013608637022599623,
5.5240814507584446e-05,
5.6451033974447284e-05,
-6.221562250274815e-06,
-9.105909417428393e-05
]
},
{
"name": "Creek3_N3",
"type": "scatter",
"x": [
"2024-01-01T00:00:00",
"2024-01-01T01:00:00",
"2024-01-01T02:00:00",
"2024-01-01T03:00:00",
"2024-01-01T04:00:00",
"2024-01-01T05:00:00",
"2024-01-01T06:00:00",
"2024-01-01T07:00:00",
"2024-01-01T08:00:00",
"2024-01-01T09:00:00",
"2024-01-01T10:00:00",
"2024-01-01T11:00:00",
"2024-01-01T12:00:00",
"2024-01-01T13:00:00",
"2024-01-01T14:00:00",
"2024-01-01T15:00:00",
"2024-01-01T16:00:00",
"2024-01-01T17:00:00",
"2024-01-01T18:00:00",
"2024-01-01T19:00:00",
"2024-01-01T20:00:00",
"2024-01-01T21:00:00",
"2024-01-01T22:00:00",
"2024-01-01T23:00:00"
],
"y": [
5.765725774153907e-06,
3.223913826677638e-06,
-3.101082157819235e-05,
-8.1174859408506e-05,
0.00022659980702322002,
-2.9615221679435422e-05,
-0.00013697792859979074,
-4.9523612213775436e-05,
7.127232887471635e-05,
2.2500540223013843e-05,
-1.567796656765097e-05,
0.00010090793941230913,
-0.0003949116894959026,
0.0006627929675087074,
-0.00029949863895950557,
-0.00011699860984748511,
9.592256739310301e-05,
-7.491886423505179e-05,
0.00013086443806642478,
-0.00019924636804802276,
9.005193328803784e-05,
8.198767753286873e-05,
-1.6378577597286892e-05,
-0.00013199688566345458
]
}
],
"layout": {
"template": {
"data": {
"bar": [
{
"error_x": {
"color": "#2a3f5f"
},
"error_y": {
"color": "#2a3f5f"
},
"marker": {
"line": {
"color": "#E5ECF6",
"width": 0.5
},
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "bar"
}
],
"barpolar": [
{
"marker": {
"line": {
"color": "#E5ECF6",
"width": 0.5
},
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "barpolar"
}
],
"carpet": [
{
"aaxis": {
"endlinecolor": "#2a3f5f",
"gridcolor": "white",
"linecolor": "white",
"minorgridcolor": "white",
"startlinecolor": "#2a3f5f"
},
"baxis": {
"endlinecolor": "#2a3f5f",
"gridcolor": "white",
"linecolor": "white",
"minorgridcolor": "white",
"startlinecolor": "#2a3f5f"
},
"type": "carpet"
}
],
"choropleth": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "choropleth"
}
],
"contour": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "contour"
}
],
"contourcarpet": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "contourcarpet"
}
],
"heatmap": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "heatmap"
}
],
"heatmapgl": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "heatmapgl"
}
],
"histogram": [
{
"marker": {
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "histogram"
}
],
"histogram2d": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "histogram2d"
}
],
"histogram2dcontour": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "histogram2dcontour"
}
],
"mesh3d": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "mesh3d"
}
],
"parcoords": [
{
"line": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "parcoords"
}
],
"pie": [
{
"automargin": true,
"type": "pie"
}
],
"scatter": [
{
"fillpattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
},
"type": "scatter"
}
],
"scatter3d": [
{
"line": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatter3d"
}
],
"scattercarpet": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattercarpet"
}
],
"scattergeo": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattergeo"
}
],
"scattergl": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattergl"
}
],
"scattermapbox": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattermapbox"
}
],
"scatterpolar": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterpolar"
}
],
"scatterpolargl": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterpolargl"
}
],
"scatterternary": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterternary"
}
],
"surface": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "surface"
}
],
"table": [
{
"cells": {
"fill": {
"color": "#EBF0F8"
},
"line": {
"color": "white"
}
},
"header": {
"fill": {
"color": "#C8D4E3"
},
"line": {
"color": "white"
}
},
"type": "table"
}
]
},
"layout": {
"annotationdefaults": {
"arrowcolor": "#2a3f5f",
"arrowhead": 0,
"arrowwidth": 1
},
"autotypenumbers": "strict",
"coloraxis": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"colorscale": {
"diverging": [
[
0,
"#8e0152"
],
[
0.1,
"#c51b7d"
],
[
0.2,
"#de77ae"
],
[
0.3,
"#f1b6da"
],
[
0.4,
"#fde0ef"
],
[
0.5,
"#f7f7f7"
],
[
0.6,
"#e6f5d0"
],
[
0.7,
"#b8e186"
],
[
0.8,
"#7fbc41"
],
[
0.9,
"#4d9221"
],
[
1,
"#276419"
]
],
"sequential": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"sequentialminus": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
]
},
"colorway": [
"#636efa",
"#EF553B",
"#00cc96",
"#ab63fa",
"#FFA15A",
"#19d3f3",
"#FF6692",
"#B6E880",
"#FF97FF",
"#FECB52"
],
"font": {
"color": "#2a3f5f"
},
"geo": {
"bgcolor": "white",
"lakecolor": "white",
"landcolor": "#E5ECF6",
"showlakes": true,
"showland": true,
"subunitcolor": "white"
},
"hoverlabel": {
"align": "left"
},
"hovermode": "closest",
"mapbox": {
"style": "light"
},
"paper_bgcolor": "white",
"plot_bgcolor": "#E5ECF6",
"polar": {
"angularaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"bgcolor": "#E5ECF6",
"radialaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
}
},
"scene": {
"xaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
},
"yaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
},
"zaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
}
},
"shapedefaults": {
"line": {
"color": "#2a3f5f"
}
},
"ternary": {
"aaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"baxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"bgcolor": "#E5ECF6",
"caxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
}
},
"title": {
"x": 0.05
},
"xaxis": {
"automargin": true,
"gridcolor": "white",
"linecolor": "white",
"ticks": "",
"title": {
"standoff": 15
},
"zerolinecolor": "white",
"zerolinewidth": 2
},
"yaxis": {
"automargin": true,
"gridcolor": "white",
"linecolor": "white",
"ticks": "",
"title": {
"standoff": 15
},
"zerolinecolor": "white",
"zerolinewidth": 2
}
}
},
"title": {
"text": "Tunnel flow deviation from post-calculated flow"
},
"yaxis": {
"title": {
"text": "Flow [m3/s]"
}
}
}
},
"text/html": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"#Plot tunnel flow\n",
"fig = go.Figure()\n",
"for t in shop.model.tunnel:\n",
" flow = t.flow.get()\n",
" fig.add_trace(go.Scatter(x=flow.index, y=flow.values, name=t.get_name()))\n",
"\n",
"fig.update_layout(title=\"Tunnel flow\")\n",
"fig.update_yaxes(title_text=\"Flow [m3/s]\")\n",
"fig.show()\n",
"\n",
"#Plot tunnel flow\n",
"fig = go.Figure()\n",
"for t in shop.model.tunnel:\n",
" flow = t.flow.get()\n",
" pflow = t.physical_flow.get()\n",
" fig.add_trace(go.Scatter(x=flow.index, y=flow.values-pflow.values, name=t.get_name()))\n",
"\n",
"fig.update_layout(title=\"Tunnel flow deviation from post-calculated flow\")\n",
"fig.update_yaxes(title_text=\"Flow [m3/s]\")\n",
"fig.show()"
]
},
{
"cell_type": "markdown",
"id": "8d5142ad",
"metadata": {},
"source": [
"SHOP is able to avoid spillage in the wet system state, but spillage from creek intakes are not uncommon. Specifying a [mip_flag](river:mip_flag) (or using the command [set universal_river_mip /on](set_universal_river_mip)) and adding a [flow_cost](river:flow_cost) on the creek spillways can be considered when there is a lot of spillage in the system. However, it is important to consider that adding high spillage penalties in a system where spillage is unavoidable can simply make the calculation time longer. This can happen when the objective function is increased a lot due to (spillage) penalties."
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "a1dd0bb9",
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.plotly.v1+json": {
"config": {
"plotlyServerURL": "https://plot.ly"
},
"data": [
{
"name": "Spill_rsv",
"type": "scatter",
"x": [
"2024-01-01T00:00:00",
"2024-01-01T01:00:00",
"2024-01-01T02:00:00",
"2024-01-01T03:00:00",
"2024-01-01T04:00:00",
"2024-01-01T05:00:00",
"2024-01-01T06:00:00",
"2024-01-01T07:00:00",
"2024-01-01T08:00:00",
"2024-01-01T09:00:00",
"2024-01-01T10:00:00",
"2024-01-01T11:00:00",
"2024-01-01T12:00:00",
"2024-01-01T13:00:00",
"2024-01-01T14:00:00",
"2024-01-01T15:00:00",
"2024-01-01T16:00:00",
"2024-01-01T17:00:00",
"2024-01-01T18:00:00",
"2024-01-01T19:00:00",
"2024-01-01T20:00:00",
"2024-01-01T21:00:00",
"2024-01-01T22:00:00",
"2024-01-01T23:00:00"
],
"y": [
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0
]
},
{
"name": "Spill_C1",
"type": "scatter",
"x": [
"2024-01-01T00:00:00",
"2024-01-01T01:00:00",
"2024-01-01T02:00:00",
"2024-01-01T03:00:00",
"2024-01-01T04:00:00",
"2024-01-01T05:00:00",
"2024-01-01T06:00:00",
"2024-01-01T07:00:00",
"2024-01-01T08:00:00",
"2024-01-01T09:00:00",
"2024-01-01T10:00:00",
"2024-01-01T11:00:00",
"2024-01-01T12:00:00",
"2024-01-01T13:00:00",
"2024-01-01T14:00:00",
"2024-01-01T15:00:00",
"2024-01-01T16:00:00",
"2024-01-01T17:00:00",
"2024-01-01T18:00:00",
"2024-01-01T19:00:00",
"2024-01-01T20:00:00",
"2024-01-01T21:00:00",
"2024-01-01T22:00:00",
"2024-01-01T23:00:00"
],
"y": [
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0
]
},
{
"name": "Spill_C2",
"type": "scatter",
"x": [
"2024-01-01T00:00:00",
"2024-01-01T01:00:00",
"2024-01-01T02:00:00",
"2024-01-01T03:00:00",
"2024-01-01T04:00:00",
"2024-01-01T05:00:00",
"2024-01-01T06:00:00",
"2024-01-01T07:00:00",
"2024-01-01T08:00:00",
"2024-01-01T09:00:00",
"2024-01-01T10:00:00",
"2024-01-01T11:00:00",
"2024-01-01T12:00:00",
"2024-01-01T13:00:00",
"2024-01-01T14:00:00",
"2024-01-01T15:00:00",
"2024-01-01T16:00:00",
"2024-01-01T17:00:00",
"2024-01-01T18:00:00",
"2024-01-01T19:00:00",
"2024-01-01T20:00:00",
"2024-01-01T21:00:00",
"2024-01-01T22:00:00",
"2024-01-01T23:00:00"
],
"y": [
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0
]
},
{
"name": "Spill_C3",
"type": "scatter",
"x": [
"2024-01-01T00:00:00",
"2024-01-01T01:00:00",
"2024-01-01T02:00:00",
"2024-01-01T03:00:00",
"2024-01-01T04:00:00",
"2024-01-01T05:00:00",
"2024-01-01T06:00:00",
"2024-01-01T07:00:00",
"2024-01-01T08:00:00",
"2024-01-01T09:00:00",
"2024-01-01T10:00:00",
"2024-01-01T11:00:00",
"2024-01-01T12:00:00",
"2024-01-01T13:00:00",
"2024-01-01T14:00:00",
"2024-01-01T15:00:00",
"2024-01-01T16:00:00",
"2024-01-01T17:00:00",
"2024-01-01T18:00:00",
"2024-01-01T19:00:00",
"2024-01-01T20:00:00",
"2024-01-01T21:00:00",
"2024-01-01T22:00:00",
"2024-01-01T23:00:00"
],
"y": [
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0
]
}
],
"layout": {
"template": {
"data": {
"bar": [
{
"error_x": {
"color": "#2a3f5f"
},
"error_y": {
"color": "#2a3f5f"
},
"marker": {
"line": {
"color": "#E5ECF6",
"width": 0.5
},
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "bar"
}
],
"barpolar": [
{
"marker": {
"line": {
"color": "#E5ECF6",
"width": 0.5
},
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "barpolar"
}
],
"carpet": [
{
"aaxis": {
"endlinecolor": "#2a3f5f",
"gridcolor": "white",
"linecolor": "white",
"minorgridcolor": "white",
"startlinecolor": "#2a3f5f"
},
"baxis": {
"endlinecolor": "#2a3f5f",
"gridcolor": "white",
"linecolor": "white",
"minorgridcolor": "white",
"startlinecolor": "#2a3f5f"
},
"type": "carpet"
}
],
"choropleth": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "choropleth"
}
],
"contour": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "contour"
}
],
"contourcarpet": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "contourcarpet"
}
],
"heatmap": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "heatmap"
}
],
"heatmapgl": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "heatmapgl"
}
],
"histogram": [
{
"marker": {
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "histogram"
}
],
"histogram2d": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "histogram2d"
}
],
"histogram2dcontour": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "histogram2dcontour"
}
],
"mesh3d": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "mesh3d"
}
],
"parcoords": [
{
"line": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "parcoords"
}
],
"pie": [
{
"automargin": true,
"type": "pie"
}
],
"scatter": [
{
"fillpattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
},
"type": "scatter"
}
],
"scatter3d": [
{
"line": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatter3d"
}
],
"scattercarpet": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattercarpet"
}
],
"scattergeo": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattergeo"
}
],
"scattergl": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattergl"
}
],
"scattermapbox": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattermapbox"
}
],
"scatterpolar": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterpolar"
}
],
"scatterpolargl": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterpolargl"
}
],
"scatterternary": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterternary"
}
],
"surface": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "surface"
}
],
"table": [
{
"cells": {
"fill": {
"color": "#EBF0F8"
},
"line": {
"color": "white"
}
},
"header": {
"fill": {
"color": "#C8D4E3"
},
"line": {
"color": "white"
}
},
"type": "table"
}
]
},
"layout": {
"annotationdefaults": {
"arrowcolor": "#2a3f5f",
"arrowhead": 0,
"arrowwidth": 1
},
"autotypenumbers": "strict",
"coloraxis": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"colorscale": {
"diverging": [
[
0,
"#8e0152"
],
[
0.1,
"#c51b7d"
],
[
0.2,
"#de77ae"
],
[
0.3,
"#f1b6da"
],
[
0.4,
"#fde0ef"
],
[
0.5,
"#f7f7f7"
],
[
0.6,
"#e6f5d0"
],
[
0.7,
"#b8e186"
],
[
0.8,
"#7fbc41"
],
[
0.9,
"#4d9221"
],
[
1,
"#276419"
]
],
"sequential": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"sequentialminus": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
]
},
"colorway": [
"#636efa",
"#EF553B",
"#00cc96",
"#ab63fa",
"#FFA15A",
"#19d3f3",
"#FF6692",
"#B6E880",
"#FF97FF",
"#FECB52"
],
"font": {
"color": "#2a3f5f"
},
"geo": {
"bgcolor": "white",
"lakecolor": "white",
"landcolor": "#E5ECF6",
"showlakes": true,
"showland": true,
"subunitcolor": "white"
},
"hoverlabel": {
"align": "left"
},
"hovermode": "closest",
"mapbox": {
"style": "light"
},
"paper_bgcolor": "white",
"plot_bgcolor": "#E5ECF6",
"polar": {
"angularaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"bgcolor": "#E5ECF6",
"radialaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
}
},
"scene": {
"xaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
},
"yaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
},
"zaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
}
},
"shapedefaults": {
"line": {
"color": "#2a3f5f"
}
},
"ternary": {
"aaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"baxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"bgcolor": "#E5ECF6",
"caxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
}
},
"title": {
"x": 0.05
},
"xaxis": {
"automargin": true,
"gridcolor": "white",
"linecolor": "white",
"ticks": "",
"title": {
"standoff": 15
},
"zerolinecolor": "white",
"zerolinewidth": 2
},
"yaxis": {
"automargin": true,
"gridcolor": "white",
"linecolor": "white",
"ticks": "",
"title": {
"standoff": 15
},
"zerolinecolor": "white",
"zerolinewidth": 2
}
}
},
"title": {
"text": "River flow"
},
"yaxis": {
"title": {
"text": "Flow [m3/s]"
}
}
}
},
"text/html": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.plotly.v1+json": {
"config": {
"plotlyServerURL": "https://plot.ly"
},
"data": [
{
"name": "Spill_rsv",
"type": "scatter",
"x": [
"2024-01-01T00:00:00",
"2024-01-01T01:00:00",
"2024-01-01T02:00:00",
"2024-01-01T03:00:00",
"2024-01-01T04:00:00",
"2024-01-01T05:00:00",
"2024-01-01T06:00:00",
"2024-01-01T07:00:00",
"2024-01-01T08:00:00",
"2024-01-01T09:00:00",
"2024-01-01T10:00:00",
"2024-01-01T11:00:00",
"2024-01-01T12:00:00",
"2024-01-01T13:00:00",
"2024-01-01T14:00:00",
"2024-01-01T15:00:00",
"2024-01-01T16:00:00",
"2024-01-01T17:00:00",
"2024-01-01T18:00:00",
"2024-01-01T19:00:00",
"2024-01-01T20:00:00",
"2024-01-01T21:00:00",
"2024-01-01T22:00:00",
"2024-01-01T23:00:00"
],
"y": [
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0
]
},
{
"name": "Spill_C1",
"type": "scatter",
"x": [
"2024-01-01T00:00:00",
"2024-01-01T01:00:00",
"2024-01-01T02:00:00",
"2024-01-01T03:00:00",
"2024-01-01T04:00:00",
"2024-01-01T05:00:00",
"2024-01-01T06:00:00",
"2024-01-01T07:00:00",
"2024-01-01T08:00:00",
"2024-01-01T09:00:00",
"2024-01-01T10:00:00",
"2024-01-01T11:00:00",
"2024-01-01T12:00:00",
"2024-01-01T13:00:00",
"2024-01-01T14:00:00",
"2024-01-01T15:00:00",
"2024-01-01T16:00:00",
"2024-01-01T17:00:00",
"2024-01-01T18:00:00",
"2024-01-01T19:00:00",
"2024-01-01T20:00:00",
"2024-01-01T21:00:00",
"2024-01-01T22:00:00",
"2024-01-01T23:00:00"
],
"y": [
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0
]
},
{
"name": "Spill_C2",
"type": "scatter",
"x": [
"2024-01-01T00:00:00",
"2024-01-01T01:00:00",
"2024-01-01T02:00:00",
"2024-01-01T03:00:00",
"2024-01-01T04:00:00",
"2024-01-01T05:00:00",
"2024-01-01T06:00:00",
"2024-01-01T07:00:00",
"2024-01-01T08:00:00",
"2024-01-01T09:00:00",
"2024-01-01T10:00:00",
"2024-01-01T11:00:00",
"2024-01-01T12:00:00",
"2024-01-01T13:00:00",
"2024-01-01T14:00:00",
"2024-01-01T15:00:00",
"2024-01-01T16:00:00",
"2024-01-01T17:00:00",
"2024-01-01T18:00:00",
"2024-01-01T19:00:00",
"2024-01-01T20:00:00",
"2024-01-01T21:00:00",
"2024-01-01T22:00:00",
"2024-01-01T23:00:00"
],
"y": [
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0
]
},
{
"name": "Spill_C3",
"type": "scatter",
"x": [
"2024-01-01T00:00:00",
"2024-01-01T01:00:00",
"2024-01-01T02:00:00",
"2024-01-01T03:00:00",
"2024-01-01T04:00:00",
"2024-01-01T05:00:00",
"2024-01-01T06:00:00",
"2024-01-01T07:00:00",
"2024-01-01T08:00:00",
"2024-01-01T09:00:00",
"2024-01-01T10:00:00",
"2024-01-01T11:00:00",
"2024-01-01T12:00:00",
"2024-01-01T13:00:00",
"2024-01-01T14:00:00",
"2024-01-01T15:00:00",
"2024-01-01T16:00:00",
"2024-01-01T17:00:00",
"2024-01-01T18:00:00",
"2024-01-01T19:00:00",
"2024-01-01T20:00:00",
"2024-01-01T21:00:00",
"2024-01-01T22:00:00",
"2024-01-01T23:00:00"
],
"y": [
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0,
0.0
]
}
],
"layout": {
"template": {
"data": {
"bar": [
{
"error_x": {
"color": "#2a3f5f"
},
"error_y": {
"color": "#2a3f5f"
},
"marker": {
"line": {
"color": "#E5ECF6",
"width": 0.5
},
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "bar"
}
],
"barpolar": [
{
"marker": {
"line": {
"color": "#E5ECF6",
"width": 0.5
},
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "barpolar"
}
],
"carpet": [
{
"aaxis": {
"endlinecolor": "#2a3f5f",
"gridcolor": "white",
"linecolor": "white",
"minorgridcolor": "white",
"startlinecolor": "#2a3f5f"
},
"baxis": {
"endlinecolor": "#2a3f5f",
"gridcolor": "white",
"linecolor": "white",
"minorgridcolor": "white",
"startlinecolor": "#2a3f5f"
},
"type": "carpet"
}
],
"choropleth": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "choropleth"
}
],
"contour": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "contour"
}
],
"contourcarpet": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "contourcarpet"
}
],
"heatmap": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "heatmap"
}
],
"heatmapgl": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "heatmapgl"
}
],
"histogram": [
{
"marker": {
"pattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
}
},
"type": "histogram"
}
],
"histogram2d": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "histogram2d"
}
],
"histogram2dcontour": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "histogram2dcontour"
}
],
"mesh3d": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"type": "mesh3d"
}
],
"parcoords": [
{
"line": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "parcoords"
}
],
"pie": [
{
"automargin": true,
"type": "pie"
}
],
"scatter": [
{
"fillpattern": {
"fillmode": "overlay",
"size": 10,
"solidity": 0.2
},
"type": "scatter"
}
],
"scatter3d": [
{
"line": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatter3d"
}
],
"scattercarpet": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattercarpet"
}
],
"scattergeo": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattergeo"
}
],
"scattergl": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattergl"
}
],
"scattermapbox": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scattermapbox"
}
],
"scatterpolar": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterpolar"
}
],
"scatterpolargl": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterpolargl"
}
],
"scatterternary": [
{
"marker": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"type": "scatterternary"
}
],
"surface": [
{
"colorbar": {
"outlinewidth": 0,
"ticks": ""
},
"colorscale": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"type": "surface"
}
],
"table": [
{
"cells": {
"fill": {
"color": "#EBF0F8"
},
"line": {
"color": "white"
}
},
"header": {
"fill": {
"color": "#C8D4E3"
},
"line": {
"color": "white"
}
},
"type": "table"
}
]
},
"layout": {
"annotationdefaults": {
"arrowcolor": "#2a3f5f",
"arrowhead": 0,
"arrowwidth": 1
},
"autotypenumbers": "strict",
"coloraxis": {
"colorbar": {
"outlinewidth": 0,
"ticks": ""
}
},
"colorscale": {
"diverging": [
[
0,
"#8e0152"
],
[
0.1,
"#c51b7d"
],
[
0.2,
"#de77ae"
],
[
0.3,
"#f1b6da"
],
[
0.4,
"#fde0ef"
],
[
0.5,
"#f7f7f7"
],
[
0.6,
"#e6f5d0"
],
[
0.7,
"#b8e186"
],
[
0.8,
"#7fbc41"
],
[
0.9,
"#4d9221"
],
[
1,
"#276419"
]
],
"sequential": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
],
"sequentialminus": [
[
0.0,
"#0d0887"
],
[
0.1111111111111111,
"#46039f"
],
[
0.2222222222222222,
"#7201a8"
],
[
0.3333333333333333,
"#9c179e"
],
[
0.4444444444444444,
"#bd3786"
],
[
0.5555555555555556,
"#d8576b"
],
[
0.6666666666666666,
"#ed7953"
],
[
0.7777777777777778,
"#fb9f3a"
],
[
0.8888888888888888,
"#fdca26"
],
[
1.0,
"#f0f921"
]
]
},
"colorway": [
"#636efa",
"#EF553B",
"#00cc96",
"#ab63fa",
"#FFA15A",
"#19d3f3",
"#FF6692",
"#B6E880",
"#FF97FF",
"#FECB52"
],
"font": {
"color": "#2a3f5f"
},
"geo": {
"bgcolor": "white",
"lakecolor": "white",
"landcolor": "#E5ECF6",
"showlakes": true,
"showland": true,
"subunitcolor": "white"
},
"hoverlabel": {
"align": "left"
},
"hovermode": "closest",
"mapbox": {
"style": "light"
},
"paper_bgcolor": "white",
"plot_bgcolor": "#E5ECF6",
"polar": {
"angularaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"bgcolor": "#E5ECF6",
"radialaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
}
},
"scene": {
"xaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
},
"yaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
},
"zaxis": {
"backgroundcolor": "#E5ECF6",
"gridcolor": "white",
"gridwidth": 2,
"linecolor": "white",
"showbackground": true,
"ticks": "",
"zerolinecolor": "white"
}
},
"shapedefaults": {
"line": {
"color": "#2a3f5f"
}
},
"ternary": {
"aaxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"baxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
},
"bgcolor": "#E5ECF6",
"caxis": {
"gridcolor": "white",
"linecolor": "white",
"ticks": ""
}
},
"title": {
"x": 0.05
},
"xaxis": {
"automargin": true,
"gridcolor": "white",
"linecolor": "white",
"ticks": "",
"title": {
"standoff": 15
},
"zerolinecolor": "white",
"zerolinewidth": 2
},
"yaxis": {
"automargin": true,
"gridcolor": "white",
"linecolor": "white",
"ticks": "",
"title": {
"standoff": 15
},
"zerolinecolor": "white",
"zerolinewidth": 2
}
}
},
"title": {
"text": "River flow deviation from post-calculated flow"
},
"yaxis": {
"title": {
"text": "Flow [m3/s]"
}
}
}
},
"text/html": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"#Plot river flow\n",
"fig = go.Figure()\n",
"for r in shop.model.river:\n",
" flow = r.flow.get()\n",
" fig.add_trace(go.Scatter(x=flow.index, y=flow.values, name=r.get_name()))\n",
"\n",
"fig.update_layout(title=\"River flow\")\n",
"fig.update_yaxes(title_text=\"Flow [m3/s]\")\n",
"fig.show()\n",
"\n",
"fig = go.Figure()\n",
"for r in shop.model.river:\n",
" flow = r.flow.get()\n",
" pflow = r.physical_flow.get()\n",
" fig.add_trace(go.Scatter(x=flow.index, y=flow.values-pflow.values, name=r.get_name()))\n",
"\n",
"fig.update_layout(title=\"River flow deviation from post-calculated flow\")\n",
"fig.update_yaxes(title_text=\"Flow [m3/s]\")\n",
"fig.show()"
]
},
{
"cell_type": "markdown",
"id": "77c20fe3",
"metadata": {},
"source": [
"## creek_model.py"
]
},
{
"cell_type": "code",
"execution_count": 14,
"id": "b7e04117",
"metadata": {
"Collapsed": "false",
"tags": [
"remove-input"
]
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"from pyshop import ShopSession\n",
"import pandas as pd\n",
"import numpy as np\n",
"\n",
"def build_model() -> ShopSession:\n",
"\n",
" shop = ShopSession()\n",
"\n",
" shop.set_time_resolution(pd.Timestamp(\"2024-01-01\"), pd.Timestamp(\"2024-01-02\"), \"hour\")\n",
"\n",
" rsv = shop.model.reservoir.add_object(\"Reservoir\")\n",
" rsv.lrl.set(80)\n",
" rsv.hrl.set(100)\n",
" rsv.max_vol.set(50)\n",
" rsv.vol_head.set(pd.Series([80,85,90,95,100,102], index=[0,5,12,20,50,60]))\n",
"\n",
" creek1 = shop.model.reservoir.add_object(\"Creek1\")\n",
" creek1.lrl.set(80)\n",
" creek1.hrl.set(110)\n",
" creek1.max_vol.set(0.001)\n",
" creek1.vol_head.set(pd.Series([80,110,140], index=[0,0.001,0.002]))\n",
"\n",
" creek2 = shop.model.reservoir.add_object(\"Creek2\")\n",
" creek2.lrl.set(80)\n",
" creek2.hrl.set(105)\n",
" creek2.max_vol.set(0.001)\n",
" creek2.vol_head.set(pd.Series([80,105,130], index=[0,0.001,0.002]))\n",
"\n",
" creek3 = shop.model.reservoir.add_object(\"Creek3\")\n",
" creek3.lrl.set(80)\n",
" creek3.hrl.set(101)\n",
" creek3.max_vol.set(0.001)\n",
" creek3.vol_head.set(pd.Series([80,101,121], index=[0,0.001,0.002]))\n",
"\n",
" tunnel1 = shop.model.tunnel.add_object(\"Rsv_N1\")\n",
" tunnel1.start_height.set(80)\n",
" tunnel1.end_height.set(80)\n",
" tunnel1.loss_factor.set(0.00015)\n",
"\n",
" tunnel2 = shop.model.tunnel.add_object(\"N1_N2\")\n",
" tunnel2.start_height.set(80)\n",
" tunnel2.end_height.set(80)\n",
" tunnel2.loss_factor.set(0.000025)\n",
"\n",
" tunnel3 = shop.model.tunnel.add_object(\"N2_N3\")\n",
" tunnel3.start_height.set(80)\n",
" tunnel3.end_height.set(80)\n",
" tunnel3.loss_factor.set(0.000025)\n",
"\n",
" tunnel4 = shop.model.tunnel.add_object(\"N3_plant\")\n",
" tunnel4.start_height.set(80)\n",
" tunnel4.end_height.set(0)\n",
" tunnel4.loss_factor.set(0.0008)\n",
"\n",
" tunnelC1 = shop.model.tunnel.add_object(\"Creek1_N1\")\n",
" tunnelC1.start_height.set(80)\n",
" tunnelC1.end_height.set(80)\n",
" tunnelC1.loss_factor.set(1e-6)\n",
"\n",
" tunnelC2 = shop.model.tunnel.add_object(\"Creek2_N2\")\n",
" tunnelC2.start_height.set(80)\n",
" tunnelC2.end_height.set(80)\n",
" tunnelC2.loss_factor.set(1e-6)\n",
"\n",
" tunnelC3 = shop.model.tunnel.add_object(\"Creek3_N3\")\n",
" tunnelC3.start_height.set(80)\n",
" tunnelC3.end_height.set(80)\n",
" tunnelC3.loss_factor.set(1e-6)\n",
"\n",
" river1 = shop.model.river.add_object(\"Spill_rsv\")\n",
" river1.upstream_elevation.set(100)\n",
" river1.up_head_flow_curve.set([pd.Series([0,50],index=[100,102], name=0)])\n",
" river1.flow_cost.set(1000)\n",
"\n",
" river2 = shop.model.river.add_object(\"Spill_C1\")\n",
" river2.upstream_elevation.set(110)\n",
" river2.up_head_flow_curve.set([pd.Series([0,50],index=[110,112], name=0)])\n",
"\n",
" river3 = shop.model.river.add_object(\"Spill_C2\")\n",
" river3.upstream_elevation.set(105)\n",
" river3.up_head_flow_curve.set([pd.Series([0,50],index=[105,107], name=0)])\n",
"\n",
" river4 = shop.model.river.add_object(\"Spill_C3\")\n",
" river4.upstream_elevation.set(101)\n",
" river4.up_head_flow_curve.set([pd.Series([0,50],index=[101,102], name=0)])\n",
"\n",
" plant = shop.model.plant.add_object(\"Plant\")\n",
" plant.outlet_line.set(0)\n",
" plant.main_loss.set([0])\n",
" plant.penstock_loss.set([0.0001, 0.0002])\n",
"\n",
" q = [5,7.5,10,12.5,15,17.5,20,22.5,25,27.5,30,32.5,35,37.5,40,42.5,45,47.5,50]\n",
" eff = [80.0, 82.15033783783784, 84.12612612612612, 85.92736486486487, 87.55405405405406, 89.00619369369369, 90.28378378378379, 91.38682432432432, 92.31531531531532, 93.06925675675676, 93.64864864864865, 94.053490990991, 94.28378378378379, 94.33952702702703, 94.22072072072072, 93.92736486486487, 93.45945945945945, 92.81700450450451, 92.0]\n",
"\n",
" gen1 = shop.model.generator.add_object(\"G1\")\n",
" gen1.penstock.set(1)\n",
" gen1.p_min.set(5)\n",
" gen1.p_max.set(35)\n",
" gen1.p_nom.set(35)\n",
" gen1.gen_eff_curve.set(pd.Series([95,95],index=[5,35]))\n",
" gen1.turb_eff_curves.set([pd.Series(eff,index=q, name=70), pd.Series(np.array(eff)+2,index=q,name=100)])\n",
" gen1.startcost.set(500)\n",
"\n",
" gen2 = shop.model.generator.add_object(\"G2\")\n",
" gen2.penstock.set(2)\n",
" gen2.p_min.set(5)\n",
" gen2.p_max.set(35)\n",
" gen2.p_nom.set(35)\n",
" gen2.gen_eff_curve.set(pd.Series([95,95],index=[5,35]))\n",
" gen2.turb_eff_curves.set([pd.Series(eff,index=q, name=70), pd.Series(np.array(eff)+2,index=q,name=100)])\n",
" gen2.startcost.set(500)\n",
"\n",
" rsv.connect_to(tunnel1)\n",
" tunnel1.connect_to(tunnel2)\n",
" tunnel2.connect_to(tunnel3)\n",
" tunnel3.connect_to(tunnel4)\n",
" tunnel4.connect_to(plant)\n",
"\n",
" creek1.connect_to(tunnelC1)\n",
" tunnelC1.connect_to(tunnel2)\n",
"\n",
" creek2.connect_to(tunnelC2)\n",
" tunnelC2.connect_to(tunnel3)\n",
"\n",
" creek3.connect_to(tunnelC3)\n",
" tunnelC3.connect_to(tunnel4)\n",
"\n",
" rsv.connect_to(river1)\n",
" creek1.connect_to(river2)\n",
" creek2.connect_to(river3)\n",
" creek3.connect_to(river4)\n",
"\n",
"\n",
" plant.connect_to(gen1)\n",
" plant.connect_to(gen2)\n",
"\n",
" market = shop.model.market.add_object(\"spot\")\n",
"\n",
" t = [pd.Timestamp(\"2024-01-01\") + pd.Timedelta(hours=i) for i in range(24)]\n",
" p = [29.56,28.46,26.66,24.48,24.01,21.23,22.62,25.04,26.24,32.21,41.34,43.51,43.02,44.29,46.24,50.61,59.47,64.99,61.74,55.07,48.01,44.01,45.20,38.00]\n",
" market.sale_price.set(pd.Series(p, index=t))\n",
" market.max_sale.set(10000)\n",
"\n",
" for r in shop.model.reservoir:\n",
" r.energy_value_input.set(40)\n",
"\n",
" return shop\n"
]
}
],
"source": [
"with open('creek_model.py', 'r') as f:\n",
" print(f.read())"
]
}
],
"metadata": {
"jupytext": {
"text_representation": {
"extension": ".md",
"format_name": "myst",
"format_version": 0.13,
"jupytext_version": "1.16.2"
}
},
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.12.11"
},
"source_map": [
12,
21,
29,
33,
36,
40,
61,
70,
76,
83,
89,
94,
100,
108,
114,
144,
150,
185,
189,
208,
212,
232,
238,
268,
274,
309,
313,
334,
338,
358,
362
]
},
"nbformat": 4,
"nbformat_minor": 5
}