Aller au contenu principal
Passer l'animation
Pipeline de simulation · KiloDelta 1.26.0

Pipeline de calcul de la simulation, étape par étape

Du foyer aux isochrones, ce que calcule le moteur.

Tu poses un point de départ sur la carte. Quelques secondes plus tard, parfois une minute quand le réseau traîne, six isochrones s'affichent, de T+1 h à T+6 h. Entre les deux, l'application interroge huit sources, lance 72 rayons et enchaîne jusqu'à 17 000 pas de calcul. Je te montre ici ce qui se passe, dans l'ordre où ça se passe, sur un feu fictif calculé avec les vraies formules du moteur.

8
sources interrogées en parallèle
72
rayons, un tous les 5°
50m
par pas de calcul
30s
d'attente au plus pour le vent avant le 1er tracé
6h
d'horizon
12km
de portée maximale

Ce que tu vois ensuite dans l'app est sur la page Simulation ; les sigles sont dans le glossaire.

Fais défiler, ou passe d'une étape à l'autre avec ← →.

01Le foyer

Un appui long, et tout part en même temps.

Sur l'écran Simulation, un appui long sur la carte pose le point de départ. Le marqueur s'affiche tout de suite et l'application lance aussitôt toutes ses requêtes. Si un foyer est déjà posé, elle ne l'écrase pas : elle te propose de le remplacer. Un doigt qui traîne sur la carte ne jette pas une simulation en cours.

Le vent, la direction, l'humidité et la température arrivent avec la météo et remplissent les réglages. Tu peux les corriger à la main. Dans ce cas, la prévision heure par heure est abandonnée : les conditions que tu saisis restent constantes sur les 6 heures.

02Les sources

Huit sources interrogées en parallèle.

  • Météo : prévision horaire du modèle AROME de Météo-France (maille de 1,3 km), servie par Open-Meteo, sur 48 h : vent, direction, température, humidité.
  • IFM : calculé sur mes serveurs à partir des stations Météo-France, interpolé au point de départ. Réponse en 200 ms environ. En secours, l'app le reconstitue depuis la réanalyse ERA5.
  • Vent sur le relief : WindNinja recalcule le vent sur le terrain autour du foyer, côté serveur. C'est la source la plus lente : jusqu'à une minute.
  • Végétation : BD Forêt V2 de l'IGN, sur 12 km autour du foyer.
  • Eau : BD TOPO de l'IGN : cours d'eau permanents et plans d'eau, sur 12 km.
  • Obstacles : OpenStreetMap sur 20 km : routes, rivières, pare-feux, roches, zones industrielles. Plus les taches urbaines de l'IGN.
  • Relief : SRTM 30 m : la pente dans 72 directions autour du foyer, puis un profil d'altitude tous les 100 m sur chaque rayon.
  • Combustible au foyer : OpenStreetMap dans un rayon de 50 m, en secours de la BD Forêt.

Le calcul ne part pas n'importe quand. Il attend toujours la végétation, les obstacles, le relief, la météo et l'IFM : pas question de dessiner un feu sans savoir ce qu'il a sous les pieds. Chacune de ces sources a une minute pour répondre. Le vent WindNinja, lui, a un budget de 30 secondes. Passé ce délai, le premier tracé part avec le vent de la prévision, uniforme sur toute la zone, et il est recalculé dès que le vent du relief arrive.

Pendant l'attente, tu n'as pas un sablier sous les yeux mais un briefing tactique : position et altitude, combustible, danger météo, vent, température et humidité, pente. En mission s'ajoute le point d'eau le plus proche. Les tuiles se remplissent au fil des réponses. Quand la dernière s'allume, tu as la situation en tête et le tracé arrive.

Une source muette au bout d'une minute est marquée en erreur : les isochrones passent en pointillé et le voyant « Sources » vire au rouge. Sans réseau, l'app se rabat sur les packs du département ; le vent du relief et l'IFM demandent du réseau.

Le détail des données dans la méthodologie
03Le walking ray

72 rayons qui avancent de 50 m à la fois.

Le moteur ne dessine pas une ellipse qu'il déformerait ensuite. Il lance 72 rayons depuis le foyer, un tous les 5°. Chacun avance par pas de 50 m. À chaque pas, il regarde ce qu'il a sous les pieds : le combustible de la BD Forêt, la pente lue sur son profil d'altitude, le vent prévu à l'heure où le feu arrive là, corrigé par WindNinja, et les obstacles touchés.

temps du pas = 50 m ÷ (vitesse × obstacle)

On additionne les temps, et on sait à quelle heure le feu atteint chaque point du rayon. Un rayon s'arrête à 6 h, à 12 km, ou sur un obstacle infranchissable. S'il touche les 12 km avant 6 h, le secteur est signalé tronqué.

Le calcul tourne en arrière-plan, rayon par rayon, sans figer l'écran. Si tu changes un réglage en cours de route, il s'annule proprement et repart.

Le walking ray en détail
04La vitesse

À chaque pas, une vitesse. Trabaud par défaut.

Le modèle par défaut part de la table de Trabaud du GDO 2021 (p. 37) : la vitesse du feu en pourcentage de celle du vent, selon l'humidité de l'air. Viennent ensuite la température, la pente (Rothermel en montée, jamais sous ×0,6 en descente), la sécheresse de la saison par l'indice de propagation de l'IFM, les conditions extrêmes quand l'IFM grimpe (le facteur « foehn » du code, jusqu'à ×2,5), et un freinage du feu rampant sous 16 km/h de vent.

Au bout, un plafond : la vitesse ne dépasse jamais celle sans vent augmentée de 12 % de la vitesse du vent. Il remplace depuis la 1.25 la règle des 3 %, qui reste affichée comme repère.

Le feu de la carte est recalculé en entier à chaque réglage. La suite de la prévision fictive garde la même allure.

Vitesse de tête au départ, garrigue sur le plat – m/min

Tu peux choisir Rothermel 1972 ou Balbi 2020 (CNRS de Corte, ForeFire) à la place. Ils partagent le même walking ray, les mêmes obstacles, la même météo et le même vent. Seule la vitesse change, et seul Trabaud tient compte de l'IFM.

Le calculateur complet et la table Trabaud
05La forme

Plus le vent forcit, plus le feu s'allonge.

La vitesse de Trabaud est celle de la tête. Pour les autres directions, le moteur applique une enveloppe : un rapport longueur/largeur qui grandit avec le vent (Alexander 1985, plafonné à 8) et une forme polaire (Anderson 1983) qui donne la part de la vitesse de tête dans chaque direction. L'arrière du feu en garde au moins 1,5 %.

Longueur/largeur – · arrière –

L'axe n'est pas simplement celui du vent. Le vent et la pente sont combinés en un vent efficace (Nelson 2002) : sur un versant, le feu est aussi tiré vers le haut.

La forme du feu en détail
06Les obstacles

Ce qui arrête le feu, ce qui le freine.

À chaque pas, le moteur garde le plus pénalisant des obstacles touchés. Le multiplicateur s'applique à la vitesse ; un multiplicateur nul arrête le rayon.

  • arrêt Rivières, canaux, plans d'eau, autoroutes, taches urbaines de l'IGN, roches et éboulis, zones industrielles, emprises ferroviaires, surfaces déjà brûlées.
  • × 0,30 Route principale, pare-feu.
  • × 0,55 Route secondaire ou tertiaire.
  • × 0,65 Petite route.

L'eau est franchie quand le vent atteint 50 km/h. C'est la seule façon dont le moteur représente les sautes de feu. Monte le vent au-delà avec le curseur de l'étape 4 : la rivière ne tient plus. Et si le foyer tombe dans une zone qui ne brûle pas, un bandeau le dit au lieu d'afficher une carte vide.

La liste complète des obstacles
07Les isochrones

