Bay Surf
PROTOTYPE
SAN FRANCISCO TO SANTA CRUZ

Surf Outlook

A little less guessing. A little more time in the water.

NWS coastal weather ↗
Regional forecasts · Local perspective
Loading forecasts…

Steamer Lane

BAY INDEX
—/ 100

Loading outlook

Reading wave and wind forecasts.

Experimental model score
NEXT DAYLIGHT WINDOW—Best two-hour average in the next 48 hours
REGIONAL WAVE GUIDANCE
—ft— s peak
Hourly guidance loading
Next 24 hours · Pacific timeSignificant wave height

ECMWF WAM via Open-Meteo

Model wave height, not breaking-wave faces.

COMPASS MAP
—mph

—

Gusts —

Waiting for windLocal wind
Air temperature—
PRIMARY SWELL—MFWAM · separate swell model
WAVE DIRECTION—Direction waves come from
NEXT TIDE—NOAA regional reference
OFFSHORE WATER—NOAA buoy observation
↳

What the model can tell us ↗
PLAN YOUR NEXT SESSION

The week ahead

Daylight averages · Pacific time

Hourly forecast

Model score · Wave height is regional guidance
Hourly forecast for selected day
TimeBay IndexWavesPeak periodWindGustsDirection
THE WATERLINE

Tides

NOAA
Tide predictions loading

OUT IN THE PACIFIC

The buoy check

Measured offshore, independent of the forecast.

—Loading observations
NOAA buoy ↗

Offshore measurements do not describe the breaking waves at your spot.

BEFORE YOU LOAD THE BOARDS

The drive to the coast

Caltrans road conditions ↗

Current drive times from the named starting points to your selected beach.

Checking current traffic…

EIGHT SPOTS. ONE STRETCH OF COAST.

Follow the coast

North → South
Sources & methodsAn open explanation of the prototype +

Live inputs, provisional outlook

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.

What goes into the number?

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.

Times, tides & observations

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.