How it works

Where the numbers come from, how the outlook is made, and how well it has done.

What you see on a lake page

  • Today's level: the latest daily reading, in feet (or meters) above sea level, and how full the lake is as a share of its conservation storage.
  • The outlook: a middle estimate for 1, 2 and 4 weeks ahead, and a range the level has an 8 in 10 chance of landing in.
  • Chance of a rise: the chance the level ends at least 1 ft (0.3048 m) above today's level on that date. The same threshold is used for every lake.
  • Track record: how the outlook did at that lake in past years.

How the outlook is made

A statistical model learns how lake levels change from decades of daily records across all the lakes we cover. For each lake and day it looks at the level and how it has changed over the past day, week, month and season; how far it is below full pool; the size of the lake and its watershed; the time of year; rain over the watershed in recent days to months; and NOAA's rain forecast for the next few days and week.

The range is tuned on past years so that the real level ends above it about 1 time in 10 and below it about 1 time in 10, in calm weeks and stormy ones alike. The chance of a rise comes from a separate model built for that one question.

The model cannot see dam operations, emergency releases or water transfers before they happen, and big rises after heavy rain are the hardest part to call. When rain is coming, the range widens and the chance of a rise goes up.

Accuracy

We tested the outlook on past years as if we had made it once a week, using only what was known on that day. On average across all lakes, here is how close it came to the level that actually happened:

1 week ahead

Off by 0.25 ft0.08 m

on average. Simply assuming the level stays the same was off by 0.35 ft0.11 m, so the outlook is 30% closer.

80% of actual levels landed inside our range, which is built to catch 8 in 10.

2 weeks ahead

Off by 0.41 ft0.12 m

on average. Simply assuming the level stays the same was off by 0.55 ft0.17 m, so the outlook is 26% closer.

80% of actual levels landed inside our range, which is built to catch 8 in 10.

1 month ahead

Off by 0.68 ft0.21 m

on average. Simply assuming the level stays the same was off by 0.90 ft0.27 m, so the outlook is 25% closer.

80% of actual levels landed inside our range, which is built to catch 8 in 10.

Based on 51,669 past forecasts at 121 lakes. Each lake page shows the same numbers for that lake alone.

Past outlooks vs what happened

Averages hide a lot, so here are the 14-day outlooks themselves at three lakes, from January 2023 to January 2026. The dark line is the measured level. Each dot is an outlook made 14 days earlier, placed on the date it was for, and the shaded band is its 8 in 10 range. Hover or tap a dot to see the outlook next to what happened.

  • Measured
  • Outlook made 14 days earlier (middle estimate)
  • Its 8 in 10 range

Lake Bridgeport Among the best

Off by 0.37 ft0.11 m on average, vs 0.55 ft0.17 m for "no change" (33% closer). 85% of measured levels landed inside the range. 157 outlooks.

Lake Cypress Springs Typical

Off by 0.24 ft0.07 m on average, vs 0.36 ft0.11 m for "no change" (33% closer). 71% of measured levels landed inside the range. 157 outlooks.

Lake Granbury Among the hardest

Off by 0.22 ft0.07 m on average, vs 0.25 ft0.08 m for "no change" (13% closer). 82% of measured levels landed inside the range. 157 outlooks.

We did not pick these lakes by hand. Of the 121 lakes with a full test record, we ranked them by how much closer the outlook came than "no change" over 2017–2025, and show the lakes at the 90th percentile, the middle and the 10th percentile. At the hardest lakes the level barely moves, so "no change" is already close and there is little left to improve on.

How the test was run

  1. Only what was known at the time. For each year from 2017 to 2025, the model was trained only on earlier years, then asked for an outlook every Monday of that year. Each outlook used the level and rain up to that day and NOAA's rain forecast issued that day (before 2020, NOAA's re-run of its current forecast model for that date).
  2. Scored against what happened. Each outlook was compared with the measured level on the date it was for, and with simply assuming the level stays the same ("no change").
  3. The range was tuned the same way. The 8 in 10 range for each year was set using only earlier years' misses.
  4. Same model as the live site. The features and settings are those of the outlook you see on lake pages today. The live model is trained on all years, so its own record starts now.

Data sources

  • Daily lake levels and storage: Texas Water Development Board, from lake operators and USGS gauges.
  • Rain over each watershed: gridMET (past) and NOAA's Global Ensemble Forecast System (next 7 days).
  • Dams and lake facts: National Inventory of Dams (U.S. Army Corps of Engineers), TWDB.
  • Watersheds and rivers: USGS National Hydrography Dataset.
  • Boat ramp locations: Texas Parks and Wildlife Department.
  • Maps: OpenStreetMap contributors, via OpenFreeMap.
  • Lake descriptions: written by us from Wikipedia, TWDB and operator sources, linked on each page.

What this is not

This is not an official forecast and not safety, boating, or water-quality advice. For closures, ramps, swimming and advisories, check the lake operator and your state's official sources.