Chiller Plant Data Generation

Abriliam Consulting — Industrial Energy Management

This notebook generates a synthetic 8-week chiller plant dataset simulating realistic central plant operations for a commercial building during summer cooling season (June–July 2025). The dataset serves as a controlled environment for diagnostic training — with three hidden operational faults embedded in the data.

What's in the dataset

Hidden faults (revealed later in the series)

  1. Low delta-T syndrome — CHW temperature differential collapses mid-series, driving excessive pump energy
  2. Cooling tower degradation — approach temperature drifts upward over the 8-week period
  3. Night-time fan control bias — tower fans run harder than necessary during low-load overnight hours
C:\Users\mikea\AppData\Local\Temp\ipykernel_20836\645578401.py:13: FutureWarning: 'H' is deprecated and will be removed in a future version, please use 'h' instead.
  idx = pd.date_range("2025-06-01", "2025-07-26 23:00:00", freq="H")
Dataset ready as `df` (hourly). Columns:
['oat_C', 'wb_C', 'occ', 'tons', 'chw_sup_C', 'chw_ret_C', 'chw_dT_C', 'chw_flow_m3h', 'cw_sup_C', 'cw_ret_C', 'cw_dT_C', 'cw_flow_m3h', 'approach_C', 'dp_kpa', 'chiller_kw', 'tower_fan_kw', 'chw_pump_kw', 'cw_pump_kw', 'plant_kw', 'kw_per_ton', 'plant_kw_per_ton', 'tower_fan_kw_per_ton', 'pumping_kw_per_ton']

Sample:
oat_C wb_C occ tons chw_sup_C chw_ret_C chw_dT_C chw_flow_m3h cw_sup_C cw_ret_C ... dp_kpa chiller_kw tower_fan_kw chw_pump_kw cw_pump_kw plant_kw kw_per_ton plant_kw_per_ton tower_fan_kw_per_ton pumping_kw_per_ton
2025-06-01 00:00:00 17.204135 14.419056 0.084295 69.111653 6.590836 12.583527 5.992692 34.235655 18.785822 23.063083 ... 155.394522 337.166323 27.540604 9.158541 5.288851 379.154320 4.878574 5.486113 0.398494 0.209044
2025-06-01 01:00:00 15.392837 12.432453 0.157504 86.542596 6.539587 12.396435 5.856848 43.028575 16.657608 20.315923 ... 155.139263 308.890172 32.637398 14.208746 5.000000 360.736316 3.569227 4.168309 0.377125 0.221957
2025-06-01 02:00:00 16.714889 12.209851 0.162538 97.281809 6.539169 12.923309 6.384141 44.524814 16.584242 20.881913 ... 166.172997 402.791076 28.809778 13.159793 6.593136 451.353783 4.140456 4.639652 0.296148 0.203049

3 rows × 23 columns

================================================================================
YOUR ASSIGNMENT (Energy Manager drill)
================================================================================

You are the energy manager reviewing this plant. Your job:

(1) Identify what performance problems are happening (at least TWO distinct issues).
(2) Explain what evidence in the data supports your diagnosis.
(3) Provide THREE recommendations to improve performance (controls + maintenance + operations).
(4) Pick statistical techniques you would use to verify savings and detect change.

Use these statistical / analytical techniques (choose appropriately, justify):
- Weather-normalized regression baseline (e.g., plant_kW or plant_kWh vs wet-bulb + load + occupancy)
- CUSUM on standardized residuals to detect operational change points
- Control charts / SPC (e.g., approach_C, kw_per_ton) for drift
- Change-point detection (piecewise regression) around suspected dates
- Outlier + influence diagnostics (studentized residuals, leverage, Cook’s D)
- Clustering or regime classification (e.g., day/night, weekday/weekend)

Probing questions (answer in your own words):
Q1) What does the trend in approach_C imply? What root causes are plausible?
Q2) Does kw_per_ton behave “right” vs wet-bulb? What would you expect physically?
Q3) Do you see signs of low-ΔT syndrome? If yes, what drives it operationally?
Q4) What would you use as a baseline model and why?
Q5) What change detection method would you use to find when the operation changed?


================================================================================
ENCODED ANSWER KEY (save this somewhere)
================================================================================
KEY: CHILLER-KEY-2025

CIPHER_DIAGNOSIS:
 DyEiKSA8ckQ4NixIQRBbWychKi04IDYNKTx5WVpVElEiPCg/KTFoJ3pseW5dXlZQLTssPmE2O0kuZTFIU0QSRyYiLC84LD1DaywqDVZVVUciLCAiK2U9Wy43eVlbXVcVazogPyUrNQ0oKjdJV15BUDFoKDw8Nz1MKC15WVddQlAxKT05PiByEGsRBk5Fb0BQNz07ImxockwmJzBIXERtQiY8Fi45KTABazU1WEEQW1sgOiwtPyw8SmsRBk5dXlZqMCk9bDw3PVUybHcNZlhbRmM4JiUiMSENPyp5Tl1fXlwtL2k4IzI3X2s1PF9UX0BYIiYqKWwpPV44ZXFLW1xeFSUnPCAlKzUBazY6TF5ZXFJvaCcjNj8+SGssKl5HVUEcYyknKGMqIA0oKjdJV15BUDFoPTkuIHJLJDA1RFxXHD9xYWkPJCw+QS43eURBEFFMICQgIitlPV9rNyxDXFlcUmMhJykqIztOIiA3WV5JElQ3aCUjO2U+QioheU9XU1NAMC1pPzgkNUQlInZOXV5GRywkOmwtNzcNJSotDV9RRlYrIScrbCk9TC9/eUZlH0ZaLWg7JT8gIQ04LThfQlxLFSEtJSM7ZSwZe2B5QV1RVhljKScobCY6RCcpPEkfR1NBJjppgtgRck4kKTVMQkNXRmNgJSM7ZZy5H2UqVFxUQFouLWBsPzA1Si42LURcVxJXOjgoPz9qJEwnMzwNUV9cQTEnJWwjN3JIMyY8XkFZRFBjCwEbbCM+QjxrUx4bEHZcMDw7JS4wJkQkK3ldR11CXC0vaSU/ZSVMODEwQ1UQV1smOi41dmURZRxlKVhfQEEVIjosbCEkO0M/JDBDW15VFSJoISUrLTdfZjExTFwdXFAmLCwobCE7Sy0gK0hcRFtUL2g5Pik2IVg5IHUNU15WFRUODWw/NTdIL2U9QldDElssPGk+KTY3WWsyMFlaEERULz4sbDwqIUQ/LDZDQRAacRNoOyk/ICYNJSotDVtdQlkmJSwiOCA2BGU=

