Visualisez le champ de vent de surface sur grille sur les 48 États contigus des États-Unis. La carte se met à jour avec chaque nouveau cycle du modèle afin de suivre les événements de vent en développement presque en temps réel.
Le paramètre WIND retourne la vitesse scalaire de l'air à dix mètres au-dessus de la surface, une hauteur de référence standard pour les observations de surface et la planification d'énergie renouvelable.
WDIR donne la direction d'où vient le vent, exprimée en degrés dans le sens horaire depuis le nord. Une valeur de 90 signifie que le vent vient de l'est. La requête ci-dessous fait tourner l'angle de 180° parce que le tableau de bord Grafana attend l'angle de la direction vers laquelle pointe la flèche.
Nous calculons le champ offset_hours afin que le curseur temporel s'aligne avec l'horizon de prévision, ce qui facilite la synchronisation de la carte avec d'autres graphiques météorologiques.
Le tableau de bord appelle l'API GribStream avec la requête suivante. Remplacez les limites du domaine ou ajustez le pas de grille pour vous concentrer sur votre propre région d'intérêt. L'API peut servir une résolution beaucoup plus élevée, mais cette vue est limitée parce que Grafana ralentit fortement quand trop d'éléments graphiques doivent être dessinés.
curl -X POST 'https://gribstream.com/api/v2/nbm/timeseries' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer [API_TOKEN]' \
-d '{
"fromTime": "2025-05-06T02:01:36.287Z",
"untilTime": "2025-05-07T12:01:36.287Z",
"minHorizon": 0,
"maxHorizon": 36,
"grid": {
"minLatitude": 24.52,
"maxLatitude": 49.38,
"minLongitude": -124.77,
"maxLongitude": -66.93,
"step": 1.25
},
"variables": [
{ "name": "WIND", "level": "10 m above ground", "info": "", "alias": "wind_speed" },
{ "name": "WDIR", "level": "10 m above ground", "info": "", "alias": "wind_dir" }
],
"expressions": [
{ "expression": "int(wind_dir + 180) % 360", "alias": "wind_dir"},
{ "expression": "floor((date(forecasted_time) - date('\''2025-05-06T02:01:36.287Z'\'')).Hours())", "alias": "offset_hours"}
],
"filter": { "expression": "wind_speed != nil"}
}'