Skip to content

Heat pump revisions for regional datasets - #3477

Draft
kndehaan wants to merge 54 commits into
heat-pump-analysisfrom
regional-heat-pump-analysis-update
Draft

Heat pump revisions for regional datasets#3477
kndehaan wants to merge 54 commits into
heat-pump-analysisfrom
regional-heat-pump-analysis-update

Conversation

@kndehaan

Copy link
Copy Markdown
Member

Context

Implemented changes

Related

Closes issue ...

Goes with pull requests #3472

Checklist

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

kndehaan and others added 30 commits August 12, 2026 13:24
Also, changed priorities to accomodate for settings_weather_curves_set.ac
In this push are 5 new input sliders:
- New buildings (priority 2)
- Demolished buildings (priority 2)
- Insulation new buildings (priority 1)
- Insulation existing buildings (priority 1)
- Buildings heating behaviour (priority 0)

The old input keys are still there and are untouched.
Added a start value to share of new buildings per building type based on existing stock:
Created seperate queries in which the starting values are calculated

Changed the step value to 0.1 instead of 1 for:
Shares of new buildings
Shares of demolished buildings

Wrote descriptions for following inputs:
Shares of new buildings
Shares of demolished buildings

Chaned priorities:
Total_numbers 2 to 3
Shares of new/demolished 3 to 4

Wrote a demolished V2a, which is longer than V2 but it rounds number_of_units to integers. Also made sure to round to integers in V3
The priority of the market share is 0 so it is set after all housing stock sliders. The number of units in the start year is always 0 as well. The reference to the households p2p can therefore be removed from all housing stock sliders. The QUERY FUTURE did not work, so it is replaced by referring to INPUT VALUES and AREA attributes.
Required to go before development of demand sliders. Both were set to priority 0, and this went ok due to alphabetical order, but risky and prone to future errors if input names are changed. Updating the priority ensures that the correct order is maintained. Does not change anything to the results.
@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.

mabijkerk and others added 15 commits August 21, 2026 15:35
Add emissions for dataset-derived emissions in the direct emissions method.
Hot water now have their own interface elements in ETLocal
- Fixed fever.capacity.network_gas (was 0.22 instead of 0.022) for households_water_heater_hybrid_heatpump
- Fixed heat_output_capacity for households_water_heater_hybrid_heatpump. It was too high due to the wrong value for fever.capacity.network_gas. Also, it is now alligned with the capacity for the capacity for space heating for the hybrid heatpump.
- Added storage to households_space_heater_heatpump_air_water. Was deleted when it shouldn't be. Updated the assumptions in the Node Source Analysis as well.
- Deleted input.ambient_heat, input.electricity and input.network_gas from households_space_heater_hybrid as they are dataset specific.
@kndehaan
kndehaan force-pushed the regional-heat-pump-analysis-update branch from 1c35db2 to dcf6b66 Compare August 26, 2026 12:13
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.

5 participants