Skip to content

Heat pump revisions for regional datasets - #3477

Merged
kndehaan merged 6 commits into
heat-pump-analysisfrom
regional-heat-pump-analysis-update
Aug 28, 2026
Merged

Heat pump revisions for regional datasets#3477
kndehaan merged 6 commits into
heat-pump-analysisfrom
regional-heat-pump-analysis-update

Conversation

@kndehaan

@kndehaan kndehaan commented Aug 21, 2026

Copy link
Copy Markdown
Member

Context

This PR applies the updated heat pump data based from the nl2023 dataset from #3472.

Implemented changes

  • Applies the updated values from nl2023 in a migration for municipal datasets
  • Amalgamator is used to sum to provinces and RES regionas
  • Re-export of datasets to ETSource

NOTE: input slots of buildings_space_heater_hybrid_heatpump_air_water_electricity is updated automatically since the SGQ buildings_space_heater_hybrid_heatpump_air_water_electricity+input uses a node efficiency from buildings_space_heater_hybrid_heatpump_air_water_electricity, which is based on the default efficiency of the households HHP:

~ input.electricity = EFFICIENCY(households_space_heater_hybrid_heatpump_air_water_electricity, input, electricity)
~ input.network_gas = EFFICIENCY(households_space_heater_hybrid_heatpump_air_water_electricity, input, network_gas)
~ input.ambient_heat = EFFICIENCY(households_space_heater_hybrid_heatpump_air_water_electricity, input, ambient_heat)

This value is updated for nl2023 and therefore shows its effect on buildings_space_heater_hybrid_heatpump_air_water_electricity input slots in the regional datasets.

Related

Goes with pull requests quintel/etlocal#713

Checklist

  • I have tested these changes
  • I have updated documentation as needed
  • I have tagged the relevant people for review

@kndehaan
kndehaan changed the base branch from master to heat-pump-analysis August 21, 2026 13:05
@kndehaan

Copy link
Copy Markdown
Member Author

Due to a mismatch between how efficiencies of heat pumps for hot water are set in the national (full) dataset and regional (derived) datasets, an imbalance arises in the energy graph, which breaks the model.

  • Regional dataset use the same efficiency for both heat pumps used for space heating and hot water. So the hybrid heat pump for hot water for example uses the efficiency of the same technology for space heating (see households_final_demand_for_hot_water_electricity-households_water_heater_hybrid_heatpump_air_water_electricity@electricity+parent_share). Hybrid heat pump for hot water therefore consume electricity in the regional datasets.
  • For the national dataset, the hot water heat pump efficiency can be set separately from the space heating technology. In Heat pump revisions for nl2023 #3472, households_water_heater_hybrid_heatpump_air_water_electricity_efficiency.csv is updated so that it only requires network gas. In the national dataset, the hybrid heat pump does not consume electricity.
  • This goes wrong in the sparse graph query (SGQ) households_water_heater_hybrid_heatpump_air_water_electricity+input (see below), where the input of electricity, network_gas, and ambient_heat is determined. ambient_relative_to_elec in this SGQ divides 0 with 0, resulting in NaN. The IF statement at the then sets the efficiencies to the same value as the parent dataset. This results in the mismatch in flows in the energy graph.
elec_tj = DATASET_INPUT(households_final_demand_electricity_demand) * DATASET_INPUT(households_final_demand_electricity_households_final_demand_for_hot_water_electricity_parent_share) * SPARSE_GRAPH_QUERY("households_final_demand_for_hot_water_electricity-households_water_heater_hybrid_heatpump_air_water_electricity@electricity", parent_share);
ambient_relative_to_elec = NODE_EFFICIENCY(households_water_heater_hybrid_heatpump_air_water_electricity, input, ambient_heat) / NODE_EFFICIENCY(households_water_heater_hybrid_heatpump_air_water_electricity, input, electricity);
ambient_tj = elec_tj * ambient_relative_to_elec;
gas_tj = DATASET_INPUT(households_final_demand_network_gas_demand) * DATASET_INPUT(households_final_demand_network_gas_households_final_demand_for_hot_water_network_gas_parent_share) * SPARSE_GRAPH_QUERY("households_final_demand_for_hot_water_network_gas-households_water_heater_hybrid_heatpump_air_water_electricity@network_gas", parent_share);
total_heat = elec_tj + ambient_tj + gas_tj;

    IF(total_heat > 0.0, {
        electricity: elec_tj / total_heat,
        network_gas: gas_tj / total_heat,
        ambient_heat: ambient_tj / total_heat}, {
        electricity: NODE_EFFICIENCY(households_water_heater_hybrid_heatpump_air_water_electricity, input, electricity),
        network_gas: NODE_EFFICIENCY(households_water_heater_hybrid_heatpump_air_water_electricity, input, network_gas),
        ambient_heat: NODE_EFFICIENCY(households_water_heater_hybrid_heatpump_air_water_electricity, input, ambient_heat)}
        )

We need to discuss further how to approach this problem.

@kndehaan
kndehaan force-pushed the regional-heat-pump-analysis-update branch from 1c35db2 to dcf6b66 Compare August 26, 2026 12:13
@kndehaan
kndehaan force-pushed the heat-pump-analysis branch 2 times, most recently from 29c1dbc to 9a90eba Compare August 27, 2026 12:08
@kndehaan
kndehaan force-pushed the regional-heat-pump-analysis-update branch from 02659e4 to 7ea53bc Compare August 27, 2026 12:09
@kndehaan
kndehaan requested a review from mabijkerk August 27, 2026 12:18
@kndehaan
kndehaan marked this pull request as ready for review August 27, 2026 12:18

@mabijkerk mabijkerk left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

@kndehaan Noord Holland (2022) was not included, is that intentional? What will be the effect of that, does it still run?

@kndehaan

kndehaan commented Aug 27, 2026

Copy link
Copy Markdown
Member Author

Noord Holland (2022) was not included, is that intentional? What will be the effect of that, does it still run?

I is intentionally not updated. That's something that I asked within the project's Slack channel. Reasoning was that since nl2019 (its parent dataset) was not updated, no need to update NH2022. @KoenvanB agreed.

I opened the dataset in the front-end just to check, it still works.

@kndehaan
kndehaan force-pushed the heat-pump-analysis branch from 9a90eba to 80e06b7 Compare August 27, 2026 14:15
@kndehaan
kndehaan force-pushed the regional-heat-pump-analysis-update branch from 7ea53bc to c7cdd34 Compare August 27, 2026 14:17

@mabijkerk mabijkerk left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

🙏

@kndehaan
kndehaan merged commit 0d92027 into heat-pump-analysis Aug 28, 2026
1 check passed
@kndehaan
kndehaan deleted the regional-heat-pump-analysis-update branch August 28, 2026 13:28
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.

2 participants