Bootstrap review report — d5_wd52_piney_cottonwood_creeks
Generated 2026-08-14 09:09 UTC for Division 5 / Water District 52.
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: SHEEPHORN CREEK (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 |
|---|---|
| SHEEPHORN CREEK (assumed mainstem) | 70 |
| COLORADO RIVER | 61 |
| PINEY RIVER | 51 |
| COTTONWOOD CREEK | 18 |
| HENRY CREEK | 15 |
| BIG ALKALI CREEK | 13 |
| SPRUCE CREEK | 12 |
| IKE CREEK | 11 |
| GOODSON CREEK | 9 |
| ROCK CREEK | 8 |
| CASTLE CREEK | 8 |
| CATAMOUNT CREEK | 6 |
| HARTMAN GULCH | 6 |
| POSEY CREEK | 5 |
| BEAR CREEK | 4 |
| DEER PEN CREEK | 4 |
2. Diversion / return classification
Auto-classified from structureType + name patterns: 252 diversions, 41 returns, 55 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)
28 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 |
|---|---|---|---|---|
| 5205014 | HOLM WELL | other | diversion | Domestic |
| 5205045 | NEUMAYR WELL NO 1 | other | diversion | Commercial, Domestic, Industrial, Irrigation |
| 5205046 | NEUMAYR WELL NO 2 | other | diversion | Commercial, Domestic, Industrial, Irrigation |
| 5205047 | CINNAMON CREEK WELL NO 1 | other | diversion | Domestic |
| 5205048 | CINNAMON CREEK WELL NO 2 | other | diversion | Fire, Industrial, Irrigation |
| 5205049 | CINNAMON CREEK WELL NO 3 | other | diversion | Fire, Industrial, Irrigation |
| 5205117 | CORRAL WELL | other | diversion | Commercial, Domestic, Irrigation, Stock |
| 5205118 | DOUBLE-WIDE WELL | other | diversion | Commercial, Domestic, Irrigation, Stock |
| 5205119 | CLUBHOUSE WELL | other | diversion | Commercial, Domestic, Irrigation, Stock |
| 5205120 | CABIN WELL NO 2 | other | diversion | Commercial, Domestic, Irrigation, Stock |
| 5205121 | CABIN WELL NO 3 | other | diversion | Commercial, Domestic, Irrigation, Stock |
| 5205122 | CABIN WELL NO 4 | other | diversion | Commercial, Domestic, Irrigation, Stock |
| 5205125 | COMFORT STATION WELL NO 1 | other | diversion | Commercial, Domestic, Irrigation, Stock |
| 5205126 | RANGE BUILDING WELL | other | diversion | Commercial, Domestic, Irrigation, Stock |
| 5205127 | MAINTENANCE BUILDING WELL | other | diversion | Commercial, Domestic, Irrigation, Stock |
| 5205138 | TARABA WELL | other | diversion | Domestic, Irrigation |
| 5205139 | CANINE COUNTRY WELL | other | diversion | Commercial, Domestic, Fire, Irrigation, Stock |
| 5205191 | PUMPHOUSE WELL 116368 | other | diversion | Domestic |
| 5205213 | RANCHO WELL NO 1 | other | diversion | Commercial, Domestic, Irrigation |
| 5205219 | WHEELOCK WELL | other | diversion | Domestic |
| 5205220 | RANCHO WELL NO. 2 | other | diversion | Commercial, Domestic, Irrigation |
| 5205228 | BANGERT-NEUMAYR WELL | other | diversion | Commercial, Domestic, Fire, Industrial, Irrigation |
| 5205229 | WOLTER WELL | other | diversion | Domestic, Irrigation, Stock |
| 5205445 | ROUNDUP RIVER RANCH WELL NO. 3 | other | diversion | Commercial, Domestic, Fire, Irrigation, Storage |
| 5205446 | ROUNDUP RIVER RANCH WELL NO. 4 | other | diversion | Commercial, Domestic, Fire, Irrigation, Storage |
| 5205447 | ROUNDUP RIVER RANCH WELL NO. 5 | other | diversion | Commercial, Domestic, Fire, Irrigation, Storage |
| 5209000 | PINEY RANCH DEPLETION REACH | other | return | Augmentation |
| 5209008 | BAIR RANCH IKE CREEK DEPLETION REACH | other | return | Augmentation |
3. Suspected nested tributaries
11 flag(s) confirmed connected by USGS NLDI — real surveyed stream-network topology, not a distance guess (see VERIFICATION-PLAN.md). This confirms the two candidates' channels really do merge (ruling out a coincidental-proximity false flag) but NOT auto-applied to tributary_parent_overrides — NLDI's overlap test can't reliably tell which side is upstream once two streams have already merged near DWR's own recorded structures, only that they connect. Confirm the direction (which one is the tributary, which is the parent) from local knowledge or the evidence below, then set it yourself.
| pair | NLDI evidence |
|---|---|
| ROCK CREEK <-> PINEY RIVER | tributary's downstream NHD trace (comid 1238543) first overlaps PINEY RIVER's own downstream trace at index 1 (next-nearest candidate: ('MAINSTEM', 14)) |
| POSEY CREEK <-> COLORADO RIVER | tributary's downstream NHD trace (comid 1238143) first overlaps COLORADO RIVER's own downstream trace at index 9 (next-nearest candidate: none) |
| IKE CREEK <-> COLORADO RIVER | tributary's downstream NHD trace (comid 1235835) first overlaps COLORADO RIVER's own downstream trace at index 2 (next-nearest candidate: none) |
| PINEY RIVER <-> MAINSTEM | tributary's downstream NHD trace (comid 1237865) first overlaps MAINSTEM's own downstream trace at index 1 (next-nearest candidate: none) |
| CATAMOUNT CREEK <-> BIG ALKALI CREEK | tributary's downstream NHD trace (comid 1237807) first overlaps BIG ALKALI CREEK's own downstream trace at index 0 (next-nearest candidate: none) |
| BIG ALKALI CREEK <-> CATAMOUNT CREEK | tributary's downstream NHD trace (comid 1237741) first overlaps CATAMOUNT CREEK's own downstream trace at index 0 (next-nearest candidate: none) |
| CASTLE CREEK <-> BIG ALKALI CREEK | tributary's downstream NHD trace (comid 1237951) first overlaps BIG ALKALI CREEK's own downstream trace at index 1 (next-nearest candidate: none) |
| GOODSON CREEK <-> MAINSTEM | tributary's downstream NHD trace (comid 1237979) first overlaps MAINSTEM's own downstream trace at index 1 (next-nearest candidate: none) |
| SPRUCE CREEK <-> COLORADO RIVER | tributary's downstream NHD trace (comid 1235747) first overlaps COLORADO RIVER's own downstream trace at index 2 (next-nearest candidate: none) |
| HARTMAN GULCH <-> COLORADO RIVER | tributary's downstream NHD trace (comid 1236915) first overlaps COLORADO RIVER's own downstream trace at index 3 (next-nearest candidate: ('MAINSTEM', 9)) |
| DEER PEN CREEK <-> COLORADO RIVER | tributary's downstream NHD trace (comid 1237625) first overlaps COLORADO RIVER's own downstream trace at index 13 (next-nearest candidate: none) |
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 |
|---|---|---|---|---|
| COLORADO RIVER | IKE CREEK | 16.17 | 43.43 | tributary's downstream NHD trace didn't overlap any candidate parent's own downstream trace within 40km |
4. Gage placement risk
None — every gage with a resolvable position is within the placement cutoff.
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 09:15 from 8 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 | stale | newest diversion record is 679 day(s) old (DWR publishes ~1 year in arrears) |
| structure coverage | partial | 47% of schematic structures have data |
Independent check: PASS — 100.0000% agreement across 101,495 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 — 99.70% day-level agreement with USGS's own published records for the same gages, across 8 co-listed station(s) and 98,931 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.
8 gage(s) / 98,935 daily values (1944-06-01–2026-07-06); 253 structure(s) with diversion records; 562 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. 3 gage(s) and 56 structure(s) report in 2026, but structure reporting only reached half its modern level around ~1974. 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) |
|---|---|---|
| 1940s | 2 | 0 |
| 1950s | 2 | 0 |
| 1960s | 5 | 0 |
| 1970s | 5 | 98 |
| 1980s | 6 | 116 |
| 1990s | 5 | 114 |
| 2000s | 3 | 98 |
| 2010s | 2 | 74 |
| 2020s | 3 | 27 |
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 |
|---|---|---|---|---|---|
|
▸
DICKSON CREEK NEAR VAIL, CO. DICKVACO |
↑ increasing | +12.9% | p=0.034 | 33 | ~1990 |
|
▸
PINEY RIVER BELOW PINEY LAKE, NEAR MINTURN, CO. PINEPICO |
↑ increasing | +5.9% | p=0.047 | 48 | ~1980 |
6 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: 47% of 93 schematic-relevant structures. Kink count trend: no_trend (p=1.000), kink magnitude trend: no_trend (p=1.000) across 26 qualifying year(s).
Reach gain/loss shifts (–)
Mass-balance kinks computed for every summer month back to (0 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: 5 monitored well(s), water-table trends, stream corridors, and the advisory depletion screen.
Reservoirs now has its own tab: 32 reservoir(s), end-of-year storage back to 1975, click-to-chart histories.
Cross-gage pattern fingerprint
Not enough gages with a long enough common-coverage window yet to fingerprint shared patterns.
The basin's aquifer story, from 10 water-level measurements across 5 monitored well(s) (4 alluvial, 0 bedrock, rest unclassified) — plus 1 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 0 well(s) with enough record for a trend test: 0 declining, 0 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.
32 reservoir(s) with 1,433 storage measurement(s), 1975–2024. 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 |
|---|---|---|
| ▸ RAGLAND RESERVOIR NO 2 (5203955) | 122 | 1990-10-31 |
| ▸ MARMA LAKE (5203982) | 60 | 2013-10-31 |
| ▸ JONES RESERVOIR (5203940) | 42 | 2013-10-31 |
| ▸ ROCK GAP DAM (5203949) | 39 | 2013-10-31 |
| ▸ OLSEN RESERVOIR NO 1 (5203959) | 35 | 2007-10-31 |
| ▸ BOX CANYON RESERVOIR (5203935) | 29 | 1999-10-25 |
| ▸ HURT RESERVOIR (5203939) | 26 | 2006-10-31 |
| ▸ OXFORD RESERVOIR (5203946) | 25 | 2013-10-31 |
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: 814 across 562 structure(s); 49 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 ~1974 — idleness that begins before then may be unreported use, not nonuse (flagged † below).
- CASTLE RESERVOIR (5203936) (1938-07-25, 0.0 cfs decreed): last active 1980 — 44 years idle
- A P R NO 6 DITCH (5200513) (1906-08-26, 2.0 cfs decreed): last active 1985 — 39 years idle
- SHEEPHORN NO 2 DITCH (5200636) (1916-06-05, 2.7 cfs decreed): last active 1985 — 39 years idle
- DAVIE NO 1 SPRING (5200710) (1915-12-31, 0.1 cfs decreed): last active 1985 — 39 years idle
- BAIR SPRING (5205021) (1930-06-30, 0.1 cfs decreed): last active 1985 — 39 years idle
- BIG SANDY SPRING (5205006) (1949-09-30, 0.2 cfs decreed): last active 1986 — 38 years idle
- BOYD SPRING (5205007) (1922-08-31, 0.0 cfs decreed): last active 1986 — 38 years idle
- RAILROAD WTR SUP AT RNGE (5200620) (1934-06-30, 0.4 cfs decreed): last active 1987 — 37 years idle
- ADESA SPRINGS (5200674) (1925-06-01, 0.0 cfs decreed): last active 1987 — 37 years idle
- BOLGER NO 1 SPRING (5200682) (1973-07-01, 0.0 cfs decreed): last active 1987 — 37 years idle
Compliance screens (122 advisory flags)
Screened 189 of 562 structures with rights (231 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.
- HOG EYE DITCH (5200572): Observed p99 daily rate 14.0 cfs (max 14.0) exceeds total decreed absolute 12.6 cfs across 3825 recorded day(s).
- A P R NO 6 DITCH (5200513): Observed p99 daily rate 13.9 cfs (max 13.9) exceeds total decreed absolute 2.0 cfs across 822 recorded day(s).
- DRY PARK DITCH (5200544): Observed p99 daily rate 12.4 cfs (max 25.0) exceeds total decreed absolute 7.2 cfs across 12882 recorded day(s).
- OSAGE DITCH (5200607): Observed p99 daily rate 10.0 cfs (max 10.0) exceeds total decreed absolute 8.1 cfs across 5152 recorded day(s).
- H B DICE DITCH (5200567): Observed p99 daily rate 10.0 cfs (max 10.0) exceeds total decreed absolute 1.8 cfs across 4634 recorded day(s).
- CABIN DITCH (5200530): Observed p99 daily rate 9.6 cfs (max 9.6) exceeds total decreed absolute 3.4 cfs across 5148 recorded day(s).
- JOHN L CONGER DITCH (5200523): Observed p99 daily rate 9.0 cfs (max 9.0) exceeds total decreed absolute 3.5 cfs across 3848 recorded day(s).
- MATHER DITCH (5200590): Observed p99 daily rate 8.0 cfs (max 8.2) exceeds total decreed absolute 8.0 cfs across 6998 recorded day(s).
- MCPHEE DITCH (5200598): Observed p99 daily rate 8.0 cfs (max 8.0) exceeds total decreed absolute 6.0 cfs across 5792 recorded day(s).
- MILL DITCH (5200591): Observed p99 daily rate 7.8 cfs (max 7.8) exceeds total decreed absolute 7.2 cfs across 6951 recorded day(s).
Seniority (top structures by decreed rate)
| Structure | Senior priority date | Rights | Decreed abs (cfs) | Decreed abs (AF) | Conditional? |
|---|---|---|---|---|---|
| BEST DITCH (5200662) | 1944-11-12 | 1 | 20.8 | 0 | — |
| WILMOT DITCH (5200658) | 1883-12-20 | 3 | 16.7 | 0 | — |
| SCHLEGAL DITCH (ALKALI) (5200632) | 1953-08-05 | 1 | 14.8 | 0 | — |
| SWITZER DITCH (5200648) | 1900-05-01 | 4 | 13.6 | 0 | — |
| HOG EYE DITCH (5200572) | 1889-06-15 | 5 | 12.6 | 0 | — |
| SEVEN PINES DITCH (5200633) | 1915-06-20 | 1 | 12.0 | 0 | — |
| GUTZLER DITCH (5200559) | 1887-05-01 | 3 | 11.8 | 0 | — |
| WHEELER DITCH (NEW) (5200675) | 1883-05-01 | 4 | 10.6 | 0 | — |
| HARTMAN COLO RIVER DITCH (5200565) | 1941-02-15 | 1 | 9.0 | 0 | — |
| MIN FLOW PINEY RIVER LOW (5202002) | 1986-01-16 | 1 | 9.0 | 0 | — |
| MCPHEE DITCH (NO 2) (5200599) | 1890-05-01 | 3 | 8.6 | 0 | — |
| OSAGE DITCH (5200607) | 1885-07-01 | 2 | 8.1 | 0 | — |
| TRAIL & CASTLE CR CONSOL (5200762) | 1889-08-29 | 3 | 8.0 | 0 | — |
| MATHER DITCH (5200590) | 1890-09-11 | 3 | 8.0 | 0 | — |
| CASTLE PEAK DITCH (5200534) | 1911-05-01 | 2 | 7.9 | 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.