Résultats de l'observatoire : catalogue rétrospectif baltique de 30 jours et étude de sensibilité
Version kshana-observatory/adsb/v1 sur kshana-interference-map/adsb/v2 (paramètres préenregistrés dans la méthode de base, inchangés). MODELLED : il n'y a aucune référence externe indépendante, aucune vérité terrain et aucune attribution de cause. Une cellule dégradée signifie qu'une part élevée des aéronefs échantillonnés à cet endroit a rapporté une faible précision de navigation ce jour-là ; cela ne dit pas pourquoi. Une cellule non observée, ou absente, n'a pas été évaluée, ce qui n'est pas la même chose que dégagée.
Ce qui a été exécuté#
- Source : historique readsb d'adsb.lol (ODbL 1,0), version GitHub
v<YYYY>.<MM>.<DD>-planes-readsb-prod-0deadsblol/globe_history_2026, récupérée parscripts/fetch_adsblol_day.shune partie à la fois (environ 3,4 Go par jour, 2 parties). L'éditeur n'indique aucune somme de contrôle ; le SHA-256 de chaque partie est donc consigné dansback-catalogue/fetch/<tag>.parts.json. - Région et jours : le cadre 53,5, 9,0, 66,0, 31,0 (sud, ouest, nord, est : la mer Baltique et ses côtes), 30 jours UTC du 2026-09-15 au 2026-10-14, cellules de 0,5 degré, par
scripts/observatory_backcatalogue.sh(un jour à la fois, fichiers bruts supprimés après chaque jour). - Règles de publication : le jour le plus récent (2026-10-14) avait plus de 24 h de recul après sa fin lors de sa production ; la commande refuse sinon. Les exécutions régionales calculent la référence d'équipement et le bruit de fond du jour à partir des seuls rapports du cadre (
method.scope). - Fichiers : les 120 fichiers de produit (GeoJSON, PNG, JSON d'incidents, manifeste par jour) ne sont pas dans git. L'empreinte de chaque fichier se trouve dans
back-catalogue/MANIFEST.json, et un jour peut être reconstruit à partir de son archive et comparé.
Exemple de ce que lit un jour : le 2026-09-15, l'archive contenait 110 619 797 lignes de position dans 79 826 fichiers de trace ; 103,0 millions étaient hors du cadre, 5,6 million n'étaient pas de l'ADS-B, 1,2 million étaient au sol ou sous 5 000 ft, 0,6 million ne portaient aucun champ de précision, et 212 426 ont été agrégées (compteurs d'entrée de manifest.json).
Reproductibilité#
Trois jours (2026-09-18, 2026-09-26, 2026-10-03) ont été récupérés de nouveau dans l'archive et exécutés une seconde fois : le GeoJSON, le PNG et le fichier d'incidents sont identiques octet pour octet à la première exécution (SHA-256 égal), de sorte que le produit est déterministe même si le sel de l'empreinte d'identifiant est aléatoire à chaque exécution.
Résumé du catalogue rétrospectif#
| Jour UTC | cellules publiées | dégradées | non dégradées | non observées (publiées) | incidents |
|---|---|---|---|---|---|
| 2026-09-15 | 643 | 7 | 461 | 175 | 3 |
| 2026-09-16 | 686 | 6 | 472 | 208 | 5 |
| 2026-09-17 | 691 | 5 | 460 | 226 | 2 |
| 2026-09-18 | 694 | 8 | 473 | 213 | 5 |
| 2026-09-19 | 663 | 2 | 416 | 245 | 2 |
| 2026-09-20 | 673 | 1 | 464 | 208 | 1 |
| 2026-09-21 | 674 | 3 | 465 | 206 | 3 |
| 2026-09-22 | 674 | 4 | 455 | 215 | 3 |
| 2026-09-23 | 668 | 2 | 456 | 210 | 2 |
| 2026-09-24 | 683 | 3 | 468 | 212 | 2 |
| 2026-09-25 | 701 | 3 | 469 | 229 | 3 |
| 2026-09-26 | 656 | 1 | 423 | 232 | 1 |
| 2026-09-27 | 682 | 2 | 459 | 221 | 1 |
| 2026-09-28 | 683 | 2 | 472 | 209 | 2 |
| 2026-09-29 | 666 | 3 | 454 | 209 | 2 |
| 2026-09-30 | 687 | 6 | 465 | 216 | 4 |
| 2026-10-01 | 691 | 1 | 476 | 214 | 1 |
| 2026-10-02 | 684 | 4 | 462 | 218 | 3 |
| 2026-10-03 | 650 | 0 | 397 | 253 | 0 |
| 2026-10-04 | 675 | 5 | 458 | 212 | 4 |
| 2026-10-05 | 689 | 2 | 466 | 221 | 1 |
| 2026-10-06 | 662 | 4 | 448 | 210 | 3 |
| 2026-10-07 | 671 | 3 | 458 | 210 | 2 |
| 2026-10-08 | 664 | 4 | 447 | 213 | 4 |
| 2026-10-09 | 687 | 4 | 465 | 218 | 2 |
| 2026-10-10 | 640 | 3 | 402 | 235 | 2 |
| 2026-10-11 | 678 | 3 | 459 | 216 | 2 |
| 2026-10-12 | 688 | 4 | 467 | 217 | 4 |
| 2026-10-13 | 672 | 0 | 457 | 215 | 0 |
| 2026-10-14 | 669 | 1 | 474 | 194 | 1 |
30 jours : 96 cellules dégradées au total, 28 des 30 jours en comptant au moins une, 70 incidents (grappes de cellules dégradées contiguës), aucun jour avec un effet sur toute la journée. La part médiane des cellules d'aéronefs affectés (le bruit de fond du jour) est de 0 sur 29 jours et de 0,006 sur un, de sorte que le garde-fou de bruit de fond (une cellule doit dépasser le bruit de fond de 0,15) n'a jamais changé un constat dans cette région. Le nombre de cellules dégradées par jour va de 0 à 8 (moyenne 3,2). Environ un tiers des cellules publiées chaque jour sont not_observed (trop peu d'aéronefs échantillonnés) : la couverture est la limite de ce produit, et non le ciel.
Ce que cela ne dit pas : les jours comptant plus de cellules dégradées ne sont pas « pires » en un sens physique, une zone affectée persistante serait sous-estimée (les aéronefs qui ne volent qu'à l'intérieur toute la journée n'ont pas de référence en dehors et ne sont pas comptés), et rien ici ne dit qui ou quoi a causé la faible précision.
Étude de sensibilité (trois jours)#
kshana interference-map sensitivity rejoue les rapports enregistrés d'un jour sous des changements, un à la fois, des paramètres enregistrés (deux valeurs chacun, plus une grille de 1,0 degré). Jours : 2026-09-18 (le plus de cellules dégradées, 8), 2026-09-26 (1 cellule dégradée) et 2026-10-03 (0). Rapports complets : sensitivity/<day>.json (23 variantes chacun ; 2,2, 1,7 et 1,7 millions de lignes rejouées). Cellules dégradées sous chaque variante (valeur enregistrée entre parenthèses ; le résultat enregistré est de 8, 1 et 0 cellules dégradées) :
| paramètre (enregistré) | valeur | 09-18 (8) | 09-26 (1) | 10-03 (0) |
|---|---|---|---|---|
low_nacp_max (6) |
5 / 7 | 6 / 8 | 1 / 3 | 0 / 2 |
low_nic_max (5) |
4 / 6 | 3 / 16 | 0 / 12 | 0 / 8 |
good_nacp_min (8) |
7 / 9 | 8 / 6 | 1 / 0 | 0 / 1 |
min_alt_ft (5000) |
3000 / 8000 | 6 / 6 | 1 / 1 | 0 / 1 |
affected_report_share (0.5) |
0.4 / 0.6 | 8 / 4 | 2 / 1 | 2 / 0 |
degraded_share (0.30) |
0.2 / 0.4 | 14 / 1 | 5 / 1 | 4 / 0 |
min_aircraft_sampled (10) |
8 / 15 | 8 / 8 | 2 / 0 | 2 / 0 |
min_reports_per_aircraft_in_cell (3) |
2 / 5 | 11 / 2 | 12 / 0 | 6 / 1 |
background_margin (0.15) |
0.10 / 0.20 | 8 / 8 | 1 / 1 | 0 / 0 |
min_baseline_good_reports (5) |
3 / 10 | 8 / 8 | 1 / 1 | 0 / 0 |
day_confound_background (0.15) |
0.10 / 0.25 | 8 / 8 | 1 / 1 | 0 / 0 |
| grille 0,5 degré | 1.0 | 2 (cellules plus grossières) | 3 | 1 |
Lecture, sans désigner de gagnant :
- Les constats sont sensibles aux seuils des codes de précision et aux règles d'échantillonnage, et les petits nombres varient beaucoup.
low_nic_max,degraded_shareetmin_reports_per_aircraft_in_cellchangent chacun le nombre de cellules dégradées d'un facteur deux ou plus chaque jour ; assouplirlow_nic_maxà 6 transforme 1 cellule dégradée en 12 le 09-26 (Jaccard avec l'ensemble enregistré 0,08). Le 09-18, releverdegraded_shareà 0,4 en conserve 1 sur 8 (Jaccard 0,125). Un constat de cellule proche des seuils parle autant des seuils que des données. min_aircraft_sampleddéplace surtout des cellules entre non dégradées et non observées : le 09-18, il laisse le nombre de cellules dégradées à 8 tandis que 21 à 56 cellules changent d'état.- Trois garde-fous sont inactifs ici :
background_margin,min_baseline_good_reportsetday_confound_backgroundne changent rien lors d'aucun des trois jours (la part de bruit de fond est 0), de sorte que cette région et cette période ne disent rien de leur efficacité. Ils compteraient là où un effet régional relève le bruit de fond. - Une grille plus grossière (1,0 degré) change le tableau (2, 3 et 1 cellules dégradées ; les cellules publiées tombent à environ un tiers, 226 contre 694 le 09-18, parce que chaque cellule est quatre fois plus grande) : la taille de cellule est un choix de méthode, et l'observatoire la fixe à 0,5 degré.
- Un jour sans cellule dégradée enregistrée (10-03) a des cellules dégradées sous 9 des 22 variantes hors grille (jusqu'à 8 avec
low_nic_max6) : « aucune cellule dégradée » est aussi un énoncé dépendant des seuils.
Aucune variante n'est une alternative validée, et la règle enregistrée est inchangée par cette étude. L'étude ne dit pas quelles valeurs de paramètres sont les bonnes.