quintel / merit

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

Two-step Merit run? #112

Closed ChaelKruip closed 10 years ago

ChaelKruip commented 10 years ago

It has become clear to me (there has been a little scope creep I'm afraid) that there are several hours per day that NL is exporting to DE.

Problem

In our current format, DE is modeled as a price-driven interconnector (see https://github.com/quintel/merit/issues/105). This means that the load of the interconnector follows from the Merit run. As the DE_interconnector is modeled as 'just another plant', it can only produce electricity.

The cases that DE is actually importing from NL cannot be modeled in this framework. Because we do not know beforehand at which hours DE is importing (this depends on the relative prices of NL and DE), we cannot model the DE import as another predefined load-driven interconnector either.

This is bad because at those hours, we cannot calculate the correct NL price. Also, we would like to know how much we export to DE.

Suggested solution

I suggest a solution where we do 2 runs with Merit. The second run with an extra load-driven interconnector that describes import from NL to DE. The extra interconnector (and its load curve) is specified after processing the output of the first run with a script as follows:

Once we know when en how much DE is importing from NL, we can create the load-curve for the load-driven DE interconnector. Simply adding this plant to the stub and re-running the Merit sim will give us the required information.

ChaelKruip commented 10 years ago

part of https://github.com/quintel/merit/issues/104

antw commented 10 years ago

I suggest a solution where we do 2 runs with Merit.

:+1:

I agree, this seems like a good choice. This is just for the price convergence project, and won't be required in ETEngine?

ChaelKruip commented 10 years ago

I agree, this seems like a good choice. This is just for the price convergence project, and won't be required in ETEngine?

Luckily not required indeed!

antw commented 10 years ago

Implemented in merit-convergence's Runner class.