Skip to content
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

Approximate district heating COPs via Jensen et al. 2018 #1175

Merged
merged 74 commits into from
Aug 7, 2024

Conversation

amos-schledorn
Copy link
Contributor

@amos-schledorn amos-schledorn commented Jul 22, 2024

Closes #857.

with respect to central heating.

Changes proposed in this Pull Request

  • Introduce separate forward and return temperatures for district (central) heating.
  • The rule build_cop_profiles builds separate heat pump COPs for decentral and central heating.
  • The COP approximation for central heating is based on Jensen et al. 2018.
  • Additional config settings for the approximation are added, with default values partly based on Pieper et al. 2019

Checklist

  • I tested my contribution locally and it seems to work fine.
  • Code and workflow changes are sufficiently documented.
  • Changed dependencies are added to envs/environment.yaml.
  • Changes in configuration options are added in all of config.default.yaml.
  • Changes in configuration options are also documented in doc/configtables/*.csv.
  • A release note doc/release_notes.rst is added.

Jupyter notebook and config files are attached below (.txt must be changed accordingly).

Impact on results

A quick test run (DE only, 2 nodes, 2050) suggests the resulting COPs after changing the approximation method and forward/return temperatures in district heating to be somewhat similar as before.

Updating only the approximation method but setting an (unrealistic) forward temperature of 55C (the current default) results in significantly higher central heat pump COPs and higher heat pump investments.

image image image

jupyter_notebook.txt

config.txt

scenarios.txt

@amos-schledorn amos-schledorn marked this pull request as draft July 22, 2024 13:38
@amos-schledorn amos-schledorn requested a review from fneum July 25, 2024 13:55
@amos-schledorn amos-schledorn marked this pull request as ready for review July 25, 2024 13:55
@amos-schledorn
Copy link
Contributor Author

@fneum This is good to go from my side. The first CI build is failing. Any idea why?

@amos-schledorn
Copy link
Contributor Author

Ready for re-review.

  • I've made some structural changes that beautify the handling of different kinds of heat systems, system types etc. as enums and moved that to a definitions module, as suggested by @lkstrp. Hope that's fine.
  • I'm getting slightly different results compared to a few days ago but I'm seeing that there were some changes in master, which I've merged into the feature that might be the reason (e.g. the clustering changed and COPs as a consequence)
  • I've also adjusted the scripts for perfect foresight and myopic mode.
  • Docs are not building but the error message is a little cryptic. Maybe @fneum, you can help?

@lisazeyen
Copy link
Contributor

lisazeyen commented Aug 7, 2024

Ready for re-review.

  • I've made some structural changes that beautify the handling of different kinds of heat systems, system types etc. as enums and moved that to a definitions module, as suggested by @lkstrp. Hope that's fine.
  • I'm getting slightly different results compared to a few days ago but I'm seeing that there were some changes in master, which I've merged into the feature that might be the reason (e.g. the clustering changed and COPs as a consequence)
  • I've also adjusted the scripts for perfect foresight and myopic mode.
  • Docs are not building but the error message is a little cryptic. Maybe @fneum, you can help?
  • the Docs were not building through a changed syntax for the intersphinx mapping, which is unrelated to the changes in your PR, should be fixed in the master branch now.

rules/build_sector.smk Outdated Show resolved Hide resolved
@lisazeyen
Copy link
Contributor

@amosschle really nice, code looks super clean and well documented! We should use the same approach for other sectors as well.

@lisazeyen lisazeyen enabled auto-merge August 7, 2024 12:14
@lisazeyen lisazeyen disabled auto-merge August 7, 2024 12:29
@lisazeyen lisazeyen merged commit d7436a6 into master Aug 7, 2024
5 of 6 checks passed
@amos-schledorn
Copy link
Contributor Author

Note for future reference:

  • Check COP calculation of heat pumps #857 suggests using Lorenz COPs. Pieper et al. 2020 suggests an approximation via Jensen et al. (implemented in this PR) to be superior (the authors test both and other methods against a thermodynamic simulation model for a Danish district heating system
  • This PR does not touch household heat pump COPs. This is still approximated via Staffell et al. 2012. An alternative would be using values/method from the When2Heat dataset. My preliminary analysis (to be investigated further) suggests somewhat similar COP values.

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.

Check COP calculation of heat pumps
3 participants