SYS NOMINAL FREQ 50.012 Hz HVDC-IFA +1.2 GW WIND 7.9 GW NUCLEAR 4.6 GW BESS +22% UTC 14:31:48
F⌁FATHOM TECHNOLOGYEnergy · Dispatch · Intelligence

One platform. Three lanes. Every dispatch decision a grid operator has to make.

FATHOM is not a dashboard. It is a runtime — a low-latency, observable, auditable software stack that ingests SCADA telemetry, weather ensembles, market signals and asset metadata, and emits dispatch decisions, forecast bands, and anomaly events. The same binaries run on a control-room workstation, a regional data centre, and a substation edge box.

RUNTIME FATHOM-RT 0.9 LATENCY P99 < 380 ms PROTOCOLS IEC 61850 · DNP3 · OCPP DEPLOY EDGE · CLOUD · HYBRID
BUS-10

The three lanes, in plain English

// LANE-1 · architecture

Most grid software is organised around screens. FATHOM is organised around decisions. We identified the three decisions that an operator, a trader, or a portfolio manager has to make every day — what will the grid do next, what should my assets do about it, and what is my equipment trying to tell me — and built three tightly composed services around them.

The three lanes share a common data plane (a time-series store with 100ms native resolution, indexed by IEC 61850 logical nodes), a common identity and access plane (OIDC-backed, with hardware-token enforcement for any write path into dispatch), and a common observability plane (OpenTelemetry traces from forecast inputs to dispatch outputs to actuator confirmation). They do not, however, share state — each lane can fail, restart, or be upgraded independently of the other two.

BUS-11

LANE-1 · Forecasting

// probabilistic, calibrated, sub-second capable

The forecasting lane consumes three classes of signal. Numerical weather prediction ensembles (ECMWF IFS, MetOffice MOGREPS-G, DWD ICON-EU) at fifty-member resolution drive the day-ahead and week-ahead heads. Settlement and balancing data from Elexon BMRS, ENTSO-E Transparency Platform, and EPEX Spot give us market context and a calibration target. SCADA telemetry from the operator's own assets gives us the last ten minutes of ground truth — the only signal that matters for sub-hourly dispatch.

The model stack is deliberately heterogeneous. Long horizons (D+1 to D+7) lean on a gradient-boosted ensemble with engineered weather features and explicit market regime classifiers. Medium horizons (1–24 hours) use a temporal convolutional network that handles the diurnal-plus-ramp dynamics of net demand. Short horizons (sub-hour to ten minutes) use a small transformer that consumes raw SCADA at 100ms resolution and emits forecasts at 1s resolution. A meta-learner reconciles them and emits a single calibrated quantile distribution per node, per horizon.

Crucially, we do not stop at point forecasts. The optimisation lane consumes the full 5/25/50/75/95 percentile bands, which means dispatch decisions are made against a probability distribution of futures, not a single guess. That single architectural choice is the difference between a portfolio that earns the median and a portfolio that earns the upper quartile of revenue available in any given trading day.

LANE-1 · SPECS

HORIZONS
10 s → 168 h
NATIVE RES
1 s emit / 100 ms ingest
CALIBRATION
quantile · CRPS-optimised
WEATHER
ECMWF · MOGREPS · ICON
MARKETS
BMRS · EPEX · N2EX · ENTSO-E
OUTPUT
P5 / P25 / P50 / P75 / P95
RETRAIN
daily incremental · weekly full
BUS-12

LANE-2 · Dispatch optimisation

// stacked revenue · constraint-aware

The dispatch lane is where the money is made and lost. We formulate the problem as a rolling-horizon mixed-integer stochastic programme. The objective is portfolio P&L net of degradation cost. The constraints are: per-asset ramp and energy limits, per-cell cycle-life budgets, per-feeder network capacity, per-product contracted envelopes (DC-L, DC-H, FFR, Capacity Market), and per-portfolio reserve obligations. The decision variables are continuous power set-points per asset per settlement period, plus binary commitment for products that have on/off discontinuities.

What makes this tractable in production is the warm-start policy. We trained a graph-attention network on five years of historically solved instances; given the current portfolio state, market context, and forecast bands, it emits an initial integer solution in under twenty milliseconds. The MIP solver then verifies and tightens — usually in two to three branch-and-bound iterations rather than thousands. For a typical 200 MW / 400 MWh portfolio across four market products and a 48-hour horizon, end-to-end solve time is under 1.2 seconds at P99.

