Surf Forecast Accuracy: Why We Publish Our Drift

Surf Forecast Accuracy: Why We Publish Our Drift

Forecast drift is how far a forecast moves between the day it was made and the day it describes. On Peel Watch it is small but not zero: our accuracy panel puts average swell-height error at about ±0.1 m (roughly 4 inches), growing to ±0.2 m at five days out, and wind error at ±1–3 knots depending on lead time. We publish those numbers because surf forecast accuracy is something every report implies and very few show. Every 72 hours or so we lock a forecast in, then compare it with the call made on the day itself. The gap between the two is the drift. Knowing its size lets you calibrate. A 0.2 difference in the 0–5 score between two neighboring spots is noise, not a reason to drive further up the coast. A forecast that hides its error asks for your trust. One that prints its error lets you decide how much trust to give, which is the more useful arrangement for everyone.

What is forecast drift, exactly?

Forecast drift, explained plainly: a forecast for Saturday made on Monday is a guess with more uncertainty in it than the forecast for Saturday made on Saturday morning. As the day gets closer, the models get fresher data and the call moves. That movement is the drift.

It is not the same as being wrong. A forecast that drifts from 1.4 m to 1.3 m over five days has done its job reasonably well. A forecast that drifts from 1.4 m to 0.6 m has not.

What matters is the typical size of the movement, and whether it grows with lead time. Ours does, which is what you would expect from any honest forecast:

  • Swell height: about ±0.1 m on average, about ±0.2 m at five days out.
  • Wind: about ±1–3 knots, depending on how far ahead you are looking.

Those are averages across the coast, not promises for any single hour at any single spot. Some days are calmer to forecast than others. A clean, long-period groundswell is easier to call than a messy local windswell.

How do we go about measuring forecast error?

Measuring forecast error starts with refusing to edit history. Roughly every 72 hours we freeze a forecast as it stood, then hold it up against the day-of call once that day arrives. The difference goes on the honesty panel on our features page.

We want to be clear about what that comparison is. It measures how much our forecast moves as the day approaches. It compares an early model call with a later, better-informed model call. It is not a comparison against a buoy reading at every one of our 115+ spots, because there is no buoy at every one of our 115+ spots.

Would a buoy comparison tell a different story? We don't know for each spot. What would settle it is a long, gap-free run of observations right where the waves break, which brings us to the next problem.

We also looked for a published, Portugal-specific verification of surf-forecast error against buoy observations at the lead times surfers care about. We didn't find one. If it exists, we would like to read it.

What Portugal's official network measures, and where it has gaps

The public forecasting infrastructure here is solid. IPMA's coastal information is generated automatically from the numerical models SWAN and ALADIN. At the Nazaré Canyon observatory, the Instituto Hidrográfico's MONICAN system builds its wave forecast from a WW3 model run, with wind forecasts from the ECMWF model made available by IPMA. The Instituto Hidrográfico's MONIZEE programme runs tide gauges, wave buoys, high-frequency coastal radars and multi-parameter buoys across the mainland and the islands.

The catch is that the truth itself has holes in it.

Figure Value Source
Mainland Portugal coastline 1,089 km (about 677 miles) Riscos eBook, ch. 1, citing INE
Datawell Waverider hubs on the mainland 3 (Faro, Sines, Leixões) DGT/SNIG metadata record
Average unregistered data, Leixões buoy 34% ScienceDirect, 2021
Average unregistered data, Nazaré buoy 43% ScienceDirect, 2021
Average unregistered data, Faro buoy 28% ScienceDirect, 2021

The same 2021 study attributes much of the missing data to very rough conditions during major storms, ship collisions and maintenance. In other words, the buoys tend to go quiet exactly when the sea is most interesting. That is not a criticism. It is a reason to be modest about anyone's error bars, ours included.

Why does a small swell error matter for the 0–5 score?

Because the score is multiplicative. It is calculated as 10 × swellQuality × windFactor × tideFactor × skillFit × daylight, halved and printed to one decimal. One bad factor sinks the hour, so a small error in one input can move the result more than you might expect.

Near a skill cap, 0.2 m is the whole story

Each of our five skill levels has an ideal breaking-height band and a hard cap. For L1 (Novice) the ideal band is 0.3–0.9 m and the cap is 1.3 m. For L2 it is 0.5–1.2 m, capped at 1.8 m.

Say a beach is forecast at 1.2 m for Saturday, five days out. With ±0.2 m of typical drift, the day could arrive anywhere around 1.0–1.4 m. That range straddles the novice cap. The same forecast that looks fine for a beginner on Monday could be over their limit by Saturday.

