[PROBE: mass] Detect multi-decadal storage drift under repeated forcing - #14
Draft
hiter-joe wants to merge 1 commit into
Draft
[PROBE: mass] Detect multi-decadal storage drift under repeated forcing#14hiter-joe wants to merge 1 commit into
hiter-joe wants to merge 1 commit into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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_driftreporter subtracts 0.012 mm/day fromrunoff 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_bucketflex_lumpedflex_toposacsma_snow17reference_slow_driftstate_boundsfails; closure passesThe 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.133 passed on Windows / Python 3.12. Together with the 81 documentation checks,
all 214 local tests passed.
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
acceptedand assigned. This PR is a draftpending the maintainer's scientific scope review.
dhbv2with a working Docker daemon. The local attempt is archivedas
ERROR, not a conservation violation. The three evaluated physical modelspass; Google is
INCOMPLETEbecause required budget outputs are absent.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.