Skip to content

Conversation

TomKae00
Copy link
Contributor

Changes proposed in this Pull Request

This PR builds on #1711 and refines how heat pump investment costs are calculated:

  • Remove the nominal-efficiency factor and compute investment costs directly on the heat bus.
  • Define the booster heat-pump capital cost using:

The capital cost for the booster heat pump of the ptes have been defined as:

capital_cost = (
    costs.at[costs_name_heat_pump, "capital_cost"]
    * overdim_factor
    * (ptes_temperature_boost_ratio / (1 + ptes_temperature_boost_ratio)).max()
)

Explanation

The formula above ensures we only charge for the additional heat provided by boosting, rather than the total stream through the link. Since the model’s heat output for the booster reflects only the added energy, the ratio term appropriately scales the capital cost.


Testing

scenario:
  clusters:
    - 8

planning_horizons:
  - 2030

foresight: overnight
countries: ['DE', 'PL']

clustering:
  temporal:
    resolution_sector: 12h

Results

  • System costs:
    • Master: 140.982 Trillion
    • With PR changes: 141.069 Trillion

Heat Balances for each Sector:

Urban Central

  • Ground heat pump capacity decreases by a factor of nine compared to master
  • Contribution from resistive heaters increases (including for PTES boosting)
  • Gas boiler capacity increases slightly

urban_central_heat_fix_vs_master

Urban decentral

  • Air source heat pumps now contribute modestly to the energy mix

urban_decentral_heat_fix_vs_master

Rural

  • Gas-boiler output falls by 1 × 10⁸ MWh; ground-source heat pumps supply the balance
  • From a cost efficiency standpoint, ground-source heat pumps dominate: their annualized cost is roughly 150 k€/MWh versus about 100 k€/MWh for air-source units, while offering a higher average COP. See figure below.
  • Regeneration concern: ground source heat pumps now run as baseload, but operating as baseload would prevent soil recharge. Guidelines for Berlin advise limiting to about 2 000 full-load hours per year to allow proper thermal recovery as stated in this document: leitfaden_geothermie.pdf. Should we handle this in a follow-up PR or include it here, @cpschau and @amos-schledorn?

rural_heat_fix_vs_master
rural_heat_stack_comparison_shared_legend
overview2plots_rural_hp_comparison_PL0_1

Checklist

  • I tested my contribution locally and it works as intended.
  • Code and workflow changes are sufficiently documented.
  • Changed dependencies are added to envs/environment.yaml.
  • Changes in configuration options are added in config/config.default.yaml.
  • Changes in configuration options are documented in doc/configtables/*.csv.
  • Sources of newly added data are documented in doc/data_sources.rst.
  • A release note doc/release_notes.rst is added.

Copy link
Contributor

@cpschau cpschau left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you @TomKae00! I only had a quick look and the code looks fine at first glance. However, I would ask you to implement the re-routing of the buses also for the other foresight options, especially the myopic code. I would also wait for #1711 to be merged to see the actual diff.

unit="MWh_th",
)

ptes_direct_utilisiation_profile = (
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

typo

supplemental_heating:
enable: false
booster_heat_pump: false
booster_technologies: []
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like you've branched from another feature and not the main branch, meaning we should wait with merging this PR until the boosting feature is merged.

@amos-schledorn
Copy link
Contributor

Thanks @TomKae00 !
The diff is a little hard to read due to the branching issue. Let's either table this until the boosting feature is merged or open a new PR branching from the master.
Also: ground-sourced heat pumps shouldn't be a heat pump source for urban central heating - something is probably off in the config.

@fneum
Copy link
Member

fneum commented Jul 10, 2025

Regeneration concern: new PR

@amos-schledorn amos-schledorn marked this pull request as draft July 10, 2025 09:53
@amos-schledorn
Copy link
Contributor

Closed in favour of #1748

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.

4 participants