Le chantier data · Infoclimat

250 ans d’observations météo, un socle pour les 30 prochaines années

Une ligne, une mesure : le modèle observation

L’idée centrale du chantier tient en une phrase : toutes les observations, quelle que soit leur source, dans un seul format. Suivons une mesure pour voir ce que ça veut dire.

Prenons une mesure, et suivons-la. Le 15 juin 2025 à 12 h 00 UTC, la station de Paris-Montsouris relève 22,3 °C. Dans le nouveau socle, elle ressemble à ceci.

Notre mesure, dans la table observation
station_uid
83d19237-fb42-…
dh_utc
2025-06-15 12:00:00
parametre
air_temperature
valeur
295.45 (kelvins, unités documentées)
source
synop-ic
qc_flag
raw
ingest_run_id
c86aa6b3-…

Le format long : personne n’est privilégié

Une ligne = une mesure : quelle station, quel instant, quelle grandeur, quelle valeur, quelle source, quelle qualité. C’est le « format long », celui qu’utilisent les grands datasets climatiques mondiaux, et celui que pandas, R et DuckDB lisent nativement.

Sa vraie force, c’est qu’il ne privilégie personne. La station d’un adhérent, un SYNOP de Tokyo et un relevé Météo-France de 1923 y ont exactement la même forme. Ajouter demain une nouvelle grandeur (pourquoi pas la radioactivité ambiante, ou le pollen ?) n’exige plus de créer des colonnes partout, juste une nouvelle entrée dans le dictionnaire.

Autre principe fondamental, on ne détruit jamais une mesure. Si une valeur est corrigée (capteur mal calibré, validation manuelle), la correction en crée une nouvelle version ; l’originale reste, l’histoire complète est traçable. Fini les corrections qui écrasent.

Pour les curieux techniques : le modèle exact

Table observation en format long : station_uid, dh_utc, parametre, valeur en unités SI, durée du support temporel, qc_flag, source, version_obs, ingest_run_id. Dimensions dim_station et dim_parametre alignées sur les conventions internationales (CF/OMM, identifiants WIGOS). Les formats « larges » actuels deviennent des vues dérivées, reconstructibles. Chaque correction de QC est une version : on peut auditer et rejouer chaque décision.

Le dictionnaire des 131 paramètres — et l’affaire du facteur 10

Nos documents internes affirmaient qu’une partie des données historiques Météo-France était stockée en « dixièmes » (21,4 °C rangé comme 214, une vieille convention des formats météo). Avant de migrer ces centaines de millions de mesures, nous avons appliqué une règle que nous nous sommes fixée : aucune conversion d’unité sans vérification sur les données réelles.

Bien nous en a pris. L’échantillon a montré des températures moyennes de 13,1 °C sur l’année 1980, cohérentes en degrés réels, absurdes en dixièmes (une France à 1,3 °C de moyenne annuelle !). La documentation se trompait, les données avaient raison. Sans cette vérification, nous aurions divisé par dix des centaines de millions de mesures.

C’est pourquoi le chantier commence par ce qui semble le moins spectaculaire, un dictionnaire des paramètres. Chaque grandeur y est définie une fois, avec son nom, son unité de référence, ses bornes plausibles, et la façon exacte dont chaque source la stocke. Il compte aujourd’hui 131 grandeurs et 280 correspondances avec les formats sources ; chaque incertitude restante est marquée comme telle en attendant sa vérification sur données réelles. Austère ? C’est surtout la fondation de tout le reste. Les confusions d’unités ont fait s’écraser une sonde martienne ; en météo, elles fabriquent des faux records.

Une station, quatre noms : l’annuaire unifié

Combien de stations y a-t-il dans nos bases ? La question paraît innocente, mais la réponse honnête est que cela dépend de qui compte. La même station physique peut exister sous un identifiant Infoclimat, un numéro Météo-France, un code OACI d’aéroport et un identifiant SYNOP international. Quatre « noms » que rien ne reliait officiellement. Sans parler des stations qui déménagent de 300 mètres ou changent de capteur.

Le chantier construit donc un annuaire unifié, où chaque station physique reçoit un identifiant pivot et voit toutes ses identités connues rattachées. Mieux encore, ses caractéristiques sont datées (coordonnées, altitude, instruments), à chaque époque. « Quels capteurs avait la station X en 2015 ? » devient une question à laquelle la base sait répondre, ce qui est précieux pour interpréter une rupture dans une série. Le fonds couvre environ 28 000 stations.

Le compagnon de notre mesure : dim_station
libelle
Paris-Montsouris
identifiants
ic 07156 · omm 07156 · mf 75114001
latitude / longitude
48.8217 / 2.3378
historique
déplacements et altitudes datés

Quand deux thermomètres ne sont pas d’accord

Une station du réseau et une station Météo-France mesurent au même endroit, au même moment. L’une dit 21,4 °C, l’autre 21,6 °C. Qu’affiche le site ?

Aujourd’hui, la réponse existe, mais elle est écrite dans le code, au fil de quinze ans d’ajustements, et personne ne l’avait jamais lue en entier. Nous venons de le faire. Chaque règle de choix entre sources a été extraite et documentée, avec sa référence exacte dans le code. Le résultat est parlant, parfois surprenant : selon la page du site que vous consultez, la priorité entre le réseau et Météo-France n’était pas la même. Personne ne l’avait décidé ; c’est arrivé par sédimentation.

Dans le nouveau socle, ce choix devient une table de préséance, un document versionné, lisible, testé, qui dit, grandeur par grandeur, qui a priorité et pourquoi. D’abord pour reproduire fidèlement le comportement actuel. Ensuite, pour permettre à l’association d’en décider. Les règles héritées sont sur la table, avec leurs bizarreries documentées.

Autre bonne nouvelle pour le réseau. Dans le nouveau format, les deux mesures sont conservées. La préséance décide de l’affichage, pas de l’archive : votre station n’est jamais écrasée par personne.

Pour les curieux techniques : la préséance en pratique

Les règles de fusion héritées du site ont été cartographiées une par une (avec leurs ambiguïtés, chacune tranchée et testée), puis consolidées dans un référentiel versionné gelé en l’état : la règle générale étant « première valeur non nulle dans l’ordre de préséance gagne », la validation manuelle au sommet, et un journal des conflits pour tout départage. Ce même référentiel sert à l’affichage temps réel et aux calculs d’archives : une seule définition de la vérité, des deux côtés.