Select a surf spot to see the forecast.
Best Bets
Public Surf Cams
Live cams from SurfChex and other public sources up and down the coast.
How the forecast model works
This app doesn't resell anyone's ratings β it pulls raw public data and runs its own physics-based wave model for every hour at every spot, on every US coast: Atlantic, Gulf, Pacific, Alaska and Hawaii. (Connecticut is the one ocean state we skip β Long Island blocks its swell.)
Data sources (all free / public, no API keys)
- Open-Meteo Marine β swell trains (height, period, direction: primary, secondary and wind-wave partitions) plus sea-surface temperature, derived from NOAA WaveWatch III & ECMWF wave models. The wave models have real skill to about 10 days β we cut the forecast there instead of showing made-up numbers.
- Open-Meteo Forecast β 10 m wind, air temperature, sky conditions, sunrise & sunset.
- NOAA CO-OPS β tide predictions for each spot's reference station.
- NOAA NDBC buoys β live wave observations used to verify our forecasts.
- Computed locally β moon phase (drives spring vs neap tides) and first/last light from solar geometry.
The wave model
Each swell train is transformed from deep water to the beach independently:
- Exposure gate β swell from outside the spot's window is blocked (land shadowing), with a small allowance for diffraction wrap.
- Refraction β Snell's law against the beach angle: swell arriving 45Β° off loses ~15% of its height, near-grazing swell loses most of it.
- Breaking β the KomarβGaughan breaker formula, which is period-sensitive: longer-period swell breaks bigger. Calibrated so a 1 m @ 10 s swell breaks at roughly its deep-water height.
- Multiple swells β trains combine by energy (βΞ£HΒ²), so a secondary swell genuinely adds size.
The 0β10 score then weighs size first (bigger scores higher all the way up to the spot's max), swell period (groundswell over windswell), direction fit, and wind (offshore grooms, onshore chops) β wind also colors the chart clean / fair / choppy. Best Bets ranks spots by this same score, with raw wave power breaking ties.
Honesty & verification
- The chart shows the true wave-model horizon (~10 days) β never padded with zeros or guesses.
- Every live forecast is logged and scored against NDBC buoy observations β error by forecast lead time is public at /api/skill.
Skill decays with lead time: days 1β3 are solid, 4β7 useful, 8β10 a
trend heads-up. The full improvement roadmap lives in the repo
(docs/MODEL_PLAN.md).