Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
666adda
Renamed environments to pypsa-nrw
bobbyxng Jun 2, 2025
de48ce1
Initial finetuning and added subregional clustering for NRW
bobbyxng Jun 2, 2025
f5977b0
Added subregional clustering (e.g. NRW at NUTS3, rest of DE at NUTS1)
bobbyxng Jun 3, 2025
7df0bac
Merge upstream into pypsa-nrw
bobbyxng Aug 11, 2025
d02c56b
Merge upstream into main.
bobbyxng Sep 17, 2025
542eef9
Merge branch 'PyPSA:main' into main
bobbyxng Oct 15, 2025
62c3cce
Updated environments.
bobbyxng Oct 15, 2025
a4f71a4
Merge upstream into main.
bobbyxng Oct 21, 2025
77e353a
Updated environments, config to upstream PyPSA-DE/-Eur.
bobbyxng Oct 21, 2025
64cc8bb
Merge upstream into main.
bobbyxng Oct 30, 2025
555517b
Updated envs.
bobbyxng Oct 30, 2025
71b3349
Updated nrw config.
bobbyxng Oct 30, 2025
0879c76
Updated config
bobbyxng Oct 30, 2025
57c8b30
Fixed generator target subsetting.
bobbyxng Oct 31, 2025
6d0c9e0
Restore export_ariadne_variables.py
bobbyxng Oct 31, 2025
2609e63
Merge branch 'upstream'
bobbyxng Oct 31, 2025
5ad5636
Clean up solve_network.py
bobbyxng Oct 31, 2025
b41435a
Fixing balance maps.
bobbyxng Oct 31, 2025
8a565d8
Start implementing IN4climate/OGE planned European CO2 pipeline infra…
bobbyxng Nov 3, 2025
6c5e17d
Mapping of pipelines complete.
bobbyxng Nov 4, 2025
7f72cc6
First OGE CO2 grid implementation draft.
bobbyxng Nov 10, 2025
42adc02
Updated BE resolution.
bobbyxng Nov 10, 2025
b577054
Added CCU/CCS project collection kml.
bobbyxng Nov 10, 2025
3250c58
Bugfix, build_year in co2 pipelines.
bobbyxng Nov 10, 2025
8801aed
Added build_year to European CO2 network.
bobbyxng Nov 11, 2025
c265982
Updated config to include CO2 balance maps.
bobbyxng Nov 11, 2025
eefa764
Added underscore handling in plot_balance_map
bobbyxng Nov 11, 2025
5264cee
Bugfix config.
bobbyxng Nov 11, 2025
9589634
Added p_min_pu=0 for outgoing sequestration links. Force unidirection…
bobbyxng Nov 11, 2025
4371bfd
Changed NRW config to 2035, 2040, 2045
bobbyxng Nov 12, 2025
a36e340
Make export_ariadne_variables more robust, active_years.
bobbyxng Nov 12, 2025
843da4c
Make plot_ariadne_variables more robust.
bobbyxng Nov 12, 2025
aa246dc
Make plot_ariadne_variables more robust.
bobbyxng Nov 12, 2025
f11cd9d
Reduced sync-send.
bobbyxng Nov 14, 2025
0848432
Merge branch 'main' into eu-co2-pipes
bobbyxng Nov 14, 2025
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
14 changes: 7 additions & 7 deletions .sync-send
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@
#
# SPDX-License-Identifier: CC0-1.0

