-
Notifications
You must be signed in to change notification settings - Fork 204
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Hydrogen pipeline efficiency #1213
Comments
Hello @Eric-Nitschke and thanks a lot for the detailed description! Sounds indeed like an issue potentially very relevant for modeling workflows. Do you have any ideas on how to fix that? [We are aware of your PR #1192 on the bidirectional links and working on reviewing it, sorry for being slow!] @Eddy-JV I know that you have been working on H2 pipelines, too. May you have any insights regarding the issue and possible fixes? |
Hey @ekatef!
Technically, the efficiency could also be hardcoded somewhere, but I think this should be avoided. |
Major changes: - change the efficiency of H2 pipelines from a static value (that is somewhat faulty see BR pypsa-meets-earth#1213) to a length based calculation similar to PyPSA-Eur in scripts/add_extra_components.py. Minor changes: - override the networks component attributes in scripts/add_extra_components.py and scripts/solve_network.py to accomodate the length based efficiencies. - add the transmission efficiencies of H2 pipelines to the config.
The pull request is my idea how to implement the PyPSA-Eur version, though I did't have the time yet to test it, so it might be still super buggy. |
Generally I've found a couple issues with this approach:
|
Hello @Eric-Nitschke, thank you so much for looking into it! Completely support the approach and love the spirit of your implementation 😄 Generally, it's a good idea to stay consistent with PyPSA-Eur approach and improve it in parts where we see the need for improvements. Thank you for the detailed consideration of a possible implementation plan. I think, it makes sense to go step-by-step.
Personally, I'm fully aligned with your idea to change config only if it's really needed. However, our That means that our
Agree 😄
Yeah, one of PyPSA versions introduced breaking changes which we have not been so eager to accommodate straight away as it means interruptions for all the works which relay to our model. But we have on a list to give it a go in the next couple of weeks, so probably the implementation can still account for that. If you wish, you can test these updates using pypsa_linopy_update branch
Makes perfect sense! May you be willing to introduce these updates directly into #1192? [Sharing a review for it shortly, sorry for the delay!] |
Checklist
main
branch or the latest release. Please indicate.pypsa-earth
environment. Update viaconda env update -f envs/environment.yaml
.Describe the Bug
Summary
The H2 pipeline efficiency behavior is inconsistent and unexpected depending on
enable: retrieve_cost_data
.Description
When setting retrieve_cost_data: false in the config, PyPSA-Earth uses the cost.csv provided in the data folder to determine the cost, efficiency, lifetime, etc. of the network components. When using retrieve_cost_data: true, PyPSA-Earth downloads a similar dataset from the PyPSA technology database, saves it in resources and uses it to determine the aforementioned values. Importantly, not all values listed in the data/costs.csv appear in the technology database and vice versa. Specifically, the technology database does not include efficiency values for pipelines, as PyPSA-Eur uses a different, more complex way to calculate them than PyPSA-Earth. To handle the missing values, PyPSA-Earth uses the default values specified in the costs section of the config, setting the pipeline efficiency to 1. When using the data/costs.csv however, the efficiency would be set to 0.98 as it still contains a value for the pipeline efficiency.
I think this behavior is problematic, as it is difficult to spot and an non intuitive result of changing the retrieve_cost_data setting. It might affect other pipelines implemented in the sector coupled network as well.
Reproduction
The bug can be reproduced by running setting
electricity: extendable_carriers: Store: ["H2"]
andelectricity: extendable_carriers: Link: ["H2 pipeline"]
in the config and varying theenable: retrieve_cost_data
setting between true and false.The text was updated successfully, but these errors were encountered: