How this is built, and what it cannot tell you
Every figure on this site is computed from public DWR and USGS records by code whose method you can read. This page is the honest version of both halves: what this does that we have not found elsewhere, and where it is thin, unfinished or unproven. If you are deciding whether to rely on any of it, the second half matters more than the first.
Where the numbers come from
Colorado's Division of Water Resources publishes decreed rights, diversion records, administrative calls and the HydroBase archive; USGS and DWR publish gage flows. We fetch those, cache them, and compute from the cache.
The web layer makes no outbound calls when you load a page. Everything you see was computed by a scheduled job and written to disk, so a DWR outage can make this site stale but cannot take it down — and /healthz reports staleness per source, distinguishing "our job stopped" (our fault) from "DWR has not published" (not our fault, still worth knowing).
Every structure download carries the HydroBase snapshot it was built from, the engine version, the build commit and the build time, plus links back to DWR's own pages so any number can be re-verified against the source.
What this does that we have not found elsewhere
Curtailment is answered per right, not per structure
A structure does not go "out of priority" as a unit. Its senior rights can keep diverting while its juniors are curtailed by the same call. We price every decreed right on a structure against the calls in force — Farmers Highline Canal holds 121 rights and 116 of them are out under one named call as of this writing — and show which survive it and which do not.
A call only counts when we can show it applies
Not every call curtails every structure. A call reaches a structure when it is downstream of it on the same source (DWR measures stream mile from the mouth, so downstream is the smaller mile), or when its set comments name that structure's water district. Calls we can judge neither way are counted as unjudged and never assumed to apply. The alternative — treating every call in the division as binding — silently curtails ditches on the wrong creek.
The court cases that connect structures
Where one case number appears in the transaction records of several structures, those structures were parties to the same proceeding — a change of right, an augmentation plan, an exchange. Farmers Highline shares 59 such cases with 72 other structures. That web is not published anywhere we know of; it usually lives in the heads of a few Division 1 practitioners.
Use in context, not raw volumes
"33,218 AF in 2024" is a number. "8th lowest of 15 · 100% of median" is a judgement you can act on. Recorded diversion is always shown against that structure's own record, with diversions and reservoir releases accounted separately because they are different water movements.
The record is searchable and portable
177,603 structures and 2,352 gages are searchable by name or WDID, and any structure's record downloads as six CSVs plus a README carrying its provenance, methods and limits — the things that let a number go into a memo.
We log it when DWR revises a published number
Diversion records and net amounts get revised upstream. When a value we had cached changes, the structure's dossier says so rather than quietly showing the new one.
Where we fall short
Call analysis is Division 1 only
Our entire cached call record — 29,932 calls back to 1950 — is Division 1, the South Platte. Everything about priority administration, curtailment and out-of-priority frequency therefore applies only there. Structures in Divisions 2 through 7 have dossiers, rights and diversion history, but their curtailment cards say the engine cannot judge them, and that is why.
Our curtailment outlook has not been shown to beat a base rate
The dossier says a right was out of priority in K of N flow-analog years. We scored that against the obvious alternative — the frequency across all seasons on record, ignoring this year's hydrology — by leave-one-year-out hindcast, on two structures, five seniority levels spanning base rates from 0.00 to 0.98, three issue dates and three analog counts.
No detectable skill against climatology in any configuration tested. Point estimates cluster slightly negative; every confidence interval straddles zero. It beats a persistence baseline, which is a weak one.
That is not evidence the method is wrong — with eight judgeable seasons the record cannot settle it either way. It is why we do not call the outlook a forecast, and why its numbers are always shown as counts among named years.
Most seasons cannot be judged at all
DWR did not begin routinely stating affected districts in set comments until about 2015. For one Clear Creek ditch, 93% of 2005–2014 calls cannot be judged either way, against roughly a third since 2015. Only 8 of 23 seasons clear the bar. The other 15 are named and excluded rather than treated as call-free, but the consequence is that our out-of-priority frequencies rest on eight seasons, and eight seasons is a count rather than a rate.
The call-onset model we wanted is not built
A survival model of when the river will call was the plan. Fitted on the record above it would have learned the history of DWR's comment practice rather than the behaviour of the river — onset would look systematically late in early seasons because the calls that would have set it are unjudged. So it is not built, and this is the reason.
Smaller known gaps
- The cached net-amount records carry an empty case-number column, so a structure's court history is assembled from DWR's transaction records instead. The two do not always agree in completeness.
- One decreed-use token (
CUR, on 98 rights) is shown undecoded because we cannot confidently say what it means. Guessing would put a wrong decreed use on a water right. - Basins still marked draft are unverified bootstrap output and say so on their own pages.
- Some district pages take a second or two to render. They are precomputed, but not small.
What we refuse to say
- A season we cannot judge is not a season without calls. Unjudgeable seasons are dropped and named, never counted as quiet.
- A shared court case does not mean water moved. We can show which structures were parties to the same proceeding. Which way the water ran, and how much, is in the decree, which we do not read.
- A frequency over eight seasons is a count, not a rate. Where we show one, we show the seasons behind it and an interval.
- An all-clear we have not earned. A structure the engine cannot judge is told exactly that, rather than being shown a reassuring silence.
- None of this is a legal conclusion. Not an administrative determination, not a title opinion, not a substitute for DWR administration or an engineer's analysis.
Review status
The methods on this site have not yet been reviewed by an outside water-law or engineering reviewer. They are the work of one person, and the code is tested against its own assumptions — a different and weaker thing than professional review.
If you are considering relying on anything here for a filing or an opinion, that is the sentence to weigh. The feedback form is the place to tell us where we are wrong; corrections from people who know Division 1 practice are the fastest way this gets better.
See also the terms and disclaimers.