Acquire, infer, forecast, act, own.
Autopilot is five modules on a shared data spine, each useful alone and stronger together: acquire the tags, infer what is not measured, forecast where it is heading, act on it, and put the right action in front of the right person.
Close the loop from field tag to owned action — and make every step inspectable to the engineer who signs it off.
Tune a loop. Then let the model try.
A first-order-plus-dead-time process with a disturbance. Tune the PID on the left; the model-based controller on the right sees the same process. Step the setpoint, kick the load, and compare.
- PID with anti-windup, parallel form
- Predictive controller uses an internal process model
- Same process, same disturbance, same scan
Meter every well without a meter on every well.
Module 02. Move the choke. Three candidate models per well estimate oil, gas and water from pressures and temperature; the multiphase meter is the reference. They are ranked live by their error against it — the best one is shown first.
- Trained per well from choke, upstream/downstream pressure, temperature
- Three candidates, ranked by error against the MPFM
- Simulated wells — the models here are toys, the ranking logic is the product's
An alarm that trips before the limit.
Module 03. The forecast runs ahead of the measurement with a confidence band. Drag the threshold: the alarm fires when the band is predicted to cross it, not when the value already has. The backtest error is stated, not hidden.
- Rolling forecast refit as actuals arrive
- MAE · RMSE · MAPE on a holdout
- In-browser: seasonal exponential smoothing stands in for S/ARIMA/X
Alarms become actions with owners.
Module 05. Trip a condition. It is counted once when it becomes true, routed to its owner through its action channels, and stops re-notifying until someone acknowledges it — or a timeout re-arms it, so alerting can never be silently switched off.
- Threshold, band or event conditions with category and priority
- Four channels: email, report, alarm, SAP request
- Acknowledge with a token; auto re-arm on timeout
Six controllers. Recorded on the real thing.
Screen recordings of the APC module tracking two loops — each with a different controller type selected live from the UI. Click to play.
Five modules, one loop.
Each module is commissioned and licensed on its own — a plant can start with acquisition and virtual metering and add control later. The shared spine is what turns five applications into one loop.
Tag acquisition and mapping from OPC UA into the time-series store, with connection state and acknowledgements surfaced to the operator.
Virtual flow metering — per-well machine-learning estimates of oil, gas and water rate, referenced against the physical multiphase meter.
S/ARIMA/X forecasting with confidence bands and threshold alarms — MAE, RMSE and MAPE backtested before it is trusted.
Advanced process control — PID with anti-windup, split-range, fuzzy, adaptive, neural-network and predictive controllers, with auto-tuning.
Condition-driven action engine: what happened, who owns it, and the acknowledged action that follows — email, report, alarm or SAP request.
A conventional loop and a model-based one run on the same process, so they can be compared before either is trusted.
Inputs bound to plant tags, setpoint and manipulated variable set per loop from the UI.
VFM trains, evaluates and ranks candidate models per well; the best one is presented first.
Forecasts are backtested on a holdout and their error is shown when training finishes.
A tripped condition stops re-notifying until someone replies — or a timeout re-enables it, so alerting can never be silently disabled.
If the mail configuration is incomplete the application still runs; only that one action is disabled, and it says so.
Each commissioned and licensed on its own.
From OPC UA to the operator's screen.
On the forecasting module alone.
Windows-installable, service-supervised.