Bootstrap review report — d2_wd79_huerfano_river
Generated 2026-08-13 22:29 UTC for Division 2 / Water District 79.
This is a review checklist, not a finished config. Everything below is a suggestion from live DWR data — confirm or correct each section in config.yaml before running this basin for real.
1. Stream-name patterns
Assumed mainstem pattern: HUERFANO RIVER (highest-count waterSource value). Candidates below by structure count — decide which are real tributaries worth their own centerline vs. noise, and add them to longitudinal.tributary_stream_patterns in priority order (more-specific names, e.g. "WEST FORK X", must precede substrings of themselves, e.g. "X").
| waterSource | structure count |
|---|---|
| HUERFANO RIVER (assumed mainstem) | 85 |
| TURKEY CREEK | 17 |
| MUDDY CREEK | 16 |
| PASS CREEK | 11 |
| MARTIN CREEK | 9 |
| APACHE CREEK | 7 |
| BRUFF CREEK | 6 |
| RIO ALTO CREEK | 6 |
| WILLIAMS CREEK | 6 |
| CUSTER CREEK | 5 |
| OAK CREEK | 4 |
| SPRING BRANCH | 3 |
| PALO DURO CREEK | 3 |
2. Diversion / return classification
Auto-classified from structureType + name patterns: 188 diversions, 3 returns, 34 unclassified (neither pattern matched — these render as neither on the schematic unless added to return_flow_wdids/force_diversion_wdids or a type is added to the diversion/return type lists).
This layer needs the least manual work — it's the same heuristic the engine uses at runtime. Spot-check a sample rather than reviewing every row; if you have a water-year accounting spreadsheet for this basin, cross-reference it against the 'other' bucket specifically (that's where a real augmentation return with an unusual DWR structureType will hide).
2b. Cross-checked against decreed water rights (CDSS)
20 structure(s) have a decreed water right (CDSS waterrights/netamount) that disagrees with the structureType/name-pattern classification above. Same-agency evidence (DWR/HydroBase), not independent of DWR the way the NLDI topology check is — worth a glance, not an automatic correction.
| wdid | structure | currently | decreed uses suggest | decreed uses |
|---|---|---|---|---|
| 7905000 | TANGNEY WELL NO 1 | other | diversion | Irrigation |
| 7905002 | MARTINEZ SALAZAR WELL 1 | other | diversion | Domestic, Stock |
| 7905003 | KNOLL WELL NO 1 | other | diversion | Domestic |
| 7905004 | GARDNER WATER WELL 3 | other | diversion | Municipal |
| 7905005 | GARDNER WATER WELL A | other | diversion | Municipal |
| 7905006 | RUTHERFURD WELL | other | diversion | Irrigation |
| 7905007 | ANDREATTA WELL 13492-F | other | diversion | Domestic, Irrigation |
| 7905008 | HOUCHIN WELL NO 3 | other | diversion | Domestic, Irrigation, Stock |
| 7905014 | DISERT WELL NO 13751-F | other | diversion | Irrigation |
| 7905016 | QUINE RANCH WELL | other | diversion | Irrigation |
| 7905018 | PFAFFENHAUSER WELL NO 1 | other | diversion | Domestic, Stock |
| 7905021 | MAPES WELL NO 4 | other | diversion | Domestic, Industrial, Irrigation, Municipal, Stock |
| 7905027 | MAPES WELL NO 1 | other | diversion | Irrigation |
| 7905028 | KIMBREL WELL NO 1 5666F | other | diversion | Domestic, Industrial, Irrigation, Stock |
| 7905029 | KIMBREL WELL NO 2 | other | diversion | Domestic, Industrial, Irrigation, Stock |
| 7905030 | KIMBREL WELL NO 3 | other | diversion | Domestic, Industrial, Irrigation, Stock |
| 7905033 | HOUGHTON SUMP | other | diversion | Domestic, Irrigation, Stock |
| 7905036 | WESTON WELL NO 4 | other | diversion | Domestic, Industrial, Irrigation, Stock |
| 7905037 | WESTON WELL NO 3 | other | diversion | Domestic, Industrial, Irrigation, Stock |
| 7905038 | WESTON WELL NO 2 | other | diversion | Domestic, Industrial, Irrigation, Stock |
3. Suspected nested tributaries
Still need a human decision — these tributary pairs are comparably close to EACH OTHER as to the mainstem — one may actually join the other rather than the mainstem directly (like Leavenworth Creek -> South Clear Creek in the Clear Creek basin). NLDI couldn't resolve these (no nearby flowline, or ambiguous/no downstream overlap within range) — if you know the real topology, set it in longitudinal.tributary_parent_overrides.
| tributary | possible parent | dist to possible parent (mi) | dist to mainstem (mi) | NLDI result |
|---|---|---|---|---|
| BRUFF CREEK | MUDDY CREEK | 1.12 | 7.11 | NLDI check failed: 429 Client Error: Too Many Requests for url: https://api.water.usgs.gov/nldi/linked-data/comid/position?f=json&coords=POINT%28-105.325034+37.835268%29 |
| CUSTER CREEK | TURKEY CREEK | 0.12 | 0.86 | NLDI check failed: 429 Client Error: Too Many Requests for url: https://api.water.usgs.gov/nldi/linked-data/comid/position?f=json&coords=POINT%28-105.116016+37.833577%29 |
| MARTIN CREEK | PALO DURO CREEK | 1.2 | 1.16 | NLDI check failed: 429 Client Error: Too Many Requests for url: https://api.water.usgs.gov/nldi/linked-data/comid/position?f=json&coords=POINT%28-105.287292+37.708802%29 |
| SPRING BRANCH | PASS CREEK | 0.31 | 2.82 | NLDI check failed: 429 Client Error: Too Many Requests for url: https://api.water.usgs.gov/nldi/linked-data/comid/position?f=json&coords=POINT%28-105.231042+37.702411%29 |
| APACHE CREEK | MUDDY CREEK | 0.09 | 5.21 | NLDI check failed: 429 Client Error: Too Many Requests for url: https://api.water.usgs.gov/nldi/linked-data/comid/position?f=json&coords=POINT%28-104.932987+37.842079%29 |
| PALO DURO CREEK | MARTIN CREEK | 1.2 | 1.52 | NLDI check failed: 429 Client Error: Too Many Requests for url: https://api.water.usgs.gov/nldi/linked-data/comid/position?f=json&coords=POINT%28-105.267344+37.701756%29 |
4. Gage placement risk
3 gage(s) would currently fail placement (> 2.5mi from the nearest centerline anchor — same failure mode as the Clear Creek at Derby bug). Options: raise the cutoff (check it doesn't sweep in an unrelated stream first — see the Little Dry Creek case), or add a manual override.
| gage | name | nearest stream | distance (mi) |
|---|---|---|---|
| HUEMUSCO | HUERFANO RIVER NEAR MUSTANG, CO. | APACHE CREEK | 4.66 |
| HUDDITCO | HUDSON DITCH | MUDDY CREEK | 2.96 |
| MEDDITCO | MEDANO DITCH | BRUFF CREEK | 2.64 |
11 more gage(s) pass but are within 2x the cutoff distance — worth a glance if the structure dataset changes later.
Next steps
- Fill in
tributary_stream_patternsfrom section 1. - Resolve section 3's flags (or confirm none apply).
- Resolve section 4's at-risk gages.
- Cross-reference
return_flow_wdids/force_diversion_wdidsagainst any local accounting source you have for this basin. - Review the rendered schematic for this district before relying on it.
Evolution of the network
Computed 2026-08-20 08:43 from 14 gage(s) with cached period-of-record data. Statistical tests (Mann-Kendall trend, Pettitt changepoint) require at least 8 years spanning at least 10 years of record -- gages below that report no signal, not "no change."
Data provenance & quality
Where these numbers come from and how far they can be trusted. Grade C (3/6 points) — the components below are the finding; the letter alone is not. Sources: DWR HydroBase snapshot HydroBase_CO_20260707 (imported 2026-08-19) for history, plus the CDSS REST API for current conditions.
| Check | State | What was measured |
|---|---|---|
| gage freshness | stale | newest gage reading is 45 day(s) old (target 7) |
| diversion record | expected-lag | newest diversion record is 293 day(s) old (DWR publishes ~1 year in arrears) |
| structure coverage | sparse | 6% of schematic structures have data |
Independent check: PASS — 100.0000% agreement across 208,780 stored values re-checked against DWR's authoritative record (HydroBase_CO_20260707), over 20 structures. 0 disagreement(s) beyond a 0.01 cfs tolerance. Checked 2026-08-19; a rotating sample covers the whole basin across successive runs, and the structures this report cites are checked every time.
Federal cross-check: PASS — 100.00% day-level agreement with USGS's own published records for the same gages, across 6 co-listed station(s) and 33,233 overlapping days (within max(2%, 0.5 cfs) daily). Pre-1950 records at some gages carry known between-agency day-stamp and transcription differences — scored at each year's best ±1-day alignment; residual disagreement is real historical divergence, flagged for review.
14 gage(s) / 83,988 daily values (1923-03-01–2026-07-06); 288 structure(s) with diversion records; 930 with decreed rights. Methodology has not yet had independent expert review — treat every figure as an advisory screen, not an administrative or legal conclusion.
Read this first: the measurement network itself evolved
This basin was not always measured the way it is today — the API-era record is dense and recent, the early record sparse. 10 gage(s) and 153 structure(s) report in 2026, but structure reporting only reached half its modern level around ~1941. Every historical claim below is checked against this: long-term shifts that co-move with the growth of the network carry an explicit measurement-evolution caution, and abandonment screens whose idleness begins before the modern reporting era are flagged †.
| Decade | Gages with data (median yr) | Structures reporting (median yr) |
|---|---|---|
| 1910s | 0 | 44 |
| 1920s | 2 | 0 |
| 1930s | 1 | 0 |
| 1940s | 3 | 134 |
| 1950s | 2 | 0 |
| 1960s | 1 | 16 |
| 1970s | 1 | 84 |
| 1980s | 1 | 116 |
| 1990s | 2 | 67 |
| 2000s | 2 | 171 |
| 2010s | 4 | 140 |
| 2020s | 10 | 147 |
Gage flow trend & changepoints
Every located gage with a period of record — dot size scales with the strength of its flow trend (|Sen slope| in %/decade, the same statistic as the table below), color with direction. An amber ring marks a detected Pettitt changepoint. Click a gage to chart its trend and shift.
| Gage | Trend | Change / decade | Significance | Years | Changepoint |
|---|---|---|---|---|---|
|
▸
MEDANO DITCH MEDDITCO |
↑ increasing | +75.1% | p=0.006 | 16 | ~2018 |
|
▸
HUERFANO RIVER AT BADITO, CO. HUEBADCO |
↓ decreasing | -15.4% | p=0.014 | 42 | ~2010 |
|
▸
HUERFANO R AT MANZANARES XING, NR REDWING, CO. HURREDCO |
↓ decreasing | -4.5% | p=0.000 | 96 | ~1949 |
11 other gage(s) show no significant trend or changepoint (not shown).
Mass-balance (network closure) trend
Structure divrec-history backfill coverage as of the last check: 6% of 1154 schematic-relevant structures. 0 year(s) clear the 30% coverage gate so far -- the trend activates automatically once qualifying years span a full decade. No action needed; the nightly backfill keeps extending the record.
Reach gain/loss shifts (1950–2026)
Mass-balance kinks computed for every summer month back to 1950 (144 reach-snapshots) — which reaches gain or lose water, and how that has shifted across decades. Each shift is cross-checked against the observation record above: as more diversions became metered, "unaccounted" water shrinks mechanically, which can masquerade as a hydrologic shift.
No reach shows a statistically significant long-term gain/loss shift.
Groundwater now has its own tab: 15 monitored well(s), water-table trends, stream corridors, and the advisory depletion screen.
Reservoirs now has its own tab: 15 reservoir(s), end-of-year storage back to 1950, click-to-chart histories.
Cross-gage pattern fingerprint
Over the 16-year window with full coverage (2011–2026), the dominant shared pattern across 3 gage(s) explains 63% of year-to-year variance (almost certainly a basin-wide climate/snowpack driver).
MEDDITCO doesn't move with that shared pattern -- a real, localized signal (a new diversion, land-use change, or a gage-specific data problem) worth a closer look, not necessarily noise.
The basin's aquifer story, from 139 water-level measurements across 15 monitored well(s) (5 alluvial, 0 bedrock, rest unclassified) — plus 0 administered well(s) reporting metered pumping through diversion records. Observation wells and pumping wells are different populations and are never conflated. Click a well to chart its record.
Well map
Every monitored well with a location — hover for identity, click to chart its water-level record below. ● alluvial ● bedrock / confined (Denver Basin, High Plains, etc. — one-way, no human-timescale recharge) ● unclassified — marker size scales with the strength of the well's water-level trend (|Sen slope| in ft/decade — the same Mann-Kendall/Sen statistic as the trends table below); the smallest, faintest dots have too little record to test.
3D aquifer x-ray
Every aquifer unit as its own 3D head surface — alluvial water table on top, Denver Basin members (Dawson, Denver, Arapahoe, Laramie–Fox Hills) stacked beneath where measured — interpolated from measured water levels and animated through time. Units are never mixed; surfaces exist only inside each unit's well coverage (no extrapolation); thin epochs are suppressed with their reason shown. Vertical scale exaggerated for readability; z is head elevation in feet. Advisory — measured heads, not a calibrated model.
Water-table trends
Of 2 well(s) with enough record for a trend test: 0 declining, 2 rising.
Wells labeled by administrative world before anything else is said about them: tributary alluvium participates in the priority system; designated-basin and Denver Basin bedrock aquifers are governed differently and are excluded from stream-connection reasoning. Read bedrock declines differently too: deep bedrock aquifers recharge negligibly on human timescales, so a falling bedrock level is storage mining — effectively permanent — not a drought response that a wet year undoes. All screens advisory.
15 reservoir(s) with 799 storage measurement(s), 1950–2013. Storage change is real water the mass balance must credit — a losing reach beside a filling reservoir isn't losing water, it's banking it.
Reservoir map — how full is each vessel?
Each reservoir drawn as a vessel: bubble size ∝ its record-high storage, fill level = last recorded storage as a share of its surveyed capacity (USACE National Inventory of Dams) where a confident NID match exists — the tooltip names the matched dam — and of its own record high otherwise (a wrong capacity would be worse than an honest record high, so only confident joins upgrade). Hover for numbers, click to chart its history below the map. A dashed teal ring marks reservoirs reporting live DWR telemetry — their fill reflects yesterday's storage, drawn as a dotted tail on charts and treated as provisional until the next verified HydroBase snapshot supersedes it. ● <25% ● 25–60% ● 60–90% ● >90%
Basin storage, end of each water year
End-of-water-year totals; per-year reservoir counts shown because reporting coverage varies -- a total is only comparable to years with similar counts.
Largest reservoirs on record
Click a reservoir to chart its full storage history.
| Reservoir | Last recorded storage (AF) | As of |
|---|---|---|
| ▸ BRADFORD LAKE RESERVOIR (7903843) | 810 | 1988-04-12 |
| ▸ CRAEGER RESERVOIR (7903729) | 500 | 1968-10-01 |
| ▸ MOSCA DITCH AND RESERVOIR (7903751) | 300 | 1969-10-01 |
| ▸ J & M RESERVOIR (7903742) | 240 | 1969-10-01 |
| ▸ M PERRINO RESERVOIR (7903754) | 175 | 1962-10-01 |
| ▸ SIERRA BLANCA RES NO 1 (7903755) | 150 | 1969-10-01 |
| ▸ SHARPS ORCHARD RESERVOIR (7903710) | 75 | 1969-10-01 |
| ▸ ROACH RESERVOIR (7903886) | 57 | 1968-10-01 |
Decrees, seniority, and administrative calls connected to this basin's flow network. Advisory reading aids on public DWR data — not administrative or legal conclusions. Rights on file: 1097 across 930 structure(s); 72 structure(s) carry 0 court-case references.
Abandonment radar (25 screens)
Absolute rights with 10+ years of no recorded diversions. Screens only — storage, alternate points, and plan operations can explain nonuse lawfully. And diversion REPORTING itself only reached its modern level ~1941 — idleness that begins before then may be unreported use, not nonuse (flagged † below).
- WEST DITCH (7900747) (1886-03-20, 2.0 cfs decreed): last active 1949 — 76 years idle
- PINO DITCH (7901106) (1862-05-30, 3.6 cfs decreed): last active 1960 — 65 years idle
- SOUTH POINT DITCH (7900731) (1868-05-31, 1.0 cfs decreed): last active 1973 — 52 years idle
- BROSSARD DITCH (7900713) (1910-04-20, 1.5 cfs decreed): last active 1975 — 50 years idle
- CLARK FLOOD DITCH NO 2 (7900813) (1906-09-01, 32.5 cfs decreed): last active 1979 — 46 years idle
- MONTOYA DITCH (7900694) (1880-02-03, 0.5 cfs decreed): last active 1980 — 45 years idle
- S D J MARTINEZ DITCH (7900763) (1909-05-15, 0.2 cfs decreed): last active 1980 — 45 years idle
- EAGLE NEST FALLS DITCH (7900749) (1910-04-30, 3.0 cfs decreed): last active 1983 — 42 years idle
- RAFAEL GARCIA DITCH (7900522) (1868-05-01, 4.8 cfs decreed): last active 1986 — 39 years idle
- PERINO DITCH (7900695) (1901-06-01, 0.6 cfs decreed): last active 1987 — 38 years idle
Compliance screens (112 advisory flags)
Screened 158 of 930 structures with rights (166 have diversion history on file). A flag is a lead for expert review — augmentation plans, exchanges, and free-river conditions can make over-decree diversions lawful and are deliberately not modeled.
- CLARK FLOOD DITCH NO 1 (7900782): Observed p99 daily rate 31.5 cfs (max 31.5) exceeds total decreed absolute 17.5 cfs across 259 recorded day(s).
- RAFAEL GARCIA DITCH (7900522): Observed p99 daily rate 10.0 cfs (max 10.0) exceeds total decreed absolute 4.8 cfs across 1658 recorded day(s).
- J M MURRAY DITCH (7900670): Observed p99 daily rate 9.2 cfs (max 15.4) exceeds total decreed absolute 1.5 cfs across 8601 recorded day(s).
- PINEDA DITCH NO 2 (7900696): Observed p99 daily rate 9.0 cfs (max 9.0) exceeds total decreed absolute 3.0 cfs across 3256 recorded day(s).
- C W DITCH (7900718): Observed p99 daily rate 8.9 cfs (max 9.8) exceeds total decreed absolute 4.0 cfs across 5810 recorded day(s).
- D K L M & P DITCH (7900789): Observed p99 daily rate 8.6 cfs (max 8.6) exceeds total decreed absolute 8.6 cfs across 1340 recorded day(s).
- GLADE DITCH (7900663): Observed p99 daily rate 7.9 cfs (max 260.6) exceeds total decreed absolute 2.0 cfs across 9801 recorded day(s).
- MOLLA DITCH (7900548): Observed p99 daily rate 7.0 cfs (max 7.3) exceeds total decreed absolute 3.0 cfs across 4202 recorded day(s).
- MEDINA FELIPA DITCH (7900543): Observed p99 daily rate 6.8 cfs (max 7.5) exceeds total decreed absolute 5.2 cfs across 14964 recorded day(s).
- ZAN DITCH (7900812): Observed p99 daily rate 6.8 cfs (max 12.6) exceeds total decreed absolute 6.0 cfs across 9966 recorded day(s).
Seniority (top structures by decreed rate)
| Structure | Senior priority date | Rights | Decreed abs (cfs) | Decreed abs (AF) | Conditional? |
|---|---|---|---|---|---|
| CLARK FLOOD DITCH NO 2 (7900813) | 1906-09-01 | 1 | 32.5 | 0 | — |
| MONTEZ DITCH (7900550) | 1867-04-25 | 3 | 28.4 | 0 | — |
| CLARK FLOOD DITCH NO 1 (7900782) | 1906-05-01 | 1 | 17.5 | 0 | — |
| PALMER DITCH (7900554) | 1871-04-06 | 3 | 14.0 | 0 | — |
| RAHN DITCH (MEDINA NO2) (7900590) | 1867-06-01 | 4 | 11.2 | 0 | — |
| EPIFANIO DITCH (7900722) | 1889-02-15 | 3 | 10.4 | 0 | — |
| DEUS PIONEER DITCH (7900513) | 1874-06-15 | 3 | 10.3 | 0 | — |
| NO 1 IRRIGATION DITCH (7900552) | 1881-05-03 | 1 | 10.0 | 0 | — |
| PIEDRAS AMERILLAS D (PA) (7900764) | 1877-04-01 | 2 | 10.0 | 0 | — |
| BUTTE VALLEY DITCH (7900509) | 1862-05-15 | 4 | 9.0 | 0 | — |
| J E DIEZ DITCH (7900737) | 1873-03-20 | 7 | 9.0 | 0 | — |
| HAMLET DITCH (7900526) | 1866-05-01 | 5 | 8.8 | 0 | — |
| PEDRO GOMEZ DITCH (7900524) | 1865-06-01 | 5 | 8.6 | 0 | — |
| D K L M & P DITCH (7900789) | 1887-11-02 | 1 | 8.6 | 0 | — |
| PINEDA DITCH (7900714) | 1870-04-06 | 2 | 8.0 | 0 | — |
No inventory or legal-document changes detected since the daily watch began.
If a call were placed at a given seniority, which structures in this basin would be out of priority, and how much of their decreed rate would be curtailed? Computed from this basin's cached decrees.
What this does and doesn't model. Seniority arithmetic only: every right junior to the call is treated as curtailed. It does not model reach applicability — structures downstream of the calling point are not administered by it — and it applies no futile-call judgment. Read it as “who is junior to this date, and by how much,” not as a prediction of what the Division Engineer would actually order.
Pick a calling right
Real decrees from this basin, ordered by administration number — that is, by actual seniority. The years will look out of order, and that is correct: an administration number encodes the adjudication date as well as the appropriation date, so a right appropriated in 1970 can be administered ahead of one from 1950. A senior call curtails almost everything; a junior one curtails almost nothing.
Or enter an administration number directly
DWR administration numbers encode appropriation and adjudication dates; lower is more senior.