On relève le front toutes les heures.

Chaque rayon connaît l'heure d'arrivée du feu à chacun de ses pas. On relève la distance atteinte toutes les heures, ou toutes les 30 minutes si tu préfères. On écrête les pics isolés : un rayon plus de trois fois plus long que ses deux voisins est ramené au plus long des deux. Puis on lisse le tracé avec une courbe qui passe par chaque point calculé. Là où le front bute sur un obstacle, le lissage s'arrête, pour ne pas faire croire que le feu déborde dans la rivière.

Pendant ces six heures, la météo bouge. À chaque pas, le moteur lit le vent, l'humidité et la température prévus à l'heure où le feu arrive, direction comprise. Sur la carte, le vent passe du sud-ouest à l'ouest-sud-ouest au fil de l'après-midi, et la tête du feu s'oriente plus à l'est.

La météo sur six heures
08Ce que tu vois

Puissance, communes, dangers, bâtiments.

Puissance du front (Byram)
–kW/m
Échelle CEMAGREF
–
Surface à T+6 h
–ha
Sur la carte
–
  • Puissance : 18 000 kJ/kg × charge × vitesse ÷ 60, pour la tête du feu au départ, et le niveau CEMAGREF (I à V) qui va avec.
  • Communes atteintes : quand le tracé touche une tache urbaine de l'IGN, une icône de ville s'y pose, avec le nom de la commune et sa population.
  • Dangers : ligne haute tension ou poste électrique (100 m), voie ferrée ou stockage de gaz (50 m), axe majeur (30 m). Un triangle apparaît quand un front les approche, les trois plus urgents sont listés.
  • Biens à protéger dans la zone atteinte à 6 h, chacun avec un score de défendabilité sur cinq critères, dont le temps avant l'arrivée du front.
  • Mission partagée : le tracé calculé sur ton téléphone est enregistré et diffusé aux autres engins avec un code à 8 caractères. Le serveur ne recalcule pas, tout le monde voit la même chose.

Et si tu veux voir le feu posé sur le relief, le bloc-diagramme 3D, encore expérimental, reprend les isochrones.

Les sorties en détail
09En aval : Jarvis

Jarvis lit la simulation, il ne la refait pas.

Pour chaque maille atteinte avant T+6 h, Jarvis reprend l'heure d'arrivée du front, sa vitesse et sa direction. Il en tire l'intensité, puis la hauteur de flamme. Il y ajoute une vingtaine de valeurs de terrain : pente, orientation, talweg ou crête, encaissement, végétation, pistes DFCI.

Il procède en trois passes : une quarantaine de secteurs, puis des sous-zones d'environ 150 m là où ça chauffe, puis les mailles de 90 × 65 m les plus graves. Pour chaque zone, trois réponses : le niveau de danger, la raison principale, et si une attaque directe reste tenable. L'officier valide ou corrige.

Il hérite de la simulation : un vent mal saisi donne des zones fausses. Jarvis est en bêta sur accès réservé, et sa version embarquée, qui tourne dans le téléphone sans réseau, est en test. Sur la carte, le coloriage est une illustration tirée de la hauteur de flamme, pas la sortie de son modèle.

Comment fonctionne Jarvis

Ce qui a bougé

Le moteur change souvent. Voici les dernières évolutions.

Cette page suit le code. Quand une version modifie le calcul, le récit ci-dessus change avec elle.

  • 1.25sept. 2026
    Moteur relu ligne par ligne. Nouveau plafond de vitesse (vitesse sans vent + 12 % du vent), vent prévu réellement lu heure par heure avec WindNinja prioritaire, forme qui tient compte de l'orientation de la pente, freinage continu en descente. Le calcul tourne entièrement en arrière-plan et s'annule proprement.
  • 1.23août 2026
    IFM Météo-France. L'indice arrive de mon serveur en 200 ms environ. L'ancien calcul sur l'historique de la saison ne sert plus qu'en secours et ne bloque plus le départ.
  • 1.21août 2026
    Briefing pendant le calcul, données complètes. Le calcul attend la BD Forêt et les obstacles, seul le vent a un budget de temps. La requête des obstacles est passée de plus de 60 s à 7 s.
  • 1.19juil. 2026
    Bâti dense et communes. Le feu s'arrête sur les taches urbaines de l'IGN, et la simulation liste les communes atteintes.
  • 1.17juil. 2026
    Un seul moteur. Le calcul vit dans un module autonome, le même dans l'application et côté serveur, vérifié par des tests de parité.

