← Writing

Notes on keeping a MODFLOW workflow honest

A groundwater model is only as trustworthy as the path that produced it. Here are a few habits I keep coming back to.

1. The model is code, so treat it like code

Inputs, scripts, and post-processing all live in git. If I can’t regenerate a figure from a clean checkout with one command, it isn’t done.

2. Separate “what I assumed” from “what I observed”

Calibration is where wishful thinking sneaks in. I keep observed data and assumed parameters in different files, and I write down why each parameter has the value it does.

3. Make uncertainty a first-class output

A single best-fit run is a story, not a result. Even a rough ensemble — a handful of plausible parameter sets — says more about what the aquifer might actually do.

A model that hides its uncertainty isn’t being confident. It’s being quiet about the thing that matters most.

More to come as I clean up the toolkit behind these.