quintel / etengine

Calculation engine for the Energy Transition Model
https://energytransitionmodel.com/
MIT License
14 stars 7 forks source link

Collective heat pump is not assigned any electricity on the input curve #1337

Closed mabijkerk closed 3 weeks ago

mabijkerk commented 1 year ago

When I open the II3050v2 EUR scenario and add 7000 MW of the collective heat pump (energy_heat_heatpump_water_water_electricity), I get the following results:

Screenshot 2023-04-19 at 11 36 05

The collective heat pump is therefore producing steam hot water for the heat network and consuming electricity. However, when I export all the electricity curves, the input curve of the heat pump is 0 in every hour. This is confirmed in the following query:

SUM(V(energy_heat_heatpump_water_water_electricity,electricity_input_curve))

0.0

@noracato can you look into this issue? It does not seem to occur when I install 7000 MW in a blank nl2019 scenario:

SUM(V(energy_heat_heatpump_water_water_electricity,electricity_input_curve))

835,404.3176110185

The issue also does not seem to occur for any of the other electricity consumers on the heat network in the II3050v2 EUR scenario: energy_heat_well_geothermal, energy_heat_flexibility_p2h_heatpump_electricity and energy_heat_flexibility_p2h_boiler_electricity. These all have electricity assigned to the input curve. A difference is that these are must_run producers however, whereas the collective heat pump is the only dispatchable producer on the heat network that consumes electricity.

noracato commented 1 year ago

When I follow your steps of adding the 7000MW of collective heatpump, it starts showing up in the merit order:

Screenshot 2023-05-16 at 13 54 04

But it comes in place 3, after the waste heater with 0 capacity. Looking at the available capacity of the next candidate is, I believe, a stop condition for Merit. So maybe inside Merit the collective heat pump is never reached.

I'll look into this some more, but it might be a good starting point!

EDIT: no, moving it around in the merit order did nothing.

github-actions[bot] commented 1 year ago

This issue has had no activity for 60 days and will be closed in 7 days. Removing the "Stale" label or posting a comment will prevent it from being closed automatically. You can also add the "Pinned" label to ensure it isn't marked as stale in the future.

DorinevanderVlies commented 1 month ago

I find that the electricity demand for collective heat pumps "disappears" when a battery is installed with forecasting. Below images of a scenario for NL2019 with all heating by HT heat network and a large collective heat pump. image

image
louispt1 commented 1 month ago

@mabijkerk The branch in this PR (heat-pump-subtype) has the changed subtypes for the heat pump which appear to fix the issue.

I'm obviously not super experienced with testing these things, so I would appreciate it if a modeller could take a look at this and check that the solution works. I would also appreciate seeing how they would perform their checks/tests because I think it will definitely help me in the future.

mabijkerk commented 1 month ago

Nice work @louispt1 and good suggestion to go through it together. I'll schedule something. First check is that it seems to work! Based on my initial outline of the II3050v2 EUR scenario, adding a 7 GW of heatpump capacity now gives:

EACH(
  SUM(V(energy_heat_heatpump_water_water_ht_electricity,electricity_input_curve))*MJ_PER_MWH,
  V(energy_heat_heatpump_water_water_ht_electricity,input_of_electricity)
)

[
  7,408,160,078.517464,
  7,408,160,078.517462,
]