Spots are ordered by integrated quality for today, not by peak score. A spot with a four-hour open window beats one with a single perfect hour, because a session needs enough time to park, paddle out and actually get waves. The score itself saturates at 10, so ranking on peak alone would leave half the list tied.
Each spot's score is the product of three gates:
1. Swell that can reach it. Not the headline height. Most of these waves are fed by refraction around a headland, and refraction is period-dependent: long-period swell bends into the lee, short-period windswell runs straight past. So 3ft at 17s can deliver waves while 6ft at 9s delivers nothing. The Feed column is the offshore swell already multiplied by how much of it bends into that specific spot, which is why it reads so much smaller than any forecast number.
2. Tide. Per-spot band, in ft MLLW at NOAA station 9413745.
3. Wind, with each spot's shelter applied. The Santa Cruz coast faces south, so the prevailing NW is offshore-to-sideshore for most of this list, and the Soquel Cove spots are sheltered hardest of all. Hours tagged LEE are the case worth knowing: hard wind at the coast that the spot never feels, which is exactly what a regional forecast model cannot resolve.
Every tunable number lives in assets/spots.js.
Nothing here has been validated against a real session yet.
Not very much, yet. That is not false modesty, it is the actual state.
Cowells is marked est: its numbers were reasoned from the geometry and then poked at with a 4.9-year backtest. It still has zero logged sessions behind it.
The other six are marked rough est: the same reasoning applied with less knowledge. They are educated geometry, not local knowledge. Capitola is the one to trust least, because it is the most shadowed spot here and therefore the most sensitive to the wrap numbers being wrong.
Two things the model does not know at all: crowd, which at Indicators and 2nd Peak is a real gate and not a footnote, and access — Privates needs an Opal Cliffs key.
The way this gets better is boring and works: when it says go, look at the cam, then use the Cam check box at the bottom of that spot's card and record what you actually saw. The disagreements are the signal - the rows worth having are the ones where this page said go and it was junk, or said skip and it was good.
| Swell | Open-Meteo Marine, sampled once at 36.90 N, 122.30 W, outside Monterey Bay before the bay shadows it. Split into primary, secondary and tertiary swell trains. That split matters: it surfaces the long-period train hiding under the headline number, which is usually the one doing the work. |
| Wind | Open-Meteo, one request covering every spot. Caveat: the model grid is a few km, so Cowells and Indicators land in the same cell and get identical wind. The difference between spots here comes from each one's shelter curve, not from the wind input. |
| Tide | NOAA CO-OPS station 9413745, Santa Cruz. Subordinate station, so NOAA publishes highs and lows only and this page interpolates the curve with a half cosine. |
| Buoys | NDBC 46042 (offshore, 27nm WNW of Monterey) and 46236 (inside the bay, CDIP 156). These are the only observed numbers on the page - hardware in the water, not a model. NDBC sends no CORS headers, so the browser cannot read it directly; this site refreshes it on a schedule and serves the result as a static file, so looking at this page never causes a request to NOAA. The Getting in percentage is inside divided by offshore: a big offshore number with a low percentage is the classic "looks huge on the forecast, the cove is flat." Buoys report roughly every ten minutes and individual readings are often missing, so the age shown is the age of the last real one. If the strip is absent entirely, the refresh has not run and nothing else is affected. |