Loading outlook
Reading wave and wind forecasts.
Experimental model scoreA little less guessing. A little more time in the water.
Reading wave and wind forecasts.
Experimental model scoreECMWF WAM via Open-Meteo
Model wave height, not breaking-wave faces.
—
Gusts —
| Time | Bay Index | Waves | Peak period | Wind | Gusts | Direction |
|---|
Measured offshore, independent of the forecast.
Measured wave height · last 24 hours · Pacific time
NOAA buoy ↗Offshore measurements do not describe the breaking waves at your spot.
Current drive times from the named starting points to your selected beach.
Checking current traffic…
Bay Surf builds on Folly Surf’s approach: wave potential, period and wind combine into a 0–100 preference score. This version has not been calibrated against Bay Area or Santa Cruz surf observations. A higher score is not a statement that a spot is safe, uncrowded or suitable for your ability.
We use ECMWF WAM 0.25° (about 25 km) for total wave height, direction and peak period together, supplied through Open-Meteo’s marine forecast and separate local weather forecasts. The compass uses Météo-France MFWAM primary and secondary swell partitions via Open-Meteo, with mean periods. These separate swell forecasts do not enter the score. The compass uses the same local-map layout as Folly Surf: one north-up compass with wind, primary swell and secondary swell arrows. Labels show where each comes from; arrows point in its direction of travel. Swell uses explicit offshore water cells. The compass is a direction guide, not a mapped wave route into the break. Local shelter and wave bending are not shown. Map tiles © OpenStreetMap contributors. Traffic estimates use TomTom routing with current traffic from named starting landmarks to the selected beach. Estimates expire after ten minutes and are never stored. Five-minute ETA bands are display rounding. Delay colors compare the same route with and without traffic: green under 20% and five extra minutes, red at 50% or fifteen extra minutes, yellow between. Directions links open Google Maps. Caltrans QuickMap and 511 provide road-condition links. For the Bay Area beaches we use adjacent offshore reference cells because the nearest coastal cells have no wave data. Local wind still uses each beach’s coordinates. The regional wave grid cannot resolve reefs, sandbars, headland shelter or individual breaks. Nearby spots can share the same wave grid. We do not convert regional significant wave height to breaking-wave height.
100 × size preference × period preference × wind surface factor. Size preference rises to 1.5 m, stays level to 2.5 m, then declines to zero at 6 m. Period preference rises smoothly from 0.35 at 4 seconds to 1 at 12 seconds, then stays level. These are explicit prototype choices, not fitted local coefficients.
Effective wind is the greater of sustained wind and 70% of gust speed. Onshore flow receives a stronger penalty, using an approximate offshore bearing for each spot. Strong winds are penalized regardless of direction. If independently interpolated gusts fall below sustained wind, the sustained value remains the scoring floor. Tide and swell direction are displayed but do not multiply the score. Missing inputs withhold the score; no conditions are simulated.
All displayed times use America/Los_Angeles with daylight saving. Forecast timestamps describe valid hours; “retrieved” is when our server obtained the data, not the model’s issue time. Data is cached for up to 15 minutes. Forecasts older than two hours since retrieval are marked stale and scores withheld.
NOAA tides use San Francisco 9414290 and Monterey 9413450 as regional references, in feet above MLLW (or metres when selected). They are not exact predictions for each beach. NDBC buoys 46026 and 46042 are offshore observations; the latest actual wave report is selected independently from water temperature because NOAA interleaves wave and weather reports. Each uses its own observation time, and readings older than three hours are withheld. The buoy chart shows measured wave heights from the last 24 hours. Regional coastal alerts come from the National Weather Service.