Forty Norwegian public buildings, checked meter by meter

Open data from Norwegian municipal buildings: which meters died, froze or changed unit, whether sub-meters add up, and where our method failed.

Forty Norwegian public buildings, checked meter by meter.

A nursing home's heat pump that seemed to deliver 107 to 286 times the energy it used, for seventeen months. A floor meter that read zero for two and a half years. We ran Auge on open meter data from municipal buildings in Drammen and the Ålesund area, tested it against fixed alarm limits, and wrote down beforehand what would count as a pass.

Illustration. A building's main meter and the sub-meters under it. Each level is checked: the sub-meters have to add up under the main meter, and a meter that dies, freezes or changes unit is flagged for a person to look at.

Picture the person who fills in the energy follow-up for a nursing home. Once a month they open an export from the building automation system, copy the meters into a spreadsheet and send the totals on. If a meter died in March, or started counting in watt-hours instead of kilowatt-hours, the spreadsheet does not say so. The totals go on, and next year's budget rests on them.

Real buildings, open data

Two Norwegian research projects have published the meters of public buildings under an open licence (CC BY 4.0). COFACTOR Drammen (SINTEF) has four years of hourly energy from 45 municipal buildings in Drammen: schools, kindergartens, nursing homes and offices. COLLECTiEF has two and a half years from seven public buildings in the Ålesund area, among them care and health centres. Both have main meters and sub-meters. The point names in both are the publishers' own tidy names, not the raw names of a building automation system, so we used them to test the meters, not to test name reading.

Dead, frozen, rescaled or swapped

92.8% of planted meter faults foundat 3.4% false flags per meter-week, against 72.8% at 27.5% for fixed alarm limits

We kept the meters of 40 buildings apart before writing the checks, and wrote down the pass marks first. Then we planted 1,812 faults in copies of their data: a meter that stops, reads zero, freezes, jumps a thousand times up or down, or swaps columns with another meter. Auge judges each meter against its own last four weeks. The comparison was a set of fixed limits of the kind a building automation system has: a day without change, a day without values, a reading above 1,000 kWh in an hour.

In this test the fixed limits caught all of the meters that stopped or froze. They also fire on an electric boiler that is off for the summer and on solar panels at night: 28% of normal meter-weeks got a flag. Judged against its own past, a meter that is off every summer is not called dead for being off. Auge found 77% of the swapped columns, against 25%, and 91% of the meters that suddenly read a thousand times too low, against 3%. The verdict was supported.

Do the sub-meters add up?

In 17 of the 17 held-out buildings that have sub-meters, the sub-meters together stay under the main meter in at least 95% of hours. That is the check a person needs before trusting a breakdown of where the energy went.

It also says what is not on any sub-meter. In COLLECTiEF's building B04, a care centre, the four floor meters account for 33% of the main meter's energy; the rest is on no floor meter. One of the four, the basement meter, read zero for its whole record, from September 2022 to April 2025.

A heat pump that delivered too much

17 months at 107 to 286 timesthe heat a nursing home's heat pump seemed to deliver per unit of electricity, from January 2018 to May 2019

Building 6412 in the COFACTOR data is a nursing home. A heat pump typically delivers two to five times the electricity it uses as heat; this one's meters say 107 to 286 times, month after month, until May 2019. After that it reads about 2.5. The most likely reading is a unit: heat counted in watt-hours and reported as kilowatt-hours. A week-by-week check cannot see it, because the meter was wrong from its first week; comparing heat out with electricity in, month by month, shows it at once. This is a finding for a person to check, not a fact: we do not know the building, and the publisher may know why.

A month with a gap

When a meter misses a week, a spreadsheet's sum leaves the month about 23% short. Filling the missing hours from the meter's own weekly pattern came within 5% nine times in ten, with up to a week missing. Scaling the month up by its measured share did almost as well; the difference between the two is small. With two weeks missing the worst tenth were off by 16% or more, so Auge leaves such a month empty and says why, and marks every filled month as an estimate.

Where it did not work

Finding the meter tree from the readings did not work. On ADRENALIN, a set of sub-metered buildings with the owners' own meter drawings, we tried to work out which sub-meter sits under which from the readings alone. A rule that puts every sub-meter straight under the main meter was right 86% of the time; ours, 29%. The verdict was falsified. So Auge takes the tree from a drawing or the building's own model, and uses the readings to check it.

The same test taught us something about exports: 23 of the 100 series labelled as running totals were not running totals at all. They rose and fell from hour to hour. A label is a claim, and it has to be checked like any other.

Reading raw point names works where it answers, and it answers less than half the time. On an open set of building automation names, for a building it had not seen, Auge was wrong on 7.6% of the names it read and read 42% of them; a word list learnt from another building was wrong on 73% of the names it answered. Lighting circuits named after their room do not say what they measure, and Auge asks a person instead of guessing. But its refusals did not fall on the hardest names, as we had written down they should: the word list was right on 27% of the names Auge refused and on 4% of those it read. The verdict was partial.

What it gives the person on shift

In the console, a building now has a tab called Meters and energy: the meter tree with whether each level adds up, a flag on each meter that looks dead, frozen, rescaled or swapped, heat pumps whose heat and power disagree, and the energy per month per carrier, measured, estimated or left empty, ready for Excel. Before the totals go into the report, the person filling it in can see which meters to look at first.

What this does not show yet: the faults were planted in copies of real data, and real faults are messier. Two of the seven COLLECTiEF buildings were not read at all, because their time column puts the day first; the test ran on the forty that were. Nothing here is from a hospital, and the open hospital data we found was not enough to test one.

Back to the front page

Start with one export.

We sit with you and run it on a machine you control, so nothing leaves the site. You keep the mapping report: every tag with its quantity, unit and machine and the evidence for each, what could not be told and why, and the data that went wrong this week, in Norwegian or English.

Write to [email protected]. If you would rather send us an anonymised export, we sign your data processing agreement first.

Read next