quintel / merit

A system for calculating hourly electricity and heat loads with a merit order
MIT License
3 stars 2 forks source link

Curtailment should become a participant (kind of) #134

Closed ChaelKruip closed 8 years ago

ChaelKruip commented 8 years ago

Part of quintel/etmodel#1868

The curtailed electricity should be stored somewhere (to be shown in the graph).

The rules are:

antw commented 8 years ago

Previously, export was used as a sink for all excess production in a scenario. However, as Merit will restrict the export capacity, curtailment will now fulfil this role.

In order that the HV network inputs and outputs add up correctly, the curtailment node needs to be connected to something. If we don't do this, ETEngine will assign the excess production from always-on producers to export (via the inversed_flexible link).

There are two possibilities:

  1. Connect curtailment as an output of energy_power_hv_network_electricity. This requires no other changes to the graph, but has the (possibly undesirable) effect of increasing loss: more energy flowing through the HV node leads to more loss. This doesn't seem to fit the spirit of curtailment being analogous to turning off a wind turbine during periods of low demand.
  2. Add a new node prior to the HV network – energy_power_before_curtailment_electricity – and connect both curtailment and the HV network as outputs, and all of the producers as inputs:

    screen shot 2016-02-04 at 09 09 53

    This has the effect of discarding the excess energy prior to the HV network and therefore does not increase loss. However, as it involves a change to the graph, it will need more testing.

@ChaelKruip @jorisberkhout Do you have a preference? I have already tried both options locally, and can submit a pull request for whichever is chosen.

jorisberkhout commented 8 years ago

Thanks a lot for the explanation, @antw .

@ChaelKruip @jorisberkhout Do you have a preference?

As discussed with @ChaelKruip , let's go for option 1, as option 2 involves too much work and potential fall-out.

jorisberkhout commented 8 years ago

and can submit a pull request for whichever is chosen

Does that pull request also include the new edge between the curtailment node and the HV network? If not, I can create that one.

antw commented 8 years ago

Does that pull request also include the new edge between the curtailment node and the HV network? If not, I can create that one.

Yes. I'll send a pull request shortly.

jorisberkhout commented 8 years ago

:+1:

jorisberkhout commented 8 years ago

This is all implemented, right, @antw ?

antw commented 8 years ago

It is.