Skip to content

Dam release follow-up: flood-pool smoke results, full-population measurement, non-dam levers - #52

Merged
taddyb merged 5 commits into
masterfrom
dam-release-v2
Oct 1, 2026
Merged

taddyb merged 5 commits into
masterfrom
dam-release-v2

Conversation

@taddyb

@taddyb taddyb commented Sep 30, 2026

Copy link
Copy Markdown
Owner

Summary

Follow-up to #51: results and records produced after it merged. No engine code changes; configs, analysis scripts, journal entries and findings only.

  • Flood pool, smoke evidence. The replay of the offline flood-pool fits reproduces 105 % of the offline gain in the engine (+0.0146 vs +0.0139 at 69 flood-control gauges, no water created). Trained from the pool-off init, the pools do not grow, so the trained pool arm equals its twin. Configs for the S6/S7 pairs and the fair replay twin; experiments/reservoir/smoke_v2/flood_gate.py (the pass bar fixed before results).
  • per_dam_l2 finding. The per-dam L2 at 1e-3 had been holding every per-dam parameter near its init; with it off the base recipe gains about 50 % more on the smoke set.
  • Full-population measurement (joint training, rho 180, two seeds, config/experiments/dam_release_full_{s7,nodam_r180}_s{42,43}.yaml): dammed gauges +0.0112 / +0.0066 paired median NSE; population median +0.0093 / -0.0016 (about +0.004 on average, within seed noise). experiments/reservoir/full_run/paired_full_run_full_s7_s{42,43}.*.
  • Non-dam levers (experiments/levers/): honest runoff multipliers +0.0005; gamma = 0 about +0.002; a training-year-weighted blend of three Q' products +0.026 at the population median.
  • Journal entries for every run (research/journal/2026-09.md), research-status and findings updates.

Test plan

🤖 Generated with Claude Code

https://claude.ai/code/session_015TepsZAS2LkFC5EmvuZrz9

taddyb and others added 5 commits September 30, 2026 00:23
…fts the base recipe; journal

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015TepsZAS2LkFC5EmvuZrz9
…ho-180 no-dam twins

dam_release_full_s7_s{42,43}: dam_release_full_nopool_s{42,43} with
release_head.per_dam_l2 0.0 (the S7base recipe) and dam_floor carry
(mass-conserving; allowed without a flood pool). Joint training.
dam_release_full_nodam_r180_s{42,43}: the same experiment block (rho 180,
warmup 30, testing warmup 5) with use_reservoirs false and no dam table,
ranges or release head, so each pair differs by the dam model alone. The
earlier no-dam full runs used rho 90 and are not twins of these arms.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015TepsZAS2LkFC5EmvuZrz9
…, Phase A)

Honest runoff multipliers (fitted on training years) move the population
median by +0.0005 to +0.0008: the model is volume-unbiased on 1982-1995
(pred/obs 1.004) and the test-period excess is a drought/drift in Q'.
gamma = 0 is worth about +0.002 (+0.006 with learned p, q; one seed); a
two-seed ensemble +0.001. A training-year-weighted blend of three Q'
products (UH 0.50, DIST 0.25, LSTM 0.25) gives +0.0259 [+0.0221, +0.0309]
at the population median (KGE about flat; paired KGE -0.004); with gamma = 0
variants +0.0297. Pre-registration in prereg.txt; report in report.txt.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015TepsZAS2LkFC5EmvuZrz9
Dammed gauges +0.0112 / +0.0066 paired NSE (seeds 42 / 43); population
median +0.0093 / -0.0016, about +0.004 on average, inside seed noise.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015TepsZAS2LkFC5EmvuZrz9
@taddyb
taddyb merged commit 309a814 into master Oct 1, 2026
2 checks passed
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.

1 participant