When the Corrosion Workbook Has Three Editors and No Audit Trail
Water and wastewater utilities apply the phrase corrosion rate to two unrelated measurements: wall loss on steel tanks, force mains and pressure vessels in mils per year from ultrasonic readings, and water corrosivity from coupon racks used to demonstrate corrosion control treatment. They share a unit and nothing else. A shared workbook that mixes them cannot reproduce either calculation reliably.
Most utility corrosion records begin as one engineer's spreadsheet and stay usable until a second person edits it. The failure is rarely a wrong formula. It is a sorted column that left its neighbours behind, a hardcoded value pasted over a calculation, a date stored as text so the interval computes as zero, and no record of who did any of it. In a municipal utility that matters more than in industry, because the output is not only a maintenance decision — it is the justification for a capital project funded by rates or bonds, and it is generally subject to public records disclosure. A number you cannot reproduce is a number you cannot defend at a rate hearing. The first job is separating the two things called corrosion rate, giving each its own standard, unit and owner, and putting an audit trail under both.
Source: Written against AWWA D100 (welded carbon steel tanks for water storage) and AWWA D102 for coating systems; AWWA M42 practice for steel water storage tank inspection; AWWA C652 for disinfection of water storage facilities; AMPP/NACE SP0169 for external corrosion control of buried metallic piping systems; ASTM D2688 for corrosivity of water by coupon and ASTM G1 for coupon cleaning and mass-loss evaluation; ASME Boiler and Pressure Vessel Code, Section VIII, Division 1 for plant pressure vessels; ASME Section V, Article 23 (SE-797) for ultrasonic thickness measurement; OSHA 29 CFR 1910.146 for permit-required confined space entry and 29 CFR 1910.119 where chlorine gas exceeds the process safety management threshold quantity.
| Attribute | Asset wall loss | Water corrosivity by coupon |
|---|---|---|
| What is measured | Remaining wall on a metallic asset, by ultrasonic thickness | Mass loss of a metal coupon exposed to the treated water stream |
| Governing practice | AWWA D100 and D102 for steel tanks; ASME Section VIII for vessels; ASME Section V Article 23 for the reading | ASTM D2688 for the exposure; ASTM G1 for cleaning and mass-loss calculation |
| Unit | Mils per year of wall thickness | Mils per year of coupon mass loss |
| Exposure or interval | Set by remaining life and, in practice, by when access is possible | Set by the coupon exposure period, commonly 30 to 90 days |
| Decision it drives | Recoat, repair, replace, or extend the inspection interval | Adjust corrosion control treatment chemistry and dosing |
| Who owns it | Reliability, engineering or asset management | Water quality and treatment |
| What happens when they are mixed | Coupon rates imported as wall loss produce fictional remaining life | Wall-loss rates cited as treatment performance misstate a compliance record |
Two things called corrosion rate, and why mixing them is the real defect
Ask three people in a water utility for the corrosion rate and you will get two incompatible answers. The reliability engineer means wall loss: mils per year derived from ultrasonic thickness readings on an elevated tank shell, a steel force main or a pressure filter vessel. The water quality chemist means corrosivity: the mass loss of a metal coupon exposed to the treated water, reported in mils per year under ASTM D2688 with the coupon cleaned to ASTM G1, used to demonstrate that corrosion control treatment is doing its job.
Both are legitimate, both are expressed in mils per year, and they describe entirely different phenomena answering to entirely different oversight. One drives a rehabilitation decision on a physical asset the utility owns. The other drives a treatment decision aimed at what leaches from customer-side lead and copper plumbing well downstream of the plant. Neither predicts the other. Corrosion control treatment can be performing to target while a 1962 elevated tank quietly loses shell metal at the waterline, and the coupon rack will never hint at it.
In a shared workbook these two sit on adjacent tabs and, in the worst cases, on the same tab. The moment a second editor arrives, the units and the underlying mental model blur. The first deliverable of any real system is therefore not a better formula. It is two separate registers, each with its own governing standard, its own owner, its own reporting path, and no column that can be dragged from one to the other by someone in a hurry.
Wastewater's dominant mechanism is not general wall loss
In collection systems and headworks the dominant deterioration mechanism is not thinning steel. It is biogenic sulfide corrosion. Sulfate-reducing bacteria in the submerged slime layer generate hydrogen sulfide, it partitions into the sewer atmosphere, and Thiobacillus species on the moist crown oxidise it to sulfuric acid. The attack falls on concrete and cementitious lining at the crown and in the splash zone, and it presents as loss of cover and exposed reinforcement rather than as mils per year of wall.
This matters for a corrosion-rate module because the calculation has nothing to hold. A system built entirely around current thickness minus required thickness has no meaningful output for a manhole losing several millimetres of cover a year, or for a lined interceptor where the question is coating integrity rather than substrate thickness. Utilities that force concrete deterioration into a thickness model end up with a register full of empty fields and an inspection programme that quietly reverts to a separate spreadsheet within a year.
The correct handling is parallel rather than unified. Maintain a wall-loss register with short-term and long-term rates for metallic assets, and a condition-grading register for concrete and coatings scored on a defined scale with photographic evidence and an explicit re-inspection trigger. The two share the asset register, the location hierarchy and the scheduling engine. They do not share a calculation, and pretending otherwise is the fastest route back to two disconnected systems.
The assets that actually have a wall to lose
The metallic assets in a utility that genuinely warrant short-term and long-term rate calculation form a smaller set than the asset register implies, and they are worth naming explicitly: welded steel storage tanks to AWWA D100, steel transmission mains and force mains, hydropneumatic tanks and air receivers under ASME Section VIII, pressure filter shells, digester gas piping and chemical feed piping. For these the standard arithmetic applies — a short-term rate from the last two readings, a long-term rate from the earliest defensible baseline, the more conservative governing remaining life.
Steel water storage tanks bring a specific geometry problem. Corrosion concentrates at the waterline fluctuation band and in the roof headspace, where condensation and disinfection by-products meet steel that the coating protects least effectively. It does not distribute itself evenly over the shell. A rate computed from readings taken at convenient heights on a dry shell will be low, entirely defensible in procedure, and worthless as a decision input. The measurement plan has to put readings where the mechanism actually is.
Buried steel behaves differently again. External soil-side loss on a force main is governed by soil resistivity and moisture, stray current from nearby traction or rail systems, coating condition and cathodic protection status, in the framework of AMPP/NACE SP0169. You cannot obtain an ultrasonic reading without an excavation, so the rate for a buried main is inferred from a handful of bell-hole exposures. The system should record it as inferred and carry the exposure count, rather than presenting it with the same visual confidence as forty direct readings on a tank shell.
Chemical feed systems corrode on a chemistry, not a calendar
Chemical feed systems are where a water or wastewater plant loses metal fastest and monitors it least. Sodium hypochlorite decomposes and its degradation products are aggressive. Ferric chloride at feed strength attacks 316 stainless steel readily enough that most specifications call for lined or non-metallic materials outright. Sodium bisulfite, alum and polymer lines each carry their own material constraints. These are short-life, high-consequence systems, and their corrosion rate is set by a chemistry and a material selection decision rather than by elapsed time.
The practical consequence is that the short-term rate matters far more here than the long-term rate, and it matters on a timescale of months rather than years. A metallic component in a mismatched chemical service can lose enough wall between two annual inspections that a long-term average is not merely imprecise but actively misleading. Where a plant has already had a leak, the useful record is not a rate at all. It is a material-versus-chemical compatibility decision with a date attached, and a replacement whose baseline starts from that date.
A module that handles this well lets inspection frequency be driven by the damage mechanism rather than by asset class or by a plant-wide default. Twelve-month intervals on a hypochlorite header and sixty-month intervals on a raw water tank shell are both correct answers to different questions. A single utility-wide interval is wrong in one direction for the header and wrong in the other for the tank, and it wastes inspection budget while missing the thing most likely to leak.
Why the spreadsheet fails specifically here
Spreadsheets do not fail loudly. The workbook that produced the last five years of tank condition reports still opens, still calculates and still looks right. What changed is that three people now edit it and none of their changes left a trace. A column sorted without its neighbours silently reassigns every reading to the wrong location. A hardcoded value pasted over a formula continues displaying a plausible number indefinitely. Dates entered as text yield a zero interval, which produces either a visible error or, worse, a rate someone quietly rounded away.
The specific test is reproducibility, and it is worth running before any procurement conversation. Take any remaining-life figure from last year's report and try to reconstruct it: which readings, taken on which dates, by whom, with which instrument and calibration, against which required thickness, approved by whom. In most utility workbooks at least two of those are unrecoverable. That is not a criticism of the engineer who built it. A spreadsheet is a calculation tool and was never intended to be a record-keeping system.
What replaces it does not need to be elaborate. It needs immutable readings, a computed rate that is never hand-editable, an override path that demands a stated reason and an owner, and a per-record change history. Once those four exist, arguments about whose number is right stop being arguments, because the system answers the question directly instead of by recollection. Most of the value arrives on the day the first disagreement is settled in ninety seconds.
Access, not measurement, is the binding constraint
In a utility the constraint on corrosion data is almost never the measurement itself. It is getting to the steel. An elevated potable tank has to be taken out of service, drained, ventilated and entered as a permit-required confined space under OSHA 29 CFR 1910.146, then disinfected under AWWA C652 before it returns to service. A digester cannot be emptied on a whim. A force main cannot be excavated without traffic control, a permit and a customer outage plan. Access is expensive and infrequent, sometimes once in eight years.
That changes what a corrosion-rate module is actually for. In a refinery, the software schedules inspections against calculated rates and the access is comparatively routine. In a utility, the software's higher-value job is to make certain that when access is finally obtained, the crew takes every reading the next rate calculation will need, at locations that match the previous set, with enough coverage that the following interval can be defended without another entry.
In practice that means the measurement plan must be generated before the entry, from the last survey, with the locations that produced the governing rates flagged and mandatory. A crew inside a drained tank working from a generic checklist will produce readings that are perfectly good in isolation and comparable to nothing. The cost of that mistake is not a re-read. It is another eight years of ambiguity and a capital decision made on judgement instead of evidence.
Public money changes the evidence standard
A corrosion rate in a municipal utility ends up somewhere an industrial rate rarely goes: into a capital improvement plan, a rate case, a bond prospectus or a consent-decree compliance schedule. The number saying that a 1.5 million gallon elevated tank needs recoating and structural repair is the number that justifies the appropriation. It will be read by a finance director, by a council or board, and in many jurisdictions by any member of the public who asks for it.
That raises the evidentiary standard in a way engineers consistently underestimate. Utility records are generally subject to public records disclosure, and a challenged capital request is examined by people who will not evaluate the engineering but will absolutely notice that the calculation exists only as a workbook with no author, no version history and a hardcoded cell. The project does not fail because the engineering was wrong. It fails, or is deferred, because it could not be shown to be right.
The same records support the opposite decision just as strongly, which is the part that usually goes unnoticed. A defensible rate history is the best available argument for not spending money — for extending a recoating interval by four years on measured evidence rather than on the last consultant's rule of thumb. Utilities that put their corrosion records in order tend to find the first payback in a deferral, not in a repair.
How to evaluate the module
Evaluate on your worst record rather than your best asset. Bring the workbook with three editors and ask the vendor to import it in front of you. What you want to see is what happens to the rows the system cannot trust: quarantined and visible, or silently defaulted into a rate that will look authoritative next year. A tool that imports everything cleanly on the first attempt has almost certainly guessed at something, and it will not tell you what.
Then confirm the model can carry both registers without merging them. Wall loss in mils per year with a required thickness and a remaining life. Coupon corrosivity in mils per year with an exposure period, a cleaning method and a compliance report. The same unit, different tables, no shared formula and no shared report. A vendor who does not immediately understand why those must stay apart has not worked in water, and will build you a system that produces a confident, wrong number within eighteen months.
Last, ask what the system does about access. Can it generate the measurement plan for a tank entry from the previous survey, flag the locations that produced the governing rates, and reject a completed survey that is missing them? The utilities that get lasting value from a corrosion-rate module get it there — not from the arithmetic, which is trivial, but from never wasting a confined space entry again.
Why do two different measurements share the name corrosion rate?
Historical accident and a shared unit. Reliability engineers report wall loss in mils per year from ultrasonic thickness readings on physical assets. Water quality chemists report corrosivity in mils per year from coupon mass loss under ASTM D2688, cleaned per ASTM G1, to show that corrosion control treatment is performing. One drives a rehabilitation decision on steel you own. The other drives a treatment decision aimed at customer-side plumbing. Neither predicts the other.
Does a corrosion rate calculation apply to concrete sewer deterioration?
Not usefully. Biogenic sulfide attack on a sewer crown destroys cementitious material rather than thinning a metal wall, so a model built on current thickness minus required thickness has nothing to work with. The right handling is a parallel condition-grading register with a defined scale, photographic evidence and a re-inspection trigger, sharing the asset register and scheduling engine with the wall-loss data but not the arithmetic.
Where should thickness readings be taken on a steel water storage tank?
Where the mechanism is, which is rarely where access is easiest. Corrosion concentrates in the waterline fluctuation band and on the roof underside, where condensation and disinfection by-products meet steel that the coating system protects least well. Readings taken at convenient heights on a dry shell will be low, correctly taken and useless. The CML plan should be produced from the previous survey, with the locations that produced the governing rates flagged before entry.
How is a corrosion rate estimated for a buried force main?
By inference from a small number of bell-hole exposures, not by direct survey. External loss is driven by soil resistivity and moisture, stray current, coating condition and cathodic protection status per AMPP/NACE SP0169. Because a reading requires an excavation, the sample size is tiny and the confidence is correspondingly low. The record should state the exposure count and mark the rate as inferred, rather than displaying it identically to forty direct readings on a tank shell.
What makes a shared spreadsheet unreproducible?
Four things, all silent. A column sorted without its neighbours reassigns every reading to the wrong location. A hardcoded value pasted over a formula displays a plausible number indefinitely. Dates stored as text produce a zero interval and either an error or a rate someone rounded away. And no version history means nobody can say which of three editors made any change, or when, or why.
Which chemical feed systems need shorter inspection intervals?
The ones where material selection and chemistry, not time, set the loss rate. Sodium hypochlorite and its degradation products, ferric chloride at feed strength, and sodium bisulfite are aggressive enough that metallic components in a mismatched service can lose meaningful wall between two annual inspections. Twelve-month intervals on a hypochlorite header and sixty-month intervals on a raw water tank shell are both defensible. A single plant-wide interval is wrong for both.
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.