Merge branch 'master' of github.com:PyPSA/pypsa-eur

This commit is contained in:
Fabian Neumann 2022-12-28 15:10:54 +01:00
commit 58c0242312
5 changed files with 30 additions and 15 deletions

View File

@ -263,6 +263,8 @@ clustering:
algorithm: kmeans # choose from: [hac, kmeans]
feature: solar+onwind-time # only for hac. choose from: [solar+onwind-time, solar+onwind-cap, solar-time, solar-cap, solar+offwind-cap] etc.
exclude_carriers: []
remove_stubs: true
remove_stubs_across_borders: true
cluster_network:
algorithm: kmeans
feature: solar+onwind-time

View File

@ -24,3 +24,5 @@ Gridlink,Kingsnorth (UK),Warande (FR),160,,1400,in permitting,,https://tyndp.ent
NeuConnect,Grain (UK),Fedderwarden (DE),680,,1400,in permitting,,https://tyndp.entsoe.eu/tyndp2018/projects/projects/309,0.716666666666667,51.44,8.046524,53.562763
NordBalt,Klaipeda (LT),Nybro (SE),450,,700,built,,https://en.wikipedia.org/wiki/NordBalt,21.256667,55.681667,15.854167,56.767778
Estlink 1,Harku (EE),Espoo (FI),105,,350,built,,https://en.wikipedia.org/wiki/Estlink,24.560278,59.384722,24.551667,60.203889
Greenlink,Waterford (IE),Pembroke (UK),,180,500,under construction,,https://tyndp2022-project-platform.azurewebsites.net/projectsheets/transmission/286,-6.987,52.260,-4.986,51.686
Celtic Interconnector,Aghada (IE),La Martyre (FR),,572,700,under consideration,,https://tyndp2022-project-platform.azurewebsites.net/projectsheets/transmission/107,-8.16642,51.91413,-4.184,48.459

1 Name Converterstation 1 Converterstation 2 Length (given) (km) Length (distance*1.2) (km) Power (MW) status replaces Ref x1 y1 x2 y2
24 NeuConnect Grain (UK) Fedderwarden (DE) 680 1400 in permitting https://tyndp.entsoe.eu/tyndp2018/projects/projects/309 0.716666666666667 51.44 8.046524 53.562763
25 NordBalt Klaipeda (LT) Nybro (SE) 450 700 built https://en.wikipedia.org/wiki/NordBalt 21.256667 55.681667 15.854167 56.767778
26 Estlink 1 Harku (EE) Espoo (FI) 105 350 built https://en.wikipedia.org/wiki/Estlink 24.560278 59.384722 24.551667 60.203889
27 Greenlink Waterford (IE) Pembroke (UK) 180 500 under construction https://tyndp2022-project-platform.azurewebsites.net/projectsheets/transmission/286 -6.987 52.260 -4.986 51.686
28 Celtic Interconnector Aghada (IE) La Martyre (FR) 572 700 under consideration https://tyndp2022-project-platform.azurewebsites.net/projectsheets/transmission/107 -8.16642 51.91413 -4.184 48.459

View File

@ -36,12 +36,20 @@ Link:
"5583": "7428" # bus0 == bus1 to remove link in remove_unconnected_components (Sardinia)
"13588": "7428" # bus0 == bus1 to remove link in remove_unconnected_components (Sardinia)
"T23": "6355" # bus0 == bus1 to remove link in remove_unconnected_components (NordBalt)
"14815": "5939" # Kainachtal
"8706": "6448"
bus1:
index:
"12931": "8152" # BorWin3
"5582": "2382" # combine link 5583 + 5582 in 5582 (Sardinia)
"13589": "1349" # combine link 13589 + 13588 in 13589 (Sardinia)
"14820": "6354" # NordBalt
"14810": "6365" # Skagerrak
"8708": "6448"
"8394": "6695"
"14813": "7052"
"8009": "5939"
"5601": "7052" # Link Sweden - Lübeck
length:
index:
"5582": 26.39 # new length of combined links (sum)
@ -53,6 +61,7 @@ Line:
bus0:
index:
"14573": "7179" #fix bus-id substation in PT (220/380kV issue)
"14756": "8577" # Deeside connection
v_nom:
index:
"14573": 220 # 220/380kV issue of substation in PT

View File

@ -129,6 +129,8 @@ def countries(naturalearth, country_list):
s = df.set_index("name")["geometry"].map(_simplify_polys)
if "RS" in country_list:
s["RS"] = s["RS"].union(s.pop("KV"))
# cleanup shape union
s["RS"] = Polygon(s["RS"].exterior.coords)
return s

View File

@ -395,7 +395,9 @@ def simplify_links(n, costs, config, output, aggregation_strategies=dict()):
def remove_stubs(n, costs, config, output, aggregation_strategies=dict()):
logger.info("Removing stubs")
busmap = busmap_by_stubs(n) # ['country'])
across_borders = config["clustering"]["simplify_network"].get("remove_stubs_across_borders", True)
matching_attrs = [] if across_borders else ['country']
busmap = busmap_by_stubs(n, matching_attrs)
connection_costs_to_bus = _compute_connection_costs_to_bus(n, busmap, costs, config)
@ -530,22 +532,20 @@ if __name__ == "__main__":
n, technology_costs, snakemake.config, snakemake.output, aggregation_strategies
)
n, stub_map = remove_stubs(
n,
technology_costs,
snakemake.config,
snakemake.output,
aggregation_strategies=aggregation_strategies,
)
busmaps = [trafo_map, simplify_links_map]
busmaps = [trafo_map, simplify_links_map, stub_map]
cluster_config = snakemake.config["clustering"]["simplify_network"]
if cluster_config.get("remove_stubs", True):
n, stub_map = remove_stubs(
n,
technology_costs,
snakemake.config,
snakemake.output,
aggregation_strategies=aggregation_strategies,
)
busmaps.append(stub_map)
cluster_config = snakemake.config.get("clustering", {}).get("simplify_network", {})
if (
cluster_config.get("clustering", {})
.get("simplify_network", {})
.get("to_substations", False)
):
if cluster_config.get("to_substations", False):
n, substation_map = aggregate_to_substations(n, aggregation_strategies)
busmaps.append(substation_map)