Bootstrap review report — d4_wd42_lower_gunnison_river
Generated 2026-08-13 22:45 UTC for Division 4 / Water District 42.
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: KANNAH 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 |
|---|---|
| KANNAH CREEK (assumed mainstem) | 28 |
| NORTH EAST CREEK | 11 |
| NORTH FORK KANNAH CREEK | 10 |
| GUNNISON RIVER | 10 |
| EAST CREEK | 7 |
| WHITEWATER CREEK | 4 |
2. Diversion / return classification
Auto-classified from structureType + name patterns: 73 diversions, 1 returns, 4 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)
None flagged — no unclassified structure's decreed water right clearly disagreed with its current classification (checked up to the API-budget cap; see bootstrap.py's cross_check_classification for the cap).
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 |
|---|---|---|---|---|
| EAST CREEK | GUNNISON RIVER | 0.63 | 4.81 | 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-108.460746+38.974282%29 |
| NORTH EAST CREEK | EAST CREEK | 1.65 | 8.26 | 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-108.536716+38.902723%29 |
| WHITEWATER CREEK | GUNNISON RIVER | 2.78 | 4.35 | 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-108.402847+38.995408%29 |
| GUNNISON RIVER | EAST CREEK | 6.7 | 11.5 | 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-108.563785+39.028538%29 |
4. Gage placement risk
None — every gage with a resolvable position is within the placement cutoff.
10 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:58 from 10 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 D (2/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 658 day(s) old (DWR publishes ~1 year in arrears) |
| structure coverage | sparse | 16% of schematic structures have data |
Independent check: PASS — 100.0000% agreement across 223,352 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.96% day-level agreement with USGS's own published records for the same gages, across 4 co-listed station(s) and 70,311 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.
10 gage(s) / 132,998 daily values (1896-10-01–2026-07-06); 94 structure(s) with diversion records; 726 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. 5 gage(s) and 43 structure(s) report in 2026, but structure reporting only reached half its modern level around ~1978. 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) |
|---|---|---|
| 1890s | 1 | 0 |
| 1900s | 1 | 0 |
| 1910s | 2 | 0 |
| 1920s | 2 | 0 |
| 1930s | 4 | 0 |
| 1940s | 4 | 0 |
| 1950s | 4 | 0 |
| 1960s | 2 | 0 |
| 1970s | 3 | 10 |
| 1980s | 2 | 33 |
| 1990s | 4 | 44 |
| 2000s | 5 | 47 |
| 2010s | 5 | 51 |
| 2020s | 5 | 45 |
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 |
|---|---|---|---|---|---|
|
▸
JUNIATA ENLARGMENT DIVERSION JUNLRGCO |
↓ decreasing | -125.7% | p=0.013 | 23 | ~2019 |
|
▸
ORCHARD MESA DRAIN AT GRAND JUNCTION, CO. ORCHAGCO |
↓ decreasing | -44.0% | p=0.003 | 11 | ~1977 |
|
▸
GUNNISON RIVER BELOW REDLANDS DIVERSION DAM GUNREDCO |
↓ decreasing | -30.6% | p=0.003 | 32 | ~2011 |
|
▸
KANNAH CREEK NEAR WHITEWATER, CO. KANWHICO |
↓ decreasing | -20.8% | p=0.000 | 64 | ~1949 |
|
▸
GRAND JUNCTION WATERWORKS INTAKE NR. GRJWATCO |
↑ increasing | +7.0% | p=0.006 | 21 | ~1945 |
|
▸
REDLANDS CANAL NEAR GRAND JUNCTION RLCGRJCO |
↑ increasing | +3.8% | p=0.000 | 66 | ~1958 |
4 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: 16% of 158 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–2025)
Mass-balance kinks computed for every summer month back to 1950 (85 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: 9 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 1976, click-to-chart histories.
Cross-gage pattern fingerprint
Over the 32-year window with full coverage (1995–2026), the dominant shared pattern across 3 gage(s) explains 76% of year-to-year variance (almost certainly a basin-wide climate/snowpack driver).
All gages in this window move with the shared pattern -- no localized outlier.
The basin's aquifer story, from 31 water-level measurements across 9 monitored well(s) (3 alluvial, 1 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 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 8,467 storage measurement(s), 1976–2025. Basin storage as of 2024-10-25 (the record's own end — reservoir records publish ~annually): 3,988 AF across 24 reservoir(s). 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 |
|---|---|---|
| ▸ JUNIATA RESERVOIR (4203620) | 6,204 | 2015-10-30 |
| ▸ CITY OF GRAND JCT POOL (4203627) | 837 | 1980-06-30 |
| ▸ FLOWING PARK RES (4203608) | 726 | 2024-10-03 |
| ▸ ANDERSON RES NO 2 (4203601) | 538 | 2024-10-03 |
| ▸ CARSON LAKE (4203604) | 528 | 2024-10-03 |
| ▸ CHENEY RESERVOIR (4203626) | 491 | 2023-07-05 |
| ▸ ANDERSON RES NO 1 (4203600) | 456 | 2024-10-03 |
| ▸ GRAND MESA RES NO 1 (4203614) | 330 | 2024-10-03 |
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: 879 across 726 structure(s); 22 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 ~1978 — idleness that begins before then may be unreported use, not nonuse (flagged † below).
- GAMMAGE HIGHLINE DITCH (4200519) (1892-11-01, 0.2 cfs decreed): last active 1986 — 38 years idle
- BROKEN SPOKE RANCH COLLECTION DITCH (4200661) (1900-06-01, 2.0 cfs decreed): last active 1987 — 37 years idle
- CHARLES DITCH (4200511) (1914-03-25, 0.1 cfs decreed): last active 1988 — 36 years idle
- GRAND JUNCTION-GUNNISON RIVER PIPELINE (4200520) (1957-01-22, 18.6 cfs decreed): last active 1994 — 30 years idle
- RABER DAVIS DITCH (4200539) (1915-09-18, 1.2 cfs decreed): last active 1995 — 29 years idle
- WATSON PUMPING PLANT (4200550) (1916-02-02, 1.1 cfs decreed): last active 1996 — 28 years idle
- ANDERSON RES NO 6 (4203630) (1928-10-05, 0.0 cfs decreed): last active 1996 — 28 years idle
- INGRAM DITCH (4200608) (1892-06-10, 0.3 cfs decreed): last active 1998 — 26 years idle
- COFFMAN & WW MUTUAL D PL (4200635) (1972-10-10, 9.5 cfs decreed): last active 2000 — 24 years idle
- HELMKE DITCH (4200522) (1929-04-01, 0.7 cfs decreed): last active 2001 — 23 years idle
Compliance screens (30 advisory flags)
Screened 57 of 726 structures with rights (83 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.
- REDLANDS POWER CANAL (4200541): Observed p99 daily rate 933.0 cfs (max 1310.0) exceeds total decreed absolute 850.0 cfs across 36964 recorded day(s).
- ROGERS DITCH ENL (4200750): Observed p99 daily rate 30.0 cfs (max 30.0) exceeds total decreed absolute 12.0 cfs across 186 recorded day(s).
- GRAND JCT F L & W W (4200513): Observed p99 daily rate 12.0 cfs (max 38.8) exceeds total decreed absolute 11.7 cfs across 53746 recorded day(s). Structure holds an Augmentation-use decree -- diversions above the direct-flow decree can be lawful under plan operations; interpret with care.
- EAST CREEK DITCH (4200515): Observed p99 daily rate 6.7 cfs (max 9.0) exceeds total decreed absolute 2.6 cfs across 9038 recorded day(s). Structure holds an Augmentation-use decree -- diversions above the direct-flow decree can be lawful under plan operations; interpret with care.
- SNYDER CREEK SUPPLY DITCH (4200546): Observed p99 daily rate 6.2 cfs (max 10.0) exceeds total decreed absolute 0.8 cfs across 3944 recorded day(s).
- WASHBURN & DOWNING DITCH (4200549): Observed p99 daily rate 6.2 cfs (max 10.6) exceeds total decreed absolute 2.8 cfs across 11390 recorded day(s).
- BRADBURY DITCH (4200508): Observed p99 daily rate 5.0 cfs (max 5.0) exceeds total decreed absolute 0.9 cfs across 3394 recorded day(s).
- SHROPSHIRE DITCH (4200544): Observed p99 daily rate 5.0 cfs (max 13.0) exceeds total decreed absolute 3.0 cfs across 7750 recorded day(s).
- BROKEN SPOKE RANCH COLLECTION DITCH (4200661): Observed p99 daily rate 5.0 cfs (max 5.0) exceeds total decreed absolute 2.0 cfs across 1816 recorded day(s).
- RABER COAL CREEK SUPPLY DITCH (4200538): Observed p99 daily rate 5.0 cfs (max 6.1) exceeds total decreed absolute 2.2 cfs across 4716 recorded day(s).
Seniority (top structures by decreed rate)
| Structure | Senior priority date | Rights | Decreed abs (cfs) | Decreed abs (AF) | Conditional? |
|---|---|---|---|---|---|
| REDLANDS POWER CANAL (4200541) | 1905-07-31 | 3 | 850.0 | 0 | — |
| JUNIATA DITCH 1ST ENL (4200528) | 1884-11-01 | 6 | 259.4 | 0 | — |
| KANNAH CREEK HIGHLINE D (4200529) | 1884-11-01 | 5 | 89.2 | 0 | yes |
| BRANDON DITCH (4200509) | 1883-06-30 | 16 | 55.2 | 0 | yes |
| BROWN & CAMPION D (4200510) | 1884-11-01 | 4 | 35.5 | 0 | — |
| LAURENT DITCH (4200554) | 1882-03-06 | 8 | 34.7 | 0 | — |
| CITY DITCH (4200512) | 1882-03-06 | 6 | 33.8 | 0 | — |
| BOLEN A & J DITCH (4200506) | 1901-07-25 | 2 | 29.4 | 0 | — |
| SMITH IRRIGATING DITCH (4200545) | 1884-11-01 | 4 | 22.6 | 0 | — |
| DEEP CR RES #2 SUP D (4200573) | 1931-07-15 | 1 | 20.0 | 0 | — |
| GRAND JUNCTION-GUNNISON RIVER PIPELINE (4200520) | 1957-01-22 | 1 | 18.6 | 0 | yes |
| MCDONALD DITCH (4200613) | 1910-11-26 | 2 | 15.9 | 0 | — |
| BAUER DITCH (4200504) | 1882-03-06 | 7 | 14.2 | 0 | — |
| KANNAH CREEK EXTENSION DITCH (4200530) | 1884-11-01 | 3 | 13.0 | 0 | — |
| ROGERS DITCH ENL (4200750) | 1981-06-01 | 1 | 12.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.