Skip to content
Merged
Show file tree
Hide file tree
Changes from 12 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
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
# Changelog
- Simplified scenarion definition and made `Mix` the default scenario
- 0.3: workflow is all public now, no longer requires credentials to internal data
- Allowing myopic optimization until 2050
- CHP plants located in onshore regions without district heating are represented as EOP plants
Expand Down
28 changes: 14 additions & 14 deletions Snakefile
Original file line number Diff line number Diff line change
Expand Up @@ -266,13 +266,13 @@ rule retrieve_egon_data:

rule retrieve_ariadne_database:
params:
db_name=config_provider("iiasa_database", "db_name"),
leitmodelle=config_provider("iiasa_database", "leitmodelle"),
scenarios=config_provider("iiasa_database", "scenarios"),
db_name=config["iiasa_database"]["db_name"],
leitmodelle=config["iiasa_database"]["leitmodelle"],
scenarios=config["iiasa_database"]["scenarios"],
output:
data=resources("ariadne_database.csv"),
data="resources/ariadne_database.csv",
log:
"logs/pypsa-de/retrieve_ariadne_database.log",
"logs/retrieve_ariadne_database.log",
resources:
mem_mb=1000,
script:
Expand Down Expand Up @@ -315,7 +315,7 @@ rule build_mobility_demand:
planning_horizons=config_provider("scenario", "planning_horizons"),
leitmodelle=config_provider("iiasa_database", "leitmodelle"),
input:
ariadne=resources("ariadne_database.csv"),
ariadne="resources/ariadne_database.csv",
clustered_pop_layout=resources("pop_layout_base_s_{clusters}.csv"),
output:
mobility_demand=resources(
Expand Down Expand Up @@ -453,7 +453,7 @@ rule modify_existing_heating:
iiasa_reference_scenario=config_provider("iiasa_database", "reference_scenario"),
leitmodelle=config_provider("iiasa_database", "leitmodelle"),
input:
ariadne=resources("ariadne_database.csv"),
ariadne="resources/ariadne_database.csv",
existing_heating="data/existing_infrastructure/existing_heating_raw.csv",
output:
existing_heating=resources("existing_heating.csv"),
Expand Down Expand Up @@ -501,7 +501,7 @@ rule modify_industry_demand:
params:
reference_scenario=config_provider("iiasa_database", "reference_scenario"),
input:
ariadne=resources("ariadne_database.csv"),
ariadne="resources/ariadne_database.csv",
industrial_production_per_country_tomorrow=resources(
"industrial_production_per_country_tomorrow_{planning_horizons}.csv"
),
Expand Down Expand Up @@ -570,7 +570,7 @@ rule download_ariadne_template:
keep_local=True,
),
output:
resources("template_ariadne_database.xlsx"),
"data/template_ariadne_database.xlsx",
run:
move(input[0], output[0])

