What a production deployment would look like — and what this prototype actually is.
Being explicit about the boundary is part of the submission. The twin, optimiser, assurance layer and application are real code in this build. Everything upstream of them is emulated by a synthetic data service.
Layered reference architecture
┌──────────────────────────────────────────────────────────────────────┐
│ OPERATOR APPLICATION command centre · twin · simulator │
└───────────────▲──────────────────────────────────────────────────────┘
│ recommendations, scenarios, reports
┌───────────────┴──────────────────────────────────────────────────────┐
│ DECISION & ASSURANCE guardrails · audit · drift · data quality │
└───────────────▲──────────────────────────────────────────────────────┘
│ scored options
┌───────────────┴──────────────────────────────────────────────────────┐
│ DIGITAL TWIN + OPTIMISER │
│ CSS heat/mobility model ──► inflow ──► SRP lift model ──► risk │
└───────────────▲──────────────────────────────────────────────────────┘
│ features
┌───────────────┴──────────────────────────────────────────────────────┐
│ FEATURE STORE / TIME SERIES cycle register · event log │
└───────────────▲──────────────────────────────────────────────────────┘
│ tags (read only)
┌───────────────┴──────────────────────────────────────────────────────┐
│ SCADA / HISTORIAN / WELLSITE EDGE ** emulated in prototype ** │
└──────────────────────────────────────────────────────────────────────┘Acquisition (not in prototype)
- Wellhead pressure / temperature transmitters
- SRP controller: SPM, stroke, motor load, dynamometer cards
- Steam metering: rate, tonnage, quality
- Well test separator and lab water-cut results
In a real deployment this layer is read-only through the operator's existing SCADA and historian. The prototype replaces it entirely with a synthetic emulator.
Ingestion & storage (emulated)
- Time-series ingestion with tag-level quality flags
- Cycle register: injection, soak and production phase boundaries
- Event log: alerts, work orders, set-point changes
- Feature store for model inputs and back-test snapshots
The prototype implements this as a deterministic in-memory data service with the same shape, so screens behave as they would against a historian.
Twin & analytics (implemented)
- Reduced-order CSS heat and mobility model
- Analytical SRP pump and rod-loading model
- Failure-risk scoring and P10/P50/P90 forecasting
- Constrained optimiser over steam and lift set-points
- Feature-contribution explainer
This is the substance of the prototype and runs fully in the browser from a fixed seed, so every judge sees identical numbers.
Decision & assurance (implemented)
- Recommendation service with guardrails and confidence
- Accept / defer / reject workflow with audit trail
- Data-quality and model-drift monitors
- Report generation and download
Guardrails are first-class: a recommendation that breaches an equipment limit is shown as blocked rather than quietly clipped.
Application (implemented)
- Control-room UI: command centre, twin, simulator
- Role-framed operator views and global search
- Protected routes behind a demo sign-in
Authentication in this build is a mock client-side gate for demonstration; it is not a security control.
Prototype stack
Path to a real deployment
- 1History-match the CSS surrogate against several completed cycles per well pattern, and quantify residuals per well rather than per field.
- 2Validate the SRP model against measured dynamometer cards and confirmed failure records, not synthetic labels.
- 3Integrate read-only against the historian, with tag-level quality gating and an explicit fallback when a channel goes stale.
- 4Run the optimiser in advisory shadow mode for at least one full cycle per pattern before any set-point is written.
- 5Put every recommendation through the operator's management-of-change process with engineering sign-off and defined rollback.
- 6Only then consider closed-loop control, and only on non-safety-critical parameters.
This architecture is a student design proposal. It is not an Oil India Limited reference architecture, has not been reviewed by the operator, and the prototype implements only the layers marked as such on synthetic data.