The quarterly report problem
For most environmental compliance teams, the quarterly report is the product. Data is collected manually — operators log readings on paper, coordinators key them into spreadsheets, consultants run calculations, and reports go out. Then the cycle starts again.
The problem with this model is not the report. The problem is that the data is 90 days old before anyone sees it.
A facility that has been running a process with elevated NOx emissions for 60 days before the quarterly period closes has 60 days of non-compliance exposure before anyone in the organization knows. Continuous emission monitoring changes that to minutes.
What continuous emission monitoring requires
A Continuous Emission Monitoring System (CEMS) in the regulatory sense is the combination of analyzers (physical instruments that measure gas concentrations), data acquisition systems (hardware and software that log readings at defined intervals), and a reporting platform that meets EPA quality assurance requirements.
The data requirements are strict. EPA's 40 CFR Part 75 mandates:
- Hourly average readings for relevant pollutants (NOx, SO2, CO, CO2, flow)
- Automatic substitution data when the system is down or in calibration
- Quarterly and annual performance tests (RATA — Relative Accuracy Test Audit)
- Data submitted via ECMPS (Emissions Collection and Monitoring Plan System) in a defined XML schema
Meeting these requirements in a continuous-monitoring architecture is a different discipline from tabular spreadsheet reporting. The data pipeline has to be right — missing readings, incorrect substitution values, or calibration data that doesn't validate properly all create compliance exposure.
The architecture
The platform we built for this engagement has five layers:
1. Instrument connectivity. Modbus TCP / OPC-UA polling from each CEMS analyzer, collecting readings every 15 seconds. Readings written to a local data historian (OSIsoft PI) before forwarding to the cloud. Local buffering ensures no data is lost during network outages.
2. Data validation at ingest. Each reading checked against configured operational bounds. Readings outside bounds flagged for review and substituted per EPA Part 75 methodology (missing data substitution uses the 90th percentile value from the prior 720 hours of valid data for the pollutant in question).
3. Hourly rollup engine. Calculates hourly averages from 15-second reads, applies data quality flags (monitor operating hours, QA events, substitutions), and stores the hourly record with all relevant metadata. This is the authoritative compliance record.
4. Reporting layer. Generates EPA-required reports (quarterly emissions summaries, annual compliance certification, monitoring plan documentation) in ECMPS-compatible XML. Operators review and submit directly from the platform.
5. Real-time dashboard. Live visualization of all monitored parameters across all emission points. Alerts (email + SMS) when readings approach permit thresholds.
Integration challenges
The hardest part of this project was not the reporting platform — it was getting clean data out of 15-year-old analyzers.
Older CEMS instruments often use proprietary communication protocols, aging serial connections, and firmware that predates modern networking. Several of the analyzers at this facility could not communicate directly over Ethernet; we used protocol converters to translate their output to Modbus before it hit the OPC-UA layer.
Data quality at source was also inconsistent. Some analyzers had drifted from their certified calibration constants. Before the platform could report credibly, we ran field validation against certified calibration gas, corrected constants in the data collection layer (not the analyzer firmware — critical for audit trail reasons), and documented the correction in the monitoring plan.
The ECMPS submission layer required a certification process with EPA — the first submission from a new data system triggers a verification review. Planning four to six weeks for this process is realistic.
Outcome
After go-live, the compliance team's quarterly reporting cycle dropped from four weeks of manual data collection and calculation to a two-day review-and-submit process. The reduction came entirely from the automated data collection, rollup, and report generation — not from reducing rigor.
More significantly, the operations team gained access to data they had never had before. Live NOx trends by unit, correlated with fuel feed rate and combustion temperature, allowed combustion optimization that reduced emissions by approximately 8% without any process changes — just better tuning informed by real-time data.
No compliance violations in the 18 months following go-live, compared to two minor exceedances in the preceding 18 months (both attributable to the manual data gap).
This article describes a CEMS implementation at an industrial facility in the US midwest. Client name and specific figures have been adjusted for confidentiality.