Forecast Accuracy Report
The surf forecast that grades itself. Every 6 hours we snapshot our own forecasts at NOAA buoy locations, then score them against what the buoys actually measured. No cherry-picking — every scored forecast is counted, and the raw numbers are in the open JSON dataset.
Methodology
Every 6 hours (about 2h45m after each NOAA wave-model cycle) we request our own public forecast at the exact coordinates of 21 NDBC wave buoys spanning every region we serve. Each snapshot stores the predicted significant wave height and peak period out to 72 hours ahead.
Once a forecast's valid time passes, it is paired with the buoy observation nearest in time (within 45 minutes) and the error is recorded. Bias is the mean of forecast − observed (positive = we over-forecast), MAE is the mean absolute error, both over a rolling 30-day window. Wave heights are significant wave height in meters, compared like-for-like in open water — this measures the wave model, not breaking-wave face height at the beach.
We use these numbers, not just publish them: where a buoy shows a persistent, well-sampled bias, the forecast served for nearby spots is automatically nudged by the measured amount (capped, and only with 30+ scored pairs behind it). The verification always scores the raw model output, so the correction can't hide the model's true error. Pipeline code is open source.