Tout le changelog

Limites assumées

Ce que le moteur ne fait pas.

Une simulation aide à anticiper. Elle ne remplace ni la reconnaissance ni le jugement du commandant des opérations.

Pas de sautes de feuSeul le franchissement de l'eau à partir de 50 km/h de vent en tient lieu. Des paliers de distance selon le vent et le combustible font partie des idées pour la suite.
Pas de moyens de lutteLe moteur calcule la propagation libre. Il ne sait rien des engins, des largages, des lignes d'appui ni des feux tactiques.
Pas de feu de cimesSeul le feu de surface est modélisé, en deux dimensions.
Un seul foyerDeux départs proches ne fusionnent pas.
Pas de propagation dans le bâtiLes taches urbaines arrêtent le feu. Il ne passe pas de maison en maison.
12 km au plusAu-delà, le secteur est signalé tronqué.
La prévision n'est pas l'observationLe moteur suit la prévision AROME heure par heure. Si le vent réel tourne autrement, il faut relancer. Un vent saisi à la main reste constant sur 6 h.
L'IFM du départIl n'évolue pas pendant la simulation, et les rafales ne sont pas utilisées, seul le vent moyen l'est.
Vent du relief au mieuxSans réseau, ou si WindNinja ne répond pas, le tracé est calculé avec un vent uniforme, sans effet du relief.
Relief à 30 m, trois combustiblesUn couloir de moins de 60 à 90 m peut être lissé. La BD Forêt est regroupée en forêt, garrigue et herbacées ; hors BD Forêt, le rayon garde le combustible du foyer.
Pas encore confronté aux feux réelsTrabaud n'a pas encore été comparé de façon systématique à des contours de feux observés. C'est le prochain chantier.
IndicatifJamais un substitut au COS. L'observation du terrain et le jugement humain priment toujours.

Le détail de chaque limite est dans la méthodologie.

Sources

D'où viennent les formules et les données.

GDO 2021, DGSCGC : table Trabaud (p. 37), règle des 30 et feux de référence (p. 38), échelle CEMAGREF (p. 60).

Trabaud 1989, Les feux de forêts : mécanismes, comportement et environnement.

Rothermel 1972, USDA INT-115, et Albini 1976 pour les modèles de combustible NFFL.

Balbi et al. 2020, modèle convection et rayonnement (HAL hal-03251626), ForeFire.

Byram 1959 pour la puissance du front, Nelson 2002 pour le vent efficace.

Alexander 1985 et Anderson 1983 pour la forme du feu.

Van Wagner 1987 pour la chaîne IFM, seuils EFFIS pour ses niveaux.

WindNinja, Missoula Fire Sciences Laboratory (USDA), domaine public.

IGN : BD Forêt V2, BD TOPO, taches urbaines, licence ouverte Etalab 2.0.

Météo-France : stations et modèle AROME. Open-Meteo (CC BY 4.0), ERA5 en secours.

SRTM 30 m (NASA/NGA) et OpenStreetMap (ODbL).

La liste complète, avec les références exactes, est en bas de la méthodologie.

Une idée pour améliorer ce calcul ? Un défaut de modélisation, une donnée qui manque, une calibration à revoir : écris-moi, je lis tout. Et si tu as des contours de feux réels avec leur météo, ils m'intéressent pour caler le moteur.

Indicatif, jamais substitut au COS. Les ordres opérationnels restent du ressort du commandant des opérations de secours.