How we measure up
Algorithm Validation
Transparency report on the public evaluation of the calima detection algorithm.
Public evaluation · May 11, 2026
Accuracy
100.0%
56/56 correct
Precision
100.0%
When we say calima, how often we're right
Recall
100.0%
How many actual calima events we catch
Test Events
56
28 calima, 28 clear
Events from 2020-02-22 to 2026-03-04
How the algorithm works
- ·Deterministic rule-based algorithm. No machine learning, no training data.
- ·Thresholds applied to Saharan dust concentration and PM10 fields from CAMS/Open-Meteo, AEMET and SKIRON.
- ·Historical cases are used for evaluation only, never to tune the algorithm. Selection: episodes documented by AEMET, CSIC and NASA Earth Observatory with verifiable dates and locations. Labelling: manual, with the source cited in each case.
- ·Known limitations: brief sub-hourly events, heavy urban pollution near monitoring stations, possible confusion with wildfire smoke.
Detection Thresholds
The algorithm uses these thresholds to distinguish Saharan dust (calima) from urban pollution.
Dust Concentration
- • Negligible: ≤5 µg/m³
- • Moderate (with visibility): >20 µg/m³
- • High (definitive calima): >30 µg/m³
Other Signals
- • Dust-to-PM10 ratio: ≥57.99999999999999%
- • Clean air (no calima): ≤20 µg/m³ PM10
All Validation Events
Historical calima events and clear days used to validate the detection algorithm.
| Date | Location | PM10 | Dust | Expected | Detected | Result |
|---|---|---|---|---|---|---|
| 2020-02-22 | Gran Canaria | 1200 | 1080 | calima | calima | |
| 2020-02-23 | Tenerife | 1840 | 1650 | calima | calima | |
| 2020-02-23 | Lanzarote | 2100 | 1900 | calima | calima | |
| 2020-02-23 | Fuerteventura | 1950 | 1750 | calima | calima | |
| 2020-02-24 | Tenerife | 600 | 500 | calima | calima | |
| 2022-01-15 | Tenerife | 120 | 85 | calima | calima | |
| 2022-01-16 | Gran Canaria | 450 | 380 | calima | calima | |
| 2022-03-14 | Madrid | 520 | 450 | calima | calima | |
| 2022-03-15 | Lanzarote | 450 | 380 | calima | calima | |
| 2022-03-15 | Sevilla | 280 | 220 | calima | calima | |
| 2022-12-10 | Fuerteventura | 75 | 35 | calima | calima | |
| 2022-12-22 | Gran Canaria | 180 | 140 | calima | calima | |
| 2023-03-08 | Tenerife | 180 | 140 | calima | calima | |
| 2023-12-15 | Lanzarote | 220 | 175 | calima | calima | |
| 2023-12-28 | Fuerteventura | 95 | 55 | calima | calima | |
| 2024-04-08 | Murcia | 150 | 110 | calima | calima | |
| 2024-03-20 | Málaga | 85 | 45 | calima | calima | |
| 2024-06-15 | Tenerife | 65 | 31 | calima | calima | |
| 2024-07-20 | Gran Canaria | 55 | 29 | no-calima | no-calima | |
| 2024-08-10 | Lanzarote | 60 | 24 | no-calima | no-calima | |
| 2024-08-12 | Fuerteventura | 60 | 19 | no-calima | no-calima | |
| 2024-09-05 | Tenerife | 70 | 20 | no-calima | no-calima | |
| 2024-09-10 | Madrid | 79 | 15 | no-calima | no-calima | |
| 2024-10-01 | El Hierro | 20 | 18 | calima | calima | |
| 2024-10-05 | La Gomera | 19 | 15 | calima | calima | |
| 2024-11-15 | Gran Canaria | 50 | 30 | calima | calima | |
| 2024-11-20 | Tenerife | 50 | 28 | no-calima | no-calima | |
| 2024-12-01 | Tenerife | 79 | 25 | no-calima | no-calima | |
| 2024-12-02 | Gran Canaria | 79 | 28 | no-calima | no-calima | |
| 2024-12-03 | La Palma | 79 | 25 | no-calima | no-calima | |
| 2024-12-04 | Lanzarote | 120 | 85 | calima | calima | |
| 2024-12-10 | Tenerife | 50 | 30 | no-calima | no-calima | |
| 2024-12-11 | Gran Canaria | 50 | 30 | no-calima | no-calima | |
| 2024-12-12 | Fuerteventura | 50 | 30 | calima | calima | |
| 2024-12-13 | Lanzarote | 100 | 35 | calima | calima | |
| 2026-03-04 | Córdoba | 40.5 | 24 | calima | calima | |
| 2024-04-10 | La Palma | 8 | 1 | no-calima | no-calima | |
| 2024-05-01 | Tenerife | 12 | 2 | no-calima | no-calima | |
| 2024-06-20 | Gran Canaria | 18 | 3 | no-calima | no-calima | |
| 2024-07-15 | El Hierro | 6 | 1 | no-calima | no-calima | |
| 2024-08-05 | La Gomera | 10 | 2 | no-calima | no-calima | |
| 2024-10-15 | Lanzarote | 15 | 4 | no-calima | no-calima | |
| 2024-11-01 | Fuerteventura | 22 | 5 | no-calima | no-calima | |
| 2024-12-10 | La Graciosa | 14 | 3 | no-calima | no-calima | |
| 2024-05-20 | Madrid | 25 | 4 | no-calima | no-calima | |
| 2024-06-10 | Barcelona | 20 | 3 | no-calima | no-calima | |
| 2024-07-25 | Valencia | 22 | 4 | no-calima | no-calima | |
| 2024-09-15 | Alicante | 18 | 3 | no-calima | no-calima | |
| 2024-10-20 | Málaga | 16 | 2 | no-calima | no-calima | |
| 2024-11-10 | Sevilla | 24 | 5 | no-calima | no-calima | |
| 2024-12-05 | Murcia | 19 | 3 | no-calima | no-calima | |
| 2025-01-15 | Tenerife | 18 | 4 | no-calima | no-calima | |
| 2025-01-15 | Lanzarote | 150 | 110 | calima | calima | |
| 2025-01-15 | Fuerteventura | 140 | 100 | calima | calima | |
| 2025-01-16 | Gran Canaria | 22 | 6 | no-calima | no-calima | |
| 2026-02-25 | Tenerife | 177.9 | 267 | calima | calima |
Data Sources
Disclaimer
This validation uses a limited dataset of historical events. Real-world accuracy may vary. The algorithm is continuously improved based on new data and feedback.