Skip to content

Platform

The whole loop, not a dashboard on top of it.

WiSDM is four systems that hand off to each other without a human in the middle — and a fifth that checks the other four are telling the truth.

01

Price forecasting

Hour-by-hour pool price forecasts, regenerated continuously.

  • An ensemble of tree-based and gradient-boosted models, including specialist models trained separately for each hour of the day, because the drivers at 03:00 are not the drivers at 18:00.
  • Models are retrained and scored against realised pool price, and every forecast run is snapshotted with its input features so a decision can be reconstructed after the fact.
  • Forecasts feed the dispatch decision directly. There is no manual step between a forecast and an offer.

02

Offers and restatements

Market submissions handled inside the deadlines, every hour.

  • Offers and restatements are generated and submitted to the AESO automatically, including the restatements required when a unit comes off outside its scheduled window.
  • Minimum run time and minimum off time are enforced by the platform. A dispatch decision that would violate either is blocked before it reaches the plant.
  • Every submission is logged with the forecast and system state that produced it.

03

Remote dispatch

Start and stop without sending anyone to site.

  • Plants are started and stopped remotely on the forecast. Control actions are role-scoped, so only authorised operators can override the automation.
  • Manual control is a first-class mode, not an escape hatch. An operator can take a unit and hold it, and automation stays locked out until it is explicitly handed back.
  • Every control path has a test mode that exercises the real logic without touching the plant, so changes are proven before they reach production.

04

Monitoring and settlement

Independent verification, then the numbers to prove it.

  • A separate loop compares expected plant state against actual metered output every few minutes. A mismatch is rechecked, then escalated by SMS to the on-call operator.
  • Startups are held and verified against metered output before the unit is treated as online, so a failed start is caught in minutes rather than discovered at settlement.
  • Daily, weekly and monthly reports reconcile generation, pool revenue, payments to suppliers on the margin, cost of gas and gross margin, delivered as Excel and PDF.

Built to be tested

Nothing reaches a plant that has not been run in test mode first.

Every automation that can start a unit, stop a unit or raise an alert ships with a safe path that runs the real logic against mock plant state and writes nothing. Dry runs log exactly what they would have done. That is a rule in this codebase, not a convention.