PyPSA / pypsa-ariadne

High resolution, sector-coupled model of the German Energy System
https://ariadneprojekt.de/en/model-documentation-pypsa/
MIT License
15 stars 6 forks source link

make sure DC transmission projects appear in the correct year #187

Closed nworbmot closed 2 months ago

nworbmot commented 2 months ago

This script forces DC transmission projects that are built after the current investment year to have p_nom_opt = 0. The planned capacity continues to be stored in p_nom.

The changes are a compromise with behaviour of PyPSA-Eur scripts:

A less hacky fix that also addresses AC transmission projects would need to touch PyPSA-Eur more extensively.

The projects can be forced in between the cutin and cutout years defined in the config. Between these years, all planned projects are realised with p_nom_min = p_nom. After these years planned projects are not forced, but offered as an option p_nom_min = 0.

This script recreates the desired behaviour.

Capacities in 2020 network:

image

Capacities in 2025 network:

image

Capacities in 2030 network:

image

Capacities in 2035 network (assuming cutout of 2030):

image

Note that here projects planned after 2030 are offered (p_nom_max = 22 GW) but not forced (p_nom_min = 0 GW).

Before asking for a review for this PR make sure to complete the following checklist:

github-actions[bot] commented 2 months ago

Validator Report

I am the Validator. Download all artifacts here. I'll be back and edit this comment for each new commit.

:warning: Config changes detected! Results may differ due to these changes: ```diff diff --git a/config/config.yaml b/config/config.yaml index ea33f60..53d970a 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -4,7 +4,7 @@ # docs in https://pypsa-eur.readthedocs.io/en/latest/configuration.html#run run: - prefix: 202406windcf + prefix: 240911-keepdc name: # - CurrentPolicies - KN2045_Bal_v4 @@ -184,7 +184,7 @@ lines: # docs in https://pypsa-eur.readthedocs.io/en/latest/configuration.html#enable enable: - retrieve: true # set to false once initial data is retrieved + retrieve: false # set to false once initial data is retrieved retrieve_cutout: false # set to false once initial data is retrieved clustering: # simplify_network: @@ -612,3 +612,6 @@ must_run_biogas: enable: false p_min_pu: 0.6 regions: ['DE'] + +transmission_projects: + new_link_capacity: keep #keep or zero ```

Ariadne Variables

Comparison
NRMSE Pearson
Investment|Energy Supply|Heat|Biomass|w/o CCS 4330127.019 0.000
Investment|Energy Supply|Electricity|Biomass|w/o CCS 4330127.019 0.000
Capacity Additions|Electricity|Biomass|w/o CCS 1328.489 0.911
Capacity Additions|Heat|Biomass|w/o CCS 1327.183 0.911
Final Energy|Gases|Efuel 2.036 -0.259
NRMSE: Normalized (min-max) Root Mean Square Error Pearson: Pearson correlation coefficient Threshold: NRMSE > 2 Only variables reaching the threshold are shown. Find the equivalent plot for all of them below.
Plots
Main branch Feature branch
Image not available Image not available
Image not available Image not available
Image not available Image not available
Image not available Image not available
Image not available Image not available

General

Plots comparison
Main branch Feature branch
Image not found in results Image not found in results
Image not found in results Image not found in results
Image not found in results Image not found in results
Image not found in results Image not found in results
Image not found in results Image not found in results
Image not found in results Image not found in results
Files comparison
Status NRMSE MAE (norm)
csvs/nodal_capacities.csv :warning: NaN mismatch
csvs/nodal_costs.csv :warning: NaN mismatch
csvs/nodal_cfs.csv :warning: NaN mismatch
csvs/curtailment.csv :white_check_mark: Almost equal 0.000 0.09
csvs/cfs.csv :white_check_mark: Almost equal 0.069 0.01
csvs/costs.csv :white_check_mark: Almost equal 0.001 0.01
csvs/cumulative_cost.csv :white_check_mark: Almost equal 0.001 0.11
csvs/price_statistics.csv :white_check_mark: Almost equal 0.012 0.28
csvs/market_values.csv :white_check_mark: Almost equal 0.064 0.04
csvs/capacities.csv :white_check_mark: Almost equal 0.000 0.00
csvs/metrics.csv :white_check_mark: Almost equal 0.001 0.14
csvs/nodal_supply_energy.csv :white_check_mark: Almost equal 0.001 0.00
csvs/prices.csv :white_check_mark: Almost equal 0.027 0.01
csvs/supply_energy.csv :white_check_mark: Almost equal 0.001 0.02
csvs/supply.csv :white_check_mark: Almost equal 0.003 0.01
csvs/energy.csv :white_check_mark: Almost equal 0.001 0.02
csvs/weighted_prices.csv :white_check_mark: Equal
NRMSE: Normalized (min-max) Root Mean Square Error MAE (norm): Mean Absolute Error on normalized Data (min-max Status Threshold: MAE (norm) > 0.05 and NRMSE > 2

Comparing nep (944f288) with main (e5f56de). Branch is 2 commits ahead and 0 commits behind. Last updated on 2024-09-12 17:03:21 CEST.

lindnemi commented 2 months ago
lindnemi commented 2 months ago

updated old TYNDP projects in https://github.com/PyPSA/pypsa-eur/pull/1305

lindnemi commented 2 months ago

ignoring AC lines and upgraded DC links for now (upgraded DC are just a few)