Plant data assessment — TEP-Plant-10days-AI

Tennessee Eastman benchmark process · period analysed 2026-04-01 00:00 to 2026-04-10 23:57 · 41 tags · prepared by Yahya Nazer, CTRL Designer LLC · 11 September 2026
In short. 3 cause(s) are worth acting on out of 7 the review assembled from 11 statistical findings. The highest priority is xmeas_9 - Reactor temperature - deg C is cycling (7 min) (2026-04-02 01:45 to 2026-04-08 00:00). 4 cause(s) did not survive review and are listed openly in section 2. 7 question(s) need the plant to answer before any of this is certain.

1. What we found

xmeas_9 - Reactor temperature - deg C is cycling (7 min)supported · 75%

2026-04-02 01:45 to 2026-04-08 00:00 · severity 9.1 · event, oscillation

What the data shows. Oscillation index 0.10 against 0.02 in the reference window (5.1x). Variability 5.4x the reference.

Why we believe it. cycling 5.1x stronger than in the reference window - this is new behaviour; a fast, regular cycle is the signature of a control-loop problem - a sticking valve or aggressive tuning.

What to do. Operations review - what changed in the plant over this window; Loop check - stroke the valve, review the tuning, try the loop in manual. Pull this tag at 1-minute or faster to pin the period down.; Check the Step A availability map over this window; re-run Step C without those tags if the overlap is large.; Confirm with the operators whether anything was done to the plant in this window.

the tags behind this
Tag nameAI/AODescriptionEngineering unit
xmeas_9AIReactor temperaturedeg C
xmeas_10AIPurge rate (stream 9)kscmh
xmeas_16AIStripper pressurekPa gauge
xmeas_2AID feed (stream 2)kg/h
xmeas_21AIReactor cooling water outlet temperaturedeg C
xmeas_27AIReactor feed composition Emol%
xmeas_29AIPurge gas composition A (stream 9)mol%
xmeas_35AIPurge gas composition Gmol%

The plant left its normal envelope for 38.2 hsupported · 90%

2026-04-09 09:48 to 2026-04-11 00:00 · severity 8.9 · event, shared period

What the data shows. SPE reached 908 and T2 1337 against limits from the reference window. Most of the deviation sits in: xmeas_38, xmeas_16, xmeas_33, xmeas_1, xmeas_20.

Why we believe it. the plant went 91x past the reference limit - far outside anything seen in the normal window; it held for 38.2 h - far too long to be noise or a single bad sample; 5 tags moved together, so it reads as a plant event rather than one instrument.

What to keep in mind. 1 of the 5 named tags were repaired by Step A (held (not interpolated)): xmeas_38.

What to do. Operations review - what changed in the plant over this window; Trace the common cause - a shared utility (steam, cooling water, feed) usually carries it. Compare raw against corrected for those tags in the Step A fixed-tags report before acting.; Compare raw against corrected for those tags in the Step A fixed-tags report before acting; Look at the reference window before concluding anything: it may not be a quiet period; Look upstream: a shared utility (steam, cooling water, feed) is the usual carrier.

the tags behind this
Tag nameAI/AODescriptionEngineering unit
xmeas_1AIA feed (stream 1)kscmh
xmeas_16AIStripper pressurekPa gauge
xmeas_20AICompressor workkW
xmeas_33AIPurge gas composition Emol%
xmeas_38AIProduct composition Emol%
xmeas_10AIPurge rate (stream 9)kscmh
xmeas_11AIProduct separator temperaturedeg C
xmeas_13AIProduct separator pressurekPa gauge
xmeas_22AISeparator cooling water outlet temperaturedeg C
xmeas_7AIReactor pressurekPa gauge

xmeas_21 - Reactor cooling water outlet temperature - deg C is cycling (7 min)supported · 75%

whole period · severity 8.5 · oscillation

What the data shows. Oscillation index 0.10 against 0.02 in the reference window (4.5x). Variability 4.7x the reference.