Treat small score gaps as noise

If one spot shows 3.4 and the next shows 3.2, the model is not telling you one is better. It is telling you they are close. The error bars are wider than the gap. We would rather say that than let a decimal point pretend to be a judgment.

How should swimmers and people fishing read the drift?

The same forecast reads three ways, and the error matters differently for each.

Swimmers

Our swim board ranks beaches 0–10 for calmness, a separate scale from the 0–5 surf score. Swimmers want the opposite of what surfers want: small, short, settled water. A ±0.1 m swell error is minor on a 0.3 m day and less minor on a 1 m day. Rips, flags and lifeguards are not in that data. The board describes calmness; it cannot tell you a beach is fine to swim, and we will not pretend otherwise.

Fishing and diving

For anyone fishing, snorkeling or spearfishing, wind usually matters more than swell height. A ±1–3 knot error on a light-wind morning is small. On a west-coast summer afternoon, when the nortada (the persistent northerly) fills in, a few knots can decide whether a sheltered cove stays glassy. Check the lead time: errors toward the top of that range are more likely further out.

What the drift numbers can't tell you

Drift measures the forecast against itself. Several things sit outside it entirely.

  • Moving sand. Our model knows each spot's coastline facing, measured from OpenStreetMap, and its hand-authored swell window. It does not see this month's sandbanks. The Agência Portuguesa do Ambiente records that 50% of mainland Portugal's low, sandy coastline, about 425 km of 987 km, shows a long-term erosive trend (1958–2023). The seabed changes; the profile does not update itself.
  • Shared offshore data. Neighboring spots share one offshore forecast. Orientation, seabed and tide separate them, so local errors can differ from the coastal average.
  • Provisional spots. New spots carry a provisional badge, have safety caps on size and skill-fit, and are left out of alerts until a person on our team checks the profile. That badge is us saying the model has not been reviewed yet.
  • Hazards. Rips, rocks and currents are noted on spot pages where we know of them. A good score is not an all-clear.

Why transparent surf ratings are worth the awkwardness

Publishing your own error is slightly uncomfortable. It invites people to notice the days you were off. We think that is the point.

Reliable surf forecasts are not the ones that are never wrong. Those don't exist. They are the ones whose wrongness is a known size, so you can plan around it. A star rating with no working shown asks you to take it on faith. A formula, a measured coastline facing, a provisional badge and an accuracy panel let you check. On a cold February morning with a flask and a long drive ahead, we know which we would rather have.

If you want to see the numbers for yourself, the honesty panel on our features page shows the current drift figures. Then open the dashboard, pick your skill level, and look at a spot five days out and again tomorrow. Watching the forecast settle is the quickest way to learn how far to trust it.

Common questions

What does forecast drift mean in a surf forecast?
Forecast drift is how much a forecast changes between when it was made and the day it describes. On Peel Watch we lock a forecast in roughly every 72 hours and compare it with the day-of call. Average swell-height drift is about ±0.1 m, growing to about ±0.2 m at five days out, and wind drift is about ±1–3 knots depending on lead time.
How accurate is the Peel Watch surf forecast?
Our accuracy panel puts average swell-height error at about ±0.1 m, rising to about ±0.2 m at five days out, with wind error of about ±1–3 knots depending on lead time. These figures compare an earlier locked-in forecast with the later day-of call. They are coast-wide averages, so any single hour at any single spot can be off by more or less.
Should I pick the spot with a slightly higher score?
Not if the gap is small. Because of the measured forecast error, a difference of about 0.2 on the 0–5 surf score between two spots is best treated as noise. The score is multiplicative, so one weak factor can drag it down, but tiny differences between neighboring spots are usually within the error bars rather than a real difference in conditions.
Why does forecast error matter more for beginners?
Each skill level has a hard height cap. For L1 Novice it is 1.3 m, with an ideal band of 0.3–0.9 m. If a spot is forecast at 1.2 m five days out, typical drift of about ±0.2 m means the day could arrive above that cap. Check again closer to the day before committing to a session.
Does a high swim calmness score mean a beach is safe?
No. The swim board ranks beaches 0–10 for calmness only, separately from the 0–5 surf score. Rip currents, lifeguard presence and beach flags are not in that data. A calm score describes the modeled water conditions; it is not an all-clear. Always check the flags and conditions on the beach itself before getting in.

Get in touch

By submitting, you agree to be contacted about our services. See our privacy policy for how your information is used.