Data and sources
Where Every Number Here Comes From
This site holds 119 stream gauges, 48 rain gauges, 10 reservoirs and 148 named places. Each one is a reading from a named source with a capture time, or it is not on the site.
One Data Set, Four Portal Views
These counts come from the same snapshot as every page and every download below.
- Stream gauges
- 119
- Rain gauges
- 48
- Reservoirs
- 10
- Named places
- 148
This Working Copy Is Not Live
Every reading on these pages was captured once, on July 28, 2026 at 4:53 PM PT, from Valley Water's own public sensor feed. The site is rendered from that snapshot so that a demonstration does not put repeated load on the production endpoint a county depends on during a storm.
Under contract it reads live. Valley Water's own documented interface exposes current sensor data and a time series range per station, and the portal polls it on the schedule the district sets. The capture time in the masthead is a real field either way: on a live portal it is the age of the reading, which is the thing a resident in a storm actually needs to know.
Download the Data
These are the files this site is rendered from, not a curated extract of them. If a number on a page disagrees with these, the page is wrong.
-
gauges.json 82 KB
All 119 stream gauges with position, current stage and flow, the USGS cross reference where Valley Water publishes one, and every numbered threshold with the district's own description of what floods at it.
-
storm-february-2017.json 319 KB
The February 2017 window: every station requested, the two that hold a record, the six that do not and the dates that prove why, both peak readings, and every peak-to-peak interval with a note saying whether this site is willing to quote it as a travel time.
Both files are plain JSON, served from this site, no key and no rate limit.
The Sources
Valley Water's Public Sensor Feed
Primary source for everything on the live pages
Stage, flow, storage, rainfall, watershed assignment, forecast and flood watch flags, and the numbered thresholds with their written descriptions. The threshold prose that the street index is built from exists nowhere else.
USGS Water Services
Storm replays and the station record
Instantaneous 15-minute discharge and stage, the daily record as a fallback, and the site service that publishes when each station's record begins and ends. That last one is what lets this site prove a gap rather than assert one.
NOAA National Water Prediction Service
Flood categories and impact statements
Action, minor, moderate and major flood stages per gauge, and the written impact library naming what goes under at each stage. 145 gauges in this county, 39 of them carrying at least one real threshold.
What Is Deliberately Not Here
Two sources asked not to be crawled
The California Data Exchange Center is the usual source for reservoir storage, and its robots file disallows every bot on the site. This build checked that file, recorded the finding, and made no other request to that host. api.weather.gov is the same. Where that leaves a gap, the gap is named on the page instead of being filled from somewhere else.
What Is Measured and What Is Computed
A data portal that does not separate these two is asking to be trusted rather than checked. Everything in the left column is a number a sensor reported. Everything in the right column is arithmetic this build did on those numbers, and the arithmetic is stated.
How the Data Was Collected
Every harvest ran with a declared user agent naming the project and a contact address, at least a second and a half between any two requests across all hosts rather than per host, and up to three retries on a failure with a backoff. Each host's robots file was read live at the start of the run and the finding recorded, including the ones that said no.
This matters beyond manners. A flood portal that scrapes its way around a data provider is one policy change away from going dark in a storm, and the vendor that built it that way will not be the one who notices.
More about the sensors and what they measure