rules
scripts
config
config/test
envs
matplotlibrc
Snakefile
# rules
# scripts
# config
# config/test
# envs
# matplotlibrc
# Snakefile
24 changes: 24 additions & 0 deletions config/config.default.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -717,6 +717,30 @@ sector:
co2_spatial: true
co2_network: true
co2_network_cost_factor: 1
european_co2_pipelines:
enable: true
build_year: 2030
length_factor: 1.25
mtpa_utilisation_factor: 1
transport_volume_mtpa:
"Aramis": 22 # https://www.aramis-ccs.com/files/Aramis-brochure_aug24_ENG.pdf
"Acorn": 20 # >20 Mtpa, *2030
"Belgium backbone": 30 # "Nordsee CO2-Korridor DE-BE" *2030
"CO2TransPorts": 10 # Expected 2.5 Mtpa, however max at 10 Mtpa, see https://www.porthosco2.nl/en/faq
"CarbonConnect": 20 # 20-40 Mtpa, *?
"Delta Rhine Corridor": 45 # *?
"EU2NSEA": 20 # 20-40 Mtpa, *2029
"N-Lites": 10 # >10 Mtpa, *2026, transport capacity by 2030
"OGE": 18.8 # CCU/CCS project collection says 120 Mtpa, seems way too high
"PYCASSO": 8 # Project website says 1 Mtpa in first year, then 3 Mtpa, capacity unclear
co2_sequestration_potential: # Mtpa
"Acorn": 10 # 152 MtCO2 total capacity over 15 years https://www.scottish-enterprise.com/media/jhic3qav/ccus-economic-impact-assessment-report.pdf
"Aramis": 22 # 5 Mtpa at launch store, https://www.aramis-ccs.com/faq/, https://www.shell.com/what-we-do/carbon-capture-and-storage/shell-offshore-carbon-storage-nl/working-in-partnership.html
"CO2TransPorts": 2.5 # https://www.porthosco2.nl/en/project/
"CarbonConnect": 40 # ? based on upper bound of transport capacity
"East Mey": 33 # 500 MtCO2 total capacity over 15 years https://www.scottish-enterprise.com/media/jhic3qav/ccus-economic-impact-assessment-report.pdf
"EU2NSEA": 25 # https://ec.europa.eu/assets/cinea/PCI/files/PCIFiche_13.8_1st_PCI_PMI_list.pdf
"N-Lites": 5 # https://ec.europa.eu/assets/cinea/PCI/files/PMIFiche_13.13_1st_PCI_PMI_list.pdf
cc_fraction: 0.9
hydrogen_underground_storage: true
hydrogen_underground_storage_locations:
Expand Down
328 changes: 328 additions & 0 deletions config/config.nrw.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,328 @@
# SPDX-FileCopyrightText: : 2017-2023 The PyPSA-Eur Authors
#
# SPDX-License-Identifier: CC0-1.0

remote:
ssh: z1
path: scratch/projects/pypsa-nrw

# docs in https://pypsa-eur.readthedocs.io/en/latest/configuration.html#run
run:
prefix: nrw
name:
# - ExPol
- KN2045_Mix
# - KN2045_Elek
# - KN2045_H2
# - KN2045_NFniedrig
# - KN2045_NFhoch
scenarios:
enable: true
manual_file: config/scenarios.manual.yaml
file: config/scenarios.automated.yaml
shared_resources:
policy: base #stops recalculating
exclude:
- existing_heating.csv # specify files which should not be shared between scenarios
- costs
- retrieve_cost # This is necessary to save retrieve_cost_data_{year}.log in the correct folder
- industry_sector_ratios
- build_industry_sector_ratios # This is necessary to save build_industry_sector_ratios_data.log in the correct folder
- modify_existing_heating
disable_progressbar: true

pypsa-de:
retrieve_ariadne_database: false
leitmodelle: # Model data downloaded from public IIASA database 'ariadne2'
general: REMIND-EU v1.1
buildings: REMod v1.0
transport: Aladin v1
industry: FORECAST v1.0
reference_scenario: KN2045_Mix
region: Deutschland
ageb_for_mobility: true # In 2020 use AGEB data for final energy demand and KBA for vehicles
uba_for_mobility: false # For 2025–2035 use MWMS scenario from UBA Projektionsbericht 2025

# docs in https://pypsa-eur.readthedocs.io/en/latest/configuration.html#foresight
foresight: myopic

# docs in https://pypsa-eur.readthedocs.io/en/latest/configuration.html#scenario
# Wildcard docs in https://pypsa-eur.readthedocs.io/en/latest/wildcards.html
scenario:
ll:
- vopt
clusters:
- adm #current options: 27, 49
opts:
- ''
sector_opts:
- ''
planning_horizons:
- 2035
- 2040
- 2045

existing_capacities:
grouping_years_power: [1920, 1950, 1955, 1960, 1965, 1970, 1975, 1980, 1985, 1990, 1995, 2000, 2005, 2010, 2015, 2020]
grouping_years_heat: [1980, 1985, 1990, 1995, 2000, 2005, 2010, 2015, 2019] # heat grouping years >= baseyear will be ignored


