Carrying Forty Years of Water Utility Thickness Data Into a New System
A water or wastewater migration succeeds when every legacy reading arrives with its own date, technician, instrument and method, plus a flag saying whether it may be used in a corrosion-rate calculation. Utilities have no API 653 equivalent forcing consistency, so the archive mixes diver spot checks, robotic grids and coating-contractor PDFs. The system must keep them apart.
Water and wastewater assets sit outside the inspection codes that force consistency elsewhere. There is no jurisdictional inspector signing a form, no mandated t-min formula, no interval capped by half the remaining corrosion life. Tank interiors are examined on state or AWWA-referenced cycles, buried mains are sampled when something is already excavated, and digesters open when a decade of gas production ends. The result is an archive assembled from dive reports, robotic crawler grids, coating-contractor closeouts and a spreadsheet maintained by a retired superintendent. A migration that flattens all of it into one readings table produces corrosion rates that look reassuringly slow and are wrong. The rate is slow because a 1998 minimum of eight spot readings is being compared to a 2019 minimum of four hundred grid points, and the two statistics are not comparable. The migration's real job is to carry the provenance that lets you refuse the comparison.
Source: Sources: ANSI/AWWA D100 (Welded Carbon Steel Tanks for Water Storage), ANSI/AWWA D101 and D102 (inspection, cleaning and coating of steel water tanks), AWWA M11 (Steel Pipe) and M42 (Steel Water Storage Tanks); ASTM A6/A6M plate thickness tolerances; ASTM E797/E797M (contact pulse-echo thickness measurement); ANSI/NSF 61 for potable-contact coatings; ASNT SNT-TC-1A (2020) for UT personnel qualification; OSHA 29 CFR 1910.146 (permit-required confined spaces); 40 CFR Part 122 (NPDES) and state drinking-water primacy rules for inspection cycles. API 653 is referenced only for contrast, as the code most water utility assets do not fall under.
| Legacy source | What the number actually is | Field that must survive migration | Eligible for a corrosion rate? |
|---|---|---|---|
| Diver interior tank report, 1990s | Lowest of a handful of spot readings, location described in prose | Reading count, prose location, diver's firm, whether coating was removed | No, unless matched to an equivalent later spot survey |
| Robotic or crawler grid survey, post-2010 | Minimum of a dense grid over a mapped area | Grid extent, point count, both minimum and mean, scan pitch | Yes, against another grid survey of the same area |
| Coating contractor closeout PDF | Verification readings taken to justify a repair, not a condition survey | Repair scope, whether the reading is on original or replacement plate | No, these are acceptance checks |
| Excavation coupon on a buried main | One-off sample at a dig, chosen because it looked worst | Station or reach, soil condition, external versus internal loss | No, this is a worst-case sample, not a trend point |
| Superintendent's spreadsheet | Transcribed values, original source often lost | Original transcriber, source document reference, transcription date | Only where the source document can still be produced |
Why a utility's thickness archive is shaped unlike a refinery's
In refining and petrochemical service, the inspection code does the organising work. API 510 and API 653 impose a required minimum thickness, a corrosion rate calculated from a defined pair of readings, and an interval that cannot exceed half the remaining corrosion life. Whatever else varies, the shape of the record is fixed by the code, and a migration into new software is largely a mapping exercise between two versions of the same structure.
Water and wastewater has no such spine. A ground-supported welded steel reservoir is built to ANSI/AWWA D100 and inspected on a cycle set by a state primacy agency or by the utility's own asset management plan. A force main is examined when it is already open for another reason. A digester is entered when gas production and cleaning schedules permit. Nothing forces two consecutive inspections to use the same method, the same coverage or the same reporting convention, and over forty years they almost never do.
The practical consequence for the person doing the migration is that the legacy data is not inconsistent by accident. It is inconsistent because the operating environment never demanded consistency, and no amount of cleaning will make the 1996 dive report and the 2021 crawler survey into the same kind of measurement. The system you migrate into has to be honest about that instead of hiding it behind a single readings table.
The three record formats you are migrating from, and what each one loses
The first format is narrative. A dive contractor or coating inspector wrote a report; somewhere in it are half a dozen numbers with locations described in plain English. What gets lost in migration is the qualifier around the number — that the reading was taken after wire-brushing but before blasting, or that the diver could not reach the area below the inlet because of sludge. Those qualifiers are exactly what determines whether the number means anything, and they are the first thing dropped when someone types values into a grid.
The second is tabular but foreign. A Lucity, Cityworks, Hansen or Maximo instance holds readings as attributes on a work order, or as inspection results attached to an asset that is modelled as a whole tank rather than as shell courses. There is no concept of a condition monitoring location, so the readings have nowhere to attach. Migrating them means deciding whether a value belongs to the tank, the course or a point, and that decision is an interpretation which must be recorded as one.
The third is a spreadsheet nobody now maintains. It is usually the most complete source and the least verifiable, because it is a transcription whose originals may have been discarded. The correct handling is to migrate it in full, mark every row as transcribed, and record who transcribed it and from what. A utility that treats the spreadsheet as primary data will eventually find a row that disagrees with the report it came from, and by then there is no way to tell which is right.
Corrosion rates you must refuse to calculate during migration
The most damaging thing a migration can do is compute rates. Given a start date, an end date and two numbers, almost any system will produce an in-year figure, and once that figure exists it will be used. The three comparisons a water utility archive most often invites are all invalid. Comparing a spot-reading minimum to a grid minimum compares the lowest of eight values to the lowest of four hundred; the second statistic is lower for reasons that have nothing to do with metal loss. Comparing a pre-recoating series to a post-recoating one averages across a step change. Comparing an excavation coupon to a survey point compares a deliberately worst-case sample to a representative one.
There is a fourth trap specific to old steel water tanks. The legacy record frequently states nominal plate thickness as the starting point, because the as-built thickness was never measured. ASTM A6/A6M permits plate to be delivered up to one hundredth of an inch under the ordered thickness, and mill practice on quarter-inch plate routinely lands near the bottom of the band. A first corrosion rate computed from nominal instead of measured can be off by a tenth of an inch of assumed loss, which on quarter-inch plate is forty percent of the wall.
The system's job is to make refusal easy. Every reading should carry a rate-eligibility state, defaulting to ineligible for anything migrated, so that a rate appears only where a human has asserted that two readings are genuinely comparable and has said why. That assertion is a record in its own right, with an author and a date, and it is the single most useful artefact the migration produces.
Exclusions: readings that must be kept but never used
An exclusion is not a deletion. The reading stays, the reason is attached, and the reason is specific. In water and wastewater the recurring exclusion categories are narrow enough to enumerate. Readings taken through an intact coating on a mode-1 gauge include the coating in the value and read high; whether the coating was removed is often the only thing standing between a usable number and a fiction. Readings on a repair plate, a doubler or a replacement course belong to a different metal with a different installation date, and their series must start over. Readings taken on ductile iron through a cement mortar lining are not thickness measurements at all in the usual sense, because the lining destroys the back-wall echo the gauge relies on.
There is a subtler category that matters more here than in most industries. Where microbiologically influenced corrosion is active — sludge lines, digester bottoms, wet wells, anywhere sulfate-reducing bacteria establish under deposits — the damage is discrete pitting, not general wastage. A grid of spot readings on a two-inch pitch will step over pits an eighth of an inch across and report a wall that is essentially unchanged. The reading is accurate and the conclusion is wrong. Such readings should be retained but flagged as unrepresentative of the governing damage mechanism, with the mechanism named.
The corresponding requirement on the software is unglamorous: the exclusion reason has to be a controlled value from a list the utility maintains, not free text, so that the whole archive can later be queried for every reading excluded for a given reason. Free-text exclusions are indistinguishable from no exclusions once you have ten thousand rows.
Damage mechanisms that decide whether a spot reading tells the truth
General wastage in aerated water is the easy case and the least common one. Ferric chloride and sodium hypochlorite feed systems attack in a concentrated, localised way; hypochlorite in particular is aggressive to 316 stainless and to the carbon steel it eventually reaches when a liner fails, and the loss appears at gaskets, dead legs and the bottom of horizontal runs rather than across a shell. Digester gas piping and covers see hydrogen sulfide, and the corrosion follows condensate — top of the pipe on a cold morning, not the bottom.
Sewer headworks and wet wells produce the classic sulfide cycle: hydrogen sulfide releases into the headspace, thiobacillus species oxidise it to sulfuric acid on damp surfaces above the waterline, and the aggressive zone is the splash and vapour band, not the immersed metal. A survey grid laid out on the submerged shell will find nothing while the metal two feet above the operating level thins steadily. Whether the historical readings covered the vapour space is a question the migrated record must be able to answer.
Externally, buried steel and ductile iron lose wall from the soil side under stray current, differential aeration at a coating holiday, or contact with a dissimilar metal at a fitting. Nothing in an interior reading sees this. A record that does not distinguish internal from external loss will attribute soil-side damage to the process fluid and drive the wrong remediation — an interior recoating on a pipe that needs cathodic protection.
Access windows: why a lost reading is a ten-year gap
A refinery unit turnaround comes round on a two to five year cycle, and a missed condition monitoring location is annoying. A potable water reservoir can typically only be drained in a narrow seasonal window when system demand and redundant storage allow it, and in a single-tank pressure zone that window may not exist at all in some years. A digester is opened when the cleaning schedule, gas contracts and permit conditions align, which for many plants means twice in the asset's operating life.
This changes the economics of retention completely. In an environment where you can go back and remeasure, a questionable reading is disposable. In an environment where the next opportunity is 2034, a questionable reading is the only evidence that will exist for a decade, and it should be retained with its qualifications rather than discarded for being imperfect. Utilities that purge old data during migrations because it "isn't reliable" are destroying the only observations of a period they cannot revisit.
It also changes what the system should prompt for. Because the window is rare and expensive — a confined space entry under 29 CFR 1910.146, a tank out of service, a contractor mobilised — the pre-entry checklist matters more than the post-entry report. The system should be able to generate, before the entry, the list of every location previously read, every location previously excluded and why, and every open question from the last inspection, so that the crew inside the tank is answering last cycle's questions rather than generating next cycle's.
Evaluating a system on the migration, not on the demo data
Vendor demonstrations run on clean synthetic data where every reading has a CML, an instrument serial and a technician. Your data has none of that, so the demonstration tells you nothing about the case that matters. Insist that the evaluation be run on a real sample: one tank with thirty years of mixed-provenance readings, one buried main with three excavation coupons, one digester with two entries a decade apart. Fifty rows of your own worst data will separate the candidates faster than any feature list.
Ask what the system does when a required field is absent. The correct behaviour is to accept the record and mark the field explicitly unknown. Systems that reject the row force your team to fabricate a value, and fabricated values are indistinguishable from measured ones a year later. Ask whether a reading can be superseded without being overwritten, so that a transcription error corrected in 2027 still shows what the 1998 report actually said. Ask whether the original document — the scanned dive report, the coating closeout — can be attached to the individual reading rather than to the work order, because the qualifier that makes the number meaningful lives in that document.
Finally, ask the system to prove a negative. Have it produce every reading in the archive that is currently ineligible for a corrosion rate, grouped by reason. If the answer is a short list, the migration has quietly promoted bad data to good. If the answer is most of the archive, the system is telling you the truth about what you have, which is the only starting point from which the next decade of readings will be worth anything. Atlantis configures this evaluation as part of a scoping consultation; demonstrations run on your own extract, and a quote follows once the data shape is understood.
Can the system hold a reading whose location is a sentence rather than a CML number?
It has to. A 1996 dive report says "north shell, second course, roughly four feet above the horizontal weld, east of the manway." That is the only location you will ever have. A system that demands a structured CML identifier forces someone to invent one, and the invention is what later gets compared against a modern grid. Keep the original prose as the authoritative location and attach any structured identifier as a later, attributed interpretation.
What should happen to a reading whose instrument or technician is unknown?
It should still be stored, with those fields explicitly recorded as unknown rather than blank or guessed. A blank field is indistinguishable from data that was never entered; an explicit unknown is a statement. The consequence follows automatically: a reading with an unknown instrument cannot anchor a corrosion rate, because you cannot tell whether it was a through-coating mode-1 measurement or an echo-to-echo reading on bare steel.
How do you migrate readings taken before a tank was recoated?
Split the series at the recoating date. A shell course that lost wall for fourteen years under a failed coating and then lost almost nothing for twelve years under a new one does not have a corrosion rate; it has two, and a step change between them. Regressing across the whole span reports a comfortable average that understates the rate you will see when the current coating reaches the end of its service life. The recoating date belongs in the asset record, not just in the maintenance file.
Do buried force main readings belong in the same table as tank shell readings?
They can share a table only if the record distinguishes how the sample was selected. Tank readings come from a survey of a defined area. Force main readings come from wherever a crew happened to be digging, and the location was usually chosen because it already looked bad. Mixing a biased worst-case sample into an unbiased survey population corrupts both the mean and any statistical remaining-life estimate you build on top of them.
Is API 510, 570 or 653 inspector training part of this offer?
No. Atlantis does not deliver API inspector certification training. What Atlantis provides is NDT training to ASNT SNT-TC-1A and ISO 9712 across UT, RT, MT, PT, ET, VT, PAUT and TOFD, ASNT Level III consulting, and the software that holds the resulting inspection record. Where a utility needs API-certified personnel, those individuals are certified through API's own programme, and the system simply stores their credentials alongside the readings they take.
How long should a water utility retain superseded thickness readings?
Indefinitely, and this is not a storage-cost question. A potable tank comes out of service on a shoulder-season window that may recur every five years; a digester opens perhaps twice in its life. A reading you discard because it looked redundant cannot be retaken for years, and its value rises as the series lengthens. Retention policies written for transactional records do not fit an asset whose measurement opportunities are this scarce.
Built for any business that runs on operations
Most companies do not fail at their craft. They lose time, margin and goodwill in the gaps between the tools they use to run the place — a quoting spreadsheet that does not talk to the job sheet, a job sheet that does not reach accounts, and a compliance folder nobody can search when a client asks. Atlantis closes those gaps by putting the whole operation on one platform, so information is entered once and everything downstream stays in step.
What you can run on it
- Sales and CRM — leads, quotes, follow-ups and the pipeline that tells you what next month looks like.
- Projects and job costing — plan the work, track the hours and materials against it, and see the margin while the job is still live rather than at final account.
- Field and service teams — dispatch, schedules, mobile capture that works with no signal, and sign-off from site.
- Inventory and purchasing — stock, suppliers, reorder points and goods receipt, joined to the jobs that consume them.
- People — records, qualifications and licences with renewal reminders, timesheets, leave and payroll.
- Quality and documents — procedures and forms under revision control, with the audit trail an inspection or accreditation body actually asks for.
- Accounts — invoicing, expenses, multi-currency and the reporting your accountant stops chasing you for.
Affordable, accessible, fully customizable — and we mean each word
Affordable because the whole suite is included rather than sold to you a module at a time, and because implementation is done by people who have run operations rather than by a chain of subcontractors. Accessible because it runs in a browser and on a phone, works for a small team on day one, and does not need a specialist on staff to keep it alive. Fully customizable because your process is the thing that makes you competitive — the software should bend to it, not the other way round.
Industries we configure for
Service businesses and contractors, manufacturing and fabrication, trading and distribution, laboratories and testing houses, engineering consultancies, construction and facilities, and asset owners across energy, marine, aerospace and infrastructure. Inspection and testing is where we started, and it remains the sector we go deepest in — but the platform underneath is general-purpose, and most of what it does has nothing to do with inspection at all.
What happens when you get in touch
A short conversation, not a sales sequence. We ask how the business runs today and where it hurts, show you the platform doing that work, and send a written quote shaped to your region, your team size and the scope you actually need. No obligation, nothing to install first, and no pressure to decide on the call. Reach out and tell us what you are trying to fix.
Related: business management platform · inspection management software · choosing the right category of software · modules · by industry · asset integrity platform. Book a free consultation.