# Seasonal streamflow hindcasts

[Open the interactive report](report.html).

This report reads the saved experiment without changing earlier forecasts or scientific inputs.
January forecasts and February–April updates remain separate cases for the same April–July targets.
All fitted transformations and choices use earlier forecast years; later measured weather and discharge are excluded from issuance inputs.
The assumed observation reporting lag is 1 day(s).
Current historical archives are not as-of vintages, so these are retrospective hindcasts rather than a replay of the exact data available operationally.

## January seasonal-volume comparison

Historical hindcasts through 2022: combined inputs reduce January volume RMSE in 1/8 matched receiver/model cells, increase it in 7, and tie in 0.
2023–2024 comparison: combined inputs reduce January volume RMSE in 6/8 matched receiver/model cells, increase it in 2, and tie in 0.
2025–2026 retrospective comparison: combined inputs reduce January volume RMSE in 3/8 matched receiver/model cells, increase it in 5, and tie in 0.
These counts keep receiver/model cells separate; they do not pool physical volumes or establish prospective skill.

The reference is precipitation inputs; the comparison adds gages, snow-water equivalent, and temperature.
Negative RMSE change is an improvement; each row uses identical finite forecast years for the two input families.
Bootstrap intervals resample whole years, use a fixed seed, and are descriptive sampling intervals.

| Period | Method | Receiver | Years | Precipitation RMSE (acre-ft) | Combined RMSE (acre-ft) | RMSE change | RMSE improvement | Change 95% lower | Change 95% upper |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| historical | ridge | USGS-09439000 | 10 | 6.31e+03 | 6.4e+03 | 84.3 | -1.3% | -881 | 1.15e+03 |
| retrospective_test | ridge | USGS-09439000 | 1 | 8.65e+03 | 1.28e+04 | 4.1e+03 | -47.4% | Unavailable | Unavailable |
| validation | ridge | USGS-09439000 | 2 | 1.57e+04 | 1.6e+04 | 306 | -1.9% | -1.18e+03 | 1.66e+03 |
| historical | ridge | USGS-09447000 | 22 | 2.04e+03 | 2.09e+03 | 46 | -2.3% | -218 | 337 |
| retrospective_test | ridge | USGS-09447000 | 2 | 1.24e+03 | 827 | -408 | 33.1% | -637 | -73.9 |
| validation | ridge | USGS-09447000 | 2 | 1.25e+03 | 1.24e+03 | -11.1 | 0.9% | -312 | 830 |
| historical | ridge | USGS-09466500 | 22 | 2.5e+04 | 2.77e+04 | 2.69e+03 | -10.8% | 56.1 | 6.25e+03 |
| retrospective_test | ridge | USGS-09466500 | 2 | 6.33e+03 | 8.95e+03 | 2.62e+03 | -41.5% | -2.03e+03 | 1.01e+04 |
| validation | ridge | USGS-09466500 | 2 | 4.43e+04 | 4.15e+04 | -2.83e+03 | 6.4% | -3.34e+03 | -2.26e+03 |
| historical | ridge | USGS-09468500 | 21 | 3.68e+03 | 3.83e+03 | 144 | -3.9% | -177 | 359 |
| retrospective_test | ridge | USGS-09468500 | 2 | 429 | 709 | 281 | -65.5% | -24.5 | 397 |
| validation | ridge | USGS-09468500 | 2 | 2.07e+03 | 2.02e+03 | -49.4 | 2.4% | -160 | 368 |
| historical | transformer | USGS-09439000 | 10 | 7.33e+03 | 1.04e+04 | 3.04e+03 | -41.5% | -768 | 6.51e+03 |
| retrospective_test | transformer | USGS-09439000 | 1 | 9.09e+03 | 1.52e+04 | 6.13e+03 | -67.4% | Unavailable | Unavailable |
| validation | transformer | USGS-09439000 | 2 | 1.75e+04 | 1.27e+04 | -4.82e+03 | 27.5% | -6.7e+03 | -3.81e+03 |
| historical | transformer | USGS-09447000 | 22 | 1.93e+03 | 1.94e+03 | 13.2 | -0.7% | -350 | 410 |
| retrospective_test | transformer | USGS-09447000 | 2 | 881 | 810 | -71.7 | 8.1% | -163 | 213 |
| validation | transformer | USGS-09447000 | 2 | 1.95e+03 | 1.79e+03 | -159 | 8.2% | -1.02e+03 | 74.4 |
| historical | transformer | USGS-09466500 | 22 | 2.72e+04 | 2.6e+04 | -1.18e+03 | 4.3% | -6.62e+03 | 2.38e+03 |
| retrospective_test | transformer | USGS-09466500 | 2 | 3.09e+03 | 7.86e+03 | 4.78e+03 | -154.8% | 4.42e+03 | 5.19e+03 |
| validation | transformer | USGS-09466500 | 2 | 5.44e+04 | 3.2e+04 | -2.24e+04 | 41.1% | -3.44e+04 | -2.61e+03 |
| historical | transformer | USGS-09468500 | 21 | 3.58e+03 | 3.65e+03 | 69.6 | -1.9% | -460 | 268 |
| retrospective_test | transformer | USGS-09468500 | 2 | 608 | 289 | -319 | 52.4% | -434 | -153 |
| validation | transformer | USGS-09468500 | 2 | 2.14e+03 | 2.24e+03 | 107 | -5.0% | -61.4 | 891 |

