EPA Subpart W, filed from data you can defend.

File to the EPA from data you can defend: SensorUp composes your Observations, Calculations, and an immutable audit trail into the Subpart W submission.

Several pump jacks across a grassland well site under an overcast sky — production equipment reported under EPA Subpart W.

The problem

The number you file has to survive an argument you won't be in the room for

The annual GHG report is due the same time every year, and it is always a scramble. The process gets more complex every year, because the data behind it comes from systems that disagree with each other, reconciled by hand, under deadline.

[ 01 ] Disagreement

Your sources don't tell one story

Each system is right; none agrees on what the facility emitted.

The historian says one thing about run hours, the OGI survey logged a leak the CEMS export never saw, and the satellite alert arrived as a PDF. Each system is right about what it measured, none of them agrees on what the facility emitted. The filing requires that they be made to agree, with the disagreement on record.

[ 02 ] Reconciliation

The spreadsheet is the system of record, and it shouldn't be

Each season an engineer rebuilds the reconciliation by hand.

Every reporting season, an engineer rebuilds the reconciliation: exports pulled, units converted, emission factors looked up, formulas patched from last year's version. The institutional knowledge lives in cell comments and an inbox. When that engineer changes jobs, the methodology goes with them.

[ 03 ] Exposure

An audit question lands years after the filing

The answer must run from filed number back to source measurement.

When the regulator asks where a value came from, the answer has to run from the filed number back to the source measurement. If the trail runs through versioned spreadsheets and email threads, your team reconstructs it under scrutiny, and every gap in the reconstruction reads as a gap in the filing.

It reads the records your operations already write

[ 01 ] Consume

It reads the systems you already run, and doesn't replace them

Historians, CEMS, cameras, monitors, and satellite, read where they live.

The Warehouse reads the systems you already run: SCADA historians (PI, CygNet) over OPC-UA and Modbus, CEMS, OGI cameras, continuous monitors, satellite, and SAP or Maximo for asset context. It only reads them, so nothing new lands on your control network.

consume: PI, CygNet ← OPC-UA / Modbus
[ 02 ] Normalize

The malformed export is the expected input

Raw records stay addressable even after normalization.

Raw records are kept as ingested, then projected into one canonical model, so the original export stays addressable. Transform does the work the spreadsheet used to: normalization, unit conversions, factor lookups, and data-quality scoring, as a pipeline you can inspect.

raw record → canonical observation
[ 03 ] Frameworks

The Subpart W methodology lives in the Library

Rule sets, calculation methods, and emission factors are Library content, not macros.

The Subpart W calculation methodologies and emission factors are Reference Library content: versioned, inspectable, and applied the same way every cycle, instead of a spreadsheet macro that changes whenever someone edits a cell.

The filing is caught, ranked, and resolved to one defensible number

[ 01 ] Catch

Every disagreeing source lands in one model

Historian, CEMS, OGI, and satellite become comparable records, disagreement kept.

The historian, the CEMS export, the OGI survey, and the satellite pass each measure a different slice of the facility. They land in one canonical model on arrival, comparable records with their disagreement kept on the record, not averaged away before anyone can see it. The records your LDAR program already writes feed directly into this filing.

[ 02 ] Prioritize

Numbers derived continuously, not rebuilt at the deadline

Correct a source value and the derived value moves with it.

The engine derives emission values from observations as they land, with factors pulled from the Library, not hand-keyed. Correct a source value upstream and the derived value moves with it, with the change recorded.

[ 03 ] Resolve

A discrepancy becomes owned work with documented closure

Discrepancies dispatched as owned work, closed with documentation.

When reconciliation surfaces a discrepancy, it is dispatched as owned work, the same machinery that runs LDAR repairs, and closes with documentation attached to the record, not an email thread.

The filing is composed from the same blocks

The Subpart W filing is assembled in Studio from shared blocks, run by Autopilot on the Warehouse record beneath it. The records your LDAR program writes feed this filing, and the provincial BCER / SWRS submission runs the same way. See every solution.

[ 01 ] Studio COMPOSE
  • Events
  • Work
  • Calculations
  • Compliance
  • Scenarios
  • Metrics
  • Reports
[ 02 ] Autopilot AUTOMATE
  • Agents
  • Cora
  • Solution Builder
  • Workflows
[ 03 ] Warehouse FOUNDATION
  • Assets
  • Integrations
  • Datasets
  • Relationships
  • Reference Library
  • Ledgers
  • Approvals
EPA Subpart W draws Calculations from Studio, the Workflows that dispatch discrepancies from Autopilot, and Datasets, Integrations, Reference Library, and Ledgers from the Warehouse. The blocks are shared across every solution; only the composition changes.

Watch a Subpart W submission assemble from the stack you already run

Facility data flows through a pipeline into the calculation and out as a report, every figure tied to the asset and reading it came from.

app.sensorup.com/subpart-w
SensorUp product screen: an operational dashboard feeding a Subpart W report
A frame from the product interface.
$schedule --with engineer --bring last-years-filing

Talk to an engineer

Bring last year's filing and the spreadsheet behind it. We'll scope which calculation paths apply to your equipment, walk the audit trail end to end, and tell you where the reconciliation will hurt.

SecurityTrust ↗