Skip to content

[PROBE: mass] Detect multi-decadal storage drift under repeated forcing - #14

Draft
hiter-joe wants to merge 1 commit into
Flood-Lab:mainfrom
hiter-joe:probe/multi-decadal-drift
Draft

[PROBE: mass] Detect multi-decadal storage drift under repeated forcing#14
hiter-joe wants to merge 1 commit into
Flood-Lab:mainfrom
hiter-joe:probe/multi-decadal-drift

Conversation

@hiter-joe

@hiter-joe hiter-joe commented Sep 9, 2026

Copy link
Copy Markdown

Closes #13

What this probe asserts

A small runoff reporting deficit can be hidden in accumulated soil storage
while the reported budget closes exactly. This adds fifty years of repeated
warm weather after five years of spinup, using the existing closure, bounds,
ET plausibility, non-degeneracy and forcing-fidelity criteria. It requires the
entire scored record rather than a flood-event window.

The self-contained reference_slow_drift reporter subtracts 0.012 mm/day from
runoff and adds the cumulative deficit to reported soil storage. Tests require
the ten-year prefix to pass, and the fifty-year run to fail only storage bounds.
The probe does not classify all bounded storage trends as unphysical.

Discrimination

The targeted gate passes all five deterministic seeds:

Reference model Expected Observed
reference_bucket PASS All five criteria pass
flex_lumped PASS All five criteria pass
flex_topo PASS All five criteria pass
sacsma_snow17 PASS All five criteria pass
reference_slow_drift FAIL Only state_bounds fails; closure passes

The final forcing has stronger seasonal rain/PET cycles than the preliminary
issue experiment, so physical baselines meet the existing anti-degeneracy
thresholds without weakening them. Tests also allow FLEX-Topo's bounded early
adjustment and compare late repeated cycles under five- and ten-year warmups.

Validation

  • ht validate: 16 probes, 29 models.
  • ht gate --probe mass/multi-decadal-drift: passed.
  • Focused probe tests: 14 passed.
  • Documentation synchronization tests: 81 passed.
  • Remaining suite run (including the focused tests, excluding documentation):
    133 passed on Windows / Python 3.12. Together with the 81 documentation checks,
    all 214 local tests passed.
  • SAC-SMA adapter contract check on the complete 20,075-row input: passed in
    1.9 seconds locally; result CSV is 2,794,139 bytes (below the 10 MB limit).

The README, contributor table, roadmap, three-language site and generated CSV
archive accompany the probe. Documentation marked merged describes the state
after this branch is merged, following the repository's documentation tests.

Pending Before Ready For Review

  • Proposal [PROBE] mass/multi-decadal-drift: long-horizon storage bounds under stationary forcing #13 is labelled accepted and assigned. This PR is a draft
    pending the maintainer's scientific scope review.
  • Rerun dhbv2 with a working Docker daemon. The local attempt is archived
    as ERROR, not a conservation violation. The three evaluated physical models
    pass; Google is INCOMPLETE because required budget outputs are absent.
  • Confirm performance on the standard two-core runner.

No model weights or generated forcing datasets are included. Historical archive
rows are preserved; the five new rows were generated by ht run --gate-seeds.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[PROBE] mass/multi-decadal-drift: long-horizon storage bounds under stationary forcing

1 participant