Skip to content

Add behaviour for temperature setpoint and availability curves #1632

@kaskranenburgQ

Description

@kaskranenburgQ

We need to create a new adapter in the Merit Facade. The current p2h connected to the heat network act as merit flex generics, but we need to add some extra behaviours.

Atlas

In Atlas we have to allow a new merit attribute to be set. This attribute, when set on a node, can be changed by a new input, and will be picked up by the new adapter.

- merit_order.temperature_cutoff = 15.0

This is a simple solution, that will make it necessary to update that attribute on each affected node when creating an input.

TemperatureBasedPowerToHeatAdapter

The adapter will inherit from FlexAdapter::Base with the following extensions:

# Internal: The curve of air temperatures in the region.
def temperature_curve
  @context.curves.curve('weather/air_temperature', @node)
end

Then we need to create an availability curve based on the temperature cutoff, OR we use a user uploaded curve:

def availability_curve
  user_uploaded_curve || calculated_curve(@node.config.temperature_cutoff)
end

We can make use of existing classes in Merit, so no need for any changes in the gem

Merit::Flex::VariableConsumer
# A flexibility participant which can only consume, and whose input capacity may vary each hour
# using an availability curve. This differs from other flexibility options where input capacity
# and availability are fixed for the whole year.

ETSource

Add the new availability curve to be allowed to be uploaded, and which inputs it will cancel.
In user_curves config make sure the curve is uploadable without being in the dataset, disable the temperature setpoint input

Notes

The availabilty curve is not downloadable/queryable

We might solve the weather behaviour issue (effect of raising global temp on standard weather curve) in a separate issue

Sub-issues

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions