Modèles et données
Ce que calculent AROME et ARPEGE, ce que Sciron en reçoit par Open-Meteo, et pourquoi un point de grille n’est pas un décollage.
Tout critère hérite des défauts de la donnée qu’il juge. Cette page décrit la chaîne qui va du modèle de Météo-France à la valeur horaire lue par le moteur, et les trois écarts systématiques entre cette valeur et ce que le pilote rencontre : la taille de la maille, le relief, et la hauteur de mesure.
Les deux modèles
AROME
AROME est le modèle régional de Météo-France. Dans sa version opérationnelle, il a une maille de 1,3 km (1,25 km depuis 2025) et 90 niveaux verticaux, dont le premier à 5 m au-dessus du sol S6 S8. Deux propriétés comptent pour le vol libre :
- La convection profonde est explicite. À 1,3 km de maille, le modèle « voit » les mouvements verticaux d’un cumulonimbus et simule son cycle de vie, là où un modèle à maille plus large doit les représenter par une formule statistique S6 S8. Les champs de pluie convective, de rafales d’orage et de CAPE d’AROME sont donc plus fiables que ceux d’ARPEGE.
- Les thermiques secs et les cumulus peu profonds restent paramétrés. Un thermique de parapente fait 100 à 300 m de large : il est plus petit que la maille. AROME le représente par un schéma de « thermiques en flux de masse » (Pergaud et al. 2009), pas par un calcul direct S6 S7. Le profil vertical de température qu’il produit est une moyenne de maille déjà mélangée par ce schéma.
Les prévisions publiques d’AROME vont de 1 h à 42 h, puis 51 h selon les réseaux, par pas horaire S8.
ARPEGE
ARPEGE est le modèle global, à maille étirée : environ 5 km sur la France. Sa convection profonde est paramétrée S6 S7. Il fournit les conditions aux limites d’AROME et prend le relais au-delà de la portée d’AROME.
Ce que Sciron reçoit
Sciron interroge l’API Météo-France d’Open-Meteo (/v1/meteofrance) S4 et stocke deux jeux par site :
| Identifiant Sciron | Modèle Open-Meteo | Maille servie | Portée | Niveaux de pression |
|---|---|---|---|---|
meteofrance_arome_france | AROME France | 0,025° (≈ 2,5 km) | 2 jours | oui |
meteofrance_arpege_europe | ARPEGE Europe | 0,1° (≈ 11 km) | 4 jours | oui |
Deux remarques :
- La version « AROME France HD » (0,01°, ≈ 1,5 km) existe mais ne porte pas de niveaux de pression S4. Sciron a besoin du profil vertical pour la base, le plafond et le vent en altitude ; il utilise donc la version 2,5 km. C’est un compromis : une maille deux fois plus large en échange du sondage.
- La bascule entre les deux modèles se fait à 48 h d’échéance (
aromeHorizonHoursdanssrc/lib/forecast/criteria.ts), ce qui correspond à la portée d’AROME. Au-delà, chaque heure est jugée sur ARPEGE, dont la maille est quatre fois plus large.
Instant ou heure précédente
Open-Meteo donne la plupart des champs à l’instant exact de l’heure, mais certains sont des cumuls ou des maxima sur l’heure précédente S4 :
| Champ | Validité | Conséquence pour les critères |
|---|---|---|
wind_speed_10m, wind_direction_10m | instant | Le vent à 14 h est celui de 14 h 00. |
wind_gusts_10m | max de l’heure précédente | La rafale « de 14 h » est la plus forte entre 13 h et 14 h. |
precipitation | somme de l’heure précédente | 0 mm à 14 h signifie rien entre 13 h et 14 h. |
cape, cloud_cover_low, temperature_2m, dew_point_2m | instant | — |
| niveaux de pression | instant | — |
Donc l’écart rafale du moteur, wind_gusts_10m − wind_speed_10m, soustrait un vent instantané à un maximum horaire. Il est structurellement plus grand que l’écart lu sur une balise qui compare le max et la moyenne des mêmes 10 minutes. L’ordre de grandeur de ce biais est traité dans Vent de surface.
Le point de grille n’est pas le décollage
Choix de la maille
Pour une coordonnée demandée, Open-Meteo ne prend pas la maille la plus proche : il cherche, parmi les mailles voisines, celle qui est sur terre et dont l’altitude (lue dans un modèle numérique de terrain à 90 m) ressemble le plus à l’altitude du point demandé S9 S4. Sciron fournit explicitement l’altitude du site dans le paramètre elevation quand elle est connue (src/lib/sync/forecast.ts) ; sinon nan, et l’altitude moyenne de la maille est utilisée.
Deux conséquences documentées par Open-Meteo :
- La température est corrigée de l’écart d’altitude entre la maille et le point, à raison d’environ 0,7 °C par 100 m S9. Le vent ne l’est pas S11.
- Il n’y a jamais d’interpolation entre mailles : une maille de montagne et une maille de vallée ont des physiques différentes (soulèvement, nuages, rugosité) et leur moyenne n’aurait pas de sens S10.
Le champ elevation renvoyé par l’API est l’altitude retenue pour la maille ; Sciron l’enregistre dans elevation_m et s’en sert comme altitude de départ du sondage quand l’altitude du site manque.
Survitesse de crête
Une maille de 2,5 km lisse le relief. Le vent 10 m du modèle est celui d’un terrain moyen ; la crête réelle accélère l’écoulement. Pour une colline en deux dimensions de hauteur h et de demi-longueur L (distance entre le sommet et le point où la pente a perdu la moitié de sa hauteur), le rapport de survitesse près du sol au sommet est, au premier ordre :
ΔS ≈ 2 × h / L
où ΔS = (u − u₀) / u₀ compare le vent au sommet au vent amont à la même hauteur au-dessus du sol S12 S13. Les coefficients valent 0,8 pour un escarpement et 1,6 pour une colline isolée en trois dimensions S12.
Exemple : une pente de décollage de 250 m de haut qui s’étend sur 1 km (h / L = 0,25) donne ΔS ≈ 0,5, soit +50 %. Un vent de maille de 20 km/h devient 30 km/h au décollage. Ce chiffre est un ordre de grandeur, valide pour des pentes douces (h / L inférieur à environ 0,3) et un écoulement neutre ; les pentes raides décollent l’écoulement et la théorie ne s’applique plus.
C’est l’une des raisons pour lesquelles les profils thermiques bloquent entre 15 et 25 km/h de vent de maille, alors que la limite de pénétration d’une aile est plus haute : la marge absorbe la survitesse.
Gradient vertical près du sol
En atmosphère neutre, le vent moyen suit un profil logarithmique au-dessus d’un sol rugueux :
u(z) = (u* / κ) × ln(z / z₀)
avec u* la vitesse de frottement, κ ≈ 0,4 la constante de von Kármán et z₀ la longueur de rugosité du sol (0,03 m pour une prairie, 0,1 m pour une lande, 0,25 m pour des broussailles, 1 m ou plus pour une forêt) S14. Le rapport entre le vent à 10 m et le vent à 2 m ne dépend que de z₀ :
u₁₀ / u₂ = ln(10 / z₀) / ln(2 / z₀)
soit 1,15 pour une prairie et 1,45 pour des broussailles S14. Lecture pour le pilote :
- Le vent « 10 m » du modèle est plus fort que le vent au niveau du corps pendant la course de décollage (15 à 45 % selon le sol).
- Il est plus faible que le vent à 50 ou 100 m, où l’aile se trouve quelques secondes après le décollage. Les niveaux
wind_speed_20màwind_speed_200mque Sciron collecte donnent ce vent directement. - Le gradient est plus marqué par air stable (matin, soir) et plus faible par air convectif (après-midi), où le mélange homogénéise la couche S14.
Niveaux de pression et altitudes
Les champs « à 850 hPa » ou « à 700 hPa » ne sont pas à une hauteur fixe. En atmosphère type OACI, 850 hPa est à 1 457 m et 700 hPa à 3 012 m, au-dessus du niveau de la mer S53. L’altitude réelle varie de quelques dizaines de mètres avec la pression du jour ; Open-Meteo fournit geopotential_height_850hPa pour la connaître exactement et avertit de ne pas la confondre avec une hauteur au-dessus du sol S4.
Pour un site de plaine à 200 m, le niveau 850 hPa est donc à environ 1 250 m au-dessus du décollage : c’est bien « le vent en altitude ». Pour un décollage à 1 800 m, le niveau 850 hPa est sous le sol, et le modèle fournit tout de même une valeur, extrapolée, sans sens physique. Le sondage de Sciron (buildLevelsAtIndex dans src/lib/forecast/sounding.ts) écarte tout niveau situé à moins de 5 m au-dessus du sol de la maille ; le moteur de critères applique un plancher relatif décrit dans Vent en altitude.
Niveaux collectés par Sciron : 1000, 950, 925, 900, 850, 800, 750, 700, 650, 600, 550, 500 hPa (PRESSURE_LEVELS_HPA dans src/lib/forecast/types.ts), avec température, point de rosée, vent et géopotentiel ; plus le vent à 20, 50, 100, 150 et 200 m au-dessus du sol.
Variables disponibles et variables absentes
L’API Météo-France d’Open-Meteo offre des champs que Sciron ne lit pas encore et qui serviraient aux critères proposés dans Limites et propositions S4 :
temperature_20màtemperature_200m: gradient de basse couche, signature des thermiques qui déclenchent.relative_humidity_*hPa,cloud_cover_*hPa: humidité par niveau, risque d’étalement, nuages moyens.cloud_cover_mid,cloud_cover_high: voile d’altitude qui coupe le chauffage.shortwave_radiation,sunshine_duration: énergie reçue au sol, en W/m² et en secondes de soleil par heure (seuil OMM 120 W/m² de rayonnement direct).weather_code: code temps dérivé par Open-Meteo à partir des nuages, de la pluie, du CAPE et des rafales ; 95 à 99 = orage. Météo-France ne publie pas de symbole temps natif.vertical_velocity_*hPa: vitesse verticale de grande échelle.
Trois champs que proposent d’autres modèles (ICON, GFS) n’existent pas pour AROME et ARPEGE via Open-Meteo : lifted_index, convective_inhibition, boundary_layer_height S4. Ils sont calculables à partir du profil vertical déjà collecté.
Ce que Sciron calcule
pickModelForHour(src/lib/forecast/criteria.ts) : AROME si l’échéance est à 48 h ou moins, sinon ARPEGE.buildDayHours(src/lib/forecast/criteria.ts) : une ligne par heure locale de 7 h à 20 h, avec les champs de surface et les vents 850 et 700 hPa.buildDaySoundingsetbuildLevelsAtIndex(src/lib/forecast/sounding.ts) : le profil vertical, niveaux de surface, AGL et pression triés par altitude, niveaux sous le sol écartés.forecastHourlyFieldList(src/lib/forecast/types.ts) : la liste exacte des champs demandés à Open-Meteo.