Errata and revision history
The analysis was done in June and July 2026 and written up as a report on 5 July. On 7 September 2026 every script, number, figure and claim was rechecked. This page lists what was wrong, what was fixed, and whether it changed a conclusion. The July report stays available unchanged as version 1; the corrected version 2 is the reference.
Findings that changed a reported number
| # | Finding | Fix | Effect |
|---|---|---|---|
| 1 | The m/z 19 budget behind D/H subtracted water with one 17O but not the OH fragment of water with one 18O. The two terms are the same size (about 4 × 10−4 of the water signal each). | Full budget in dh_rigorous.py. | Lowers D/H by about 1.4×. |
| 2 | Scans where the water signal sits at the instrument's full-scale clip were kept in the H3O+ extrapolation. Mass 19 does not clip, so the 19/18 ratio is artificially high there; the fit was steepened and the intercept depressed. This is also why run 10018 extrapolated to a negative value in July and was excluded. | Exclude scans with m/z 18 above 97 % of full scale. | Raises D/H by about 0.7×; run 10018 becomes usable and agrees with the others. |
| 3 | The run-10039 decoder anchored the wrong record to the microfilm full-scale value: the microfilm "scan 10" is tape record 9 (0-based), and its water is at the clip. Run 10039 was 5× too high. | Scale set by the clip code. | Chlorobenzene absolute intensities restated (1.5 × 107 → 3.0 × 106); the 114/112 ratio and scan 148 are unchanged. |
| 4 | The batch decoder anchored each run to its own strongest early water scan. The stored floats are already on one scale per lander (water clips at the same raw code in every run), so this put runs on scales differing by up to 12.5×. The corrupt-scan filter then discarded the genuine water plateaus of three Viking 2 runs. | One scale per lander; cubes rebuilt; the July cubes are kept as v1 files. | All cross-run absolute comparisons restated on a consistent scale. The site and temperature pattern of the chlorinated organics was re-verified and holds. |
Findings that did not change a conclusion
| # | Finding | Fix |
|---|---|---|
| 5 | Figure 1's chromatogram panel in the July report was blank: a corrupt scan at 1018 had set the axis scale. | Corrupt scans masked; figure replaced. |
| 6 | The oven-temperature table (480 / 498 / 502 / 507) did not match the analysis script (488 / 486 ± 11 / 502 ± 8 / 508 ± 3), and the claim that the channel "cleanly separates 50 °C from 200 °C" is false: one 200 °C run reads below the 50 °C run. | Table replaced; claim withdrawn. The correlation (r = 0.81) and the ±150 °C bound stand. |
| 7 | The report said Viking's known D/H came from its upper-atmosphere mass spectrometer. Viking made no D/H measurement; the first martian D/H was Owen et al. 1988, from ground-based infrared spectroscopy. | Corrected; reference added. |
| 8 | The isotope-signature scanner used an absolute tolerance around the sulfur ratio, so any ion with no M+2 partner at all was flagged as "sulfur". This manufactured the sulfur lead that a later, stricter test rejected. | Relative tolerance. The rejection of SO2 was re-verified: over 454 m/z 64 peaks the 66/64 ratio is never near the 0.045 sulfur requires. |
| 9 | "Chlorobenzene/water ≈ 3.4 × 10−4" was three ions summed on the 5×-high scale. | Restated as 4 × 10−5 for the molecular ion on the lander scale. |
| 10 | The "scan 10 validation" table showed record 10 anchored to the microfilm value rather than the actual microfilm frame (record 9, which is clipped). | Table restated on the lander scale with the clipping explained. |
| 11 | The decode-verification script read the millisecond clock at the wrong byte offset, so its scan-period check never printed; the script also crashed on the Viking 2 file. | Fixed. The clock now confirms 10.238 s per scan, the value used throughout. |
| 12 | The Rosetta-stone script tested only IBM base-16 float readings, so it could not have selected the base-2 format the decoder uses; that decision was made in a session whose record was lost. | Base-2 decoder added; the format is confirmed by mantissa statistics and by continuity of the OH/H2O ratio across exponent boundaries. |
| 13 | Trichlorobenzene was described as a Curiosity/SAM detection alongside dichlorobenzenes and thiophenes; it is not one to my knowledge. | Reworded. |
| 14 | Smaller items: the VL-1 9-bit inversion used 512 − x instead of 511 − x; the scan range was quoted as m/z 12–224 (actual 12–220 / 12–216); a full-tape header word was mislabelled; a typo ("1976–periodic"); blank-run IDs (the repository README assigns 10008 and 10007); Biemann's solvent attribution was firm only for dichloromethane; runs 10032 and 10033 are one-third and nine-tenths corrupt records, which the report did not say. | All fixed or stated. |
Checked and found correct
All fourteen rows of the run table against Biemann 1977 (run ID, sol, oven temperature, sample, purge mode); the frame and record layouts; the mass calibration; the mass-axis offset; the 10.24 s scan period; the chlorobenzene elution scan, isotope ratio and phenyl fragment in both tape families; the temperature correlation; the 18O ratio; the OH fragment yield; every isotope constant used; and the rejections of dichlorobenzene, trichlorobenzene, thiophene and sulfur dioxide, re-run on the corrected cube.
How the D/H number moved
| Version | Runs | 17O term | 18OH term | Clipped scans | D/H (× SMOW) |
|---|---|---|---|---|---|
| July 2026 report (v1) | 4 | yes | no | included | 3.9 ± 0.3 |
| First pass of the September check | 4 | yes | yes | included | 2.6 ± 0.3 |
| Final (v2) | 5 | yes | yes | excluded | 3.3 ± 0.6, range 2–4.5 |
Still open
- Engineering channels 8–15 toggle between two levels differing by exactly 2× across two groups of runs, which looks like a gain or configuration bit. It is not decoded and may bear on the temperature channel.
- Whether the full-scale clip corresponds to the same physical ion current in every run. The per-frame normalization constants on the microfilm would settle it.
- A handful of Viking 1 ions (m/z 53–56, 65, 77, 104) still show a chlorine-like M+2 ratio in the single-ratio scan. They were rejected in July on full-pattern grounds, but that triage was not preserved as code.
- Attribution of the identifier-stripped profile tapes (5289 / 5967) to run numbers by spectral correlation.
Documents
- Report, version 2 (7 September 2026) — the reference version.
- Report, version 1 (5 July 2026) — unchanged, for the record.
- The full error-check log with file and line references is in
notes/error_check.mdinside the notes bundle.