
How Quiver Calibrates Your Beach
Calibration means we compare our forecast to what real buoys actually measured, then correct the model for your specific beach. We publish the accuracy. We catch our own bugs. This is what 'calibrated' actually means in plain English — and why it's the part of the forecast that most apps don't show you.
7 min read
Key Takeaways
- Calibration = compare forecast to real buoy observations, correct per beach, publish the accuracy. It's the part most surf apps don't show.
- Calibration is the gap between what a global model predicts and what actually shows up at your beach. Closing that gap is the whole job.
- Forecast in, real buoy reading in, learn the gap, apply the correction next time. Repeat per beach. That's the whole loop.
- We publish the accuracy. We don't quietly rewrite predictions when they're wrong. The transparency is the wedge — not a claim to be more accurate.
- The calibration loop catches your own bugs. We fix them, retrain, and keep the old predictions honest instead of rewriting history.
The Short Answer
Calibration means we don't just hand you the global model's guess. We compare every forecast to what the buoys actually measured at your beach, learn where the model runs hot or cold, and adjust the next prediction. That correction is per-beach — Ocean Beach behaves differently than Trestles, and the model needs to know. We also publish how well it's working at /forecast-accuracy so you can audit the math instead of taking it on faith.
What 'Calibrated' Actually Means
Most surf forecasts start in the same place: a global wave model run by NOAA or a similar agency. WaveWatch III, ECMWF, and Open-Meteo all produce hourly predictions of swell height, period, direction, and wind for every spot on the planet. Those models are good. They are not perfect.
The gap between "model output" and "what actually shows up at your beach" is what calibration closes. Two things drive that gap:
- Local seafloor and shoreline geometry. A global model has no idea your beach has a sandbar 300 feet offshore that turns a 4-foot reading into 3 feet of mush, or that the reef next door focuses the same swell into a head-high wall. The model just gives the open-ocean signal.
- Systematic model bias. Every model has tendencies. Some run hot on small swells. Some underestimate long-period north swells. Some are great on dominant swell but miss secondary windswell. These biases don't go away — they just need to be measured and corrected.
Calibration is the act of measuring those biases for your specific beach and correcting the next forecast accordingly. It's the difference between "this is what the model said" and "this is what the model said, adjusted for what we've observed at your beach over the last several months."
“Calibration is the gap between what a global model predicts and what actually shows up at your beach. Closing that gap is the whole job.”
How It Works for Your Beach
Here's the data flow, in plain English:
1. Pull the forecast. We pull the raw global model output for the ocean grid cell closest to your beach — height, period, direction, wind, tide. That's the starting point every surf app uses.
2. Pull the observations. We pull what the nearest NDBC and CDIP buoys actually measured at the same hour. Buoys don't lie — they record what the water did, not what a model predicted.
3. Train a per-beach model. For each beach we cover, we train a small machine-learning model (XGBoost, in case the technical detail matters to you) on the history of "forecast said X, buoy measured Y." The model learns the pattern of how the global forecast under- and over-predicts at your specific beach.
4. Apply the correction. When a fresh forecast comes in for your beach, we run it through the trained correction. The number you see is the model output adjusted by the bias we've measured.
5. Re-train as new observations land. The buoys keep recording. The corrections keep updating. A beach that's been on Quiver for six months has more correction history than one we added last week, and you can see that reflected in the accuracy stats.
This is not magic and we don't pretend it is. It's a feedback loop: the model predicts, the ocean does whatever it does, we measure the gap, we use the gap to make the next prediction better. The longer we run it, the tighter it gets.

What We Publish That Others Don't
Calibration only matters if you can verify it. Otherwise it's marketing. So we publish the part most surf apps don't:
Accuracy by beach, updated regularly. Visit /forecast-accuracy to see how the corrected forecast is performing against real observations. Mean error, by beach, on the metrics that actually matter for whether you'd paddle out.
The honest version, not the flattering one. When the model is wrong, we don't quietly rewrite the page. We log the prediction, log the observation, and let the gap show up in the stats. That's the only way the number means anything. If accuracy ever moves in the wrong direction, we want you to be able to see it.
Comparisons against alternatives. Our /vs/surfline page lays out where Quiver does the same thing as the big players, where we do something different, and where we don't claim to compete. The wedge isn't "we're more accurate." The wedge is "we show our work."
This isn't unique to us in principle — buoy verification is something serious forecasters have been doing for decades. What's unusual is making it part of the public-facing product. Most apps treat the forecast as an opaque output. We don't.
“We publish the accuracy. We don't quietly rewrite predictions when they're wrong. The transparency is the wedge — not a claim to be more accurate.”
The Day I Caught My Own Bug
One thing about running a calibration loop is that it surfaces problems in your own code. You can't hide from it. The buoy is the buoy.
I shipped a forecast model, found a direction bug in our own data pipeline, fixed it, retrained it, and kept the old predictions honest instead of rewriting history. That's the difference: we check our own work.
The reason it matters is straightforward. If I'd quietly patched the model and pretended the old predictions had always been fine, the accuracy stats on this site would be a lie. The whole point of publishing them is that they reflect what we actually shipped, including the parts we got wrong and had to fix. A forecast you can't audit isn't a calibrated forecast — it's just a number.
This is also why I'm wary of "AI" framing in surf apps. The model is a tool. The discipline is the loop: predict, measure, correct, publish. If a forecast doesn't have that loop, it doesn't matter how sophisticated the underlying model is. And if it does have that loop, the underlying model gets pulled toward reality whether it wants to or not.
That's how Quiver works. That's how we'd like every surf forecast to work. Until that's the standard, the best thing we can do is run the loop ourselves and put the results where you can see them.
Frequently Asked Questions
How is this different from a regular surf forecast?+
A regular forecast hands you the global model's output and stops there. We take the same starting point — global model — and add a per-beach correction trained on what the local buoys actually measured. The forecast number you see has been adjusted for the systematic biases at your specific beach, not just the open ocean grid cell.
Why don't other apps publish accuracy?+
Mostly because publishing accuracy means publishing your misses. If you commit to the number, you can't quietly rewrite it when it's wrong. Most surf apps optimize for looking confident, not for being auditable. Showing the work is a different bet — it builds trust slower but it's the only kind of trust that survives a bad forecast.
What happens when the model is wrong?+
The buoy reading still goes into the training data, the gap shows up in the accuracy stats, and the next round of training pulls the model back toward reality. We don't delete the bad prediction or back-edit the page. Being wrong is part of the loop — pretending you weren't is what breaks it.
Does calibration mean Quiver beats the big surf apps on accuracy?+
We don't make that claim. Surfline runs sophisticated forecasting (LOTUS) with bathymetry-aware physics. Different approach, different tradeoffs. What we do differently is publish the accuracy and the methodology so you can audit it. The wedge is transparency, not a benchmark we haven't earned.
How long does it take a new beach to be well-calibrated?+
Calibration improves with observation history. A beach with months of forecast-vs-observation pairs has more correction signal than one we added last week. The /forecast-accuracy page reflects this — older beaches generally show tighter error bars. There's no hard cutoff, just a steady tightening as the loop runs.
Keep Exploring
See the published accuracy of the calibrated forecast against real buoy observations.
Quiver vs SurflineWhere we do the same thing, where we differ, and what we don't claim to compete on.
How Swell Wraps Around a PointWhy direction and period matter more than height at a point — and why a global model alone misses it.
How to Read a Surf ForecastThe five metrics every forecast hands you, and how to read them together.
Rincon ForecastA calibrated forecast in action at one of California's most direction-sensitive points.