## Evaluation and uncertainty

Historical hindcasts through 2022, the 2023–2024 comparison, and the already inspected 2025–2026 comparison are reported separately.
Monthly mean discharge is in ft³/s and the independently predicted seasonal volume is in acre-feet.
Monthly truth requires at least 90% daily coverage; complete seasonal truth requires all 122 April–July days.
Genuine observed zeros remain zero, missing values remain gaps, and undefined NSE or zero-denominator percentage bias remains unavailable.
Dry and wet labels describe realized seasonal volume relative to each forecast's earlier training distribution; they are reporting strata rather than forecast inputs.
The 80% and 90% intervals use earlier out-of-sample absolute residuals separately for each issuance, input family, method, receiver, and output.
Their finite-sample rank is ceil((n + 1) × coverage); fewer than four residuals cannot yield a finite 80% interval and fewer than nine cannot yield a finite 90% interval.
Sparse heads and insufficient calibration are explicitly unavailable; neither is replaced by a zero-flow forecast or a zero-width interval.
Historical interval coverage and width are empirical diagnostics; serial dependence and changing climate prevent a guaranteed future coverage claim.
Four monthly values and multiple receivers do not create independent weather years.

## Training diagnostics

The interactive report exposes saved temporal validation curves, selected epochs, optimizer updates, and eligible output counts where model metadata exists.
Transformer validation curves use the saved scaled physical error; they are not test-set tuning curves.
The model comparison includes mean/median climatology and compact regularized Ridge alongside the shared Transformer.
The combined-input comparison tests a hypothesis; improvement is determined by the saved paired results rather than assumed.

## Context for 2025–2026

The unweighted mean SWE across 5 fixed SNOTEL sites before January issuance was 2025: 3.556 mm at the 2024-12-31 cutoff; 2026: 1.016 mm at the 2025-12-31 cutoff.
The median of this same January station-mean index across 1981–2024 was 42.164 mm from 44 available historical issue years.
These current archived measurements predate issuance under the study's reporting-lag assumption.
This sampled station index summarizes local snow conditions; basin snow storage and causes of forecast errors require separate analysis.

Several Upper Gila receivers had unusually low April–July flow in 2025–2026.
In the earlier frozen experiment, Calva seasonal volumes were 7.4% and 9.2% of its initial historical mean,
and San Carlos volumes were 0.0% and 9.3%; Eagle Creek was moderately below average at 70.0% and 81.6%.
Duncan was 5.2% in 2025; its 2026 complete-season volume was unavailable because only 107 of 122 days were observed.
These values describe the earlier source-bound diagnostic, not improvements established by this experiment.
NRCS reported San Francisco–Upper Gila snowpack at 0% of median on April 1 in both years.
Those April observations were unavailable to a January forecast and cannot explain every individual model error.

Sources: [NRCS April 2025](https://www.nrcs.usda.gov/sites/default/files/2025-04/250401-BOR.pdf), [NRCS April 2026](https://www.nrcs.usda.gov/sites/default/files/2026-04/260401-AZ-WSOR.pdf), and [NRCS forecast interpretation](https://www.nrcs.usda.gov/programs-initiatives/sswsf-snow-survey-and-water-supply-forecasting-program/water-supply).
NRCS volumes can be adjusted for storage and diversions, so these reports corroborate snow conditions rather than directly benchmarking our measured-discharge skill.

## Numerical exports

- [Forecast rows](predictions.csv)
- [Period and regime metrics](metrics.csv)
- [Matched input comparisons](paired_comparisons.csv)
