Skip to content

Commit

Permalink
Merge branch 'main' into kernnetz-segmentation
Browse files Browse the repository at this point in the history
  • Loading branch information
lindnemi authored Jan 25, 2025
2 parents bf01192 + 1334fd1 commit aef591a
Show file tree
Hide file tree
Showing 11 changed files with 2,124 additions and 277 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/validate.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
if: github.event.pull_request.head.repo.full_name == github.repository
runs-on: self-hosted
steps:
- uses: lkstrp/[email protected].4
- uses: lkstrp/[email protected].5
with:
step: run-self-hosted-validation
env_file: environment.yaml
Expand All @@ -32,7 +32,7 @@ jobs:
needs: run-validation
runs-on: ubuntu-latest
steps:
- uses: lkstrp/[email protected].4
- uses: lkstrp/[email protected].5
with:
step: create-comment
snakemake_config: config/config.yaml
Expand Down
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -273,3 +273,7 @@ globalenergymonitor.org/wp-content/uploads/2023/07/Europe-Gas-Tracker-2023-03-v3
fnb-gas.de
raw.githubusercontent.com
cutouts


# custom local files
local
4 changes: 3 additions & 1 deletion config/config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

# docs in https://pypsa-eur.readthedocs.io/en/latest/configuration.html#run
run:
prefix: 20241211-kernnetz-segmentation
prefix: 20250122-demand-scenarios
name:
# - CurrentPolicies
- KN2045_Bal_v4
Expand All @@ -14,6 +14,8 @@ run:
# - KN2045plus_LowDemand
# - KN2045minus_WorstCase
# - KN2045minus_SupplyFocus
# - KN2045_Bal_LowDemand
# - KN2045_Bal_HighDemand
scenarios:
enable: true
manual_file: config/scenarios.manual.yaml
Expand Down
196 changes: 194 additions & 2 deletions config/scenarios.manual.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -417,7 +417,14 @@ KN2045plus_EasyRide:
steam_biomass_fraction: 0.4
steam_hydrogen_fraction: 0.3
steam_electricity_fraction: 0.3

sector:
reduce_space_heat_exogenously_factor:
2020: 0.0
2025: 0.08
2030: 0.16
2035: 0.25
2040: 0.34
2045: 0.43

KN2045plus_LowDemand:
# Im Vergleich zu Easy Ride eher knappe EE Erzeugung
Expand Down Expand Up @@ -487,6 +494,14 @@ KN2045plus_LowDemand:
steam_biomass_fraction: 0.4
steam_hydrogen_fraction: 0.3
steam_electricity_fraction: 0.3
sector:
reduce_space_heat_exogenously_factor:
2020: 0.0
2025: 0.08
2030: 0.16
2035: 0.25
2040: 0.34
2045: 0.43

KN2045minus_WorstCase:
# Nachfrage nach Endenergie ist höher als in den Szenarien 1-3
Expand Down Expand Up @@ -607,7 +622,13 @@ KN2045minus_WorstCase:
sector:
district_heating:
potential: 0.1

reduce_space_heat_exogenously_factor:
2020: 0.0
2025: 0.06
2030: 0.12
2035: 0.18
2040: 0.24
2045: 0.29
offshore_nep_force:
cutin_year: 2025
cutout_year: 2035 # Hackily reduced to 2030 if delay_years: 1
Expand Down Expand Up @@ -709,3 +730,174 @@ KN2045minus_SupplyFocus:
steam_biomass_fraction: 0.4
steam_hydrogen_fraction: 0.3
steam_electricity_fraction: 0.3
sector:
reduce_space_heat_exogenously_factor:
2020: 0.0
2025: 0.06
2030: 0.12
2035: 0.18
2040: 0.24
2045: 0.29

KN2045_Bal_LowDemand:
# Ausgewogener Mix an Technologien zur Dekarbonisierung der Sektoren
# Breites Energieträgerportfolio in der Endenergie (Strom, Wasserstoff, synthetische Kraftstoffe)
# Ausbau der erneuerbare Stromerzeugung erreicht politisch gesetzte Ziele
# Importe erneuerbar erzeugter Energien auf mittlerem Niveau
# dient als Referenzszenario in der Familie der Ariadne-Szenarien

iiasa_database:
reference_scenario: KN2045plus_LowDemand
fallback_reference_scenario: KN2045_Bal_v4
co2_budget_DE_source: KSG

costs:
horizon: "mean"
NEP: 2023
transmission: "overhead" # either overhead line ("overhead") or underground cable ("underground")
solving:
constraints:
# boundary condition of maximum volumes
limits_volume_max:
# constrain electricity import in TWh
electricity_import:
DE:
2020: -20
2025: 0
2030: 0
2035: 40
2040: 80
2045: 125
electrolysis:
DE:
2020: 0
2025: 5
2030: 45
2035: 130
2040: 215
2045: 300
h2_derivate_import:
DE:
2020: 0
2025: 0
2030: 10
2035: 105
2040: 200
2045: 300
h2_import:
DE:
2020: 0
2025: 5
2030: 15
2035: 115
2040: 220
2045: 325
limits_volume_min:
electrolysis:
DE:
2020: 0
2025: 0
2030: 0
2035: 0
2040: 0
2045: 0
limits_capacity_min:
Link:
H2 Electrolysis:
DE:
2030: 5
industry:
steam_biomass_fraction: 0.4
steam_hydrogen_fraction: 0.3
steam_electricity_fraction: 0.3

