← Retour au téléchargeur GRIB

Comment les fichiers GRIB sont produits

Interpolation et reprojection des données du Service météorologique du Canada sur une grille commune

Objectif

Les modèles de prévision du Service météorologique du Canada (SMC) produisent leurs données sur différentes grilles (souvent des grilles tournées latitude-longitude) et dans différents formats (GRIB2 en grille tournée, NetCDF). Or, certains logiciels de routage et de météo pour la voile , comme le logiciel libre OpenCPN, sont incapables de lire le format NetCDF ou d'interpréter les grilles latitude-longitude tournées. Ils nécessitent des fichiers GRIB2 sur une grille régulière latitude-longitude standard.

Pour répondre à ce besoin, nous reprojetons toutes ces données sur une grille régulière latitude-longitude commune, qui est une sous-grille du système CIOPS (Coastal Ice Ocean Prediction System) couvrant le golfe du Saint-Laurent.

La grille cible

Paramètres de la grille commune
Couverture 45.05°N à 51.91°N / 75.035°W à 54.995°W
Résolution 0.03° en longitude × 0.02° en latitude
Région Golfe du Saint-Laurent et estuaire
Format de sortie GRIB2 (grille régulière lat/lon)
La résolution en longitude (0.03°) est 1.5 fois plus grande qu'en latitude (0.02°) pour compenser la convergence des méridiens à ~50°N, donnant des pixels approximativement carrés.

Processus général

Chaque fichier source passe par un processus de reprojection en plusieurs étapes :

1
Lecture du fichier source

GRIB2 (grille tournée) ou NetCDF selon le modèle. GDAL détecte automatiquement la géolocalisation de la grille source.

2
Reprojection avec gdalwarp

Interpolation de la grille source vers la grille cible régulière. Méthode bilinéaire pour les champs continus, plus proche voisin pour les directions et champs discrets.

3
Conversion en GRIB2

Le résultat intermédiaire (NetCDF ou GeoTIFF) est converti en format GRIB2 avec préservation des métadonnées (discipline, catégorie, paramètre WMO) et gestion des valeurs manquantes.

-- Pipeline de données -- GRIB2 (grille tournée) ou NetCDF (CIOPS) | | v v gdalwarp (reprojection) gdalwarp (reprojection) interpolation interpolation bilinéaire ou voisin plus proche voisin | | v v NetCDF intermédiaire GeoTIFF intermédiaire | | v v GDAL Translate GDAL Translate + métadonnées GRIB2 + métadonnées GRIB2 | | v v GRIB2 final (grille régulière lat/lon)

Les modèles traités

HRDPS — Système haute résolution de prévision déterministe
Résolution source : ~2.5 km (grille tournée lat/lon)
Format source : GRIB2
Particularité : La direction du vent est interpolée en plus proche voisin pour éviter les moyennes d'angles.
Horizon : 1 à 48 heures
RDPS — Système régional de prévision déterministe
Résolution source : 10 km
Format source : GRIB2
Horizon : 0 à 48 heures
CIOPS — Système côtier de prévision glace-océan
Résolution source : ~0.03° × 0.02° (grille régulière)
Format source : NetCDF
Particularité : La grille cible étant une sous-grille de CIOPS, l'interpolation est essentiellement une extraction (plus proche voisin).
Horizon : 1 à 48 heures
RDWPS — Système régional déterministe de prévision de vagues
Résolution source : ~2.5 km (grille tournée lat/lon)
Format source : GRIB2
Horizon : 1 à 48 heures

Méthodes d'interpolation

Deux méthodes sont utilisées selon la nature de la variable :

Interpolation bilinéaire

Utilisée pour les champs continus : pression, hauteur de vagues, période de vagues, CAPE. Produit des transitions lisses entre les points de grille.

Plus proche voisin

Utilisée pour les champs où la moyenne n'a pas de sens physique : directions de champs vectoriels (exemple direction du vent) (extraction de sous-grille). Évite les artefacts d'interpolation sur les angles.

Gestion des valeurs manquantes

Les modèles océaniques et de vagues contiennent des points terrestres sans données. Le système préserve ces masques terre/mer en utilisant l'encodage COMPLEX_PACKING du GRIB2, qui supporte nativement les bitmaps de valeurs manquantes.

Taille des fichiers découpés (zoom)

Lorsque vous sélectionnez un sous-domaine (zoom) dans le téléchargeur, la découpe est effectuée par l'outil wgrib2. Or, wgrib2 utilise un encodage simple packing pour écrire le fichier découpé, qui est moins efficace que le complex packing utilisé dans les fichiers originaux produits par GDAL.

En pratique, le fichier découpé est environ 1.7 fois plus gros par point de grille que le fichier original. Cela signifie qu'un sous-domaine couvrant plus d'environ 60 % de la grille complète (1/1.7) produira un fichier plus volumineux que le fichier couvrant toute la grille.

En revanche, en deçà de 60 % du domaine, la découpe réduit bel et bien la taille du fichier téléchargé. Plus le sous-domaine est petit, plus le gain est important.

Même au-delà de ce seuil, le zoom reste utile si votre objectif est de limiter la quantité de données à afficher dans votre logiciel de routage ou de météo, plutôt que de réduire la taille du téléchargement.

Outils utilisés

GDAL / gdalwarp eccodes wgrib2 netCDF4 Python 3 NumPy