Package agents.trader.electrolysis
Class GreenHydrogenTraderMonthly
- java.lang.Object
-
- de.dlr.gitlab.fame.agent.Agent
-
- agents.trader.Trader
-
- agents.trader.FlexibilityTrader
-
- agents.trader.electrolysis.ElectrolysisTrader
-
- agents.trader.electrolysis.GreenHydrogenTraderMonthly
-
- All Implemented Interfaces:
DayAheadMarketTrader
,FuelsTrader
,PowerPlantScheduler
,GreenHydrogenProducer
,de.dlr.gitlab.fame.agent.AgentAbility
public class GreenHydrogenTraderMonthly extends ElectrolysisTrader implements GreenHydrogenProducer
GreenHydrogenTraderMonthly is a type of ElectrolysisTrader that operates an electrolyzer unit to produce hydrogen from green electricity purchased via a PPA ensuring monthly equivalence of used electricity for electrolysis and produced green electricity. Grey electricity may be bought from the market, as long as the monthly total of electricity used for hydrogen production is less than or equal to the total amount of produced green electricity from connected renewable plant operators. Planning of when to sell green electricity, when to purchase grey electricity, and how to operate the electrolysis unit requires forecasts of hydrogen prices, of electricity prices and of green electricity production.- Author:
- Christoph Schimeczek, Johannes Kochems
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class agents.trader.electrolysis.ElectrolysisTrader
ElectrolysisTrader.Outputs
-
Nested classes/interfaces inherited from class de.dlr.gitlab.fame.agent.Agent
de.dlr.gitlab.fame.agent.Agent.WarmUpStatus
-
Nested classes/interfaces inherited from interface agents.markets.DayAheadMarketTrader
DayAheadMarketTrader.OutputColumns
-
Nested classes/interfaces inherited from interface agents.trader.electrolysis.GreenHydrogenProducer
GreenHydrogenProducer.Outputs
-
-
Field Summary
-
Fields inherited from class agents.trader.electrolysis.ElectrolysisTrader
electrolyzer, lastClearingTime, lastProducedHydrogenInMWH, strategist
-
Fields inherited from interface agents.markets.DayAheadMarketTrader
ERR_CLEARING_TIMES_AMBIGUOUS, ERR_CLEARING_TIMES_MISSING
-
Fields inherited from interface agents.markets.FuelsTrader
fuelTypeParameter
-
-
Constructor Summary
Constructors Constructor Description GreenHydrogenTraderMonthly(de.dlr.gitlab.fame.agent.input.DataProvider dataProvider)
Creates a newGreenHydrogenTraderMonthly
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
digestAwards(ArrayList<de.dlr.gitlab.fame.communication.message.Message> messages, List<de.dlr.gitlab.fame.communication.Contract> contracts)
Digests award information fromDayAheadMarket
, writes dispatchprotected MonthlyEquivalence
getStrategist()
protected void
prepareBids(ArrayList<de.dlr.gitlab.fame.communication.message.Message> input, List<de.dlr.gitlab.fame.communication.Contract> contracts)
Prepares and sends Bids to one contracted exchange-
Methods inherited from class agents.trader.electrolysis.ElectrolysisTrader
getInstalledCapacityInMW
-
Methods inherited from class agents.trader.FlexibilityTrader
reportCosts, requestElectricityForecast, updateElectricityPriceForecast, updateMeritOrderForecast
-
Methods inherited from class agents.trader.Trader
extractMarginalsAtTime, getMatchingContract, getSortedMarginalList, sortMarginalsByTimeStamp
-
Methods inherited from class de.dlr.gitlab.fame.agent.Agent
addContract, call, closeChannel, executeActions, executeWarmUp, fulfilNext, fulfilNext, getId, getNextRandomNumberGenerator, getPostOffice, handleMessage, initialiseActions, now, openChannel, publish, receive, sendMessageTo, sendMessageTo, store, store, toString, warmUp
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface de.dlr.gitlab.fame.agent.AgentAbility
call, fulfilNext, fulfilNext, getId, getNextRandomNumberGenerator, now, store, store
-
Methods inherited from interface agents.markets.DayAheadMarketTrader
extractTimesFromGateClosureInfoMessages, readGateClosureInfoMessage
-
Methods inherited from interface agents.markets.FuelsTrader
readFuelBillMessage, readFuelPriceMessage, sendFuelBid, sendFuelPriceRequest
-
Methods inherited from interface agents.trader.electrolysis.GreenHydrogenProducer
requestPpaInformation
-
-
-
-
Constructor Detail
-
GreenHydrogenTraderMonthly
public GreenHydrogenTraderMonthly(de.dlr.gitlab.fame.agent.input.DataProvider dataProvider) throws de.dlr.gitlab.fame.agent.input.ParameterData.MissingDataException
Creates a newGreenHydrogenTraderMonthly
- Parameters:
dataProvider
- provides input from config- Throws:
de.dlr.gitlab.fame.agent.input.ParameterData.MissingDataException
- if any required data is not provided
-
-
Method Detail
-
prepareBids
protected void prepareBids(ArrayList<de.dlr.gitlab.fame.communication.message.Message> input, List<de.dlr.gitlab.fame.communication.Contract> contracts)
Description copied from class:ElectrolysisTrader
Prepares and sends Bids to one contracted exchange- Overrides:
prepareBids
in classElectrolysisTrader
- Parameters:
input
- one GateClosureInfo message containing ClearingTimescontracts
- single contract with aDayAheadMarket
-
digestAwards
protected void digestAwards(ArrayList<de.dlr.gitlab.fame.communication.message.Message> messages, List<de.dlr.gitlab.fame.communication.Contract> contracts)
Description copied from class:ElectrolysisTrader
Digests award information fromDayAheadMarket
, writes dispatch- Overrides:
digestAwards
in classElectrolysisTrader
- Parameters:
messages
- award information received fromDayAheadMarket
contracts
- none
-
getStrategist
protected MonthlyEquivalence getStrategist()
- Overrides:
getStrategist
in classElectrolysisTrader
- Returns:
- strategist instance of respective FlexibilityTrader
-
-