-
Notifications
You must be signed in to change notification settings - Fork 10
Description
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)
endThen 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)
endWe 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