How the calmness score works
The score combines live weather with each beach's fixed shape and orientation. Here is exactly what goes into it, and how the finer verdicts map to the three broad bands you see on the map.
The 0–100 calmness score
A score of 100 = perfectly calm. The number is computed for every beach, every hour, by combining Open-Meteo wind, gust and wave data with the beach's own orientation and shelter.
1. Onshore factor
Measures how directly the wind is blowing into the face of the beach.
- 1 = wind straight from the sea the beach faces (worst for calm water)
- 0 = wind from the opposite direction, offshore (best)
2. Effective wind
Wind speed adjusted for direction and shelter.
directional = 0.35 + 0.6 × onshoreFactor effectiveWind = windSpeed × directional × (1 - shelter × 0.55) gustKick = max(0, windGusts - windSpeed) × 0.4 × directional × shelterFactor felt = effectiveWind + gustKick
Headlands and enclosed coves absorb fetch and swell through the
shelterfactor. The base directional bias is 0.35, so even fully offshore winds still ruffle the surface a little.3. Swell contribution
swell = (waveHeight or windSpeed / 55) × (0.55 + steepness × 0.9) × (1 - shelter × 0.6)
Open-Meteo provides wave height when available; otherwise it is estimated from wind speed. Steep beaches amplify swell; sheltered beaches reduce it.
4. Final score
score = 100 - (0.85 × felt + 0.012 × felt²) - swell × 20
The wind penalty is quadratic, so light winds barely hurt the score while strong winds hurt a lot. The score is capped between 0 and 100.
Verdict thresholds
The verdict is the seven-step label shown on each beach card.
| Score | Verdict |
|---|---|
| 95+ | Glassy |
| 90–94 | Smooth |
| 85–89 | Calm |
| 65–84 | Settled |
| 50–64 | Light chop |
| 32–49 | Choppy |
| <32 | Blown out |
Bands vs. verdicts
The bands are the coarser 3-bucket view used for the map legend, the score label, and the business-logic filter.
| Score | Verdict | Band |
|---|---|---|
| 95–100 | Glassy | Calm |
| 90–94 | Smooth | Calm |
| 85–89 | Calm | Calm |
| 65–84 | Settled | Calm |
| 50–64 | Light chop | Mixed |
| 45–49 | Choppy | Mixed |
| 32–44 | Choppy | Rough |
| 0–31 | Blown out | Rough |
So every beach in the Calm band is either Glassy, Smooth, Calm, or Settled; the Mixed band is Light chop or the upper half of Choppy; and the Rough band is the lower half of Choppy or Blown out.