Moving decades of steel mill thickness history into a system that can use it

Migrating a steel plant's CML history fails on definitions, not on file formats. Legacy records carry assumed nominal wall instead of a measured baseline, free-text locations tied to superseded drawings, and series that run straight through spool replacements. Import them unchanged and you destroy long-term corrosion rate permanently. The work is reconciliation before load: establish baselines, break series at replacements, and retain source provenance.

An integrated steel plant is old in a way few process facilities are. Coke oven by-product plants, blast furnace gas mains and pickle lines commonly carry sixty to a hundred years of operating history, and the inspection record reflects every era of it: paper thickness books, contractor reports on microfiche, a mainframe extract from a system decommissioned in the nineties, a bespoke database written by an engineer who retired in 2009, and fifteen years of PDF reports in a shared folder. The instinct on migration is to normalise all of it into one table and start trending. That instinct destroys the two things a corrosion rate needs. API 570 computes long-term rate from an initial or baseline thickness and short-term rate from a recent previous reading; an import that carries only the most recent value eliminates the long-term rate for every point on the plant, irreversibly, because the source books are then filed and forgotten. Reconciliation before load is not a nicety. It is the deliverable.

Source: Sources: API 510 and API 570 definitions of long-term and short-term corrosion rate and of thickness measurement locations; API 574 for pipe inspection practice; API 571 for wet H2S damage, hydrogen-induced cracking, SOHIC and blistering; NACE/AMPP SP0472 for control of environmental cracking in carbon steel weldments; ASME B31.3 for process piping and ASME Section VIII Division 1 for pressure vessels; National Board Inspection Code NB-23 for repairs and alterations; API 579-1/ASME FFS-1 Part 4 and Part 5; OSHA 29 CFR 1910.119 Appendix A threshold quantities.

Technically reviewed by Anoop Rayavarapu — ASNT NDT Level III (UT, RT, MT, PT, VT, ET) · API 653 · ISO 9001:2015 Lead Auditor
Legacy CML records in a steel plant and what each costs if it is imported without correction
Legacy record typeWhat it actually containsMigration failure if loaded as-isCorrection required before load
Paper thickness books, 1970s to 1990sReadings in mils against hand-drawn sketches, location given as a description relative to plant featuresLocations cannot be re-found; the point set is unverifiable and every new reading opens a new seriesMap each described location to a physical point on a current drawing, or mark it legacy-unlocated and exclude it from rate calculation
Mainframe or Access extractTag, date, thickness, sometimes nominal; no instrument, technician, surface condition or grid definitionReadings of unknown provenance are trended alongside verified ones with no way to distinguish themImport with a source and confidence flag on every row, so a rate can be recomputed later using only verified readings
Nominal wall recorded as a pipe scheduleThe catalogue thickness for the schedule, not a measured baselineMill tolerance and original overthickness are booked as corrosion; a line recorded one schedule too heavy shows phantom loss from day oneSubstitute a measured baseline where one exists, otherwise record nominal as assumed and flag the long-term rate as indicative only
Contractor PDF reports, 2005 onwardTabulated readings, often already rounded, with the raw values in a proprietary file nobody keptPrecision loss on rounding is comparable to annual loss on a slow-corroding lineLoad native precision where the source allows; record the reported precision so trend noise is interpreted correctly
Maintenance work orders for spool replacementThe only record that a section of line was renewed, held outside the inspection filesSeries runs across a replacement, giving a negative rate on one point and an impossibly low rate on the nextCross-reference work order history and break the series at each replacement date, opening a new point with a new baseline
Isometrics and P&IDs superseded by revampsLine numbers that were reissued, drawing numbers that no longer existCMLs attach to tags that now identify different equipmentReconcile the tag register first; migrate the asset hierarchy before migrating any readings
The pattern is consistent: every one of these failures is silent. The migrated data looks complete, the charts render, and the error only appears when someone tries to defend a remaining-life number to an insurer or a jurisdictional inspector.

What is actually in forty years of thickness books

Before anyone designs a migration, someone has to open the boxes. The record in an integrated steel plant is not one legacy system, it is five or six strata laid down by different eras of practice. The oldest layer is handwritten: thickness books in mils, keyed to sketches drawn by an inspector who knew the plant intimately and wrote locations accordingly — a reference to a walkway, a valve, a building that was demolished in 1994. That layer is often the most careful work in the whole archive and the hardest to use.

Above it sits a database era. Most plants had something: a mainframe module, a departmental Access application, occasionally a commercial package long since unsupported. These extracts look attractive because they are already structured, which is exactly why they are dangerous. They carry tag, date and thickness, and almost never carry instrument, technician, surface condition, grid definition or measurement basis. Structured data of unknown provenance is harder to treat sceptically than a handwritten book, because it arrives looking authoritative.

The recent layer is contractor PDFs, typically fifteen to twenty years of them, often with the raw instrument files long gone. These are usable but pre-rounded, and the rounding was applied by somebody else's report template. Cataloguing what exists, in what precision, with what supporting metadata, is the first deliverable of a migration. Skipping it is what produces a project that appears to succeed and quietly loses the ability to justify any number in it.

Nominal wall is not a baseline

The most consequential silent defect in legacy steel plant data is the substitution of a catalogue nominal for a measured baseline. A line is recorded as twenty-inch standard weight, someone looks up the schedule thickness, and that figure becomes the starting point for every corrosion calculation performed on it for the next thirty years. It is not what left the mill, and mill tolerance runs in the direction that matters.

In practice the error surfaces in two forms. The benign form is a modest understatement of loss because actual as-installed wall exceeded nominal, which produces a conservative rate. The harmful form is a transcription error in the schedule. Record a line one schedule heavier than it is and you introduce roughly a tenth of an inch of apparent wall loss on a large-diameter pipe, which on a slow-corroding gas main is more than a decade of phantom corrosion. That line will be flagged, investigated, possibly replaced, on the strength of an arithmetic error made during data entry.

Migration is the one opportunity to fix this at scale, and the fix is unglamorous. Where a measured baseline exists in the earliest inspection record, use it. Where it does not, load nominal but flag it as assumed, and mark the resulting long-term rate as indicative rather than computed. A rate labelled indicative is still useful. A rate presented as computed when its baseline was guessed is a liability.

Long-term and short-term rates die on import

API 570 draws a deliberate distinction between long-term corrosion rate, computed from an initial thickness against the current reading, and short-term rate, computed from a recent previous reading. The two exist because they answer different questions: the long-term rate describes the service, the short-term rate detects a change in it. Comparing them is how an inspector notices that something has shifted in the last two years, and losing either one halves the diagnostic value of the dataset.

A migration that carries only the most recent reading per point — which is what a fast import scoped as "get current thickness into the new system" produces — eliminates the long-term rate for the entire plant. It cannot be recomputed later, because the source books are usually boxed and disposed of once the new system is signed off. The plant then spends five to eight years rebuilding the ability to compute a number it already had, on lines that are inspected annually.

There is a second, subtler version of the same loss. Where a point has a long series with gaps, some import routines interpolate to produce an even sequence. The interpolated values are then indistinguishable from measured ones, and any subsequent statistical treatment of the trend is contaminated. Load the gaps as gaps. A sparse honest series supports a defensible rate; a dense synthetic one does not.

Replacements break the series, and nobody told the inspection department

Steel plants replace piping. Blast furnace gas mains, coke oven gas lines, pickle line acid headers and cooling water lines all get sections renewed, sometimes on an outage, sometimes on a leak, and the record of that renewal lives in a maintenance work order. The inspection department is not always copied. The result is that the CML register carries a point which continues to accumulate readings across a piece of metal that was replaced in 1998.

The data signature is a step upward in thickness followed by a very low apparent corrosion rate. Neither is questioned reliably. The step is often written off as a bad reading, and the low subsequent rate is a comfortable number that supports interval extension, so it survives review. Years later a line that was assumed good on the strength of a nine-year rate turns out to have twenty-eight years of accumulated service on the sections that were never replaced.

Reconciling inspection history against maintenance work orders is therefore a required step in migration, not an optional enhancement. Every replacement found becomes a break: the old point closes at the replacement date with its history intact, a new point opens with a new baseline, and both remain visible under the same location. This is also the strongest single argument for holding inspection and maintenance in one system afterwards, so the next replacement is visible to the inspection record automatically rather than through an archaeology exercise a decade later.

Coke by-products and gas mains: the points you keep versus the points you need

Migration is also the moment plants discover why their historical point locations are where they are. A large share of legacy CMLs in a steel plant were positioned for access rather than for corrosion likelihood — near a platform, at a convenient elevation, where a ladder reached. That was rational when every reading required a scaffold, and it means the historical population systematically under-samples the locations that actually govern.

In coke oven gas and by-product service the governing locations follow the condensate. Gas leaving the ovens carries hydrogen sulfide, ammonia, hydrogen cyanide and tar, and the aqueous phase that drops out through primary coolers and downstream recovery creates the wet H2S conditions that API 571 associates with hydrogen blistering, hydrogen-induced cracking and stress-oriented hydrogen-induced cracking. Those are examination findings at low points, dead legs and weldments, not thickness readings at accessible elevations. Blast furnace gas mains have their own geography of water drop-out and dust accumulation that governs where thinning concentrates.

The disciplined approach during migration is additive: keep every historical point and its identity intact, because its value is precisely its length of record, and add the points the mechanism argues for as new CMLs with new baselines. What must not happen is renumbering. A migration that tidies up the numbering scheme severs the link between the new register and every paper report, work order and contractor file that references the old numbers, which is a cost paid repeatedly for years afterwards.

Provenance: the reading has to be defensible

The test of a migrated dataset is not whether it renders a chart. It is whether, when an insurer's engineer or a jurisdictional inspector picks a number and asks where it came from, you can answer in under a minute. In a steel plant that question tends to arrive attached to a pressure vessel under state or provincial registration, where National Board Inspection Code NB-23 routes govern repairs and alterations, or attached to a by-product plant unit where inventories of listed substances bring OSHA 29 CFR 1910.119 into play.

Providing that answer requires the migration to carry provenance rather than values alone. Every migrated reading should reference its source — the book and page, the report number, the extract file — and ideally the scanned image of the source document. Scanning is cheap and is only cheap while the boxes are still on site and someone still knows what they contain. Plants that skip it during migration almost never go back and do it.

Provenance also protects the new system's credibility internally. When a migrated series looks wrong, the ability to open the original page and see the inspector's own note is what converts an argument into a five-minute check. Without it, every anomaly becomes a debate about whether the migration was done correctly, and confidence in the whole dataset erodes on the strength of a handful of unresolvable rows.

Reconciliation, parallel running and freezing the old system

A migration should produce a reconciliation report before it produces a live system: how many points existed in each source, how many were loaded, how many were merged as duplicates, how many were rejected and why, and how many long-term rates could be computed against a measured baseline versus an assumed one. That last figure is the honest measure of what you have. A plant that migrates eleven thousand readings and can compute a genuine long-term rate on forty percent of its points knows something useful; a plant that migrated everything and never counted does not.

Run in parallel for at least one full inspection cycle. On an annually inspected plant that is a year, which project schedules dislike, but the alternative is discovering a systematic import defect after the source is archived. Parallel running does not mean duplicating all work — it means keeping the legacy system authoritative for a defined set of points and comparing outputs at the end of the cycle.

