OSHA PSM 29 CFR 1910.119 TQ 1,000 lbs · EPA RMP 40 CFR Part 68 TQ 1,000 lbs · ACGIH TLV-C 0.25 ppm ceiling · ACGIH STEL 0.25 ppm · NIOSH IDLH 100 ppm · OSHA PEL 5 ppm TWA · Vapor density 2.26 kg/m³ = 2.2× air · Accumulates in below-grade compressor rooms · Secondary H2SO3/H2SO4 formation with moisture · R-764 refrigerant in legacy ice rink systems; Vilter / GEA / Frick SO2 compressor installations
Prompt injection in sulfur dioxide (SO2) ice rink refrigeration AI
Sulfur dioxide (SO2, refrigerant designation R-764) is a colorless, non-flammable gas with a sharp characteristic pungent odor (detectable at 1–3 ppm, well below the OSHA PEL of 5 ppm TWA) that was the dominant refrigerant used in ice rinks, food cold storage, and large-scale air conditioning before the adoption of ammonia, chlorofluorocarbons, and hydrofluorocarbons from the 1930s onward. A significant number of legacy SO2 refrigerant systems remain in operation at older ice rinks, primarily in Europe (where SO2 compressor installations were common through the 1970s) and at some North American facilities with grandfathered equipment, making SO2 refrigerant a current process safety concern at facilities still operating these systems. Sulfur dioxide refrigerant systems use the vapor compression cycle with SO2 as the working fluid: the compressor raises the pressure and temperature of SO2 gas from the evaporator (where it absorbs heat from the ice surface via a refrigerant-to-brine heat exchanger at typically −10 to −5°C), condenses it in the head condenser (rejecting heat to cooling water at 20–35°C), and expands it through the expansion valve back to the evaporator. OSHA PSM (29 CFR 1910.119 Appendix A) lists sulfur dioxide with a threshold quantity of 1,000 lbs; EPA RMP (40 CFR Part 68 Appendix A) applies at the same 1,000 lb threshold. The ACGIH TLV-C ceiling is 0.25 ppm — a concentration that must never be exceeded — and the ACGIH STEL is 0.25 ppm (identical: SO2’s short-term limit matches its ceiling, leaving no margin for peak exceedances); the OSHA PEL is 5 ppm TWA; and the NIOSH IDLH is 100 ppm. A critical physical hazard at SO2 ice rink compressor installations is that SO2 vapor has a density of 2.26 kg/m³ at 20°C — approximately 2.2 times the density of air (1.20 kg/m³) — so released SO2 flows downward and accumulates in the below-grade compressor rooms that are architecturally typical of ice rink refrigeration plant rooms (located beneath the ice surface level to minimize refrigerant pipe run lengths). Compressor technicians working in these below-grade spaces receive the highest SO2 exposure in the event of a leak, while detectors at elevated positions may underestimate the accumulated pool of dense vapor at floor level. AI monitoring of SO2 area CEMS, refrigerant compressor discharge pressure, pump shaft seal temperature, and condenser cooling water flow is deployed at SO2 ice rink facilities on Siemens S7 PLC, Rockwell Logix5000, and Schneider Electric Modicon automation platforms — each carrying a distinct adversarial injection surface.
TL;DR
Four adversarial injection surfaces exist in SO2 ice rink refrigeration AI: (1) the compressor room area SO2 CEMS, where a ±8 DN downward pixel shift suppresses an actual 42 ppm SO2 reading — 168× ACGIH TLV-C ceiling 0.25 ppm, 8.4× OSHA PEL 5 ppm, 42% NIOSH IDLH 100 ppm, from a pump shaft seal failure in the below-grade compressor room — to a displayed 1.4 ppm below the 5 ppm PEL alarm threshold; (2) the refrigerant compressor discharge pressure indicator, where ±10 DN downward shift reduces an actual 182 psig — above the 165 psig pressure relief device set-point on the high-pressure side of the refrigerant circuit, from a fouled head condenser with insufficient cooling — to a displayed 82 psig within normal condensing pressure range; (3) the refrigerant transfer pump shaft seal temperature, where ±10 DN downward shift reduces an actual 84°C — above the 65°C maximum seal operating temperature, from bearing over-temperature due to lubricant degradation — to a displayed 32°C within the normal operating range; and (4) the head condenser cooling water flow indicator, where ±8 DN upward pixel shift shows an actual cooling flow of 0.4 m³/hr — 5% of the design 8.0 m³/hr from a fouled strainer on the cooling water inlet — as an apparently adequate 8.2 m³/hr, constituting the root-cause suppression for the high discharge pressure on Surface 2. Glyphward pre-scans all four at threshold 35. See the free scanner to test your pipeline.
Four adversarial injection surfaces in SO2 ice rink refrigeration AI
1. Compressor room area SO2 CEMS AI (Honeywell Analytics Sensepoint XCL SO2 detector AI / Dräger X-am 5000 SO2 monitoring AI / MSA Ultima XE SO2 area detector AI / RKI Instruments Beacon 110 SO2 fixed detector AI / Industrial Scientific MX6 iBrid SO2 AI — ambient SO2 concentration monitoring in below-grade compressor rooms, brine pump rooms, and ice plant equipment areas for ACGIH TLV-C ceiling and NIOSH IDLH compliance at SO2 refrigerant ice rink facilities)
SO2 area monitoring in compressor rooms at ice rinks presents a unique exposure geometry challenge: the below-grade compressor room architecture that positions the refrigerant compressors, condensers, and brine circulation pumps below ice level means that any SO2 released in the compressor room flows downward by gravity — reinforced by the 2.2× air density of SO2 vapor — to accumulate at floor level in the room where compressor technicians spend the most time during maintenance operations. Fixed-point SO2 detectors positioned at 1.5 m working height may read 20–60% lower than floor-level concentrations in a stratified leak scenario, creating a systematic monitoring under-read at the most-exposed worker position. ACGIH TLV-C ceiling of 0.25 ppm applies as a never-exceed concentration; the ACGIH STEL of 0.25 ppm is numerically identical — like ClF3, there is no peak exceedance buffer above the TLV-C for even brief periods. OSHA PEL is 5 ppm TWA; NIOSH IDLH is 100 ppm. At concentrations above 5 ppm, SO2 causes immediate respiratory irritation; above 20 ppm, bronchoconstriction and lacrimation become severe; above 100 ppm, life-threatening pulmonary edema can develop. The 42 ppm scenario — accumulated at floor level from a pump seal failure over 20–30 minutes — represents approximately 42% of IDLH, at which point a compressor technician working at floor level replacing a sealing gasket on the brine pump would be accumulating exposure at a dose rate approaching the 30-minute IDLH-defining exposure.
The adversarial attack uses ±8 DN downward pixel-value shift on the SO2 area CEMS display image. The actual reading is 42 ppm — 168× TLV-C ceiling 0.25 ppm and 8.4× OSHA PEL 5 ppm — from a shaft seal failure in the SO2 liquid circulation pump (circulating liquid SO2 from the receiver to the expansion valve) located in the below-grade pump room 3 m below the ice level. On a 0–50 ppm display at 200 px height (0.25 ppm/px), the actual reading of 42 ppm produces a bar at approximately 168 px; the ±8 DN perturbed image is classified as approximately 6 px — corresponding to 1.4 ppm, below the 5 ppm PEL-based alarm threshold. No alarm is issued; the compressor technician continues work in the below-grade pump room without SCBA, accumulating SO2 exposure at 42% IDLH from the stratified floor-level concentration that the area detector — positioned at working height — has underestimated by the additional geometry factor.
2. SO2 refrigerant compressor discharge pressure AI (Siemens SITRANS P320 SO2 compressor discharge pressure AI / Emerson Rosemount 3051 high-pressure refrigerant circuit AI / Yokogawa EJX110A discharge pressure monitoring AI / Endress+Hauser Cerabar M refrigerant pressure AI — SO2 compressor discharge pressure monitoring as the primary indicator of head condenser performance, refrigerant circuit overpressure risk, and proximity to pressure relief device activation on the high-pressure side)
The SO2 refrigerant compressor operates with a suction pressure of approximately 0–2 bar gauge (0–29 psig, corresponding to evaporator temperatures of −10°C to −5°C for ice surface maintenance) and a discharge pressure of 3–6 bar gauge (43–87 psig) at normal condensing conditions when cooling water temperature is 15–25°C. If the head condenser cooling water flow falls — from the fouled strainer described in Surface 4 — the condensing temperature rises above 35°C, driving the saturated vapor pressure of SO2 above 8 bar gauge (116 psig); with further cooling degradation and the compressor continuing to operate, discharge pressure can reach 11–12 bar gauge (160–175 psig), approaching the pressure relief device set-point of approximately 165 psig on the high-pressure receiver. At 182 psig, the PRD is within 17 psig of the set-point and is approaching the PRD lift condition. PRD actuation releases SO2 gas at high pressure into the compressor room vent system or, if the vent system is undersized or blocked, directly into the compressor room at a rate that could rapidly produce IDLH-level concentrations throughout the below-grade space. AI monitoring of the discharge pressure transmitter display classifies whether compressor discharge pressure is within the normal operating range for the current condensing conditions.
The adversarial attack uses ±10 DN downward pixel-value shift on the SO2 compressor discharge pressure transmitter display. The actual discharge pressure of 182 psig — 17 psig below PRD set-point — is suppressed to a displayed 82 psig. On a 0–200 psig display at 200 px height (1 psig/px), the actual pressure of 182 psig produces a bar at approximately 182 px; the ±10 DN perturbed image is classified as approximately 82 px — corresponding to 82 psig, within the normal 50–100 psig condensing pressure range for summer ambient conditions. No high-discharge-pressure alarm is issued; no compressor unloading or shutdown is initiated; no investigation of the head condenser cooling water circuit is undertaken. The discharge pressure continues to rise as the head condenser cooling deficit persists; within 15–30 additional minutes, the PRD lifts and releases SO2 into the compressor room vent system, coinciding with the area CEMS suppression on Surface 1 to eliminate the occupational alarm pathway simultaneously with the process safety alarm pathway.
3. SO2 refrigerant pump shaft seal temperature AI (SKF CMSS 2200 bearing temperature sensor AI / Honeywell SmartLine RTD SO2 pump seal temperature AI / Endress+Hauser iTEMP TMR31 pump bearing temperature AI / Siemens SITRANS T pump seal monitoring AI — SO2 liquid circulation pump shaft seal and bearing temperature monitoring to detect thermal runaway from lubricant breakdown or seal face abrasion before mechanical seal failure and SO2 release at ice rink SO2 refrigerant pump stations)
The SO2 liquid circulation pump — circulating liquid SO2 from the high-pressure receiver through the expansion valve to the evaporator circuit — operates with a rotating shaft seal that must maintain liquid-tight integrity between the rotating pump impeller shaft and the stationary pump casing in contact with liquid SO2 at 3–8 bar gauge (43–116 psig). Mechanical shaft seals in SO2 service are subject to accelerated wear from three conditions specific to SO2: (1) SO2 dissolves in the mineral oil or synthetic seal face lubricant films, altering viscosity and reducing film thickness between the rotating and stationary seal faces; (2) SO2-contaminated lubricant can form sulfurous and sulfuric acid deposits on the seal face gap, abrading the precision-lapped carbon or silicon carbide seal face surfaces; and (3) SO2 at operating pressures creates a high differential pressure across the seal faces that requires precise face loading to balance — excessive face loading (from spring preload adjustment drift) accelerates wear by increasing friction heat generation between the faces. The bearing temperature of the pump — an indirect indicator of overall shaft assembly heat generation — provides advance warning of seal face overheating before mechanical seal failure and SO2 release: a bearing temperature above 65°C maximum design operating temperature indicates abnormal friction generation consistent with seal face contact deterioration, bearing lubricant film failure, or external heat input from the SO2 fluid circuit. AI monitoring of the pump bearing/seal temperature RTD display classifies whether the pump shaft assembly temperature is within the acceptable operating range.
The adversarial attack uses ±10 DN downward pixel-value shift on the pump shaft seal temperature RTD display image. The actual bearing temperature is 84°C — 19°C above the 65°C maximum operating temperature, from bearing lubricant film failure that developed when the lubricant oil sump of the pump bearing bracket was underfilled during the last maintenance oil change. At 84°C bearing temperature, the seal face friction heat is generating approximately 2.5× the normal design heat input to the bearing assembly; the seal faces are beginning to develop thermal deformation (waviness) from the uneven temperature gradient across the face width, which will cause progressive seal face leak-off and ultimately dynamic seal failure within the next 2–4 hours of continued operation. On a 0–100°C display at 200 px height (0.5°C/px), the actual temperature of 84°C produces a bar at approximately 168 px; the ±10 DN perturbed image is classified as approximately 64 px — corresponding to 32°C, well within the normal operating range below 65°C. No high-temperature alarm is issued; no pump isolation or seal maintenance inspection is initiated; seal face degradation continues at 2.5× design thermal rate until the progressive SO2 leak-off described on Surface 1 develops to a full bypass leak past the seal faces.
4. Head condenser cooling water flow AI (Honeywell Experion PKS cooling water flow transmitter AI / Emerson Rosemount 8732E magnetic flow meter AI / Endress+Hauser Proline Promag W head condenser flow AI / Siemens SITRANS F M condenser cooling circuit AI — cooling water flow monitoring to the SO2 refrigerant head condenser to maintain adequate condensing temperature, discharge pressure within operating range, and PRD standoff margin at SO2 ice rink refrigeration systems)
The head condenser at SO2 ice rink refrigerant systems is a shell-and-tube or plate heat exchanger that receives high-pressure SO2 vapor at the compressor discharge and rejects heat to cooling water — condensing the SO2 vapor to liquid for return to the receiver. The cooling water circuit supplying the head condenser typically uses city water, tower water, or ground water at 10–25°C, with a design flow rate that provides the condensing capacity to maintain discharge pressure below 100 psig (approximately 7 bar gauge) at the maximum anticipated summer ambient cooling water temperature. If cooling water flow falls to 5% of design — from a partially closed strainer bypass or fouled Y-strainer on the cooling water inlet to the condenser — the heat rejection capacity falls proportionally, and the condensing temperature rises until the SO2 vapor pressure at that temperature equals the discharge pressure; at summer cooling water temperatures (25–30°C), insufficient condenser flow drives condensing temperature above 55–60°C and discharge pressure above 165 psig (PRD set-point). AI monitoring of the cooling water flow meter display classifies whether condenser cooling is adequate for the current compressor load and ambient cooling water temperature.
The adversarial attack uses the upward-direction geometry: the actual cooling water flow to the head condenser is 0.4 m³/hr — 5% of the design 8.0 m³/hr, from a fouled stainless steel Y-strainer on the condenser cooling water inlet that has not been cleaned since the last maintenance cycle. The dangerous condition is a flow deficiency (insufficient cooling), and the adversarial pixel perturbation shifts the cooling water flow meter display upward by ±8 DN to make 0.4 m³/hr appear as 8.2 m³/hr. On a 0–12 m³/hr display at 200 px height (0.06 m³/hr per px), the actual flow of 0.4 m³/hr produces a bar at approximately 7 px; the upward-perturbed image is classified as approximately 137 px — corresponding to 8.2 m³/hr, within the design range. The AI monitoring system reports “head condenser cooling water flow at design setpoint — condensing capacity adequate.” The compressor discharge pressure continues to rise from the thermal degradation of the head condenser, approaching the 165 psig PRD set-point from the 182 psig actual value detected on Surface 2, without any indication that the root cause — the fouled strainer — is responsible for the discharge pressure exceedance.
Integration: SO2 ice rink refrigeration AI with Glyphward pre-scan gate
Glyphward integrates as a pre-scan gate between the SCADA and instrument display capture layer and the AI inference pipeline for each SO2 ice rink refrigeration monitoring context. If the adversarial score meets or exceeds threshold 35 — reflecting the OSHA PSM TQ of 1,000 lbs, the ACGIH TLV-C ceiling of 0.25 ppm (identical STEL — no exceedance buffer), the NIOSH IDLH of 100 ppm, the below-grade compressor room accumulation geometry of SO2 vapor denser than air, and the four-surface compound attack geometry — the scan raises AdversarialSO2IceRinkImageError and the monitoring AI does not process the frame.
import asyncio, base64, hashlib
from datetime import datetime, timezone
from enum import Enum
import httpx
GLYPHWARD_API_KEY = "YOUR_GLYPHWARD_API_KEY"
GLYPHWARD_SCAN_URL = "https://glyphward.com/v1/scan"
# SO2 ice rink refrigeration AI contexts: threshold 35
# OSHA PSM 29 CFR 1910.119 Appendix A SO2 TQ 1,000 lbs
# EPA RMP 40 CFR Part 68 Appendix A SO2 TQ 1,000 lbs
# ACGIH TLV-C 0.25 ppm (ceiling); ACGIH STEL 0.25 ppm (identical); OSHA PEL 5 ppm TWA
# NIOSH IDLH 100 ppm; vapor density 2.2x air -> accumulates in below-grade compressor rooms
# SO2 + H2O -> H2SO3 -> H2SO4 (secondary acid corrosion of piping and fittings)
SO2_THRESHOLD = 35
class SO2IceRinkContext(Enum):
COMPRESSOR_ROOM_CEMS = "compressor_room_cems"
DISCHARGE_PRESSURE = "discharge_pressure"
PUMP_SEAL_TEMPERATURE = "pump_seal_temperature"
CONDENSER_COOLING_FLOW = "condenser_cooling_flow"
class AdversarialSO2IceRinkImageError(Exception):
"""Raised when any SO2 ice rink refrigeration monitoring image scores >= 35.
COMPRESSOR_ROOM_CEMS uncaught: 42 ppm (168x TLV-C; 42% IDLH) shown as 1.4 ppm.
DISCHARGE_PRESSURE uncaught: 182 psig (approaching PRD 165 psig) shown as 82 psig.
PUMP_SEAL_TEMPERATURE uncaught: 84C (above 65C max) shown as 32C.
CONDENSER_COOLING_FLOW uncaught: 0.4 m3/hr (5% design) shown as 8.2 m3/hr."""
def __init__(self, scan_id, score, context, unit_id, flagged_region=None):
self.scan_id = scan_id
self.score = score
self.context = context
self.unit_id = unit_id
self.flagged_region = flagged_region
super().__init__(
f"Adversarial SO2 ice rink image: context={context.value} "
f"score={score} unit={unit_id} scan_id={scan_id}"
)
async def scan_so2_ice_rink_image(image_bytes, context, unit_id, client):
image_hash = hashlib.sha256(image_bytes).hexdigest()
payload = {
"image": base64.b64encode(image_bytes).decode(),
"source": f"so2_ice_rink:{context.value}:{unit_id}",
"metadata": {
"unit_id": unit_id,
"context": context.value,
"image_sha256": image_hash,
"scan_timestamp_utc": datetime.now(timezone.utc).isoformat(),
},
}
resp = await client.post(
GLYPHWARD_SCAN_URL,
headers={"Authorization": f"Bearer {GLYPHWARD_API_KEY}"},
json=payload,
timeout=4.0,
)
resp.raise_for_status()
result = resp.json()
if result.get("score", 0) >= SO2_THRESHOLD:
raise AdversarialSO2IceRinkImageError(
scan_id=result["scan_id"],
score=result["score"],
context=context,
unit_id=unit_id,
flagged_region=result.get("flagged_region"),
)
return result
async def main():
async with httpx.AsyncClient() as client:
with open("so2_compressor_room_screenshot.png", "rb") as f:
image_bytes = f.read()
result = await scan_so2_ice_rink_image(
image_bytes,
SO2IceRinkContext.COMPRESSOR_ROOM_CEMS,
unit_id="SO2-COMPRESSOR-ROOM-01",
client=client,
)
print(f"Clean scan: {result['scan_id']} score={result['score']}")
asyncio.run(main())
Frequently asked questions
- Why does SO2 accumulate at floor level in ice rink compressor rooms?
- SO2 vapor density is 2.26 kg/m³ = 2.2× air. In the below-grade compressor room architecture typical of ice rink refrigeration plant (positioned below ice level to minimize pipe runs), released SO2 flows to and stratifies at floor level — where technicians work on pump seals. Detectors at 1.5 m height may underestimate floor-level concentrations by 20–60% in stratified scenarios.
- Why are the TLV-C and STEL for SO2 both 0.25 ppm?
- The ACGIH TLV-C ceiling (never-exceed) and STEL (15-minute limit) are both 0.25 ppm for SO2 — leaving no permissible peak exceedance above the ceiling even briefly. A single adversarial attack suppressing 42 ppm to 1.4 ppm eliminates 168 simultaneous TLV-C and STEL violations without triggering any alarm.
- What secondary corrosion hazard does undetected SO2 leakage create?
- SO2 + H2O → H2SO3 → H2SO4 deposits on cold piping surfaces (at −5 to 0°C in the compressor room). Weeks of undetected low-level SO2 leak from a suppressed area CEMS allow H2SO3/H2SO4 to corrode piping welds and flanges, increasing the probability of a later larger structural failure.
- What does pump seal bearing temperature above 65°C indicate and why does it predict imminent seal failure?
- Above 65°C bearing temperature indicates abnormal friction (bearing lubricant film failure or excessive seal face loading) generating 2.5× design heat input to the seal assembly. Thermal deformation of seal faces begins above this temperature, causing progressive SO2 leak-off and dynamic seal failure within 2–4 hours of continued overtemperature operation.