sector:
reduce_space_heat_exogenously_factor:
2020: 0.0
2025: 0.08
2030: 0.16
2035: 0.25
2040: 0.34
2045: 0.43

KN2045_Bal_HighDemand:
# Ausgewogener Mix an Technologien zur Dekarbonisierung der Sektoren
# Breites Energieträgerportfolio in der Endenergie (Strom, Wasserstoff, synthetische Kraftstoffe)
# Ausbau der erneuerbare Stromerzeugung erreicht politisch gesetzte Ziele
# Importe erneuerbar erzeugter Energien auf mittlerem Niveau
# dient als Referenzszenario in der Familie der Ariadne-Szenarien

iiasa_database:
reference_scenario: KN2045minus_SupplyFocus
fallback_reference_scenario: KN2045_Bal_v4
co2_budget_DE_source: KSG

costs:
horizon: "mean"
NEP: 2023
transmission: "overhead" # either overhead line ("overhead") or underground cable ("underground")
solving:
constraints:
# boundary condition of maximum volumes
limits_volume_max:
# constrain electricity import in TWh
electricity_import:
DE:
2020: -20
2025: 0
2030: 0
2035: 40
2040: 80
2045: 125
electrolysis:
DE:
2020: 0
2025: 5
2030: 45
2035: 130
2040: 215
2045: 300
h2_derivate_import:
DE:
2020: 0
2025: 0
2030: 10
2035: 105
2040: 200
2045: 300
h2_import:
DE:
2020: 0
2025: 5
2030: 15
2035: 115
2040: 220
2045: 325
limits_volume_min:
electrolysis:
DE:
2020: 0
2025: 0
2030: 0
2035: 0
2040: 0
2045: 0
limits_capacity_min:
Link:
H2 Electrolysis:
DE:
2030: 5
industry:
steam_biomass_fraction: 0.4
steam_hydrogen_fraction: 0.3
steam_electricity_fraction: 0.3

sector:
reduce_space_heat_exogenously_factor:
2020: 0.0
2025: 0.06
2030: 0.12
2035: 0.18
2040: 0.24
2045: 0.29

7 changes: 7 additions & 0 deletions workflow/Snakefile
Original file line number Diff line number Diff line change
Expand Up @@ -386,6 +386,7 @@ use rule build_existing_heating_distribution from pypsaeur with:
rule modify_industry_demand:
params:
db_name=config_provider("iiasa_database", "db_name"),
reference_scenario=config_provider("iiasa_database", "reference_scenario"),
input:
ariadne=resources("ariadne_database.csv"),
industrial_production_per_country_tomorrow=resources(
Expand Down Expand Up @@ -570,6 +571,9 @@ rule plot_ariadne_variables:
transmission_investment_csv=RESULTS + "ariadne/transmission_investment.csv",
trassenlaenge_csv=RESULTS + "ariadne/trassenlaenge.csv",
Kernnetz_Investment_plot=RESULTS + "ariadne/Kernnetz_Investment_plot.png",
elec_trade=RESULTS + "ariadne/elec-trade-DE.png",
h2_trade=RESULTS + "ariadne/h2-trade-DE.png",
trade_balance=RESULTS + "ariadne/trade-balance-DE.png",
log:
RESULTS + "logs/plot_ariadne_variables.log",
script:
Expand Down Expand Up @@ -673,6 +677,9 @@ rule plot_ariadne_report:
elec_price_duration_curve=RESULTS
+ "ariadne/report/elec_price_duration_curve.png",
elec_price_duration_hist=RESULTS + "ariadne/report/elec_price_duration_hist.png",
backup_capacity=RESULTS + "ariadne/report/backup_capacity.png",
backup_generation=RESULTS + "ariadne/report/backup_generation.png",
elec_prices_spatial_de=RESULTS + "ariadne/report/elec_prices_spatial_de.png",
results=directory(RESULTS + "ariadne/report"),
elec_transmission=directory(RESULTS + "ariadne/report/elec_transmission"),
h2_transmission=directory(RESULTS + "ariadne/report/h2_transmission"),
Expand Down
3 changes: 2 additions & 1 deletion workflow/scripts/build_scenarios.py
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,8 @@ def write_to_scenario_yaml(input, output, scenarios, df):
co2_budget_source,
)

config[scenario]["sector"] = {}
if not config[scenario].get("sector"):
config[scenario]["sector"] = {}

config[scenario]["sector"]["aviation_demand_factor"] = {}
for year in planning_horizons:
Expand Down
Loading

0 comments on commit aef591a

Please sign in to comment.