Then freeze rather than decommission. Set the old system read-only and keep it reachable. The cost is negligible and the scenario it protects against — needing to substantiate a migrated number years later, to an insurer, a regulator or your own board after an incident — is exactly the scenario in which having the source available is worth more than the entire project budget.

Evaluating a migration, not a product

When this is the job, you are not buying software features, you are buying a migration outcome, and the evaluation should reflect that. Give a vendor a genuinely messy sample: one paper thickness book, one database extract, one folder of contractor PDFs, all covering the same circuit. Ask them to produce the reconciled result and the reconciliation report. What comes back tells you more than any demonstration, because handling that sample well requires understanding the failure modes rather than having an import wizard.

Check specifically for the four capabilities that decide whether the migrated data stays usable: a baseline that can be marked measured or assumed, a series that can be broken at a replacement date with both halves retained, native precision preserved from the source, and provenance carried per reading down to a scanned page. A system missing any one of these will flatten your history into something that looks tidy and cannot be defended.

Atlantis builds the CML and TML registry on Odoo, which means the migrated inspection history sits in the same system as the maintenance work orders that record replacements, the equipment register, the calibration record of the instrument used and the certification status of the technician who took the reading — which is precisely the cross-referencing that migration exposes as missing. The approach is affordable, accessible and fully customisable to the numbering scheme your plant already uses, because renumbering is the one thing a migration must not do. To discuss a reconciliation of your own records, request a consultation or a scoped quote at info@atlantisndt.com.

Why does importing only the latest reading permanently destroy the corrosion rate?

Because long-term rate is computed from an initial or baseline thickness against the current one, and short-term rate from a recent previous reading. Keep only the latest value and the long-term rate cannot be computed at all until enough new history accumulates, which on an annually inspected line is several years. The legacy books are usually archived or discarded once the new system is live, so the loss is not recoverable.

What is wrong with using a pipe schedule as the baseline thickness?

A schedule gives the catalogue thickness, not what left the mill. Manufacturing tolerance and routine overthickness mean actual as-installed wall commonly exceeds nominal, so loss measured against nominal is understated. Worse is the transcription error: a line recorded as one schedule heavier than it is generates phantom wall loss of roughly a tenth of an inch on a large-diameter line, which will look like a decade of corrosion that never happened.

How does a spool replacement corrupt a thickness series?

The point identity survives the replacement even though the metal does not. The next reading comes back at or near nominal, which produces either a negative corrosion rate that gets discarded as an error, or a suspiciously low rate that gets accepted and used to extend the inspection interval. In a steel plant the replacement is recorded in a maintenance work order that the inspection department never sees, so nothing in the inspection data hints at what happened.

Which parts of a steel plant carry wet H2S damage concerns?

The coke oven by-product plant and the coke oven gas system. Gas leaving the ovens carries hydrogen sulfide, ammonia, hydrogen cyanide and tar, and the aqueous condensate produced through the primary coolers, ammonia stills and light oil recovery creates conditions associated with hydrogen blistering, hydrogen-induced cracking and SOHIC as described in API 571. These are volumetric and surface examination findings, not thickness findings, and the registry has to hold them against the same location identity.

Is API 510, 570 or 653 inspector training part of this offer?

No. Atlantis provides NDT training to ASNT SNT-TC-1A and ISO 9712 across Level I, II and III in UT, RT, MT, PT, ET, VT, phased array and TOFD, along with ASNT Level III consulting, inspection management and reporting software, digital twins, 3D laser scanning and report validation. Certification of individuals under the API programmes is arranged with API directly and is separate from anything described here.

Should the legacy system be switched off once migration is complete?

Not immediately, and often not at all. Freeze it read-only and keep it accessible for the period during which a migrated number might need to be traced to its source, which is usually longer than the project plan allows for. The cost of keeping an old database in a read-only state is trivial next to the cost of being unable to substantiate a reading to an insurer or a jurisdictional inspector three years later.

Request a consultation

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.