Aller au contenu

Ce tchat, hébergé sur une plateforme indépendante d'Infoclimat, est géré et modéré par une équipe autonome, sans lien avec l'Association.
Un compte séparé du site et du forum d'Infoclimat est nécessaire pour s'y connecter.

GRIB - Latitude/logitude


scorbin
 Partager

Messages recommandés

Bonjour,

Alors que je cherchais de infos sur les fichiers GRIB, je suis tombé sur votre forum, et il s'est avéré être la meilleure source d'info.

J'ai suivi /index.php?showtopic=18538'>ce topic pour mieux comprendre les fichiers GRIB mais je bute sur un point, et pas des moindre, comment extrait-on la latitude et la longitude d'un de ces fichiers ?

J'ai eu beau chercher à comprendre, je bloque... amis développeurs, pouvez vous me donner un coup de main ?

Mon but à long terme est d'intégrer les données utiles du GRIB sur une carte Google Maps

Merci d'avance.

Lien à poster
Partager sur d’autres sites

Salut,

J'ai moi aussi beaucoup batailler avec ce format de fichier à mes début, donc je comprend tes souffrances et je me sent un peu obligé de t'aider. Par ailleurs, si tu parcours l'historique de mes messages sur le salon "site web", tu devrais trouver pas mal d'info intéressantes la dessus.

Ta question étant assez peu précise, ou du moins, ne sachant pas du tout où tu en est de tes investigations, je vais essayer de reprendre ça du début (ça servira a d'autre si tu sais déjà tout ça) en supposant que t'as déjà réussi a installer wgrib2 et que t'es sous linux.

Wgrib, quand il est utilisé brut de décoffrage te sort une liste de toutes les données qu'il contient. Inutile donc de chercher une donnée météo dans ce qui sort si tu tapes "wgrib monfichier.grib2".

Il y a généralement 4 champs intéressants à retenir par ligne... l'ID de la ligne (le 1er numéro), le type de donnée (TMP, UWND, TEMP, etc...), l'altitude (la pression, en mb) et l'échéance, (anl, 3h, 6h...).

La 1er étape consiste donc à trouver l'ID de ligne qui t'interesse. Par exemple, humidité relative à 500mb, a l'échéance 0...

wgrib monfichier.grib2 | grep ":RH:" | grep ":500 mb:" | grep ":anl:"

Je m'excuse, je ne peut vérifier ma syntaxe ni donner un exemple de ce que ça va sortir si tu tapes ça, mon serveur étant en rade pour le moment.

le fait est qu'il va te sortir une ligne qui commencera par l'ID de l'enregistrement correspondant à la données humidité relative a 500mb échéance 0. C'est une fois que tu as ce numéro d'enregistrement que tu peux essayer d'extraire l'information météorologique à l'endroit que tu veux. Pour la suite, on va considérer que ce numéro est le 335 (au pif).

Par défaut, si tu tapes

wgrib monfichier.grib2 -d 335 -text -o resultat.txt

(je suis pas sur que ma syntaxe soit exactement la bonne, puisque sans mon serveur, j'ai même pas le man)

Si tout va bien, il va te sortir un fichier au format texte nommé resultat.txt et contenant toutes les données correspondantes a l'humidité relative 500mb 0h, donc sur l'ensemble du globe. S'il s'agit du GFS 0.5, tu auras donc 360x720 lignes soit 259200 lignes de données les une à la suite des autres. Ca part aux coordonnées 90N-0E, chaque ligne correspond à une avancée de 0.5° sur la carte et toutes les 720 lignes, tu ajoute 0.5° vers le sud alors que tu reparts a 0°East.

Et la tu vas me dire que c'est la fête après pour traité ça ! Et tu aurais raison ! C'est pourquoi il est ensuite possible de récupérer les données sur une surface donnée du globe grace à l'utilisation de la directive LOLA !

wgrib monfichier.grib2 -d 335 -lola X:dX:px Y:dY:py -text -o resultat.txt

Toujours de mémoire, tu devras remplacer :

X : point de départ en longitude et en degré, entre 0 et 360

dX : nombre de points à récupérer en longitude

px : le pas, donc tous les combien de ° tu veux un point...

pour les Y, dY et py pareil, sauf que Y va de -90 (pole sud) a +90 (pole nord).

ainsi, avec : -lola 20:10:1 -10:20:1

tu vas récupérer une grille de 10 données en largeur pour 20 en hauteur, entre le 20E et le 30E et entre le 10S et le 10N...

Et tu t'en doutes, si tu veux juste un point précis, il suffit de mettre 1 a dX et dY.

Alors chose interessante, je crois que lola interpole automatiquement les données si tu tapes entre 2 points de la grille (genre si tu mets un pas de 0.7, sur une grille a 0.5, tu vas forcement taper entre les mailles).

Voilà voilà... Tout cela est a tester et peut être même parfois à corriger dans la mesure ou je ne peut le faire moi même pour le moment, mais ça devrait te donner une bonne base. Par ailleurs, le problème revenant assez souvent, peut être serait-il interessant de faire un post-it à ce sujet dans ce topic... Modérateur, si tu me lis...

Lien à poster
Partager sur d’autres sites

Merci beaucoup de me répondre, avec autant de détails, je vais mettre ca en application et te tenir au courant de mon avancée default_smile.png/emoticons/smile@2x.png 2x" width="20" height="20">

Il y a cependant une dernière chose qui me chagrine avant de pouvoir réellement penser tout comprendre de GFS :

Sur le serveur à cette adresse (d'ailleurs, utilise-je bien la bonne ?) il a quelque centaines de fichiers GRIB, quelle est la différence entre chacun et le(s)quel(s) dois-je prendre ?

Merci d'avance !

Lien à poster
Partager sur d’autres sites

Merci beaucoup de me répondre, avec autant de détails, je vais mettre ca en application et te tenir au courant de mon avancée default_smile.png/emoticons/smile@2x.png 2x" width="20" height="20">

Il y a cependant une dernière chose qui me chagrine avant de pouvoir réellement penser tout comprendre de GFS :

Sur le serveur à cette adresse (d'ailleurs, utilise-je bien la bonne ?) il a quelque centaines de fichiers GRIB, quelle est la différence entre chacun et le(s)quel(s) dois-je prendre ?

Merci d'avance !

Les fichiers .inv contiennent ce qui sortirait a l'ecran si tu tapais wgrib lenomdifhicer.grib.

C'est donc leur définition, les données qu'ils contiennent.

Je ne me rappel plus ce que sont les idx et les ctl.

pour les autres, style : gfs.t18z.master.grbf174

gfs = nom du modèle (sans blague ?)

t18z = Heure de sortie du modèle (0h, 6h, 12h ou 18h, soit 4 sorties par jour). Le Z = Zoulou

master = je sais que ça correspond a toutes les données de l'ensemble du globe, mais je ne sais pas ce que veux dire master.

grbf174 = fichier grib, et le 174 représente l'échéance de la prévision en heure... Donc là, c'est a 174 heures. grbanl correspond donc a l'analyse, soit l'échéance 0.

Par contre, tout ça, c'est du GRIB1. C'est pas grave, mais si tu veux être à la pointe de la technologie, faut passer au grib2 default_tongue.png/emoticons/tongue@2x.png 2x" width="20" height="20">

Lien à poster
Partager sur d’autres sites

Merci, merci et encore merci pour toutes ces précisions !

Par contre, tout ça, c'est du GRIB1. C'est pas grave, mais si tu veux être à la pointe de la technologie, faut passer au grib2 default_tongue.png/emoticons/tongue@2x.png 2x" width="20" height="20">

Lesquels utilises-tu, je pense faire avec Grib2 vu que l'option -lola semble assez puissante default_biggrin.png/emoticons/biggrin@2x.png 2x" width="20" height="20">

J'ai essayé de me retrouver dans cette liste mais je ne vois pas quels fichiers tu prends...

Merci beaucoup de m'avoir mis sur les rails default_tongue.png/emoticons/tongue@2x.png 2x" width="20" height="20">

Lien à poster
Partager sur d’autres sites

Pour ma part, je me sert ici : ftp://ftpprd.ncep.noaa.gov/pub/data/nccf/com/gfs/prod/

Je ne connaissait pas la page que tu utilise...

Après, t'as plus qu'a choisir dans les fichiers finissant par grib2fxxx ou xxx est toujours l'échéance...

ex :gfs.t06z.pgrb2bf135 pour le run de 6 heure a 135 heures d'échéance au format grib2.

Au fait, je crois que le Grib2 est beaucoup mieux compressé que le GRIB1...

Lien à poster
Partager sur d’autres sites

Je suis bien lancé, j'ai pu décoder quelques lignes manuellement, et j'attaque le code PhP.

Je prends tout à la surface, donc je fais un egrep(":TMP:surface:|:VGRD:surface:|:UGRD:surface:|:PRES:surface:|:PRES:surface:")

car il me faut :

- vent (direction et puissance)

- pression atmospherique

- temperature

- si on est en mer ou non (LAND)

- hauteur des vagues

J'ai tout... sauf les vagues default_sad.png/emoticons/sad@2x.png 2x" width="20" height="20"> : sais-tu si la hauteur des vagues est indiquée dans les fichiers GRIB ou GRIB2 ? Le nom de ce paramètre est normalement SWH (Significant Wave Height) ou un truc du genre mais je ne l'ai trouvé nulle part...

Lien à poster
Partager sur d’autres sites

Salut,

Si tu veux avoir une description de toute les données contenu dans ton fichier grib2 je te conseil de faire cette commande : wgrib2 ton_fichier.grb2 -v -s > detail_de_ton_fichier.idx

Contenu de "detail_de_ton_fichier.idx" :

1:0:d=2008122706:HGT Geopotential Height [gpm]:10 mb:3 hour fcst:2:134120:d=2008122706:TMP Temperature [K]:10 mb:3 hour fcst:3.1:193343:d=2008122706:UGRD U-Component of Wind [m/s]:10 mb:3 hour fcst:3.2:193343:d=2008122706:VGRD V-Component of Wind [m/s]:10 mb:3 hour fcst:4:482678:d=2008122706:ABSV Absolute Vorticity [1/s]:10 mb:3 hour fcst:5:556234:d=2008122706:O3MR Ozone Mixing Ratio [kg/kg]:10 mb:3 hour fcst:6:679301:d=2008122706:HGT Geopotential Height [gpm]:20 mb:3 hour fcst:7:808704:d=2008122706:TMP Temperature [K]:20 mb:3 hour fcst:8.1:868271:d=2008122706:UGRD U-Component of Wind [m/s]:20 mb:3 hour fcst:

Ca t'aidera à retrouvé le paramètre que tu cherches, mais d'après moi sa se trouve vers le bas fichier enfin si ce paramètre est dans les fichiers grib2. default_happy.png/emoticons/happy@2x.png 2x" width="20" height="20">

A bientôt

Lien à poster
Partager sur d’autres sites

Je suis bien lancé, j'ai pu décoder quelques lignes manuellement, et j'attaque le code PhP.

Je prends tout à la surface, donc je fais un egrep(":TMP:surface:|:VGRD:surface:|:UGRD:surface:|:PRES:surface:|:PRES:surface:")

car il me faut :

- vent (direction et puissance)

- pression atmospherique

- temperature

- si on est en mer ou non (LAND)

- hauteur des vagues

J'ai tout... sauf les vagues default_sad.png/emoticons/sad@2x.png 2x" width="20" height="20"> : sais-tu si la hauteur des vagues est indiquée dans les fichiers GRIB ou GRIB2 ? Le nom de ce paramètre est normalement SWH (Significant Wave Height) ou un truc du genre mais je ne l'ai trouvé nulle part...

Je ne crois pas que les informations océaniques soient dans le GRIB du GFS...

Je me fie toujours au lien que je t'ai donné pour les sorties de modèles, donc peut être que sur d'autre source, ces données sont présentes.

Perso, j'avais eu besoin de la température de surface de la mer, et j'avais trouvé la donné dans un fichier GRIB indépendant que tu trouveras toujours sur le même lien (peut être un répertoire parent ?).

Si tu trouves les données de houle, partage ta source ici car c'est suceptible de m'interesser aussi.

Lien à poster
Partager sur d’autres sites

Si tu trouves les données de houle, partage ta source ici car c'est suceptible de m'interesser aussi.

J'ai mis à jour ma liste de données voulues :

Dans le GFS ( ftp://ftpprd.ncep.noaa.gov/pub/data/nccf/com/gfs/prod/ )

-> Temperature a la surface

-> Humidité relative 2 mètres au dessus du sol

-> Pression atmosphérique a la surface

-> Terre ou mer

Dans le Wave ( ftp://ftpprd.ncep.noaa.gov/pub/data/nccf/com/wave/prod/ )

prendre nww3 pour avoir les données mondiales

-> Force et direction du vent

-> Période des vagues

-> Hauteur combinée des vagues et de la houle

Dans le fog ( ftp://ftpprd.ncep.noaa.gov/pub/data/nccf/com/omb/prod/ )

prendre fog.xxx/fog.txxz.gvisg

-> Visibilité

Voila voila, tout ça grâce à vous default_smile.png/emoticons/smile@2x.png 2x" width="20" height="20">

Lien à poster
Partager sur d’autres sites

Bonsoir tout le monde,

On trouve d'excellents aides sur ce forum... Et je suis également intéressé depuis peu à déchiffrer le model GFS via wgrib2 pour pourquoi pas après les installer sur mon site.

Mais voilà mon soucis, j'ai, je pense, avoir réussi à installer wgrib2, mais après je ne vois pas comment faire pour ouvrir les fichiers genre: gfs.t18z.master.grbf174 que je trouve sur ftp://ftpprd.ncep.noaa.gov/pub/data/nccf/com/gfs/prod/

A préciser que je suis sous windows XP default_sleep.png/emoticons/sleep@2x.png 2x" width="20" height="20">

Merci d'avance

Bertran

Lien à poster
Partager sur d’autres sites

Bonsoir tout le monde,

On trouve d'excellents aides sur ce forum... Et je suis également intéressé depuis peu à déchiffrer le model GFS via wgrib2 pour pourquoi pas après les installer sur mon site.

Mais voilà mon soucis, j'ai, je pense, avoir réussi à installer wgrib2, mais après je ne vois pas comment faire pour ouvrir les fichiers genre: gfs.t18z.master.grbf174 que je trouve sur ftp://ftpprd.ncep.noaa.gov/pub/data/nccf/com/gfs/prod/

A préciser que je suis sous windows XP default_sleep.png/emoticons/sleep@2x.png 2x" width="20" height="20">

Merci d'avance

Bertran

Il faut que tu passes par la console de windows. Tu y accèdes via démarrer -> executer -> cmd.exe

Ensuite, il est nécessaire de connaitre un peu les commandes DOS, ce qui devrais être ton cas si tu programmes...

Dans l'idée, il faut voir avec mon 1er post sur ce topic pour le comment faire. Mais malheureusement, comme tous les produits microsoft, le dos est mal fichu et la fonction grep n'existe pas... Je n'ai pas de substitu à te proposer.

Lien à poster
Partager sur d’autres sites

Dans l'idée, il faut voir avec mon 1er post sur ce topic pour le comment faire. Mais malheureusement, comme tous les produits microsoft, le dos est mal fichu et la fonction grep n'existe pas... Je n'ai pas de substitu à te proposer.

Si il est possible de rajouté la fonction grep à windows, il suffit de rajouté les fichiers qu'il faut dans le répertoire : C:\WINDOWS\system32 et hop sa marche quand j'ai commencé avec les fichiers grib j'ai tout dev sous windows avant de passé sous linux et sa marcher parfaitement. Par contre je me rappel plus c'est qu'il faut rajouté pour la fonction grep mais une petit recherche google te dira tout je pense default_smile.png/emoticons/smile@2x.png 2x" width="20" height="20">.

A bientôt et si vous avez d'autres questions posez les pour que tout le monde en profite sa fait un peu plus de 2 mois que je bosse sur les fichiers grib2 donc je commence à connaitre la bête default_tongue.png/emoticons/tongue@2x.png 2x" width="20" height="20">

Lien à poster
Partager sur d’autres sites

Adiooo tout le monde,

Désolé du retard..pas mal de boulot..

Et je voulais vous remercier pour vos réponses... Je prends bien note default_biggrin.png/emoticons/biggrin@2x.png 2x" width="20" height="20">

Là, pour le moment j'essaye de voir ce que je pourrais faire avec google maps et des données météo brutes que je trouve par ci par là hihi default_tongue.png/emoticons/tongue@2x.png 2x" width="20" height="20">

Lien à poster
Partager sur d’autres sites

J'ai bien avancé, j'ai créé un cron qui récupère les dernières données, je les ai analysées (parsées), mais j'arrive à un stade où ça relève plus de la météorologie que de la programmation :

à savoir, transformer les données en "image", c-a-d définir le temps à proprement dit (ensoleillé, nuageux, pluvieux, venteux, neigeux, etc )

Quelques petits conseils/astuces me seraient bien utiles default_smile.png/emoticons/smile@2x.png 2x" width="20" height="20">

Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
 Partager

  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
×
×
  • Créer...