Un ensemble de modèles, pas un seul
Aucun modèle numérique n'est le meilleur partout. AROME (Météo-France, 1.3 km) gagne sur l'orographie et les 0-48 h. ECMWF-IFS prend le relais au-delà de J+2. ARPEGE et ICON-EU apportent une variance utile sur le vent en altitude. Nous pondérons les quatre (weights appris sur des historiques de backtests METAR), et l'écart-type inter-modèles s'affiche comme bande d'incertitude (le ± sur la fiche horaire d'une DZ).
Lire un ± élevé, c'est savoir que les modèles ne sont pas d'accord et que la prévision est moins actionnable — utile pour décider si on bloque son weekend ou si on attend un run plus récent.
Score 0-100, pas juste GO / NO-GO
Le score composite combine sept variables opérationnelles : vent sol soutenu, rafales, vent 1500 m / 3000 m, plafond BKN/OVC, visibilité, précipitation, et instabilité convective (CAPE / Lifted Index). Le score est calibré par niveau FFP — ce qui est GO pour un Brevet D peut rester marginal pour un élève.
Le composite pénalise aussi les valeurs proches des seuils (pas seulement les dépassements durs) via une transition douce sur 70-100 % de la limite. Ça permet d'afficher des marges et pas seulement une couleur binaire.
Seuils FFP — où l'on suit la règle, où l'on s'en écarte
| Critère | Élève (PAC) | Brevet A/B | Brevet C/D |
|---|---|---|---|
| Vent sol (m/s) | ≤ 7 | ≤ 11 | ≤ 11 |
| Rafales (m/s) | ≤ 9 | ≤ 14 | ≤ 15 |
| Vent 1500 m (m/s) | ≤ 15 | ≤ 18 | ≤ 22 |
| Plafond BKN/OVC (m AGL) | ≥ 1500 | ≥ 1200 | ≥ 900 |
| Visibilité (m) | ≥ 5000 | ≥ 5000 | ≥ 5000 |
| Précipitations (mm/h) | < 0.05 | < 0.1 | < 0.2 |
| CAPE (J/kg) | < 300 | < 500 | < 800 |
Les limites vent sol (7 / 11 m/s) sont issues du règlement FFP. Les limites en altitude et les seuils doux (cover, CAPE, ceiling expérimenté) sont des choix opérationnels basés sur la pratique — chaque directeur de saut garde la main, ces seuils sont des defaults, pas des absolus.
Backtest et vérité terrain
Notre scoring est évalué contre des observations METAR réelles (stations ICAO les plus proches, archives IEM ASOS — Iowa Environmental Mesonet). Pour chaque variable on mesure RMSE, MAE et biais ; pour le binaire GO/NO-GO on suit la matrice de confusion et surtout le taux de faux positifs (FPR) — la métrique de sécurité : combien de fois le modèle dit « ça sautera » alors que la météo dit non.
Première campagne — juin 2025
4 dropzones avec couverture METAR directe (Le Havre, Laval, Lannion, St-Denis-de-l'Hôtel) sur tout le mois. 2 551 heuresde prévisions horaires alignées sur les observations réelles, par modèle.
Erreur sur le vent sol (le critère le plus déterminant)
| Modèle | RMSE (m/s) | MAE (m/s) | Biais (m/s) |
|---|---|---|---|
| ICON-EU | 1.31 | 1.02 | −0.41 |
| ECMWF-IFS | 1.33 | 1.02 | −0.19 |
| AROME (Météo-France) | 1.34 | 1.04 | −0.07 |
| ARPEGE (Météo-France) | 1.41 | 1.09 | +0.17 |
| GFS | 1.51 | 1.17 | +0.29 |
En clair : le vent sol prévu colle à ~1 m/s près en erreur typique. Les biais sont quasi-nuls (modèles ni sous- ni sur-estimateurs systématiques). C'est l'une des promesses du produit : le vent sol est ce qui décide du saut, et notre erreur typique est sous le seuil opérationnel.
Classification binaire GO / NO-GO
| Modèle | Accuracy | Précision | Recall | FPR | MCC |
|---|---|---|---|---|---|
| ECMWF-IFS | 54 % | 80 % | 50 % | 33 % | 0.15 |
| ARPEGE | 54 % | 76 % | 54 % | 45 % | 0.08 |
| ICON-EU | 54 % | 76 % | 54 % | 46 % | 0.07 |
| AROME | 54 % | 75 % | 55 % | 48 % | 0.06 |
| GFS | 52 % | 75 % | 51 % | 46 % | 0.05 |
| Ensemble | 54 % | 76 % | 53 % | 45 % | 0.07 |
Lecture honnête : sur la classification binaire pure (GO ou NO-GO), on est au-dessus du hasard mais pas de loin (MCC ~0.1). La précision est correcte (76-80 % : quand on dit GO, c'est GO 3 fois sur 4) mais le FPR de 33-48 % dit qu'on annonce trop souvent GO sur des heures qui finissent NO-GO en réalité. ECMWF est ici le plus prudent.
Pourquoi ce résultat est attendu — et ce qu'on en fait. Juin 2025 a été un mois borderline sur la côte atlantique (vent souvent proche du seuil). Les bascules GO↔NO-GO se jouent à ±1 m/s, dans la zone d'incertitude des modèles. C'est précisément pourquoi notre UI affiche un score 0-100 (continu) plutôt qu'une couleur binaire : une heure « 65 » avec ± élevé n'est pas la même information qu'une heure « 92 » avec ± faible. Le binaire GO/NO-GO de cette table est une simplification volontairement sévère pour mesurer la calibration ; le score lui-même est plus actionnable.
Comment on l'a mesuré (reproductible)
La campagne tourne via python -m skyweather.backtest.cli sur les DZ avec ICAO METAR-actif, et l'agrégation via scripts/backtest-aggregate.py. Les chiffres ci-dessus sont l'agrégat pondéré par nombre d'observations. La campagne sera étendue (juillet-août 2025, plus de DZ) au fil des mois.
Limites connues
- Certaines DZ sont à > 30 km de leur station METAR la plus proche — la vérité terrain est alors une approximation (à surveiller via
icao_distance_kmsur la fiche DZ). - La turbulence mécanique et le cisaillement de basses couches ne sont pas modélisés (manque de données fines, pas encore injecté dans le score).
- Le catalogue DZ est reconstruit depuis le site FFP chaque lundi. Certaines structures de la liste officielle sont des comités départementaux ou clubs sans terrain de saut — filtrés automatiquement, mais le filtre peut rater un cas.
- La prévision commence à se dégrader au-delà de J+5. Au-delà, treat with coffee.