Ship it honestly:
workflows and telling your science

Session 27 · Fri Dec 4 · Book sections 5.1–5.5 + 7.1–7.2

📦

Today’s question

Your model works. Two questions decide whether it counts:

Can anyone rerun it? Can every audience that needs it trust what you say about it?

Flipped reading: Ch 5, 5.1–5.5 · today: 7.1 Audience translation + 7.2 Downstream impact · HW-DL due tonight

This lecture in the literature

📖 The definitions this course uses: reproducibility (same data, same code) vs replicability (new data, same question).

National Academies of Sciences, Engineering, and Medicine (2019). Reproducibility and Replicability in Science. The National Academies Press.

Doing it right: a one-page card stating what a model is for and where it breaks — now expected on every model hub.

Mitchell, M., et al. (2019). Model cards for model reporting. Proceedings of FAT* ’19, 220–229.

A whole conference made reproducibility a submission checklist — and measured what changed.

Pineau, J., et al. (2021). Improving reproducibility in machine learning research. Journal of Machine Learning Research, 22(164), 1–20.

Retracted within a year: an ocean-warming headline whose systematic errors were treated as random — caught by an outside reader, not the workflow.

Resplandy, L., et al. (2018). Quantification of ocean heat uptake from changes in atmospheric O₂ and CO₂ composition. Nature, 563, 105–108. Retracted 2019 (Retraction Note: Nature, 573, 614) after the reported uncertainties proved underestimated.

Workflow discipline has a literature — these three are its spine, and your final report is graded against their ideas.

A bug reproduces perfectly

  • Reproducible = same data, code, environment → same result within a stated tolerance
  • Reproducibility certifies the pipeline is deterministic and complete — not that it is right
  • Agents write code faster than you can review it → make the checks executable: lock file, scripted transforms, CI

When you delegate the typing, you must not delegate the verification.

Chapter 5 in two numbers, part 1

30 lines a complete experiment tracker — params, metrics, artifacts, code version

0.002 the “winning” configuration’s margin — smaller than the seed-to-seed spread

A difference smaller than your run-to-run variance is not a finding. Know the spread before you compare.

The data and the model have versions too

  • One hash: pooch.retrieve(url, known_hash=…) — upstream file changes, your analysis fails loudly instead of drifting silently
  • A saved model = weights + config + data version + metrics + seed — provenance travels in the bundle
  • Ten-line model card: intended use and known limits — the lines only you can write

“The model” in your report must mean a specific version a machine can retrieve and rerun.

106 TiB, opened from a laptop

MUR sea-surface temperature (JPL/NASA PO.DAAC, AWS Open Data): a 106.3 TiB Zarr store, opened in 12.9 s by reading 10.3 KiB of metadata.

How many bytes actually moved?

60.6 MiB moved over the network — ten days, Pacific Northwest shelf

30.4 TiB the temperature variable those bytes were pulled from

One part in ~525,000. The answer itself: 9.2 MiB in RAM — the 6× overhead is chunk granularity, the tax of object storage.

Laptop, cluster, or cloud — the deciding question is always: how many bytes must move?

Movement 2 — the words are part of the result

The measured finding: detector recovers 92% of M>2 events at 1 false alarm/day; recall drops to 60% below SNR 3

✗ “Our AI detects 92% of earthquakes.”

✓ “9 out of 10 earthquakes above magnitude 2, with about one false alert a day for an analyst to dismiss.”

Jargon translation swaps words. Claim translation keeps the truth conditions. Both sentences are plain — only one is true.

Five questions, and the direction of failure

  • Who could act on this — named roles, not “stakeholders”
  • What decision changes — if none, say “contribution to knowledge” honestly
  • What goes wrong, in which direction, on whoma missed flood is not a false alarm
  • Footprint vs the cheap baseline · what responsible deployment still lacks

Model errors have a direction, and each direction lands on different people — cost both, name both.

Ship-it checklist

Discipline The one-liner Geoscience example
Reproducibility rerun matches within stated tolerance fresh clone re-derives the GNSS velocities
Tracking every number traces to a run file “the good run” is a file, not a memory
Versioning data hashed, model bundled + carded detector_v1.2.0: “not for early warning”
Data at scale move the query, not the archive 60.6 MiB answers a 30.4 TiB question
Translation claims keep their truth conditions “9 in 10 above M2,” not “92% of earthquakes”
Impact both failure directions costed, on named people a missed flood ≠ a false alarm

This table is the final-report rubric in disguise — every row is a section your report and presentation must survive.

Today’s work — no notebook, two conversations

  1. Ch 5 discussion (~30 min): run your project down the 5.1 checklist — which rows pass today? Which one is cheapest to fix before Dec 16?
  2. Translate (~15 min): your headline claim, for peers and for one non-peer audience — then swap with another team and hunt broken claims
  3. Start the impact statement: answer the five questions in one sentence each, tonight

HW-DL due tonight · Ch 4 quiz closes Mon · forecasting leaderboard closes Wed · check-in #2 Mon (dry-runs + agent clinic) · presentations Fri Dec 11 · report + repository Dec 16