Skip to content

Commit

Permalink
implement delay years for Offhsore NEP (#297)
Browse files Browse the repository at this point in the history
* implement delay years for Offhsore NEP

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* add note to changelog and correct delay years in manual config.

* ensure projects are only delayed, not completly abandoned

* remove redundant keys

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* consistent minimum limits

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Michael Lindner <[email protected]>
Co-authored-by: Micha <[email protected]>
  • Loading branch information
4 people authored Dec 5, 2024
1 parent 599310b commit df59e52
Show file tree
Hide file tree
Showing 3 changed files with 49 additions and 8 deletions.
1 change: 1 addition & 0 deletions config/config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -683,6 +683,7 @@ onshore_nep_force:
offshore_nep_force:
cutin_year: 2025
cutout_year: 2030
delay_years: 0

scale_capacity:
2020:
Expand Down
42 changes: 34 additions & 8 deletions config/scenarios.manual.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -39,10 +39,10 @@ CurrentPolicies:
2045: 86.5
offwind:
DE:
2030: 22.5 # 75 % Wind-auf-See Law
2035: 22.5
2040: 22.5
2045: 22.5
2030: 17.3
2035: 29.3
2040: 29.3
2045: 29.3
solar:
DE:
2030: 161.25 # 75 % PV strategy
Expand All @@ -52,6 +52,14 @@ CurrentPolicies:
# boundary condition of maximum volumes
limits_capacity_max:
Generator:
offwind:
DE:
2020: 7.8
2025: 11.3
2030: 17.3 # 12 less than NEP, because of 1 year delay
2035: 35 # 29.3 + a little extra
2040: 70
2045: 70
onwind:
DE:
2030: 94.5 # uba Projektionsbericht
Expand Down Expand Up @@ -114,6 +122,10 @@ CurrentPolicies:
district_heating:
potential: 0.1

offshore_nep_force:
cutin_year: 2025
cutout_year: 2035 # Hackily reduced to 2030 if delay_years: 1
delay_years: 1


KN2045_Bal_v4:
Expand Down Expand Up @@ -557,10 +569,10 @@ KN2045minus_WorstCase:
2045: 86.5
offwind:
DE:
2030: 22.5 # 75 % Wind-auf-See Law
2035: 22.5
2040: 22.5
2045: 22.5
2030: 17.3 # 75 % Wind-auf-See Law
2035: 29.3
2040: 29.3
2045: 29.3
solar:
DE:
2030: 161.25 # 75 % PV strategy
Expand All @@ -573,6 +585,14 @@ KN2045minus_WorstCase:
2030: 5
limits_capacity_max:
Generator:
offwind:
DE:
2020: 7.8
2025: 11.3
2030: 17.3 # 12 less than NEP, because of 1 year delay
2035: 35 # 29.3 + a little extra
2040: 70
2045: 70
onwind:
DE:
2030: 94.5 # uba Projektionsbericht
Expand All @@ -588,6 +608,12 @@ KN2045minus_WorstCase:
district_heating:
potential: 0.1

offshore_nep_force:
cutin_year: 2025
cutout_year: 2035 # Hackily reduced to 2030 if delay_years: 1
delay_years: 1


KN2045minus_SupplyFocus:
# Nachfrage genau so hoch wie in Szenario WorstCase
# Ausbau EE und EE Importe jetzt aber auskömmlich
Expand Down
14 changes: 14 additions & 0 deletions workflow/scripts/modify_prenetwork.py
Original file line number Diff line number Diff line change
Expand Up @@ -1055,6 +1055,20 @@ def force_connection_nep_offshore(n, current_year):
# Load shapes and projects
offshore = pd.read_csv(snakemake.input.offshore_connection_points, index_col=0)

if int(snakemake.params.offshore_nep_force["delay_years"]) != 0:
# Modify 'Inbetriebnahmejahr' by adding the delay years for rows where 'Inbetriebnahmejahr' > 2025
offshore.loc[
offshore["Inbetriebnahmejahr"] > 2025, "Inbetriebnahmejahr"
] += int(snakemake.params.offshore_nep_force["delay_years"])
logger.info(
f"Delaying NEP offshore connection points by {snakemake.params.offshore_nep_force['delay_years']} years."
)
# This is a hack s.t. for CurPol and WorstCase the 2030 projects are delayed to the 2035 period, but the later projects are ignored
offshore.loc[offshore["Inbetriebnahmejahr"] > 2031, "Inbetriebnahmejahr"] += 5
logger.info(
"Delaying NEP offshore connection points after 2031 by another 5 years."
)

goffshore = gpd.GeoDataFrame(
offshore,
geometry=gpd.points_from_xy(offshore.lon, offshore.lat),
Expand Down

0 comments on commit df59e52

Please sign in to comment.