The lane is co-optimisation in the literal sense. We do not run wholesale, then run DC-L on the residual, then bolt capacity market obligations on top. We solve all of them jointly, which means the optimiser can choose to give up a wholesale trade because the cycle it would consume is more valuable held as headroom for a likely frequency event two hours later. This is the single biggest revenue uplift our customers see versus their incumbent stacks.

LANE-2 · SPECS

FORMULATION
rolling-horizon MISP
HORIZON
4 h to 168 h
SOLVERS
HiGHS · Gurobi · COPT
WARM-START
GAT policy net · 18 ms
P99 SOLVE
1.2 s @ 200 MW portfolio
PRODUCTS
WHOLESALE · BM · DC · FFR · CM
RECOURSE
5-min re-optimise · event-trig
BUS-13

LANE-3 · Anomaly & condition

// physics-informed · audit-grade

The third lane watches the asset, not the market. For each class of grid asset — power transformer, switchgear, inverter, Li-ion module, OLTC, capacitor bank — we maintain a physics-informed autoencoder. The encoder compresses the recent telemetry window into a low-dimensional latent state; the decoder reconstructs it. The reconstruction loss is augmented by a physics term: for a transformer, the difference between observed top-oil temperature and the IEEE C57.91 thermal model prediction; for a Li-ion module, the difference between observed terminal voltage and a coupled electrochemical + thermal model; for an inverter, the difference between observed AC current harmonics and the modulation-strategy reference.

This is not a marketing claim. It is the architectural reason FATHOM Sentinel can flag a developing turn-to-turn winding fault four to seven weeks before the dissolved-gas analysis threshold would trip, and the reason it can flag a cell-level imbalance in a 4 MWh battery rack two weeks before the BMS would isolate it. The model is not pattern-matching; it is being told what physics looks like, and complaining when reality deviates.

The lane outputs are designed for the maintenance and asset-management workflow, not just the dashboard. Every event carries a risk score, a confidence interval, a suggested intervention window, and a full audit trail of the input window, the reconstruction, the physics residual, and the model version that produced the verdict. If your reliability engineer wants to argue with the model, they can — the evidence is in front of them.

LANE-3 · SPECS

ASSET CLASSES
TX · SWGR · INV · BESS · OLTC
MODEL
physics-informed AE
WINDOW
30 s rolling · 1 hr context
OUTPUT
risk · CI · window · evidence
LEAD TIME
typ. 2–7 weeks pre-fault
FALSE-POS
< 0.4 / asset / yr
AUDIT
full evidence pack per event
BUS-14

Runtime, deployment, integration

// the boring parts that make it work

FATHOM-RT is a single-binary runtime written in Rust, with model inference handled by ONNX Runtime and TensorRT for GPU-accelerated nodes. The runtime is designed to run on three classes of hardware: a control-room workstation with a discrete GPU, a regional VM cluster with shared inference acceleration, or a substation edge box (currently we ship reference builds for the Siemens Ruggedcom RX1536 and the Hirschmann EAGLE One platforms). The same binary, the same model artefacts, the same observability plane on all three.

Integration is the part that usually kills projects. We invested early in a protocol layer that speaks IEC 61850 (MMS, GOOSE, Sampled Values), DNP3, IEC 60870-5-104, Modbus TCP, OCPP 1.6 / 2.0.1 for EV-charge interaction, and a REST/gRPC northbound for trading desk integration. Time synchronisation is PTP-IEEE 1588 native; we will not run dispatch on NTP-only clocks. Authentication into any write path is OIDC plus hardware token, with all dispatch actions logged in an immutable audit ledger that has been hashed for regulator readiness.

If your existing EMS, ADMS, or DERMS is going to stay in place — and for many of our customers it does — we plug in as a recommendation engine rather than a replacement. The optimiser emits set-points to your EMS; the forecasts populate your existing screens; the anomaly events flow into your existing CMMS. We are not interested in fighting the install base. We are interested in making it work better.

SIGNAL · NEXT

Want the platform on your portfolio for ninety days?

The standard pilot is a single asset or feeder, one market product or one anomaly class, four weeks of shadow-mode and eight weeks live. We do not charge for the shadow-mode period.