Skip to main content
Call Eric:863-698-8266
CURRYCONTROLS.COMControls & Automation Knowledge Hub
ReferenceSCADADocumentationWaterWastewater

Reporting from the Historian

Turning history into the reports a utility must produce: the monthly operating report, compliance reports for the regulator, daily operator summaries, pump run and energy reports, the calculations behind daily minimums, maximums, and totals, handling bad quality and gaps, and building reports once so they run every month without an engineer.

9 min readUpdated Sep 5, 2026Published Sep 5, 2026By Eric Sullivan

The short answer

Reporting from the Historian

Historian reporting produces the daily, monthly, and compliance documents a utility owes its regulator and its management from the data the historian holds: totals from totalizer tags, daily minimums and maximums and averages from continuous values, run hours and starts from digital states, and compliance values at required intervals with any gaps flagged. Reports are built once as templates against a documented tag list, scheduled to run automatically, reviewed by an operator before submission, and archived with the data behind them. The calculations and the treatment of bad quality are written down, because a compliance number has to be defensible.

Key points

  • Every report number traces to a tag, a calculation, and a time window that are written down.
  • Totals come from totalizers; averages and extremes come from continuous values with quality respected.
  • Gaps are reported as gaps, with the reason, never filled silently.
  • Build the report as a template that runs on a schedule. A report that needs an engineer each month will be late.
  • An operator reviews and signs before a compliance report leaves the utility.

The reports a utility makes

ReportContentFrequencyReader
Daily operating summaryFlows, levels, residuals, chemical usage, pump run times, alarms, for the previous dayDaily, automatic, at shift startOperators and the superintendent
Monthly operating reportDaily values for the month in the form the regulator prescribes: flows, treatment parameters, chemical feeds, with monthly totals, averages, and extremesMonthlyThe regulator; management
Compliance reportsThe specific values the permit requires at the specific intervals: turbidity, residual, CT, discharge parameters, with exceedances and gapsMonthly, or as the permit saysThe regulator
Pump and equipment reportsRun hours, starts, energy, capacity trends per pump; alternation balanceMonthlyMaintenance
Energy reportPower and energy by facility and by pump, with cost where tariffs are knownMonthlyManagement
Alarm reportsAlarm rates, the most frequent alarms, standing alarms, floodsWeekly or monthlyThe alarm management review
Event and incident reportsThe trend and event record for a period, for an investigationOn demandThe engineer; the regulator when asked

The calculations

Totals
From a totalizer tag in the controller, stored uncompressed, read at the report boundaries: the value at midnight minus the value at the previous midnight, with rollover handled. Never from integrating a stored flow rate, which is compressed and gapped.
Daily minimum, maximum, and average
From the continuous tag over the day, using only good-quality values, with the count of good samples reported beside the result. A daily minimum residual from a day with a six-hour gap is a minimum of eighteen hours and the report says so.
Values at an interval
For compliance tags collected at the required interval: the value at each interval, or the interval marked missing. The historian interpolates by default on many queries; compliance queries ask for the actual sample.
Run hours and starts
From the digital run status: the sum of on durations, and the count of off-to-on transitions, in the period. A state that was on at the boundary is split correctly.
Exceedances
Each interval where a value was above or below a permit limit, with the duration and the peak. Counted, listed, and matched to the alarm journal.
Chemical usage
From day tank levels and deliveries, or from feeder totalizers, with strength corrections where the dose depends on it.

Bad quality and gaps

A report that fills a gap with the last value, with zero, or with an interpolation, without saying so, produces a compliance record that is wrong in a way an inspector can find. The rule is that a gap is reported as a gap: the interval is marked missing, the reason is given where known, a collector outage, a communication loss, an instrument out of service for calibration, and the statistic that depends on it is computed from what remains and labeled with the coverage. The permit usually says what a missing interval means and what must be done; the report follows it.

Building a report once

  1. 1

    Write the specification

    Each number on the report: the tag, the calculation, the time window, the quality rule, the units and rounding, and the source of the permit requirement where there is one. This page is the report documentation and it goes with the template.

  2. 2

    Build the template

    In the historian reporting tool, a spreadsheet with the historian add-in, or a reporting package, against the specification. Tags by name, not by copying values.

  3. 3

    Test against a known period

    Run the report for a past month and compare every number with the previous method or a hand calculation. Differences are explained before the template is trusted.

  4. 4

    Schedule it

    Automatic generation on the schedule, to a folder and an email, with the operator review step before anything is submitted.

  5. 5

    Version it

    The template is a document under change control. A tag renamed in SCADA breaks it, and the change process catches that.

  6. 6

    Archive it

    Every generated report is kept with the period it covers, alongside the calibration records and the data, for the retention period.

Review and sign-off

A compliance report is a statement by the utility. An operator or the operator in charge reads it before submission, checks the numbers that look wrong against the trend, notes the gaps and their reasons, and signs. Automatic generation removes the transcription errors that used to fill these reports; it does not remove the need for someone who understands the plant to look at the result. A report that says the residual was zero for a day because a collector stopped should be caught at review, not at the regulator.

Frequently asked questions

Can the regulator accept a report generated from the historian?
Yes, in the form the regulator prescribes, and increasingly by electronic submission. What the regulator expects is that the numbers are traceable, that gaps are reported as the rules require, and that the instruments behind them are calibrated and verified with records. The historian report is easier to defend than a handwritten log if the specification exists.
Our daily average residual from the historian differs from the operator log. Why?
The log records grab samples or readings at shift times; the historian averages every good sample over the day. Both are right and they answer different questions. The permit says which it wants. If it wants the continuous average, the historian; if it wants readings at times, the report takes samples at those times.
How should exceedances be counted?
The permit defines the limit, the averaging period, and what counts as an exceedance. The report implements that definition exactly, in the specification, and counts from the historian data at the permit interval. An alarm count from SCADA is not the same thing, because alarm setpoints usually sit below the limit.
What if a tag was renamed and the report shows blanks?
The template references the old name. The change process for SCADA tag renames includes the report templates; when it is missed, the fix is the template, and the blanks for the period are recovered by re-running the report after the fix, since the data was collected under the new name.

Direct contact

Have a controls question?

Reach Eric Sullivan directly about anything on this site, a controls or automation topic, or one of his personal projects.