Skip to content

Conversation

@lindnemi
Copy link
Collaborator

@lindnemi lindnemi commented Jun 30, 2025

Final Summary of changes:

  • higher lifetime of 40 years is only used for existing gas CHPs with no DateOut
  • new gas CHPs have lifetime of 25 years again -> higher annuity
  • existing CHPs are added with their DateOut taken into consideration. When assets are grouped their remaining life is weighted by capacity. This is something that should be done for power plants as well (and also in pypsa-eur!)

the issue was more complex than I thought. This were some to dos:

  • At the moment there are no extendable CHPs in the model! (They accidentally got kicked out during march merge, see ea88245)
  • The lifetime information for CHPs is not used but overwritten by defaults
  • The 2020 existing assets are not added, because of the p_nom_extendable generator from prepare_sector_network
  • Validate the changes

Original issue description

During the validation of the electricity sector we noticed that there were not enough gas CHPs in the data, see PyPSA/pypsa-ariadne#285

This is partially because the DateOut of many CHPs in german_chps.csv is missing, s.t. a default lifetime of 25 years was assumed. However, as some manual checks @JulianGeis revealed, many of the CHPs remain in operation after 25 years-

To improve the representation of these assets the lifetime of gas CHPs was extended to 40 years. However, the way it was done, this also affects newly built gas CHPs, reducing their annuities. This PR keeps the lifetime extension for existing assets, but removes it for new ones.

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

  • Workflow with target rule ariadne_all completes without errors
  • The logic of export_ariadne_variables has been adapted to the changes
  • One or several figures that validate the changes in the PR have been posted as a comment
  • A brief description of the changes has been added to Changelog.md
  • The latest main has been merged into the PR
  • The config has a new prefix of the format YYYYMMDDdescriptive_title

@lindnemi lindnemi requested a review from cpschau July 4, 2025 12:50
Copy link
Contributor

@cpschau cpschau left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code looks good to me! Only two comments:

  1. A comment that states assumptions for 40 year lifetime might be helpful. Making it a configurable setting would be the icing on the cherry on the cake.
  2. Do we want to keep the Changelog? If yes we would need another entry.

I am not entirely sure about the fill value of 40 years, as it sounds quite optimistic for me comparing it to other sources (DEA assumes 25 years). Taking a look into the data it also seems as if there were a couple of smaller CHP plants that had a way shorter lifetime than 25 years. Not sure if they were actually decommissioned or maybe re-registered with a different ID.

image

@lindnemi lindnemi marked this pull request as ready for review July 14, 2025 11:23
Copy link
Contributor

@cpschau cpschau left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! Feel free to leave the refactoring of params call to a dedicated PR.

@lindnemi lindnemi merged commit 37c5554 into main Jul 14, 2025
5 checks passed
toniseibold pushed a commit to toniseibold/pypsa-de that referenced this pull request Jul 15, 2025
* use higher lifetime only for existing German gas CHPs

* actually use adjusted lifetime when asset is created

* Revert "disable chps from prepare_sector_network"

This reverts commit ea88245.

* use pivot_table weighted by capacity to determine lifetimes

* remove old comments

* remove unused dropna

* make NA values for existing gas CHPs a config setting

* add changelog note

* use all lower case for config
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants