technology-data icon indicating copy to clipboard operation
technology-data copied to clipboard

order_data: inputs for electrical or heat "consumption" are converted to efficiencies or filtered out

Open BertoGBG opened this issue 8 months ago • 3 comments

Checklist

  • [x] I am using the current master branch or the latest release. Please indicate: YES

ISSUE:

When adding new technologies (e.g. from DEA) which are consuming electricity or heat (i.e. processes for e- fuel production), the electricity and heat consumption is read from the initial excel files but filtred out in the final df, or re-calculated as electrical or heat efficiency

Following the main, if the indexes "electricity consumption" and "heat consumption" are present in the original excel file they are correctly saved in the df "tech_data" but are not included (or strangely modified) in the df "data".

this happens within function "order_data" because all the indexes containing "Electrical" or "Heat" are converted to efficiencies: https://github.com/PyPSA/technology-data/blob/98fa9218d57638a7156c33dc07749ac3624bd974/scripts/compile_cost_assumptions.py#L2045-L2054

This requires extra code specific for each technology to bypass this issue, which is not sustainable in the long term. e.g.: https://github.com/PyPSA/technology-data/blob/98fa9218d57638a7156c33dc07749ac3624bd974/scripts/compile_cost_assumptions.py#L2056-L2093

Error Message

there is no error in the code, but the final .csv files have the wrong data

Suggestion

modify this part of the code : https://github.com/PyPSA/technology-data/blob/98fa9218d57638a7156c33dc07749ac3624bd974/scripts/compile_cost_assumptions.py#L2045-L2054 to don't label electrical and heat consumption as efficiencies.

BertoGBG avatar Apr 22 '25 08:04 BertoGBG

Thanks for the suggestion, how would you label and report the input fields instead?

euronion avatar Apr 22 '25 10:04 euronion

I think we should not assume that all "electricity" and all 'heat' fields are efficiencies (generation). Although it is practical because the most of technologies are generating. it makes it very complicated to bypass it for comsuming technologies.

Maybe we cna create a dict with output labels: ['Output', 'output', 'production', etc...] and another with input labels ['Input', 'intput', 'consumption', etc...], to be associated with the strings 'electricity' and 'heat' ?

it is an idea, but it needs testing.

I just think that the issue will grow overtime with more process technologies added to the cost file.

BertoGBG avatar Apr 22 '25 11:04 BertoGBG

I agree with the notion that this issue will increase over time. 👍

We're currently thinking about restructuring the repository, this could be something that we can also take into account while we are at it.

Would it be better to have for every process "inputs" and "outputs" and report them in the csv outputs, and in addition also calculate the efficiencies based on the inputs and outputs? E.g. for water/hydrogen electrolysis

input (electricity), 70 MWh
output (hydrogen), 33.33 MWh_LHV
output (oxygen), 8 t
efficiency (electric), 0.476

euronion avatar Apr 22 '25 11:04 euronion