Class FileDispatcher
- java.lang.Object
-
- agents.flexibility.Strategist
-
- agents.storage.arbitrageStrategists.ArbitrageStrategist
-
- agents.storage.arbitrageStrategists.FileDispatcher
-
public class FileDispatcher extends ArbitrageStrategist
CreatesDispatchSchedule
s from file for a connected storageDevice
- Author:
- Christoph Schimeczek, Johannes Kochems, Ulrich Frey, Felix Nitsch
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class agents.storage.arbitrageStrategists.ArbitrageStrategist
ArbitrageStrategist.StrategistType
-
-
Field Summary
Fields Modifier and Type Field Description static de.dlr.gitlab.fame.agent.input.Tree
parameters
Input for theFileDispatcher
-
Fields inherited from class agents.storage.arbitrageStrategists.ArbitrageStrategist
logger, scheduledInitialInternalEnergyInMWH, storage, StrategistTypeParam
-
Fields inherited from class agents.flexibility.Strategist
bidToleranceParam, demandScheduleInMWH, ERR_PROVIDE_FORECAST, ERR_UNKNOWN_STRATEGIST, ERR_UNKNOWN_UPDATE_TYPE, ERR_USE_MERIT_ORDER_FORECAST, ERR_USE_PRICE_FORECAST, forecastPeriodParam, forecastSteps, forecastUpdateTypeParam, OPERATION_PERIOD, priceScheduleInEURperMWH, scheduledBidPricesInEURperMWH, scheduleDurationParam, scheduleDurationPeriods
-
-
Constructor Summary
Constructors Constructor Description FileDispatcher(de.dlr.gitlab.fame.agent.input.ParameterData generalInput, de.dlr.gitlab.fame.agent.input.ParameterData specificInput, Device storage)
Creates aFileDispatcher
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected MeritOrderSensitivity
createBlankSensitivity()
NoMeritOrderSensitivity
needed forFileDispatcher
, as dispatch is read from fileDispatchSchedule
createSchedule(de.dlr.gitlab.fame.time.TimePeriod timeSegment)
Creates aDispatchSchedule
for the connected flexibilitydouble
getChargingPowerForecastInMW(de.dlr.gitlab.fame.time.TimeStamp targetTime)
Returns forecasted external charging power, if possible - otherwise throws a RuntimeEceptionvoid
storeMeritOrderForesight(de.dlr.gitlab.fame.time.TimePeriod timePeriod, SupplyOrderBook supplyForecast, DemandOrderBook demandForecast)
Unused method - will throw an Exceptionprotected void
updateSchedule(de.dlr.gitlab.fame.time.TimePeriod t)
Not needed forFileDispatcher
-
Methods inherited from class agents.storage.arbitrageStrategists.ArbitrageStrategist
calcNumberOfEnergyStates, callOnSensitivity, createStrategist, ensureWithinEnergyBounds, getInternalEnergySchedule
-
Methods inherited from class agents.flexibility.Strategist
clearSensitivitiesBefore, getMissingForecastTimes, getSensitivityForPeriod, getTimesMissingElectricityForecasts, storeElectricityPriceForecast, updateBidSchedule
-
-
-
-
Field Detail
-
parameters
public static final de.dlr.gitlab.fame.agent.input.Tree parameters
Input for theFileDispatcher
-
-
Constructor Detail
-
FileDispatcher
public FileDispatcher(de.dlr.gitlab.fame.agent.input.ParameterData generalInput, de.dlr.gitlab.fame.agent.input.ParameterData specificInput, Device storage) throws de.dlr.gitlab.fame.agent.input.ParameterData.MissingDataException
Creates aFileDispatcher
- Parameters:
generalInput
- general parameters associated with strategistsspecificInput
- specific parameters for this strategiststorage
- device to be optimised- Throws:
de.dlr.gitlab.fame.agent.input.ParameterData.MissingDataException
- if any required input is missing
-
-
Method Detail
-
createBlankSensitivity
protected MeritOrderSensitivity createBlankSensitivity()
NoMeritOrderSensitivity
needed forFileDispatcher
, as dispatch is read from file- Specified by:
createBlankSensitivity
in classStrategist
- Returns:
- an empty
MeritOrderSensitivity
item of the type used by thisArbitrageStrategist
-type
-
updateSchedule
protected void updateSchedule(de.dlr.gitlab.fame.time.TimePeriod t)
Not needed forFileDispatcher
- Specified by:
updateSchedule
in classStrategist
- Parameters:
t
- first period of the schedule to be created
-
createSchedule
public DispatchSchedule createSchedule(de.dlr.gitlab.fame.time.TimePeriod timeSegment)
Description copied from class:Strategist
Creates aDispatchSchedule
for the connected flexibility- Overrides:
createSchedule
in classStrategist
- Parameters:
timeSegment
- first TimePeriod element of the schedule to be created- Returns:
DispatchSchedule
for the connectedDevice
for the specified simulation hour
-
getChargingPowerForecastInMW
public double getChargingPowerForecastInMW(de.dlr.gitlab.fame.time.TimeStamp targetTime)
Description copied from class:ArbitrageStrategist
Returns forecasted external charging power, if possible - otherwise throws a RuntimeEception- Specified by:
getChargingPowerForecastInMW
in classArbitrageStrategist
- Parameters:
targetTime
- for which to provide the forecast- Returns:
- forecasted external charging power in MW
-
storeMeritOrderForesight
public void storeMeritOrderForesight(de.dlr.gitlab.fame.time.TimePeriod timePeriod, SupplyOrderBook supplyForecast, DemandOrderBook demandForecast)
Unused method - will throw an Exception- Overrides:
storeMeritOrderForesight
in classStrategist
- Parameters:
timePeriod
- associated with the forecast datasupplyForecast
- forecasted supply OrderBookdemandForecast
- forecasted demand OrderBook
-
-