unyt: Handle, manipulate, and convert data with units in Python
Nathan Goldbaum, John A. ZuHone, Matthew Turk, K. Kowalik, Anna L. Rosen · The Journal of Open Source Software · 2018
Software that processes real-world data or that models a physical system must have some way of managing units.This might be as simple as the convention that all floating point numbers are understood to be in the same physical unit system (for example, the SI MKS units system).While simple approaches like this do work in practice, they also are fraught with possible error, both by programmers modifying the code who unintentionally misinterpret the units, and by users of the software who must take care to supply data in the correct units or who need to infer the units of data returned by the software.Famously, NASA lost contact with the Mars Climate Orbiter spacecraft after it crash-landed on the surface of Mars due to the use of English Imperial units rather than metric units in the spacecraft control software (Board, 1999).