Class DispatchSchedule


  • public class DispatchSchedule
    extends Object
    Represents a charge / discharge schedule for flexibility options, e.g. storage systems
    Author:
    Christoph Schimeczek
    • Constructor Detail

      • DispatchSchedule

        public DispatchSchedule​(de.dlr.gitlab.fame.time.TimePeriod timeSegment,
                                int durationInPeriods)
        Parameters:
        timeSegment - defines first time at which this schedule is valid and length of each period
        durationInPeriods - number of time periods covered by this schedule, i.e. multiples of timeSegment durations
    • Method Detail

      • setChargingPerPeriod

        public void setChargingPerPeriod​(double[] chargingPerPeriodInMW)
        sets hourly charging schedule
        Parameters:
        chargingPerPeriodInMW - charging schedule
      • setBidsScheduleInEURperMWH

        public void setBidsScheduleInEURperMWH​(double[] bidPerPeriodInEURperMWH)
        sets hourly bidding schedule
        Parameters:
        bidPerPeriodInEURperMWH - bidding schedule
      • setExpectedInitialInternalEnergyScheduleInMWH

        public void setExpectedInitialInternalEnergyScheduleInMWH​(double[] expectedInitialInternalEnergyPerPeriodInMWH)
        sets schedule for expected initial internal energies
        Parameters:
        expectedInitialInternalEnergyPerPeriodInMWH - initial energy schedule
      • isApplicable

        public boolean isApplicable​(de.dlr.gitlab.fame.time.TimeStamp time,
                                    double storageEnergyLevelInMWH)
        Returns true if this schedule is defined for the given time, and if the given energy level matches the scheduled energy one
        Parameters:
        time - TimeStamp which the schedule is checked for
        storageEnergyLevelInMWH - current energy level in storage to be compared to the planned energy level at given time
        Returns:
        true if the schedule is applicable at the specified time and matches the given energy in storage
      • getScheduledChargingPowerInMW

        public double getScheduledChargingPowerInMW​(de.dlr.gitlab.fame.time.TimeStamp time)
        Returns charging power for the given time as positive value - in case of discharging, 0 is returned
        Parameters:
        time - must match schedule time element, use isApplicable(TimeStamp, double) to check for validity
        Returns:
        positive charging power in MW for the specified time
      • getScheduledDischargingPowerInMW

        public double getScheduledDischargingPowerInMW​(de.dlr.gitlab.fame.time.TimeStamp time)
        Returns discharging power for the given time as positive value - in case of charging, 0 is returned
        Parameters:
        time - must match schedule time element, use isApplicable(TimeStamp, double) to check for validity
        Returns:
        positive discharging power in MW for the specified time
      • getScheduledBidInHourInEURperMWH

        public double getScheduledBidInHourInEURperMWH​(de.dlr.gitlab.fame.time.TimeStamp time)
        Returns bidding price for charging or discharging
        Parameters:
        time - must match schedule time element, use isApplicable(TimeStamp, double) to check for validity
        Returns:
        bidding price in EUR / MWh for the specified time
      • getTimeOfFirstElement

        public de.dlr.gitlab.fame.time.TimeStamp getTimeOfFirstElement()
        Returns:
        start time of schedule