Expand All @@ -589,7 +589,7 @@ rule export_ariadne_variables:
NEP_year=config_provider("costs", "NEP"),
NEP_transmission=config_provider("costs", "transmission"),
input:
template=resources("template_ariadne_database.xlsx"),
template="data/template_ariadne_database.xlsx",
industry_demands=expand(
resources(
"industrial_energy_demand_base_s_{clusters}_{planning_horizons}.csv"
Expand Down Expand Up @@ -639,7 +639,7 @@ rule plot_ariadne_variables:
reference_scenario=config_provider("iiasa_database", "reference_scenario"),
input:
exported_variables_full=RESULTS + "ariadne/exported_variables_full.xlsx",
ariadne_database=resources("ariadne_database.csv"),
ariadne_database="resources/ariadne_database.csv",
output:
primary_energy=RESULTS + "ariadne/primary_energy.png",
primary_energy_detailed=RESULTS + "ariadne/primary_energy_detailed.png",
Expand Down Expand Up @@ -703,10 +703,10 @@ rule ariadne_all:

rule build_scenarios:
params:
scenarios=config_provider("run", "name"),
leitmodelle=config_provider("iiasa_database", "leitmodelle"),
scenarios=config["run"]["name"],
leitmodelle=config["iiasa_database"]["leitmodelle"],
input:
ariadne_database=resources("ariadne_database.csv"),
ariadne_database="resources/ariadne_database.csv",
scenario_yaml=config["run"]["scenarios"]["manual_file"],
output:
scenario_yaml=config["run"]["scenarios"]["file"],
Expand Down
22 changes: 21 additions & 1 deletion config/config.de.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: 20250425_public_db
prefix: 20250507_simple_scenarios
name:
# - ExPol
- KN2045_Mix
Expand Down Expand Up @@ -269,6 +269,9 @@ first_technology_occurrence:

costs:
horizon: "mean" # "optimist", "pessimist" or "mean"
NEP: 2023
transmission: "overhead" # either overhead line ("overhead") or underground cable ("underground")


# docs in https://pypsa-eur.readthedocs.io/en/latest/configuration.html#sector
sector:
Expand Down Expand Up @@ -342,6 +345,9 @@ sector:
# docs in https://pypsa-eur.readthedocs.io/en/latest/configuration.html#industry
industry:
ammonia: false
steam_biomass_fraction: 0.4
steam_hydrogen_fraction: 0.3
steam_electricity_fraction: 0.3
St_primary_fraction:
2020: 0.6
2025: 0.55
Expand Down Expand Up @@ -428,6 +434,16 @@ solving:
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:
Expand Down Expand Up @@ -511,6 +527,10 @@ solving:
# 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
# For reference, this are the values specified in the laws
# limits_capacity_min:
# Generator:
Expand Down
107 changes: 3 additions & 104 deletions config/scenarios.manual.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,6 @@ ExPol:
2050: 0.419

costs:
horizon: "mean"
NEP: 2023
transmission: "underground" # either overhead line ("overhead") or underground cable ("underground")
solving:
constraints:
Expand Down Expand Up @@ -56,10 +54,6 @@ ExPol:
DE:
2030: 215 # uba Projektionsbericht

industry:
steam_biomass_fraction: 0.4
steam_hydrogen_fraction: 0.3
steam_electricity_fraction: 0.3

sector:
district_heating:
Expand All @@ -72,32 +66,13 @@ ExPol:


KN2045_Mix:
# Default scenario, defined in pypsa.de.yaml
# 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: KN2045_Mix
co2_budget_DE_source: KSG

costs:
horizon: "mean"
NEP: 2023
transmission: "overhead" # either overhead line ("overhead") or underground cable ("underground")
solving:
constraints:
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

KN2045_Elek:
# Fokus auf dem Hochlauf von Technologien zur direkten Elektrifizierung der Sektoren
Expand All @@ -107,12 +82,7 @@ KN2045_Elek:

iiasa_database:
reference_scenario: KN2045_Elek
co2_budget_DE_source: KSG

costs:
horizon: "mean"
NEP: 2023
transmission: "overhead" # either overhead line ("overhead") or underground cable ("underground")
solving:
constraints:
limits_volume_max:
Expand Down Expand Up @@ -153,11 +123,6 @@ KN2045_Elek:
2040: 170
2045: 250
2050: 250
limits_capacity_min:
Link:
H2 Electrolysis:
DE:
2030: 5

industry:
steam_biomass_fraction: 0.4
Expand All @@ -172,12 +137,7 @@ KN2045_H2:

iiasa_database:
reference_scenario: KN2045_H2
co2_budget_DE_source: KSG

costs:
horizon: "mean"
NEP: 2023
transmission: "overhead" # either overhead line ("overhead") or underground cable ("underground")
solving:
constraints:
limits_volume_max:
Expand Down Expand Up @@ -231,11 +191,6 @@ KN2045_H2:
2040: 0
2045: 200
2050: 200
limits_capacity_min:
Link:
H2 Electrolysis:
DE:
2030: 5

industry:
steam_biomass_fraction: 0.4
Expand All @@ -250,35 +205,7 @@ KN2045_NFniedrig:
# dient als Referenzszenario in der Familie der Ariadne-Szenarien

iiasa_database:
reference_scenario: KN2045plus_LowDemand
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:
h2_import:
DE:
2020: 0
2025: 5
2030: 15
2035: 115
2040: 220
2045: 325
2050: 325
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
reference_scenario: KN2045_NFniedrig

sector:
reduce_space_heat_exogenously_factor:
Expand All @@ -298,35 +225,7 @@ KN2045_NFhoch:
# dient als Referenzszenario in der Familie der Ariadne-Szenarien

iiasa_database:
reference_scenario: KN2045minus_SupplyFocus
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:
h2_import:
DE:
2020: 0
2025: 5
2030: 15
2035: 115
2040: 220
2045: 325
2050: 325
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
reference_scenario: KN2045_NFhoch

sector:
reduce_space_heat_exogenously_factor:
Expand Down
Loading
Loading