# docs in https://pypsa-eur.readthedocs.io/en/latest/configuration.html#countries
# Germany plus 12 "Stromnachbarn"
countries: ['AT', 'BE', 'CH', 'CZ', 'DE', 'DK', 'FR', 'GB', 'LU', 'NL', 'NO', 'PL', 'SE', 'ES', 'IT']

# docs in https://pypsa-eur.readthedocs.io/en/latest/configuration.html#snapshots
snapshots:
start: "2019-01-01"
end: "2020-01-01"
inclusive: 'left'

atlite:
default_cutout: europe-2019-sarah3-era5
cutouts:
europe-2019-sarah3-era5:
module: [sarah, era5] # in priority order
x: [-12., 42.]
y: [33., 72]
dx: 0.3
dy: 0.3
time: ['2019', '2019']

renewable:
onwind:
cutout: europe-2019-sarah3-era5
offwind-ac:
cutout: europe-2019-sarah3-era5
offwind-dc:
cutout: europe-2019-sarah3-era5
offwind-float: # disabled at the moment
cutout: europe-2019-sarah3-era5
solar:
cutout: europe-2019-sarah3-era5
solar-hsat:
cutout: europe-2019-sarah3-era5
hydro:
cutout: europe-2019-sarah3-era5

lines:
dynamic_line_rating:
cutout: europe-2019-sarah3-era5

clustering:
mode: administrative
administrative:
level: 0
BE: 2
DE: 1
NL: 1
DEA: 3
temporal:
resolution_sector: 365H

wasserstoff_kernnetz:
enable: true
reload_locations: false
divide_pipes: true
pipes_segment_length: 50
border_crossing: true
aggregate_build_years: "mean"
recalculate_length: true
aggregate_parallel_pipes: true
ipcei_pci_only: false
cutoff_year: 2028
force_all_ipcei_pci: true

