Merge branch 'master' into voronoi

This commit is contained in:
Fabian Neumann 2022-03-29 09:08:35 +02:00 committed by GitHub
commit a4132919a0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 15 additions and 15 deletions

View File

@ -37,6 +37,7 @@ dependencies:
- pyomo - pyomo
- matplotlib - matplotlib
- proj - proj
- fiona <= 1.18.20 # Till issue https://github.com/Toblerity/Fiona/issues/1085 is not solved
# Keep in conda environment when calling ipython # Keep in conda environment when calling ipython
- ipython - ipython

View File

@ -120,7 +120,7 @@ def load_network_for_plots(fn, tech_costs, config, combine_hydro_ps=True):
# n.storage_units.loc[bus_carrier == "heat","carrier"] = "water tanks" # n.storage_units.loc[bus_carrier == "heat","carrier"] = "water tanks"
Nyears = n.snapshot_weightings.objective.sum() / 8760. Nyears = n.snapshot_weightings.objective.sum() / 8760.
costs = load_costs(Nyears, tech_costs, config['costs'], config['electricity']) costs = load_costs(tech_costs, config['costs'], config['electricity'], Nyears)
update_transmission_costs(n, costs) update_transmission_costs(n, costs)
return n return n

View File

@ -20,8 +20,7 @@ Description
""" """
import logging import logging
from _helpers import (retrieve_snakemake_keys, load_network_for_plots, from _helpers import (load_network_for_plots, aggregate_p, aggregate_costs, configure_logging)
aggregate_p, aggregate_costs, configure_logging)
import pandas as pd import pandas as pd
import numpy as np import numpy as np
@ -75,7 +74,7 @@ def set_plot_style():
}]) }])
def plot_map(n, ax=None, attribute='p_nom', opts={}): def plot_map(n, opts, ax=None, attribute='p_nom'):
if ax is None: if ax is None:
ax = plt.gca() ax = plt.gca()
@ -182,7 +181,7 @@ def plot_map(n, ax=None, attribute='p_nom', opts={}):
return fig return fig
def plot_total_energy_pie(n, ax=None): def plot_total_energy_pie(n, opts, ax=None):
if ax is None: ax = plt.gca() if ax is None: ax = plt.gca()
ax.set_title('Energy per technology', fontdict=dict(fontsize="medium")) ax.set_title('Energy per technology', fontdict=dict(fontsize="medium"))
@ -200,7 +199,7 @@ def plot_total_energy_pie(n, ax=None):
t1.remove() t1.remove()
t2.remove() t2.remove()
def plot_total_cost_bar(n, ax=None): def plot_total_cost_bar(n, opts, ax=None):
if ax is None: ax = plt.gca() if ax is None: ax = plt.gca()
total_load = (n.snapshot_weightings.generators * n.loads_t.p.sum(axis=1)).sum() total_load = (n.snapshot_weightings.generators * n.loads_t.p.sum(axis=1)).sum()
@ -259,25 +258,25 @@ if __name__ == "__main__":
set_plot_style() set_plot_style()
paths, config, wildcards, logs, out = retrieve_snakemake_keys(snakemake) config, wildcards = snakemake.config, snakemake.wildcards
map_figsize = config['map']['figsize'] map_figsize = config["plotting"]['map']['figsize']
map_boundaries = config['map']['boundaries'] map_boundaries = config["plotting"]['map']['boundaries']
n = load_network_for_plots(paths.network, paths.tech_costs, config) n = load_network_for_plots(snakemake.input.network, snakemake.input.tech_costs, config)
scenario_opts = wildcards.opts.split('-') scenario_opts = wildcards.opts.split('-')
fig, ax = plt.subplots(figsize=map_figsize, subplot_kw={"projection": ccrs.PlateCarree()}) fig, ax = plt.subplots(figsize=map_figsize, subplot_kw={"projection": ccrs.PlateCarree()})
plot_map(n, ax, wildcards.attr, config) plot_map(n, config["plotting"], ax=ax, attribute=wildcards.attr)
fig.savefig(out.only_map, dpi=150, bbox_inches='tight') fig.savefig(snakemake.output.only_map, dpi=150, bbox_inches='tight')
ax1 = fig.add_axes([-0.115, 0.625, 0.2, 0.2]) ax1 = fig.add_axes([-0.115, 0.625, 0.2, 0.2])
plot_total_energy_pie(n, ax1) plot_total_energy_pie(n, config["plotting"], ax=ax1)
ax2 = fig.add_axes([-0.075, 0.1, 0.1, 0.45]) ax2 = fig.add_axes([-0.075, 0.1, 0.1, 0.45])
plot_total_cost_bar(n, ax2) plot_total_cost_bar(n, config["plotting"], ax=ax2)
ll = wildcards.ll ll = wildcards.ll
ll_type = ll[0] ll_type = ll[0]
@ -287,4 +286,4 @@ if __name__ == "__main__":
fig.suptitle('Expansion to {amount} {label} at {clusters} clusters' fig.suptitle('Expansion to {amount} {label} at {clusters} clusters'
.format(amount=amnt, label=lbl, clusters=wildcards.clusters)) .format(amount=amnt, label=lbl, clusters=wildcards.clusters))
fig.savefig(out.ext, transparent=True, bbox_inches='tight') fig.savefig(snakemake.output.ext, transparent=True, bbox_inches='tight')