Skip to content

Customer start of timeslot

jecollins edited this page Feb 14, 2011 · 8 revisions

up
The primary task of each customer model is to run its simulation model once per timeslot, generating power consumption and production quantities.

Gather inputs

  1. Prior to the beginning of a timeslot, each Broker will have updated any variable rates in each of its Tariffs that is currently offered or subscribed.
  2. During the previous timeslot, any balancing actions taken by the Accounting Service (reducing interruptible loads, for example) will have been recorded.

Therefore, before running its model, each Customer model must retrieve

  1. From each of its TariffSubscriptions,
    1. Price data from its variable-rate Tariffs.
    2. Results of balancing actions taken during the previous timeslot (for example, if a heater load was interrupted during the previous hour, demand during the current hour might increase to make up the lost heat).
  2. Weather data from the Weather Service (current weather is updated every hour, while a 48-hour forecast is updated every 24 hours).

With this data in hand, a Customer model will run its model (the results might vary by TariffSubscription because of different prices and balancing actions) and call the consumePower and/or producePower methods on the TariffSubscription instances. The result will be a MeterReading instance for the current timeslot. The Accounting Service will later retrieve these MeterReading results from the individual TariffSubscription instances.

Results for each TariffSubscription are packaged as JMS MeterReading messages, which must record (at least) the TariffSubscription and the quantity. It is important to record the TariffSubscription rather than the Tariff, because that is the information needed by the Accounting Service to determine whether all reports have been received.

Once the Customer has completed updating its TariffSubscriptions, it must create an instance of CustomerTimeslotComplete and post it to the Accounting Service.

Clone this wiki locally