Engine Doctor

Foresight Engine Doctor
Deterministic, rule-based differential diagnosis for stationary reciprocating engines — reads the exhaust-gas signature, matches it against per-engine baselines, returns a ranked top 4.
lean-burnDOC
AlarmEngine health — Engine 1 — CAT G3516HLIVE
One or more channels out of spec or sensor faulted.
5 normal4 warning2 alarm
Alarm: CO₂ · Manifold air|Warning: CO · NO₂ · CH₄ · THC/VOC

Scenario

Load a preset or edit readings directly to see the differential diagnosis update in real time

Engine:
Baseline = this engine's captured normal (drifts if the engine is retuned — use Recapture per channel). Spec = permit / OEM limits (fixed). A reading can be far from baseline but still within spec — that just means the baseline is stale.
O₂ 7.8 %, NO 190 ppm, EGT spread 60 °F — MUST diagnose Lean/hot combustion, NOT misfire.
Live channels · Engine 1 — CAT G3516HLIVE
fill = value / full-scale · color = status · NOx is calculated (NO + NO₂)
NO + NO₂
208
ppm·NOx
opt 185 ±50
.
190
ppm·NO
opt 175 ±50
.
18
ppm·NO₂
opt 10 ±5
.
500
ppm·CH₄
opt 1500 ±700
.
700
ppm·THC/VOC
opt 2000 ±800
.
7.8
%vol·O₂
opt 8.0 ±1.5
.
180
ppm·CO
opt 350 ±150
.
9.2
%vol·CO₂
opt 6.0 ±0.8
Gauge binding verification8/8 OK
TileParamIdValueBaselineUnitStatusOK
NOx (calc)NOx
208.00
result.calculated.NOx (NO + NO₂)
185.00
NO.baseline + NO2.baseline
ppm
fixed (NOx is ppm)
watch
max(|NO.level|,|NO2.level|) + faults
NONO
190.00
levelByParam.get("NO").measured
175.00
profile.baselines["NO"].mean
ppm
profile.baselines["NO"].unit
healthy
statusFromLevel(level["NO"])
NO₂NO2
18.00
levelByParam.get("NO2").measured
10.00
profile.baselines["NO2"].mean
ppm
profile.baselines["NO2"].unit
watch
statusFromLevel(level["NO2"])
CH₄CH4
500.00
levelByParam.get("CH4").measured
1500.00
profile.baselines["CH4"].mean
ppm
profile.baselines["CH4"].unit
watch
statusFromLevel(level["CH4"])
THC/VOCTHC
700.00
levelByParam.get("THC").measured
2000.00
profile.baselines["THC"].mean
ppm
profile.baselines["THC"].unit
watch
statusFromLevel(level["THC"])
O₂O2
7.80
levelByParam.get("O2").measured
8.00
profile.baselines["O2"].mean
%vol
profile.baselines["O2"].unit
healthy
statusFromLevel(level["O2"])
COCO
180.00
levelByParam.get("CO").measured
350.00
profile.baselines["CO"].mean
ppm
profile.baselines["CO"].unit
watch
statusFromLevel(level["CO"])
CO₂CO2
9.20
levelByParam.get("CO2").measured
6.00
profile.baselines["CO2"].mean
%vol
profile.baselines["CO2"].unit
fault
statusFromLevel(level["CO2"])
Each tile resolves label/value/baseline/unit/status by ParamId — reordering the grid never re-wires a tile to another gas.

Exhaust-gas signature

Engine 1 — CAT G3516H · detailed channel readouts

Analyzer channels
O₂
Normal
%vol
CO₂
Active fault
%vol
CO
Early warning
ppm
NO₂
Early warning
ppm
CH₄
Early warning
ppm
THC/VOC
Early warning
ppm
Controller signals — fixed install (SCX / Modbus)
Knock index
Normal
idx
Timing dev
Normal
°
EGT spread
Normal
°F
Manifold air
Active fault
°F
CH₄: track %LEL for safety, ppm for emissions. Doctor uses ppm.
Value at Risk
Engine 1 — CAT G3516H · avoidable loss
Avoidable Loss
Estimated loss · 30 days
$77.4k
if unresolved
Per day
$2.6k
Primary Diagnosis
Charge-air / high manifold air temp
$14.3k
  • Oil production loss
    $12.6k
    $420/day
    Based on: 4.0% compressor derate · 200 bbl/day gas-lifted production tied to engine · $75/bbl WTI
  • Fuel penalty
    $240
    $8/day
    Based on: 1.5% extra fuel · 9.9 MMBtu/hr · $3.20/MMBtu · 24 h
  • HSE / equipment risk
    $1.5k
    $49/day
    Based on: Elevated EGT — accelerated valve/turbo wear
Scaled to 70% by diagnosis confidence.
Also Contributing
  • Lean / hot combustion — high NOx
    2.0% extra fuel · 9.9 MMBtu/hr · $3.20/MMBtu · 24 h
    $18.5k
    $618/day
  • Detonation / knock
    10.0% compressor derate · 200 bbl/day gas-lifted production tied to engine · $75/bbl WTI
    $44.5k
    $1.5k/day