CIPHER_RECS:
 FyA7KSllIEgoKjRAV15WVDchJiI/f1hsYmULSEFEXUcmZyY8OCw/RDEgeUVXUUYVMS0jKS8xO0Ilf3lEXENCUCA8Zi8gIDNDazE2WldCEh0hKTolImlyXj83OERcVUBGb2gnIzY/Pkg4aXlLW1xeHG9oPyk+LDRUayM4QxJmdHFjKyYiODc9QWskN0kSUUJFMScoLyRlIUg/NTZEXEQeFSImLWwvKTdMJWo7X0dDWhUgJycoKSshSDllLVhQVUEOYyktKGw3PVg/LDdIEkdTQSY6ZDg+IDNZJiA3WRJGV0cqLiAvLTE7QiVreWhKQFdWN2ggITw3PVsuIXlBW1ZGFSImLWwvKj9dOSAqXl1CEl4UaDspKDAxWSIqNwM4chsVBSExbCAqJQCF0Q0NHRBUWSw/aS8jKyZfJCljDVtdQlkmJSwiOGURZRxll7lmEF9ULSkuKSEgPFlrbS9MXkZXFSAnJCElNiFEJCswQ1UcElAvISQlIiQmSGsnIF1TQ0EZYyktKGw2J107KSANRlVfRWM6LD8pMXJaIyArSBJRQkUxJzk+JSQmSGdlOENWEF1FNyEkJTYgcm4DEnlLXl9FFTAtPTwjLDxZOGx3DWZYW0ZjIScvPiAzXi42eeOmZB4VMS0tOS8gIQ07MDRdW15VGWMpJyhsLD9dOSovSEEQUV0qJCUpPmUiTDkxdEFdUVYVJi4vJS8sN0MoPHcncRkSfC44JSkhIDxZazUsQEIQU1snaD0jOyAgDSgqN1lAX14VMS06KTg2aA0qIT0NdmASRyY7LDhsKjwNCA0ODUJFX0UwaCstPyA2DSQreUBdQ0YYLDgsImwzM0E9IHkFXUISVjEhPSUvJD4NMSo3SBscElQnLGkvIys2SCU2PF8fR1NBJjppOCkoIkg5JC1YQFUSRyY7LDhsMT0NJiQwQ0ZRW1tjJSAiJSgnQGspMEtGEEVcNyAmOThlPVsuN3RLU15cXC0vZWwtKzYNPzA3SBJDV0Q2LScvJSs1DWMpPExWH15UJGFpOCNlOUguNXlOWlleWSY6OmwlK3JILSMwTltVXEFjJCYtKGUwTCUhKgMSZUFQYwscHxkIckwsJDBDQUQSVGM/LC04LTdfZis2X19RXlw5LS1sLiQhSCcsN0gSRF0VNS07JSo8cl4qMzBDVUMc

SHA256_DIAGNOSIS: 2b549388bfa8b13b487532ea600a9fe59344ce6fa2dd850c356a3e06965cb69e
SHA256_RECS     : b8255ef53ee8967db28ee5701c4a4229a3e285088b7867a9500c76e1e32c79cd

To decode later: paste KEY + ciphertext back to me and say 'decode'.
(It's XOR+base64; reversible only with the key.)

Baseline Visualizations

The four plots above provide an initial diagnostic snapshot:

Top-left: Plant kW and Cooling Load over Time — Total plant power consumption tracks cooling load, but the relationship shifts after early July (dashed line). This is the regime change we'll investigate.

Top-right: Chiller Efficiency vs Wet-Bulb — kW/ton should increase with wet-bulb temperature (higher condensing pressure = more compressor work). The scatter shows this expected trend, but with notable outliers at low wet-bulb — a red flag.

Bottom-left: Cooling Tower Approach over Time — Approach temperature (CW supply minus wet-bulb) shows a clear upward drift. A healthy tower maintains stable approach; rising approach signals fouling, fan degradation, or fill deterioration.

Bottom-right: CHW Delta-T vs Load — This plot reveals the low-delta-T syndrome. At similar cooling loads, some hours show delta-T around 6°C (healthy) while others cluster near 4°C (degraded). The low-delta-T points force higher flow rates and pump energy.


The dataset is now exported as chiller_plant_data.csv for use in the remaining notebooks in this series. Each subsequent notebook loads this file and investigates a different aspect of the plant's performance.