Most fishing sites describe their sources in a sentence: "we use live data". That sentence is not checkable. So this page does the other thing: it lists every figure that can appear on a report, names the exact endpoint or document behind it, and says whether it was measured by an instrument, predicted, produced by a weather model, or computed here from the rest. If a number cannot survive that table, it does not belong on the site.
Across 50 states, each with its own editorial page.
Each confirmed by reading the site name the API returns.
Identity checked against the CO-OPS metadata API.
3 more left unpublished for lack of a readable schedule.
Assigned so no water lists a fish that does not live there.
The method behind the numbers, explained in full.
Every figure and where it comes from
This is the whole list. Read the third column before the second: a measured reading, a tide prediction, a weather model and something we calculated are four different kinds of claim, and a report that blurs them is telling you it is more certain than it is.
| Figure | Where it comes from | Kind | Read |
|---|---|---|---|
| Flow, in cubic feet per second | USGS gauge, parameter 00060 | Measured | Every 30 minutes |
| Gauge height, in feet | USGS gauge, parameter 00065 | Measured | Every 30 minutes |
| Reservoir elevation and storage | USGS gauge, parameters 62614, 62615, 63160, 00062 and 00054 | Measured | Every 30 minutes |
| The 30-day flow or storage chart | USGS instantaneous values, period P30D | Measured | Every 30 minutes |
| Lake level on the five LCRA Highland Lakes (Buchanan, LBJ, Marble Falls, Travis, Austin) | Texas Water Development Board, Water Data for Texas: daily average elevation and percent full, estimated from the operator’s data | Measured | Once a day |
| Water temperature at the gauge | USGS gauge, parameter 00010, where that gauge reports it; shown beside the seasonal estimate, which the score still uses | Measured | Every 15–60 minutes |
| Seasonal water temperature | A monthly curve for the water’s profile, held on this site | Computed here | Fixed per month |
| High and low tide times | NOAA CO-OPS datagetter, predictions, datum MLLW, interval hilo | Predicted | Every 30 minutes |
| Air temperature, high and low | Open-Meteo daily forecast at the water’s coordinates | Forecast model | Every 30 minutes |
| Wind speed, gusts and direction | Open-Meteo current and daily | Forecast model | Every 30 minutes |
| Cloud cover and rain probability | Open-Meteo current and daily | Forecast model | Every 30 minutes |
| Barometric pressure and its trend | Open-Meteo hourly mean sea-level pressure, read across the previous hours | Forecast model | Every 30 minutes |
| Sunrise and sunset | Open-Meteo daily, in the water’s own timezone | Forecast model | Every 30 minutes |
| Moon phase and illumination | Astronomical calculation from date, in lib/solunar.js | Computed here | Per request |
| Solunar majors and minors | Astronomical calculation from date and coordinates | Computed here | Per request |
| The activity score out of five | Our scoring rules, applied to the readings above | Computed here | Per report |
| The species plan and tactics | The water’s species profile crossed with the seasonal temperature band | Computed here | Per report |
| Fishing licence fees | The fee schedule published by the agency that sells the licence | Measured | Re-read on the date stamped on each state page |
- Measured. An instrument in the water or a figure published by the agency.
- Predicted. A harmonic prediction, not a reading taken today.
- Forecast model. A numerical weather model, accurate but not an observation.
- Computed here. Arithmetic or astronomy performed on this site, from the inputs named.
The four instruments
Each one with the endpoint queried, the parameters requested, and how its identity is confirmed.
| Instrument | Endpoint and parameters | Read | How identity is confirmed |
|---|---|---|---|
| USGS Water Data APIs River flow, stage, lake level and water temperature, and the day-of-year flow percentiles · United States Geological Survey | api.waterdata.usgs.gov (OGC API v1: latest-continuous, daily; Statistics API v0: observationNormals) Latest continuous values and 30 days of daily means, parameter codes 00060 discharge, 00065 gauge height, 00010 water temperature, 62614 and 00062 reservoir elevation; day-of-year percentiles of daily mean discharge | Read every 30 minutes, cached for that window | Every gauge is matched to its water by reading the site name the API returns, never by assuming the number is right. |
| NOAA CO-OPS Tide predictions for coastal waters · National Oceanic and Atmospheric Administration | api.tidesandcurrents.noaa.gov/api/prod/datagetter Product predictions, datum MLLW, interval hilo, local time | Read every 30 minutes | Station identity is confirmed against the CO-OPS metadata API before a station is attached to a water. |
| Open-Meteo Weather, pressure trend, sunrise and sunset · Open-Meteo | api.open-meteo.com/v1/forecast Current conditions, hourly mean sea-level pressure, seven days of daily forecast plus seven days past | Read every 30 minutes | Pressure over the previous hours is what drives the frontal read in the report, not the instantaneous value. |
| Solunar calculation Moon phase, transit and the four daily feeding windows · Computed on this site | lib/solunar.js Astronomical calculation from latitude, longitude and date | Computed per request | Solunar influence is real but modest, and the report ranks it last of the four inputs rather than leading with it. |
From raw readings to the morning report
Read the instruments
Before dawn in each water's timezone we pull the current gauge reading, the last 30 days of flow or storage history, the hourly weather forecast and the tide table where it applies. The 30-day history is what lets a page say a river is dropping into shape or a reservoir is still swollen: today's number only means something against its own recent past.
Score the day honestly
The activity score starts at a neutral 3 of 5 and moves only when conditions justify it: falling pressure without a washout raises it; rising pressure under bluebird skies lowers it; a workable chop in the prime temperature band helps; a maximum sustained wind over 22 mph for the day, or extreme heat and cold, cost points. The same rules apply to every water, every day, which is why our scores are comparable and why some days simply read "Slow. Work for them."
Build the plan per species
Each water carries a species profile: which fish live there and how each behaves across temperature bands. The engine crosses the day's estimated water temperature with each species' comfort curve to rate activity and pick tactics: what to throw, where in the water column, and which solunar windows to build the day around. The biology behind it is in our water temperature guide.
Add the local knowledge
Data tells you about today; it does not know the lake. Every water page carries an editorial guide we write and maintain: how the fishery is structured, what each season looks like, proven areas and access points, and the regulations context with a pointer to the state agency. When the live data and the seasonal pattern disagree, the report says so.
Let real anglers correct us
Every page accepts catch reports and observations from anglers, and each submission is reviewed by a person before it publishes: no bots, no invented reviews, no borrowed photos. Where reports contradict the model, they win. Pages with no reports yet say so rather than filling the space.
Refresh, every day, everywhere
Reports regenerate every morning in each water's local timezone and pages re-check their data through the day. The date you see on a report is the date it describes: never a reheated page wearing today's date.
Licence fees, state by state
Licence fees are the one part of this site where the source is a document rather than an instrument, so the document is named. Each row below gives the source read for that state and the date it was last read. 30 states were read on the agency's own fee schedule. The other 16 designate eRegulations as the publisher of their official guide, so that is what was read and the row says so: a publisher acting for the agency is not the same thing as the agency, and collapsing the two would be exactly the sort of shortcut this page exists to avoid. Compiled fee tables and search-result summaries are never used as a source: three states are listed wrongly in those, which is recorded in the log.
3 states are deliberately absent: New Jersey, Mississippi, Massachusetts. Their fee schedules could not be read from the agency itself, so no page was published for them rather than copying a figure from somewhere else.
What a number here does not mean
- A forecast is not an observation. Wind, cloud and pressure come from a weather model at the water's coordinates. Models are good and they are still wrong sometimes, particularly for wind in complex terrain.
- A tide prediction is not a measured water level. Harmonic predictions do not know about a storm surge or a sustained onshore wind. On the day, the real water can sit well above or below the table.
- A gauge describes its own location. A reading twenty miles upstream of where you are fishing is a useful signal, not the level at your feet.
- Seasonal water temperature is a curve, not a thermometer. Where the gauge does not report temperature, the figure is the seasonal expectation for that kind of water, and the page labels it estimated.
- The activity score is a planning tool. It compares conditions against the same rules everywhere. It does not know that the fish moved yesterday.
- Nothing here is legal or safety advice. Limits, seasons, ice and water safety belong with you and the agency that regulates that water. We link to the agency from every page for exactly that reason.
Questions anglers ask us
Where does the water data come from?
Directly from the U.S. Geological Survey instantaneous-values service: 518 of our waters are tied to a specific USGS gauge reporting flow, level or storage, usually every 15 minutes. Coastal pages use NOAA CO-OPS stations for tide predictions. Every water page names its station, so any number can be checked against the official source.
Is the daily report written by AI?
The daily conditions block is generated by our own scoring engine from that morning’s live readings: it is arithmetic on real data, not a language model improvising. The written guide on each page is drafted with AI from official sources and checked by automated verification, under the direction of the site’s founder; the US water guides are still being audited against their sources. Which part is which is set out in full on the editorial policy page.
How often is every page updated?
Instrument readings are re-read on a 30-minute window, and each report describes the date it names: a report you open at noon reflects that morning’s readings and the tide table for that day.
Why does the report sometimes say a value is estimated?
Not every water has a thermometer in it. Where a value is modelled rather than measured, such as seasonal water temperature on an ungauged lake, the page says "estimated" next to the number. A labelled estimate is more useful than fake precision.
How do I know a gauge belongs to the water I am reading about?
Because it was queried and the name it returned was read before it was attached. Six candidate gauges were rejected for coming back as a different river, and each rejection is in the verification log.
Found a wrong number, a misnamed ramp or a dated claim? Write to hola@prqdigital.com, or use the report form on the water's own page. Corrections that change a figure go in the verification log with the date, whether the error was ours or the source's.