1.03 MW · 9.9 MMBtu/hr · $3.2/MMBtu·Sources: CAT G3516H TMI, EIA Henry Hub 2024, EPA GHGI (GWP100=28), SWPSC 2026-017 gas-lift compressor downtime, SPE 214879 Delaware Basin gas lift, EIA WTI 2024Edit in Settings → Economics

Differential diagnosis — top 4

Ranked by confidence · every result is explainable from the readings above

match 70%coverage 100%warning
Why this was selected

Charge-air / high manifold air temp scored 70% because 2 of 2 expected signals aligned with the observed readings. Pattern match 70%, coverage 100%.

Contributing rules: Manifold air +1.6σ · NO +0.3σ
Recommended next steps
  • maintenanceService charge-air cooler: clean fins, verify coolant / jacket-water flow and setpoint.
  • maintenanceCheck ambient inlet louvres and engine-room ventilation.
  • hseVerify NO/NOx analyzer calibration and span-gas date before reporting.
  • maintenanceTrim air-fuel ratio toward richer setpoint; recheck NOx after 15 min stabilisation.
  • hseLog the excursion in the site Title V / 40 CFR 63 ZZZZ deviation register.
Derived from the top contributing rules for this diagnosis. Perform in the order shown; re-run diagnosis after each corrective action.
Evidence
  • Manifold airmeas148 °Fbase126 °F +1.6σ
  • NOmeas190 ppmbase175 ppm +0.3σ
Likely causes
  • Aftercooler fouled (water or air side)
  • Low jacket-water flow / high JW temp
  • Ambient temp above design
Recommended checks
  • Inspect aftercooler core / clean fins
  • Jacket-water flow, pump, thermostat
  • Verify fan / radiator condition

Confidence breakdown

Top 3 candidates plus nearest misfire alternative (Single-cylinder misfire)

1
Charge-air / high manifold air temp70%
match 70%coverage 100%2 signals
2
Lean / hot combustion — high NOx64%
match 64%coverage 100%5 signals
3
Detonation / knock55%
match 55%coverage 100%3 signals
alt
Single-cylinder misfire36%
match 36%coverage 100%0 signals
Not selected: pattern match (36%) and coverage (100%) fell below the leader Charge-air / high manifold air temp at 70%.
Charge-air / high manifold air temp leads Lean / hot combustion — high NOx by 6 pts. Confidence is the weighted alignment of expected vs measured signals; a fault only ranks high when its signature parameters move in the expected direction with enough σ deviation.

Operator actions

Acknowledge, dispatch, escalate, or export — all decisions are logged

Since last diagnosis

Compliance — CO corrected to 15% O₂

40 CFR 63 Subpart ZZZZ (RICE NESHAP)

OVER LIMIT
CO measured
180.0
ppm
CO @ 15% O₂
81.1
ppmvd
Limit
47.0
ppmvd
40 CFR 63 Subpart ZZZZ (RICE NESHAP) — lean-burn 4SLB: 47 ppmvd CO @ 15% O₂ or 93% CO reduction
Failing sensors & dials
  • CO₂CO2
    Fault
    Actual
    9.2 %vol
    Expected (baseline)
    5.2 – 6.8 %vol
    Healthy spec
    5.0 – 8.0 %vol· class default
    Source
    Modbus
    Suggested actions↑ above band
    1. Verify combustion efficiency and confirm no post-combustion CO2 injection
  • Manifold airManifoldAir
    Fault
    Actual
    148 °F
    Expected (baseline)
    112 – 140 °F
    Healthy spec
    90 – 145 °F· oem spec
    Source
    SCX
    Suggested actions↑ above band
    1. Verify charge-air cooler cleanliness and cooling water flow
    2. Check ambient/turbo compressor outlet temperature sensor
  • COCO
    Warning
    Actual
    180 ppm
    Expected (baseline)
    200 – 500 ppm
    Healthy spec
    0 – 600 ppm· permit limit
    Source
    Modbus
    Suggested actions↓ below band
    1. Watch for drift over the next 15 min; if it persists, run a calibration check
  • NO₂NO2
    Warning
    Actual
    18 ppm
    Expected (baseline)
    5 – 15 ppm
    Healthy spec
    0 – 25 ppm· class default
    Source
    Modbus
    Suggested actions↑ above band
    1. Check SCR / oxidation catalyst temperature window and residence time
    2. Verify urea/DEF dosing rate is not overshooting NOx setpoint
  • CH₄CH4
    Warning
    Actual
    500 ppm
    Expected (baseline)
    800 – 2200 ppm
    Healthy spec
    0 – 2800 ppm· class default
    Source
    Modbus
    Suggested actions↓ below band
    1. Watch for drift over the next 15 min; if it persists, run a calibration check
  • THC/VOCTHC
    Warning
    Actual
    700 ppm
    Expected (baseline)
    1200 – 2800 ppm
    Healthy spec
    0 – 3500 ppm· permit limit
    Source
    Modbus
    Suggested actions↓ below band
    1. Watch for drift over the next 15 min; if it persists, run a calibration check
Baseline = per-asset captured normal · Spec = permit / OEM / class default
Decision support for a qualified technician — not a control action.

Foresight provides monitoring, analytics, and compliance reporting. Local sensors, controllers, and safety relays operate independently and do not require cloud connectivity.