diff --git a/Changelog.md b/Changelog.md index b5d8728f..8a49339e 100644 --- a/Changelog.md +++ b/Changelog.md @@ -1,4 +1,5 @@ # Changelog +- add option for Offhsore NEP to delay projects by x years (CurPol and KN2045minus_WorstCase are delayed by one year) - Force onwind south by increasing minimum capacity and decreasing capacity per sqkm - Adjusting aviation demand (from Aladin) and emission accounting (only domestic aviation for national target) - Increase HVC_environment_sequestration_fraction from 0.1 to 0.6 diff --git a/config/config.yaml b/config/config.yaml index ba21fb2a..0a8fe37f 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -683,6 +683,7 @@ onshore_nep_force: offshore_nep_force: cutin_year: 2025 cutout_year: 2030 + delay_years: 0 scale_capacity: 2020: diff --git a/config/scenarios.manual.yaml b/config/scenarios.manual.yaml index 349d21a3..e568d7f0 100644 --- a/config/scenarios.manual.yaml +++ b/config/scenarios.manual.yaml @@ -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 @@ -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 @@ -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: @@ -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 @@ -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 @@ -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 diff --git a/workflow/scripts/modify_prenetwork.py b/workflow/scripts/modify_prenetwork.py index f5dc4009..387d01a6 100644 --- a/workflow/scripts/modify_prenetwork.py +++ b/workflow/scripts/modify_prenetwork.py @@ -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),