Skip to content

Monthly shares from donor gauges (#102) - #106

Merged
NewGraphEnvironment merged 20 commits into
mainfrom
102-monthly-shares-from-donor-gauges-day-of
Oct 20, 2026
Merged

NewGraphEnvironment merged 20 commits into
mainfrom
102-monthly-shares-from-donor-gauges-day-of

Conversation

@NewGraphEnvironment

Copy link
Copy Markdown
Owner

Summary

  • The balance's monthly shares now come from donor gauges. Each watershed takes the inverse-distance mean of the observed monthly shares of the five calibration gauges most like it, matched on elevation, location, snowmelt timing and peak SWE. These replace Snow predictors for the monthly shares #16's twelve regressions.
    • The rule fixed every candidate setting and was committed in scripts/wb_validate.R's header (a8ca570) before any candidate code existed.
    • Median per-gauge share NSE, 315 gauges: regression 0.8735, donor 0.9389, blend 0.9187 under blocked CV; leak-free 0.8735 / 0.9353 / 0.9209.
    • On 110 short-record test gauges no fit uses: 0.772 / 0.837 / 0.812.
  • Code:
  • Run on m4 and published (live build 8ca2dee):
    • The annual is identical in all ten AET variants, and cfu still ships. Month 0 is byte-identical in every basin, and no pick moved.
    • Every publish value check passes. The BUILD after the upload is 67 of 67 identical to the live build.
  • The monthly-flow article is rewritten on the new build. On a calibration gauge's segment the balance now carries the gauge's own monthly pattern. At 08EE003, an ungauged site, it is several times the gauge in the late-summer windows; the article states that error as ours.

Related Issues

Test plan

Notes

🤖 Generated with Claude Code

https://claude.ai/code/session_01TaHJkAqd9xHDZQmhpQoVbW

NewGraphEnvironment and others added 20 commits October 19, 2026 14:36
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TaHJkAqd9xHDZQmhpQoVbW
…ny candidate code

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TaHJkAqd9xHDZQmhpQoVbW
…th the daily shape (#102)

wet_donor_mean() is wet_shape_predict()'s donor weighting, moved so the
monthly shares use the same recipe; the shape's output is identical
(tested against the old branch written out). The regression's predictions
are identical too. R/wet_donor_mean.R joins the scoring hash and the shape
hash.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TaHJkAqd9xHDZQmhpQoVbW
… ship by #102's rule

wb_validate.R applies the rule registered in a8ca570 after #16's, on its
static set; fits.rds and cv_aet-<AET>.rds carry share_method and every
method's held-out shares. The monthly vignette data and the publish
description read the shipped method.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TaHJkAqd9xHDZQmhpQoVbW
The LOO label, the report's AET line, NA-share counts, the publish
description (byte-identical for the regression) and wb_shape_daily.R's
method check; the header records how the code reads four details the rule
leaves to its references.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TaHJkAqd9xHDZQmhpQoVbW
…es use CGIAR monthly AET (#102)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TaHJkAqd9xHDZQmhpQoVbW
…ette refuses a donor bundle until its prose is rewritten, one unchecked claim dropped (#102)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TaHJkAqd9xHDZQmhpQoVbW
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TaHJkAqd9xHDZQmhpQoVbW
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TaHJkAqd9xHDZQmhpQoVbW
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TaHJkAqd9xHDZQmhpQoVbW
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TaHJkAqd9xHDZQmhpQoVbW
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TaHJkAqd9xHDZQmhpQoVbW
… build 8ca2dee, publish record (#102)

The article's balance passages and their checks are rewritten: at the
calibration gauges the balance now carries the gauge's own monthly pattern
at its annual flow; at 08EE003 it is several times the gauge in the
late-summer windows; its median monthly error is within 10 % in every month,
the Liard's winter included; it is the stronger source under 1,000 km2.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TaHJkAqd9xHDZQmhpQoVbW
… rerun, three claims held to their reports, a window check that tests its sentence (#102)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TaHJkAqd9xHDZQmhpQoVbW
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TaHJkAqd9xHDZQmhpQoVbW
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.

Monthly shares from donor gauges' day-of-year records: #70 measured 0.939 against the shipped 0.874

1 participant