Skip to content

Conversation

@danielelerede-oet
Copy link
Contributor

@danielelerede-oet danielelerede-oet commented Sep 23, 2025

Changes proposed in this Pull Request

Hi @euronion , with @yerbol-akhmetov we noticed a mismatch in the units of battery storage costs fetched from NREL ATB.

This PR removes automatic fetching of battery storage costs from the NREL ATB dataset due to mismatch wrt modelling in PyPSA. Indeed, the USD/kW cost in NREL ATB is representative of BESS accounting for all major components, including the LIB pack, the inverter, and the balance of system (BOS) needed for the installation. In PyPSA (with particular reference to PyPSA-Earth), instead,battery storage and battery inverter are modelled separately and costs are expressed in different units, USD/kWh and USD/kW, respectively.

Checklist

  • Code changes are sufficiently documented; i.e. new functions contain docstrings and further explanations may be given in doc.
  • Data source for new technologies is clearly stated.
  • Newly introduced dependencies are added to environment.yaml (if applicable).
  • A note for the release notes doc/release_notes.rst of the upcoming release is included.
  • I consent to the release of this PR's code under the GPLv3 license.

Copy link
Collaborator

@euronion euronion left a comment

Choose a reason for hiding this comment

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

You are repeating FOM for all years + scenarios, but not lifetime. Do you want to make that consistent?

SOEC,FOM,2020,4,%/year,2022,ICCT IRA e-fuels assumptions ,Meaning of scenario and financial case: https://atb.nrel.gov/electricity/2024/definitions#scenarios,Market,Advanced
SOEC,FOM,2030,4,%/year,2022,ICCT IRA e-fuels assumptions ,Meaning of scenario and financial case: https://atb.nrel.gov/electricity/2024/definitions#scenarios,Market,Advanced
SOEC,FOM,2050,4,%/year,2022,ICCT IRA e-fuels assumptions ,Meaning of scenario and financial case: https://atb.nrel.gov/electricity/2024/definitions#scenarios,Market,Advanced
battery storage,investment,2020,390.9,USD/kWh,2022,"NREL, 2024 ATB Excel Workbook, Sheet “Utility-Scale Battery Storage”, https://data.openei.org/files/6006/2024_v3_Workbook.xlsx",Meaning of scenario and financial case: https://atb.nrel.gov/electricity/2024/definitions#scenarios,R&D,Moderate
Copy link
Collaborator

Choose a reason for hiding this comment

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

This and the other entries for 2020 should probably be

Suggested change
battery storage,investment,2020,390.9,USD/kWh,2022,"NREL, 2024 ATB Excel Workbook, Sheet “Utility-Scale Battery Storage”, https://data.openei.org/files/6006/2024_v3_Workbook.xlsx",Meaning of scenario and financial case: https://atb.nrel.gov/electricity/2024/definitions#scenarios,R&D,Moderate
battery storage,investment,2022,390.9,USD/kWh,2022,"NREL, 2024 ATB Excel Workbook, Sheet “Utility-Scale Battery Storage”, https://data.openei.org/files/6006/2024_v3_Workbook.xlsx",Meaning of scenario and financial case: https://atb.nrel.gov/electricity/2024/definitions#scenarios,R&D,Moderate

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Thanks @euronion , regarding lifetimes, that is consistent with other entries. Plus, lifetime is never scenario-dependent, so a single value should be ok. FOM is also usually not changing with the scenario, but as it's linked with investment, I'm reporting the same values for all the scenarios to avoid breaking the model workflow.

Regarding the year for the investment, it should be 2022 from the NREL file, you're totally right, but I wanted to avoid that the model would invest in batteries for free if solved for 2020..

Copy link
Collaborator

Choose a reason for hiding this comment

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

If you add it for 2022, TD might automatically backpropagate the value to 2020 (you need to try). Else, if you add the value from 2022 for 2020, at least add a comment that you did it and why you did it. Always remember: This is to help your future self understand what you did and why you did it :)

Copy link
Contributor Author

@danielelerede-oet danielelerede-oet Sep 26, 2025

Choose a reason for hiding this comment

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

Thanks @euronion , your point makes total sense. I have associated the 2020 the first data points to 2022 as from the input file, and I have also added the contribution of grid connection costs (only for inverter) and project financing costs (to both storage and inverter) to investment costs, with a comment in further_description too.

@yerbol-akhmetov
Copy link

Hi, @danielelerede-oet. Thanks for the PR. I have a question about adding grid connection costs and other financial costs. Does other technologies include those? If not, will it be fair to include it only for batteries. Definitely, such data brings the modelling closer to real word.

@danielelerede-oet
Copy link
Contributor Author

Hi, @danielelerede-oet. Thanks for the PR. I have a question about adding grid connection costs and other financial costs. Does other technologies include those? If not, will it be fair to include it only for batteries. Definitely, such data brings the modelling closer to real word.

Yes @yerbol-akhmetov , all the other power sector technologies from NREL ATB include grid connection and project financing costs. This was true also for the "old" battery costs that were directly fetched from the NREL .parquet file.

@fneum fneum merged commit 2011c94 into PyPSA:master Nov 17, 2025
3 checks passed
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.

4 participants