Skip to content

Commit

Permalink
Allow user-defind geographical boundaries
Browse files Browse the repository at this point in the history
  • Loading branch information
ClaraBuettner committed Oct 30, 2023
1 parent c8bc717 commit 6c97eaa
Showing 1 changed file with 17 additions and 11 deletions.
28 changes: 17 additions & 11 deletions etrago/tools/plot.py
Original file line number Diff line number Diff line change
Expand Up @@ -1750,7 +1750,7 @@ def calc_network_expansion(network, method="abs", ext_min=0.1):
return network, extension_lines, extension_links


def plot_background_grid(network, ax):
def plot_background_grid(network, ax, geographical_boundaries):
"""Plots grid topology in background of other network.plot
Parameters
Expand All @@ -1759,6 +1759,8 @@ def plot_background_grid(network, ax):
Overall container of PyPSA
ax : matplotlib.axes._subplots.AxesSubplot
axes of plot
geographical_boundaries : list
Set georaphical boundaries for the plots
Returns
-------
Expand All @@ -1779,7 +1781,7 @@ def plot_background_grid(network, ax):
geomap=True,
projection=ccrs.PlateCarree(),
color_geomap=True,
boundaries=[-2.5, 16, 46.8, 58],
boundaries=geographical_boundaries,
)
else:
network.plot(
Expand Down Expand Up @@ -2323,6 +2325,7 @@ def plot_grid(
"heat": 0.1,
"battery": 10,
},
geographical_boundaries=[-2.5, 16, 46.8, 58],
):
"""Function that plots etrago.network and results for lines and buses
Expand Down Expand Up @@ -2384,6 +2387,9 @@ def plot_grid(
Set scaling values to be used per technology for the plots
storage_expansion and h2_battery_storage_expansion. The default is
{"H2": 50, "heat": 0.1, "battery": 10}
geographical_boundaries : list, optional
Set georaphical boundaries for the plots The default is
[-2.5, 16, 46.8, 58]
Returns
-------
Expand Down Expand Up @@ -2438,7 +2444,7 @@ def plot_grid(
link_widths = link_colors.apply(lambda x: 10 if x != 0 else 0)
line_widths = 10
label = "line loading in p.u."
plot_background_grid(network, ax)
plot_background_grid(network, ax, geographical_boundaries)
# Only active flow direction is displayed!
flow = pd.Series(1, index=network.branches().index, dtype="float64")
flow.iloc[flow.index.get_level_values("component") == "Line"] = (
Expand Down Expand Up @@ -2477,14 +2483,14 @@ def plot_grid(
label = "v_nom in kV"
line_colors = network.lines.v_nom
link_colors = pd.Series(data=0, index=network.links.index)
plot_background_grid(network, ax)
plot_background_grid(network, ax, geographical_boundaries)
elif line_colors == "expansion_abs":
title = "Network expansion"
label = "network expansion in GVA"
all_network, line_colors, link_colors = calc_network_expansion(
network, method="abs", ext_min=ext_min
)
plot_background_grid(all_network, ax)
plot_background_grid(all_network, ax, geographical_boundaries)

if ext_width is not False:
line_widths = line_colors / ext_width
Expand All @@ -2506,7 +2512,7 @@ def plot_grid(
all_network, line_colors, link_colors = calc_network_expansion(
network, method="rel", ext_min=ext_min
)
plot_background_grid(all_network, ax)
plot_background_grid(all_network, ax, geographical_boundaries)
if ext_width is not False:
line_widths = 0.5 + (line_colors / ext_width)
link_widths = link_colors.apply(
Expand All @@ -2526,11 +2532,11 @@ def plot_grid(
if ext_width is not False:
line_widths = 0.5 + (line_colors / ext_width)
link_colors = pd.Series(data=0, index=network.links.index)
plot_background_grid(network, ax)
plot_background_grid(network, ax, geographical_boundaries)
elif line_colors == "dlr":
title = "Dynamic line rating"
label = "TWh above nominal capacity"
plot_background_grid(network, ax)
plot_background_grid(network, ax, geographical_boundaries)

# calc min capacity per line in the given period: Since lines with
# different original voltage level could be aggregated during the
Expand Down Expand Up @@ -2563,7 +2569,7 @@ def plot_grid(
label = ""
line_colors = "grey"
link_colors = "grey"
plot_background_grid(network, ax)
plot_background_grid(network, ax, geographical_boundaries)
link_widths = 0
line_widths = 0

Expand Down Expand Up @@ -2714,7 +2720,7 @@ def plot_grid(
geomap=False,
projection=ccrs.PlateCarree(),
color_geomap=True,
boundaries=[-2.5, 16, 46.8, 58],
boundaries=geographical_boundaries,
)
else:
ll = network.plot(
Expand All @@ -2729,7 +2735,7 @@ def plot_grid(
flow=flow,
title=title,
geomap=False,
boundaries=[-2.5, 16, 46.8, 58],
boundaries=geographical_boundaries,
)
l3 = None

Expand Down

0 comments on commit 6c97eaa

Please sign in to comment.