Why we believe it. cycling 4.5x stronger than in the reference window - this is new behaviour; a fast, regular cycle is the signature of a control-loop problem - a sticking valve or aggressive tuning.

What to do. Loop check - stroke the valve, review the tuning, try the loop in manual. Pull this tag at 1-minute or faster to pin the period down.

the tags behind this
Tag nameAI/AODescriptionEngineering unit
xmeas_21AIReactor cooling water outlet temperaturedeg C

2. What we did not conclude

These came out of the analysis but did not survive review. They are listed so that nothing is hidden, and so nobody re-runs the same study expecting a different answer.

verdictwhat it claimedwhy we set it aside
likely artefact · 30%The plant left its normal envelope for 0.1 h
2026-04-06 00:51 to 2026-04-06 00:57
1 of the 5 named tags were repaired by Step A (held (not interpolated)): xmeas_38; only 1.2x past the limit - close enough to the boundary that the limit itself could explain it; only 6 min - short enough to be one upset or a data glitch
weak · 38%The plant left its normal envelope for 0.2 h
2026-04-01 18:42 to 2026-04-01 18:54
only 1.2x past the limit - close enough to the boundary that the limit itself could explain it; only 12 min - short enough to be one upset or a data glitch
weak · 38%The plant left its normal envelope for 0.1 h
2026-04-02 18:36 to 2026-04-02 18:42
only 1.2x past the limit - close enough to the boundary that the limit itself could explain it; only 6 min - short enough to be one upset or a data glitch
weak · 38%The plant left its normal envelope for 0.1 h
2026-04-06 18:36 to 2026-04-06 18:42
only 1.2x past the limit - close enough to the boundary that the limit itself could explain it; only 6 min - short enough to be one upset or a data glitch

3. What to do

priority#causeactiontags
High1xmeas_9 - Reactor temperature - deg C is cycling (7 min)
2026-04-02 01:45 to 2026-04-08 00:00
Operations review - what changed in the plant over this window; Loop check - stroke the valve, review the tuning, try the loop in manualxmeas_9, xmeas_10, xmeas_16, xmeas_2, xmeas_21, xmeas_27, xmeas_29, xmeas_35
High2The plant left its normal envelope for 38.2 h
2026-04-09 09:48 to 2026-04-11 00:00
Operations review - what changed in the plant over this window; Trace the common cause - a shared utility (steam, cooling water, feed) usually carries itxmeas_1, xmeas_16, xmeas_20, xmeas_33, xmeas_38, xmeas_10, xmeas_11, xmeas_13, xmeas_22, xmeas_7
High3xmeas_21 - Reactor cooling water outlet temperature - deg C is cycling (7 min)
whole period
Loop check - stroke the valve, review the tuning, try the loop in manualxmeas_21
Low4The plant left its normal envelope for 0.2 h
2026-04-01 18:42 to 2026-04-01 18:54
Operations review - what changed in the plant over this windowxmeas_11, xmeas_25, xmeas_31, xmeas_33, xmeas_35
Low5The plant left its normal envelope for 0.1 h
2026-04-02 18:36 to 2026-04-02 18:42
Operations review - what changed in the plant over this windowxmeas_1, xmeas_25, xmeas_27, xmeas_33, xmeas_35
Low6The plant left its normal envelope for 0.1 h
2026-04-06 18:36 to 2026-04-06 18:42
Operations review - what changed in the plant over this windowxmeas_1, xmeas_25, xmeas_27, xmeas_33, xmeas_35

4. What we need from the plant

