Automatic plotting of network maps with costs per node

This commit is contained in:
Tom Brown 2019-05-13 17:09:26 +02:00
parent 52a02bd979
commit 77bef57c60
2 changed files with 16 additions and 16 deletions

View File

@ -203,18 +203,19 @@ rule solve_network:
rule plot_network: rule plot_network:
input: input:
network="results/networks/{network}_s{simpl}_{clusters}_lv{lv}_{opts}.nc", network=config['results_dir'] + config['run'] + "/postnetworks/elec_s{simpl}_{clusters}_lv{lv}_{opts}_{sector_opts}.nc"
supply_regions='data/supply_regions/supply_regions.shp',
resarea=lambda w: config['data']['resarea'][w.resarea],
costs='data/costs.csv'
output: output:
only_map="results/plots/{network}_s{simpl}_{clusters}_lv{lv}_{opts}_{attr}.pdf", map=config['results_dir'] + config['run'] + "/maps/elec_s{simpl}_{clusters}_lv{lv}_{opts}_{sector_opts}-costs-all.pdf",
ext="results/plots/{network}_s{simpl}_{clusters}_lv{lv}_{opts}_{attr}_ext.pdf" today=config['results_dir'] + config['run'] + "/maps/elec_s{simpl}_{clusters}_lv{lv}_{opts}_{sector_opts}-today.pdf"
threads: 2
resources: mem_mb=10000
script: "scripts/plot_network.py" script: "scripts/plot_network.py"
rule make_summary: rule make_summary:
input: input:
expand(config['results_dir'] + config['run'] + "/postnetworks/elec_s{simpl}_{clusters}_lv{lv}_{opts}_{sector_opts}.nc", networks=expand(config['results_dir'] + config['run'] + "/postnetworks/elec_s{simpl}_{clusters}_lv{lv}_{opts}_{sector_opts}.nc",
**config['scenario']),
plots=expand(config['results_dir'] + config['run'] + "/maps/elec_s{simpl}_{clusters}_lv{lv}_{opts}_{sector_opts}-costs-all.pdf",
**config['scenario']) **config['scenario'])
#heat_demand_name='data/heating/daily_heat_demand.h5' #heat_demand_name='data/heating/daily_heat_demand.h5'
output: output:

View File

@ -94,7 +94,7 @@ def assign_location(n):
def plot_map(components=["links","stores","storage_units","generators"],bus_size_factor=1.7e10,suffix="all"): def plot_map(components=["links","stores","storage_units","generators"],bus_size_factor=1.7e10):
n = pypsa.Network(snakemake.input.network, n = pypsa.Network(snakemake.input.network,
override_component_attrs=override_component_attrs) override_component_attrs=override_component_attrs)
@ -198,10 +198,7 @@ def plot_map(components=["links","stores","storage_units","generators"],bus_size
fig.tight_layout() fig.tight_layout()
fig.savefig("{}/{}/graphs/{}-CO0-spatial-costs-{}.pdf".format(snakemake.config['summary_dir'], fig.savefig(snakemake.output.map,transparent=True)
snakemake.config['run'],
snakemake.input.scenario.replace(".","p"),
suffix),transparent=True)
def plot_map_without(): def plot_map_without():
@ -264,9 +261,7 @@ def plot_map_without():
fig.tight_layout() fig.tight_layout()
fig.savefig("{}/{}/graphs/today.pdf".format(snakemake.config['summary_dir'], fig.savefig(snakemake.output.today,transparent=True)
snakemake.config['run']),
transparent=True)
def plot_series(carrier="AC"): def plot_series(carrier="AC"):
@ -382,14 +377,18 @@ if __name__ == "__main__":
with open('config.yaml') as f: with open('config.yaml') as f:
snakemake.config = yaml.load(f) snakemake.config = yaml.load(f)
snakemake.input = Dict() snakemake.input = Dict()
snakemake.output = Dict()
snakemake.input.scenario = "lv1.0" #lv1.0, lv1.25, lvopt snakemake.input.scenario = "lv1.0" #lv1.0, lv1.25, lvopt
snakemake.config["run"] = "190503-es2050-lv" snakemake.config["run"] = "190503-es2050-lv"
snakemake.input.network = "{}{}/postnetworks/elec_s_181_{}__Co2L0-3H-T-H-B-I-solar3.nc".format(snakemake.config['results_dir'], snakemake.input.network = "{}{}/postnetworks/elec_s_181_{}__Co2L0-3H-T-H-B-I-solar3.nc".format(snakemake.config['results_dir'],
snakemake.config['run'], snakemake.config['run'],
snakemake.input.scenario) snakemake.input.scenario)
snakemake.output.network = "{}{}/maps/elec_s_181_{}__Co2L0-3H-T-H-B-I-solar3.pdf".format(snakemake.config['results_dir'],
snakemake.config['run'],
snakemake.input.scenario)
plot_map(components=["generators","links","stores","storage_units"],bus_size_factor=1.5e10,suffix="all") plot_map(components=["generators","links","stores","storage_units"],bus_size_factor=1.5e10)
plot_map_without() plot_map_without()