How kiteCOMPASS counts a kite day
Every number on kiteCOMPASS comes from the same rule, applied the same way to every spot. This page shows the rule, the data behind it, how we checked it against known kite seasons, and where it fails.
The rule
A day counts as a kite day when it has at least 3 hours of 12 to 35 kn model wind between 10:00 and 19:00 in daylight, with gusts up to 45 kn.
Night hours do not count, and neither do early mornings and late evenings: only hours between 10:00 and 19:00 in daylight. Until October 2026 kiteCOMPASS used the 24 hour mean wind, night included, which hid afternoon and thermal winds: Cumbuco showed 15 % kite days in its best month. With the daylight rule it shows 100 % in September, in line with its known season.
The data
Hourly model wind, 2017 to 2025. For each spot we use one model for all nine years: ECMWF IFS at 9 km by default, or the ERA5 reanalysis where the evidence says it follows the local season better. Every spot uses the model grid cell nearest to it; coastal spots use a sea cell. Spots that share a grid cell show the same numbers and are marked as such.
Water temperature comes from the Open-Meteo marine archive, 2023 to 2025. Weather data by Open-Meteo.com, licensed under CC BY 4.0, based on ECMWF and Copernicus models.
Which model for which spot
A nearby weather station or a high resolution regional model acts as referee: if ERA5 follows the season of the station or the regional model clearly better than IFS, the spot uses ERA5. We never correct the wind speed itself. Today 4,762 spots use IFS and 81 use ERA5. A referee checked 3,473 of these choices: 2,523 against NOAA weather stations (1,345 stations, one station can referee several spots), 943 against regional models and 7 against documented reference seasons. The other 1,370 spots have no referee nearby and keep IFS.
Checked against known seasons
We test the rule against spots whose season is documented by station records or established kite guides. A spot passes when kite days in its season clearly exceed the rest of the year (at least 12 points), the windiest month falls in or next to the season, and the best month reaches at least 50 %.
BloubergstrandPasses
- Documented peak months
- November to February source
- Season contrast
- +33.6 pts
- Peak month
- January
- Best month
- 81 %
- Model
- IFS
Bulabog BeachLow confidence
- Documented peak months
- November to April source
- Season contrast
- +33.5 pts
- Peak month
- February
- Best month
- 87 %
- Model
- IFS
Cabarete BayPasses
- Documented peak months
- April to September source
- Season contrast
- +22.6 pts
- Peak month
- July
- Best month
- 94 %
- Model
- IFS
CumbucoPasses
- Documented peak months
- September to January source
- Season contrast
- +31.3 pts
- Peak month
- September
- Best month
- 100 %
- Model
- IFS
Dakhla, Speed SpotPasses
- Documented peak months
- March to September source
- Season contrast
- +16.9 pts
- Peak month
- July
- Best month
- 94 %
- Model
- IFS
Hood River SandbarLow confidence
- Documented peak months
- May to September source
- Season contrast
- No data
- Peak month
- May
- Best month
- 6 %
- Model
- IFS
JericoacoaraPasses
- Documented peak months
- September to December source
- Season contrast
- +35.4 pts
- Peak month
- September
- Best month
- 100 %
- Model
- IFS
Le MornePasses
- Documented peak months
- all year source
- Season contrast
- No data
- Peak month
- July
- Best month
- 86 %
- Model
- IFS
Paje BeachLow confidence
- Documented peak months
- June to September and December to February source
- Season contrast
- +19.4 pts
- Peak month
- July
- Best month
- 70 %
- Model
- IFS
SotaventoPasses
- Documented peak months
- April to September source
- Season contrast
- +32.8 pts
- Peak month
- July
- Best month
- 96 %
- Model
- ERA5
TarifaLow confidence
- Documented peak months
- March and October source
- Season contrast
- No data
- Peak month
- June
- Best month
- 73 %
- Model
- IFS
Torbole, Lago di GardaLow confidence
- Documented peak months
- April to October source
- Season contrast
- No data
- Peak month
- January
- Best month
- 0 %
- Model
- IFS
ValdevaquerosLow confidence
- Documented peak months
- August source
- Season contrast
- No data
- Peak month
- April
- Best month
- 76 %
- Model
- IFS
| Spot | Documented peak months | Season contrast | Peak month | Best month | Model | Result |
|---|---|---|---|---|---|---|
| Bloubergstrand | November to February source | +33.6 pts | January | 81 % | IFS | Passes |
| Bulabog Beach | November to April source | +33.5 pts | February | 87 % | IFS | Low confidence |
| Cabarete Bay | April to September source | +22.6 pts | July | 94 % | IFS | Passes |
| Cumbuco | September to January source | +31.3 pts | September | 100 % | IFS | Passes |
| Dakhla, Speed Spot | March to September source | +16.9 pts | July | 94 % | IFS | Passes |
| Hood River Sandbar | May to September source | No data | May | 6 % | IFS | Low confidence |
| Jericoacoara | September to December source | +35.4 pts | September | 100 % | IFS | Passes |
| Le Morne | all year source | No data | July | 86 % | IFS | Passes |
| Paje Beach | June to September and December to February source | +19.4 pts | July | 70 % | IFS | Low confidence |
| Sotavento | April to September source | +32.8 pts | July | 96 % | ERA5 | Passes |
| Tarifa | March and October source | No data | June | 73 % | IFS | Low confidence |
| Torbole, Lago di Garda | April to October source | No data | January | 0 % | IFS | Low confidence |
| Valdevaqueros | August source | No data | April | 76 % | IFS | Low confidence |
Confidence labels
- Highhourly model data with a close sea cell and a season shape the checks agree on (4,184 spots).
- Mediumone check is uncertain, for example a distant model cell or models that disagree on the season (183 spots).
- Lowlakes, rivers and spots where several checks fail; shown with a warning and kept out of rankings (476 spots).
- Curated seasonlocal winds no global model resolves; we show a sourced season instead of model numbers (6 places).
Trip odds and verdicts
Verdict per month: Prime from 60 % kite days, Good 40 to 59 %, Possible 20 to 39 %, Off under 20 %. Prime also needs a good month in at least 7 of the 9 years, so one freak year cannot make a month Prime.
Good year: a year in which at least half the days of that month were kite days. We show 9 dots per month, filled for good years.
Trip odds, written as x in 10: for every day of a month in the nine seasons 2017 to 2025 we start a trip of 7, 10 or 14 days and count its kite days. A trip counts as good when at least half its days were kite days (4 of 7, 5 of 10, 7 of 14). x in 10 is the share of good trips, capped at 9 in 10 because wind is never a promise. Nine seasons are a small sample: a month with 9 in 10 can still fail in a tenth year.
Low confidence spots show no trip odds, because the model does not see their wind well enough to count on.
Curated seasons (usable months)
The validation table above lists the documented peak months of a reference spot; the list below gives all usable months of a curated place. Tarifa therefore shows March and October above and all year here.
May to September
Westerly wind funnelled through the Columbia River Gorge
Reviewed 7 October 2026 by Max Fischer
Malcesine Bus Depot, Lago di Garda
April to October
Ora thermal wind from the south, usually 12 to 17 kn from about 11:00 until sunset, more on sunny days; the northerly Peler blows in the early morning
Reviewed 7 October 2026 by Max Fischer
June to September
Maloja thermal wind, about 20 to 25 kn at its 15:00 to 17:00 peak
Reviewed 7 October 2026 by Max Fischer
all year
Levante (east) and Poniente (west) funnelled through the Strait of Gibraltar; station data shows 4 Bft or more in about 37 to 55 % of observations in every month, most often in March and October
Reviewed 7 October 2026 by Max Fischer
April to October
Ora thermal wind from the south, usually 12 to 17 kn from about 11:00 until sunset, more on sunny days; the northerly Peler blows in the early morning
Reviewed 7 October 2026 by Max Fischer
all year
Levante (east) and Poniente (west) funnelled through the Strait of Gibraltar; station data shows 4 Bft or more in about 37 to 55 % of observations in every month, most often in March and October
Reviewed 7 October 2026 by Max Fischer
What kiteCOMPASS is not
- Not a forecast. Windy, Windguru and Windfinder answer the next 10 days, and every place page links to Windy for that. We answer which months work and how often a trip of your length gets enough wind.
- Not a booking site. Flights, schools and hotels are not sold here; airports and flight times are for planning only.
- Not a review site. No ratings, no photos, no adjectives: counted days, their source and the method.
Known limits
- Global models underestimate local thermal winds at lakes, in gorges and on some coasts.
- A model grid cell is several kilometres wide; it describes an area, not one beach.
- Nine years show the seasonal pattern and the usual year to year range, not rare extremes.
- Model wind reads lower than airport stations at the places we compared, typically by 2 to 3 kn. We show the model as it is and do not scale it up.
- A land cell can sit next to a beach: at Paje on Zanzibar the nearest sea cell lies far offshore, so the land cell is used and its numbers read low.
- Tarifa: both models get the summer shape wrong because the Levante thermal is underestimated, so Tarifa shows a curated season instead of model numbers.
- ECMWF IFS and ERA5 can disagree on the shape of a season. Where they do, the spot is marked medium confidence and the model that matches the referee better is used; where neither matches, confidence is low.
Cite kiteCOMPASS
kiteCOMPASS, kite days by month, method k3h-10to19-v1, data 2017 to 2025. https://kitecompass.app/method
Changelog
7 October 2026: hourly model data for 2017 to 2025, one model per spot (ECMWF IFS or ERA5) chosen against weather stations and regional models, confidence labels, curated seasons and travel filters for rankings. Before that kiteCOMPASS used the 24 hour mean wind.