Nothing above is certain until these are answered. They are the fastest way to turn a statistical result into a decision.

  1. The reference window is 2026-04-03 12:00:00 to 2026-04-05 11:57:00 (47.95 h, 23.4 samples per tag). Was the plant genuinely running normally then? Everything called abnormal is measured against it.
  2. xmeas_9 - Reactor temperature - deg C is cycling (7 min) (2026-04-02 01:45 to 2026-04-08 00:00) — what happened here? The tags carrying it are xmeas_9 - Reactor temperature - deg C; xmeas_10 - Purge rate (stream 9) - kscmh; xmeas_16 - Stripper pressure - kPa gauge. Was there maintenance, a grade change, a setpoint move or a trip?
  3. The plant left its normal envelope for 38.2 h (2026-04-09 09:48 to 2026-04-11 00:00) — what happened here? The tags carrying it are xmeas_1 - A feed (stream 1) - kscmh; xmeas_16 - Stripper pressure - kPa gauge; xmeas_20 - Compressor work - kW. Was there maintenance, a grade change, a setpoint move or a trip?
  4. xmeas_21 - Reactor cooling water outlet temperature - deg C is cycling (7 min) (whole period) — what happened here? The tags carrying it are xmeas_21 - Reactor cooling water outlet temperature - deg C. Was there maintenance, a grade change, a setpoint move or a trip?
  5. 2 loop(s) cycle with a short period. When were they last tuned, and has the valve been stroked or serviced recently? Can one be put in manual briefly to confirm?
  6. Step A repaired 7 things in the data (gaps<=5 interpolate; slow tags held; frozen unknown; spikes flag). Are the frozen or missing stretches known instrument problems, or was the plant simply steady?
  7. What matters to you — throughput, energy, quality or reliability? The ranking above is by statistical size, not by value; say which and the next pass can rank by money.

5. What happens next

A study either closes here or returns to Step B with a new scope. For this one:

  1. Re-run without the repaired tags. 3 finding(s) rest partly on tags Step A had to fix. Excluding them in Step B and re-running C and D shows whether the finding survives on clean tags alone.
  2. Drop 1 cause(s) the review rejected from the next scope so they stop consuming attention: "The plant left its normal envelope for 0.1 h"

6. How this was produced

Five steps, each writing its own report, so any number here can be traced back to the raw export.

stepwhat it doesprogram
APrepareRaw historian exports become one clean, regular Data table. Merge files, normalise timestamps, replace bad-value strings, put on a regular grid, fill short gaps, apply the repair rules, and record every change.step_a_prepare.py + A-Prepare-GUI-v01.py
BExploreTrend and cluster the clean data. The engineer chooses which tags, which period, and which window counts as normal, and writes it down as the scope.step_b_explore.py + B-Explore-GUI-v01.py
CAnalyzeOperability (PCA, T2/SPE, events), oscillation and slowness per tag, control-loop metrics, batch phases - all driven by the scope from B.step_c_analyze.py + C-Analyze-GUI-v01.py
DAI reviewAn AI reads the results and the scope and drafts findings, anomalies and questions for the engineer.step_d_review.py + D-Review-GUI-v01.py
EReportThe engineer edits, decides, and either closes the study or returns to B with a new scope.to build

The data behind it

Raw export/Users/yahyanazer/Dropbox/__C_2026_Work/CTRL-Designer/B-CDL-Data-Analysis/A-Raw-Data/TEP/tep_plant_10days.csv
Glossarytep_schema.csv
Period2026-04-01 00:00 to 2026-04-10 23:57
Sampling3 minutes
Tags41 analysed of 41 available
Reference window2026-04-03 12:00 to 2026-04-05 11:57 (47.95 h, 23.4 samples per tag)
Repairs made7 (gaps<=5 interpolate; slow tags held; frozen unknown; spikes flag)
Model29 components holding 91% of the variation
Programsstep_a_prepare.py 2026-09-10 10:49:28 · step_b_explore.py 2026-09-10 19:50:26 · step_c_analyze.py 2026-09-10 19:35:16 · step_d_review.py 2026-09-10 10:49:28 · step_e_report.py 2026-09-10 10:49:28

Data quality recorded in Step A

issuecount
spike114
missing41
slow update6
bad values1
frozen1

7. Where the detail lives

Charts in this document are live: drag to zoom, double-click to reset, click a name in the legend to hide it. They are copied into charts/ beside this file, so the whole folder can be zipped and sent as one piece.


© 2026 CTRL Designer LLC. All rights reserved.
Yahya Nazer · info@ctrlDesigner.com