SAIV Calibration Suite
Internal Python tooling for the calibration step in SAIV's CTD instrument production and service flow.
Context
SAIV is a Norwegian manufacturer of CTD instruments and oceanographic sensors — measuring conductivity, temperature, and depth for research and environmental monitoring. They've been operating out of Norway since 1989, with instruments deployed in coastal work, deep-sea profiling, and autonomous buoys.
This is internal Python tooling for the calibration step of their production and service flow: turning raw sensor readings against reference instruments into the coefficients and per-instrument certificates that ship with each unit.
Approach
A small set of focused tools, deliberately boring:
- One source of truth per measurement. Reference values, raw sensor responses, and derived coefficients live in structured files — keyed, versioned, diffable.
- Pure functions for the maths. Curve-fitting, table generation, and unit conversion are functions that take known inputs and return known outputs. No hidden state, no surprises.
- The tool writes the artefacts directly. Calibration tables and the customer-facing certificate come out of the same dataset the maths uses, so what ships and what was measured can't disagree.
- Audit trail on every run. Each calibration logs who ran it, against which references, with which firmware version, and what coefficients came out.
What this doesn't include is anything that would expose SAIV's internal calibration constants, reference fixtures, or service procedures — those stay on internal infrastructure.
Outcome
Calibration is now a short, predictable sequence with a permanent record at the end. Every instrument leaves with consistent artefacts and a clear trail of how those numbers were arrived at.