sector:
regional_co2_sequestration_potential:
enable: false
attribute:
- conservative estimate Mt
- conservative estimate GAS Mt
- conservative estimate OIL Mt
- conservative estimate aquifer Mt
include_onshore: false
min_size: 3
max_size: 25
years_of_storage: 25
co2_sequestration_potential:
2020: 0
2025: 0
2030: 137
2035: 137
2040: 137
2045: 137
2050: 137
co2_sequestration_cost: 30
co2_sequestration_lifetime: 50
co2_spatial: true
co2_network: false
co2_network_cost_factor: 1
european_co2_pipelines:
enable: true
build_year: 2030
length_factor: 1.25
mtpa_utilisation_factor: 1
transport_volume_mtpa:
"Aramis": 22 # https://www.aramis-ccs.com/files/Aramis-brochure_aug24_ENG.pdf
"Acorn": 20 # >20 Mtpa, *2030
"Belgium backbone": 30 # "Nordsee CO2-Korridor DE-BE" *2030
"CO2TransPorts": 10 # Expected 2.5 Mtpa, however max at 10 Mtpa, see https://www.porthosco2.nl/en/faq
"CarbonConnect": 20 # 20-40 Mtpa, *?
"Delta Rhine Corridor": 45 # *?
"EU2NSEA": 20 # 20-40 Mtpa, *2029
"N-Lites": 10 # >10 Mtpa, *2026, transport capacity by 2030
"OGE": 18.8 # CCU/CCS project collection says 120 Mtpa, seems way too high
"PYCASSO": 8 # Project website says 1 Mtpa in first year, then 3 Mtpa, capacity unclear
co2_sequestration_potential: # Mtpa
"Acorn": 10 # 152 MtCO2 total capacity over 15 years https://www.scottish-enterprise.com/media/jhic3qav/ccus-economic-impact-assessment-report.pdf
"Aramis": 22 # 5 Mtpa at launch store, https://www.aramis-ccs.com/faq/, https://www.shell.com/what-we-do/carbon-capture-and-storage/shell-offshore-carbon-storage-nl/working-in-partnership.html
"CarbonConnect": 40 # ? based on upper bound of transport capacity
"CO2TransPorts": 2.5 # https://www.porthosco2.nl/en/project/
"East Mey": 33 # 500 MtCO2 total capacity over 15 years https://www.scottish-enterprise.com/media/jhic3qav/ccus-economic-impact-assessment-report.pdf
"EU2NSEA": 25 # https://ec.europa.eu/assets/cinea/PCI/files/PCIFiche_13.8_1st_PCI_PMI_list.pdf
"N-Lites": 5 # https://ec.europa.eu/assets/cinea/PCI/files/PMIFiche_13.13_1st_PCI_PMI_list.pdf
# docs in https://pypsa-eur.readthedocs.io/en/latest/configuration.html#solving
solving:
runtime: 12h
mem_mb: 70000 #30000 is OK for 22 nodes, 365H; 140000 for 22 nodes 3H; 400000 for 44 nodes 3H
options:
assign_all_duals: true
load_shedding: false
skip_iterations: true # settings for post-discretization: false
min_iterations: 1 # settings for post-discretization: 1
max_iterations: 1 # settings for post-discretization: 1
post_discretization:
enable: false
line_unit_size: 1698
line_threshold: 0.3
link_unit_size:
DC: 1000
gas pipeline: 1500
gas pipeline new: 1500
H2 pipeline: 4700
H2 pipeline retrofitted: 4700
link_threshold:
DC: 0.3
gas pipeline: 0.3
gas pipeline new: 0.3
H2 pipeline: 0.05
H2 pipeline retrofitted: 0.05
fractional_last_unit_size: true
constraints:
# The default CO2 budget uses the KSG targets, and the non CO2 emissions from the REMIND model in the KN2045_Mix scenario
co2_budget_national:
DE:
2020: 0.671
2025: 0.523
2030: 0.346
2035: 0.216
2040: 0.09
2045: -0.05
2050: -0.048
efuel_export_ban: false
limits_capacity_max:
Generator:
onwind:
DE:
2020: 54.5
2025: 69
2030: 115 # EEG2023 Ziel für 2030
2035: 160 # EEG2023 Ziel für 2040
2040: 250
2045: 250
2050: 250
offwind:
DE:
2020: 7.8
2025: 11.3
2030: 29.3 # uba Projektionsbericht and NEP without delayed BalWin 3
2035: 50 # Planned projects until 2035 (offshore_connection_points.csv) -1.3 GW for potential delays
2040: 65 # Planned projects until 2040 -1.5 GW for potential retirments
2045: 70
2050: 70
solar:
DE:
2020: 53.7
2025: 110 # EEG2023; assumes for 2026: 128 GW, assuming a fair share reached by end of 2025
2030: 235 # PV Ziel 2030 + 20 GW
2035: 400
2040: 800
2045: 1000
2050: 1000
Store:
co2 sequestered:
DE:
2020: 0
2025: 0
2030: 10000
2035: 20000
2040: 50000
2045: 80000
2050: 80000
Link:
methanolisation:
DE:
2030: 5.7
2035: 5.7
2040: 5.7
2045: 5.7
2050: 5.7
Fischer-Tropsch:
DE:
2030: 2.5
2035: 2.5
2040: 2.5
2045: 2.5
2050: 2.5
HVC to air:
DE:
2020: 0 # all HVC in Germany is either burned or recycled
2025: 0
2030: 0
2035: 0
2040: 0
2045: 0
2050: 0
limits_capacity_min:
Generator:
onwind:
DE:
2030: 99 # Wind-an-Land Law 2028
2035: 115 # Wind-an-Land Law 2030
2040: 157 # target 2035
2045: 160 # target 2040
offwind:
DE:
2030: 22.5 # 75% Wind-auf-See Law
2035: 35
2040: 42
2045: 50
solar:
DE:
# EEG2023; Ziel for 2024: 88 GW and for 2026: 128 GW,
# assuming at least 1/3 of difference reached in 2025
2025: 101
Link:
H2 Electrolysis:
DE:
2030: 5

plotting:
countries:
- all
- DE
carriers:
- electricity
- heat
- H2
- urban central heat
- urban decentral heat
- rural heat
carrier_groups:
electricity: [AC, low_voltage]
balance_map:
bus_carriers:
- AC
- H2
- co2_stored

4 changes: 2 additions & 2 deletions config/plotting.default.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -162,8 +162,8 @@ plotting:
vmax:
region_unit: €/t_${CO_2}$
bus_factor: 0.03
branch_factor: 1
flow_factor: 2_000
branch_factor: 0.02
flow_factor: 25
bus_sizes:
- 50
- 10
Expand Down
Loading
Loading