Two Expensive Unit-Conversion Failures, and What They Actually Teach
Nobody in either incident thought pounds were kilograms. That is what makes them worth studying.
On 23 September 1999, after a nine-and-a-half-month cruise, the Mars Climate Orbiter fired its main engine to slow into orbit around Mars, passed behind the planet, and never came back. The Mishap Investigation Board's Phase I report, dated 10 November 1999, identified the root cause in a single sentence: "the failure to use metric units in the coding of a ground software file." A piece of ground software called SM_FORCES produced angular momentum desaturation data in pound-force seconds; the navigation software that consumed the file expected newton-seconds. One pound-force is 4.45 newtons, so every small thruster impulse the navigators used to model the spacecraft's motion was understated by a factor of about 4.45.
No alarm went off, because 4.45 is not an absurd number. The values in the file were plausible. They were just wrong, in a way that accumulated silently over the whole interplanetary cruise. The spacecraft arrived on a path with a periapsis near 57 km above the Martian surface instead of the planned 226 km; the board estimated the minimum survivable altitude at around 80 km. The mission ended not because anyone failed to know that pounds and newtons are different, but because nothing in the pipeline forced the number to declare which one it was.
The board did not blame the conversion
This is the part usually left out of the retelling. The Phase I report lists eight contributing causes alongside the root cause, and most of them are organisational rather than arithmetical: inadequate communications between project elements, a systems engineering process that did not carry critical design decisions from development into operations, an operations navigation team stretched across three simultaneous Mars missions, insufficient training on the importance of following interface specifications, and—the one that stings—a verification and validation gap in which "end-to-end testing to validate the small forces ground software performance ... did not appear to be accomplished."
Navigation personnel had noticed trajectory discrepancies during cruise. What was missing was not the observation but a formal route by which an unresolved anomaly gets escalated and settled before orbit insertion. A units mismatch is the kind of defect that hides comfortably inside an organisation with no channel for "this number looks a bit off."
It is also why "just use metric" is the wrong takeaway. Metric everywhere would have prevented this particular defect, but the general failure—a value crossing a software interface without its dimension attached—is unit-system agnostic. Two teams that both use SI can still disagree about whether a figure is in metres or kilometres, seconds or milliseconds, radians or degrees. The Orbiter was lost at an interface, and interfaces are where quantities lose their labels regardless of which system those labels are drawn from.
Air Canada 143: right factor, wrong quantity
Sixteen years earlier, on 23 July 1983, a Boeing 767 registered C-GAUN left Montreal for Edmonton by way of Ottawa with its fuel quantity indicating system inoperative. With the gauges out, the crew had to establish the fuel load by dripstick—a manual measurement that reads out in litres of volume. Flight planning is done in kilograms of mass. Somebody had to convert, and the conversion needs a density.
The figure supplied for the conversion was 1.77. It is a real number for jet fuel, correct to a couple of decimal places—in pounds per litre. The 767 was Air Canada's first aircraft specified in metric units, and the number the crew needed was approximately 0.8 kilograms per litre. The arithmetic performed with 1.77 was carried out correctly. It simply produced the wrong physical quantity.
Follow the numbers through, because the failure is arithmetically tidy:
| Step | Value |
|---|---|
| Fuel required for the flight | 22,300 kg |
| Dripstick reading at Montreal | 7,682 litres |
| Believed on board (7,682 × 1.77) | 13,597 "kg" |
| Actually on board (7,682 × 0.803) | 6,169 kg |
| Calculated shortfall to uplift | 8,703 ÷ 1.77 = 4,917 litres |
| True total after refuelling | about 10,100 kg — 45% of requirement |
The aircraft departed believing it held 22,300 kg and holding less than half that. At cruise altitude over Manitoba the left engine flamed out, the right followed, and the crew glided the 767 to a former air force runway at Gimli. A Canadian commission of inquiry reported on the accident in 1985.
The detail worth extracting is that the calculation was checked. It was performed and re-performed at more than one airport by more than one person. Every one of them repeated it with 1.77, because 1.77 was the number written down and passed along. A check that reuses the same assumption as the original is not a check; it is the same computation run twice. Genuine redundancy requires an independent path to the answer—in this case, something as crude as asking whether a fuel that floats on water can possibly be denser than it.
What actually protects you
Both incidents share a structure. In neither case did anyone believe pounds were kilograms or that a pound-force was a newton. In both cases a bare number crossed a boundary—from one team's file format to another's, from a fuelling slip to a flight plan—carrying no statement of what it measured, and the receiving side supplied an assumption. And in both cases the wrong answer was plausible enough to survive inspection.
That points at specific, unglamorous practices rather than a general exhortation to be careful.
- Carry units through the arithmetic. Dimensional analysis is not a school exercise; it is the only mechanical check that catches this class of error. Write the calculation as
7,682 L × 0.803 kg/L = 6,169 kgand the units cancel to kilograms. Write it as7,682 L × 1.77 lb/Land it produces pounds, visibly, before the number goes anywhere. NIST's guidance on unit conversion recommends exactly this: identify starting units, identify desired units, select the factor, and cancel. - Put the unit in the name. A variable called
fuelinvites the reader to assume;fuel_kgandimpulse_Nsdo not. This costs nothing and turns an invisible mismatch into a visible one at the point where two pieces of code meet. - Convert at the boundary, store canonically. Pick one internal representation—SI, ideally—convert on the way in, convert on the way out for display, and never mix conventions in the middle of a pipeline. Most units bugs happen in the middle.
- Sanity-check magnitude before precision. Ask whether the answer is plausible in the physical world before asking whether it is accurate to three figures. Jet fuel is lighter than water, so a density above 1 kg/L is impossible on its face. A spacecraft impulse figure four times too small is harder to eyeball, which is precisely why it needed an end-to-end test instead of an eyeball.
- Make interface specifications enforceable. A specification saying "this file shall be in newton-seconds" is a document. A test that feeds known inputs through both ends and compares is a control. The MCO board's finding was that the document existed and the control did not.
A note on the stories that did not make it
Unit-conversion disasters are a popular genre, and a fair number of the anecdotes in circulation dissolve when you look for a primary source: figures that drift between retellings, incidents with no accident report behind them, and at least one well-known bridge story that appears to have been invented. The two above are here because the documents exist and the numbers reproduce—the Mars Climate Orbiter Mishap Investigation Board Phase I report states the root cause in its own words, and the Air Canada 143 fuel arithmetic can be recomputed from the published figures and comes out to the litre. If you plan to cite a units catastrophe in a design review, check that yours does the same.
Doing the conversion correctly
For everyday work, the practical version of all this is short. Convert once, from a source you trust, and record what the units were. When a converted figure is going to be used by someone else, hand over the units with it rather than the number alone. When two figures are meant to describe the same physical thing and they differ by 2.2, 4.45, 1.6 or 3.28, suspect a conversion before suspecting the measurement—those specific ratios are fingerprints of kg to lb, lbf to N, miles to km and feet to metres respectively.
The Length Converter, Weight Converter and Volume Converter here each label both sides of the conversion explicitly, which is deliberate: the objective is not just to produce a number but to keep the number attached to what it measures. That attachment is the entire lesson of both incidents. A quantity without its unit is not a quantity. It is a numeral, and a numeral will happily mean whatever the next system assumes it means.
Related tools
- Length Converter — metric and imperial distance units
- Weight Converter — kg, lb, oz, grams, stones
- Volume Converter — litres, gallons, cups, millilitres
Sources and further reading
Figures and definitions on this page are drawn from the following primary sources. If you find something out of date, tell us and we will correct it.
- NASA, Mars Climate Orbiter Mishap Investigation Board Phase I Report (10 November 1999)
- Air Canada Boeing 767 C-GAUN (Flight 143) accident report, hosted by the FAA
- NIST Office of Weights and Measures, Unit Conversion guidance
- NIST Special Publication 811, Guide for the Use of the International System of Units (SI)