PyPSA / pypsa-usa

PyPSA-USA: An Open-Source Energy System Optimization Model for the United States
https://pypsa-usa.readthedocs.io
MIT License
35 stars 15 forks source link

Update logging for ATB data extraction #185

Closed trevorb1 closed 4 months ago

trevorb1 commented 4 months ago

Feature Request

From a user perspective, it is confusing to see the following logging if you only have (for example) 4hr battery selected as extendable

Using OCC for 2hr_battery_storage investment- no ATB CAPEX found.
Missing ATB data for 2hr_battery_storage: ['Variable O&M', 'Heat Rate', 'WACC Real']
Using OCC for 4hr_battery_storage investment- no ATB CAPEX found.
Missing ATB data for 4hr_battery_storage: ['Variable O&M', 'Heat Rate', 'WACC Real']
Using OCC for 6hr_battery_storage investment- no ATB CAPEX found.
Missing ATB data for 6hr_battery_storage: ['Variable O&M', 'Heat Rate', 'WACC Real']
Using OCC for 8hr_battery_storage investment- no ATB CAPEX found.
Missing ATB data for 8hr_battery_storage: ['Variable O&M', 'Heat Rate', 'WACC Real']
Using OCC for 10hr_battery_storage investment- no ATB CAPEX found.
Missing ATB data for 10hr_battery_storage: ['Variable O&M', 'Heat Rate', 'WACC Real

Suggested Solution

No response

Additional Info

No response

ktehranchi commented 4 months ago

True... The issue here is that the ATB doesn't have data like heat-rates and VOM for resources where it doesn't make sense for that information to exist- but we are still searching for it regardless if it makes sense. Options:

trevorb1 commented 4 months ago

Totally makes sense for technologies we are implementing! However, it just seems odd we are searching for 10hr_battery_storage when in the config file I have only specified 4hr_battery_storage being extendable? So I would expect the logging statement to be:

Using OCC for 4hr_battery_storage investment- no ATB CAPEX found.
Missing ATB data for 4hr_battery_storage: ['Variable O&M', 'Heat Rate', 'WACC Real']

Unless we are using the other battery options for something else behind the scenes, then seeing all the logging makes sense!

ktehranchi commented 4 months ago

Makes sense... we can hide logs for items not in the config

trevorb1 commented 4 months ago

I guess my question would be why we are searching though the ATB at all for 10hr_battery_storage if I didnt specify it in the pypsa config?

ktehranchi commented 4 months ago

There are plenty of technologies in build_cost_data that are read from the ATB regardless if they are specified in the config.... I think it's helpful to populate the costs_2030.csv of all the technologies listed in the constants.py regardless if they get read into the network. This way build_cost_data doesn't need to be rerun anytime someone changes a carrier in the config file and the user can reference all the technologies available for them to use.

trevorb1 commented 4 months ago

Fair enough! Thanks for clarifying! :)