Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions doc/release_notes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@ Release Notes
Upcoming Release
================

* The Snakemake config is now stored in `n.meta["snakemake_config"]` instead of
overwriting the entire `n.meta` to allow for additional metadata fields to be set.

* Fixed `AttributeError` in `prepare_sector_network.py` when running sector-coupled
PyPSA-Eur with only one country and cluster.
(https://github.com/PyPSA/pypsa-eur/pull/1835)
Expand Down
4 changes: 3 additions & 1 deletion scripts/add_brownfield.py
Original file line number Diff line number Diff line change
Expand Up @@ -372,7 +372,9 @@ def update_dynamic_ptes_capacity(

disable_grid_expansion_if_limit_hit(n)

n.meta = dict(snakemake.config, **dict(wildcards=dict(snakemake.wildcards)))
n.meta["snakemake_config"] = dict(
snakemake.config, **dict(wildcards=dict(snakemake.wildcards))
)

sanitize_custom_columns(n)
sanitize_carriers(n, snakemake.config)
Expand Down
4 changes: 3 additions & 1 deletion scripts/add_electricity.py
Original file line number Diff line number Diff line change
Expand Up @@ -1290,5 +1290,7 @@ def attach_stores(
if "location" in n.buses:
sanitize_locations(n)

n.meta = dict(snakemake.config, **dict(wildcards=dict(snakemake.wildcards)))
n.meta["snakemake_config"] = dict(
snakemake.config, **dict(wildcards=dict(snakemake.wildcards))
)
n.export_to_netcdf(snakemake.output[0])
4 changes: 3 additions & 1 deletion scripts/add_existing_baseyear.py
Original file line number Diff line number Diff line change
Expand Up @@ -801,7 +801,9 @@ def add_heating_capacities_installed_before_baseyear(
if options.get("cluster_heat_buses", False):
cluster_heat_buses(n)

n.meta = dict(snakemake.config, **dict(wildcards=dict(snakemake.wildcards)))
n.meta["snakemake_config"] = dict(
snakemake.config, **dict(wildcards=dict(snakemake.wildcards))
)

sanitize_custom_columns(n)
sanitize_carriers(n, snakemake.config)
Expand Down
2 changes: 1 addition & 1 deletion scripts/base_network.py
Original file line number Diff line number Diff line change
Expand Up @@ -1644,7 +1644,7 @@ def build_admin_shapes(
)

# Export network
n.meta = snakemake.config
n.meta["snakemake_config"] = snakemake.config
n.export_to_netcdf(snakemake.output.base_network)

# Export shapes
Expand Down
4 changes: 3 additions & 1 deletion scripts/prepare_network.py
Original file line number Diff line number Diff line change
Expand Up @@ -364,5 +364,7 @@ def set_line_nom_max(
only_crossborder = snakemake.params.autarky["by_country"]
enforce_autarky(n, only_crossborder=only_crossborder)

n.meta = dict(snakemake.config, **dict(wildcards=dict(snakemake.wildcards)))
n.meta["snakemake_config"] = dict(
snakemake.config, **dict(wildcards=dict(snakemake.wildcards))
)
n.export_to_netcdf(snakemake.output[0])
4 changes: 3 additions & 1 deletion scripts/prepare_perfect_foresight.py
Original file line number Diff line number Diff line change
Expand Up @@ -673,7 +673,9 @@ def update_heat_pump_efficiency(n: pypsa.Network, years: list[int]) -> None:
)

# update meta
n.meta = dict(snakemake.config, **dict(wildcards=dict(snakemake.wildcards)))
n.meta["snakemake_config"] = dict(
snakemake.config, **dict(wildcards=dict(snakemake.wildcards))
)

# update heat pump efficiency
update_heat_pump_efficiency(n=n, years=years)
Expand Down
4 changes: 3 additions & 1 deletion scripts/prepare_sector_network.py
Original file line number Diff line number Diff line change
Expand Up @@ -6498,7 +6498,9 @@ def add_import_options(
n, snakemake.params["adjustments"], investment_year
)

n.meta = dict(snakemake.config, **dict(wildcards=dict(snakemake.wildcards)))
n.meta["snakemake_config"] = dict(
snakemake.config, **dict(wildcards=dict(snakemake.wildcards))
)

sanitize_carriers(n, snakemake.config)
sanitize_locations(n)
Expand Down
4 changes: 3 additions & 1 deletion scripts/simplify_network.py
Original file line number Diff line number Diff line change
Expand Up @@ -495,7 +495,9 @@ def remove_converters(n: pypsa.Network) -> pypsa.Network:
clustered_regions.to_file(snakemake.output[which])
# append_bus_shapes(n, clustered_regions, type=which.split("_")[1])

n.meta = dict(snakemake.config, **dict(wildcards=dict(snakemake.wildcards)))
n.meta["snakemake_config"] = dict(
snakemake.config, **dict(wildcards=dict(snakemake.wildcards))
)
n.export_to_netcdf(snakemake.output.network)

logger.info(
Expand Down
4 changes: 3 additions & 1 deletion scripts/solve_network.py
Original file line number Diff line number Diff line change
Expand Up @@ -1436,7 +1436,9 @@ def solve_network(

logger.info(f"Maximum memory usage: {mem.mem_usage}")

n.meta = dict(snakemake.config, **dict(wildcards=dict(snakemake.wildcards)))
n.meta["snakemake_config"] = dict(
snakemake.config, **dict(wildcards=dict(snakemake.wildcards))
)
n.export_to_netcdf(snakemake.output.network)

with open(snakemake.output.config, "w") as file:
Expand Down
4 changes: 3 additions & 1 deletion scripts/solve_operations_network.py
Original file line number Diff line number Diff line change
Expand Up @@ -55,5 +55,7 @@
rule_name=snakemake.rule,
)

n.meta = dict(snakemake.config, **dict(wildcards=dict(snakemake.wildcards)))
n.meta["snakemake_config"] = dict(
snakemake.config, **dict(wildcards=dict(snakemake.wildcards))
)
n.export_to_netcdf(snakemake.output[0])
Loading