-
Notifications
You must be signed in to change notification settings - Fork 363
feat:improve PtX excess heat handling #1944
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
base: refactor-ptes-boosting
Are you sure you want to change the base?
feat:improve PtX excess heat handling #1944
Conversation
…from Power-to-X processes
…mperature configurations for excess heat sources
…fficiency calculation to use the new parameter
|
Note: 36110d5 fixed a bug that caused the return flow temperature to be used in the COP approximation of all heat sources, including those pre-heating the return flow. |
cpschau
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great work @amos-schledorn! I think I am finally getting a sense for the convenience of enums 😄
I only have one question about the processing of the HB heat efficiency. Other than that, this looks good to me!
| costs.at[self.technology_data_name, "efficiency-heat"] | ||
| / costs.at[self.technology_data_name, "electricity-input"] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why is the heat efficiency value of the technology data not used directly?
| 0.95 - n.links.loc[urban_central + " H2 Fuel Cell", "efficiency"] | ||
| ) * options["use_fuel_cell_waste_heat"] | ||
| # Check if the process exists in the network | ||
| if heat_source.process_carrier not in link_carriers: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Using link_carriers requires addition of industry process beforehand. If our aim is to modularize and isolate add_heat including add_waste_heat it might be clever to reduce these kind of dependencies. No change requested, just flagging.
Integrates utilisation of excess heat from Power-to-X processes (electrolysis, Fischer-Tropsch, Sabatier, Haber-Bosch, methanolisation, fuel cells) into the new heat-source structure.
Changes
definitions/heat_source.pyHeatSourceenumHeatSourceTypecategorization (INEXHAUSTIBLE, SUPPLY_LIMITED, STORAGE, PROCESS_WASTE)has_constant_temperature→temperature_from_configprepare_sector_network.add_waste_heat()toHeatSourceenum__init__fromHeatSourceenumprepare_sector_network.pyadd_waste_heat(): Reduced from ~80 lines to ~30 using loop over PtXHeatSourcesSmall refactoring changes
build_cop_profiles/run.pyto usetemperature_from_configbuild_heat_source_utilisation_profiles.pyto usetemperature_from_configrules/build_sector.smkto usetemperature_from_configConfig Changes
Waste Heat Efficiency Changes
The old implementation used hardcoded approximations. The new implementation uses
efficiency-heatvalues from technology-data where available:0.95 - efficiency(~0.15)efficiency-heat0.84 - efficiency(~0.14)efficiency-heat0.15 * total_energy_input / electricity_input~3.75)efficiency-heat/electricity-inputheat-output / hydrogen-input(~0.088)0.95 - efficiency(=0.15)0.95 - efficiency(=0.45)Checklist
pixi.toml(usingpixi add <dependency-name>).config/config.default.yaml.doc/configtables/*.csv.these instructions <https://pypsa-eur.readthedocs.io/en/latest/data_sources.html>_ have been followed.doc/release_notes.rstis added.Testing
Configs
Base branch
Feature branch, same config but with same temperatures as implicitly assumed before
(only changes are waste heat efficiencies)
Feature branch, default config
Results
objective values
Excess heat utilisation
Urban central heat balance
Base
Feature, 200°C PtX temps
Feature, default PtX temps