La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Introduction à BUFR FM 94 BUFR Organisation Météorologique Mondiale Version française: Benjamin SACLIER (METEO-France- International) Gilles Gelly (METEO-France)

Présentations similaires


Présentation au sujet: "Introduction à BUFR FM 94 BUFR Organisation Météorologique Mondiale Version française: Benjamin SACLIER (METEO-France- International) Gilles Gelly (METEO-France)"— Transcription de la présentation:

1 Introduction à BUFR FM 94 BUFR Organisation Météorologique Mondiale Version française: Benjamin SACLIER (METEO-France- International) Gilles Gelly (METEO-France)

2 Quest-ce que BUFR? Binary Universal Form for the Representation of Meteorological Data Utilisé pour des données qui ne sont pas sur une grille régulière telles que les observations Conceptuellement équivalent à CREX, mais le format est binaire et non alphanumérique

3 A quoi ressemble un message BUFR ? (En dautres mots, juste une rangée de 0 et 1 distribués au hasard!?)

4 Sections dun message BUFR 0 Section Indicatrice 1 Section didentification 2 (Section facultative) 3 Section de Description des données 4 Section des données 5 Section de fin Chaque section contient toujours un nombre pair doctets, des bits mis à zéro étant ajoutés le cas échéant

5 Section 0 – Section Indicatrice Le champ de caractères BUFR qui indique le début du message La longueur totale du message Le numéro de lédition de BUFR utilisée (important si lon veut traiter des archives) Cette section contient:

6 Section 0 - Détails Longueur toujours de 8 octets (1 octet = 8 bits) Octets 1-4 BUFR (en alphabet CCITT IA5) Binaire Octets 5-7: Longueur totale du message en octets (y compris la section 0) 3octets : = octets Octet 8: Numéro dédition BUFR (actuellement 3)

7 Section 1 – section didentification La version des tables (locales et OMM) utilisées dans le message. Dautres descriptions sur le contenu du message : –Le centre dorigine et secondaire –La catégorie et la sous catégorie des données –Une date et une heure représentatives des données –Présence ou non de la section facultative. Cette section contient:

8 Section 1 - Détails Taille dau moins 18 octets Octets 1-3 Longueur de la section, en octets Octet 4 Table principale du code BUFR (0=OMM) Octet 5-6Centre dorigine de production Octet 7-8Centre secondaire dorigine de production (défini si nécessaire par le centre principal) Octet 9 Numéro de mis à jour du message Octet 10 Flag. Bit 1 = 1 section 2 incluse Octets 11Catégorie des données (Table A) Octets 12Sous-catégorie internationale des données Octets 13Sous-catégorie locale des données Octets 14-15N° de version tables principales (3 actuellement ) et locales Octets 16-22Date et heure caractérisant le message Octets 23-??Réserve pour des besoins locaux

9 Section 2 – section facultative Un exemple type dutilisation est celui du contexte dune base de données. –Database keys, pour faciliter la recherche de données spécifiques sans décoder lensemble du message. –Domaine géographique des séries de données Toute autre chose qu un centre de traitement peut trouver utile. Cette section est réservée et définie pour les besoins locaux des centres de traitement des données.

10 Section 3 – Description des données Le nombre de sous-séries de données dans le message, chaque séries du message sont toutes du même format. Très utilisé. Un Flag indiquant si les données sont codées en utilisant la compression ou non. Un autre flag pour préciser si ce sont des données observées ou prévues. Une liste de descripteur qui définissent la forme et le contenu de chaque sous-série de la section des données. Cette section contient :

11 Section 3 - Détails La taille est dau moins 10 octets Octets 1-3Longueur de la section, octets Octet 4Mis à zéro Octets 5-6Nombre de sous-séries Octet 7Bit1 = 1 observées 0 autres Bit2 = 1 comprimées 0 non Octets 8-??Liste des descripteurs Chaque descripteur 2 bits F, 6 bits X, 8 bits Y

12 Section 4 – Section des données Lensemble des données comme spécifiées dans la section 3. Un des deux formats est utilisé: –Compressé –Non-compressé Cette section contient:

13 Section 4 - Détails Octets 1-3Longueur de la section Octet 4Mis à zéro Octets 5-??Données binaires telles quelles sont définies par les descripteurs de la section 3.

14 Section 5 – section de fin La chaîne de caractère 7777 indiquant la fin du message. La vérification de cet indicateur permet de détecter une erreur des données (en particulier octets absents dans le reste du message) en fonction de la taille totale connue dans la section 0. Cette section contient:

15 Maintenant, regardons encore le message BUFR! B U F R end of section 0 + octet number 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 1 | 2 | binary string octet number 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | binary string end of section 1 + octet number 13 | 14 | 15 | 16 | 17 | 18 | 1 | 2 | 3 | 4 | binary string end of section 3 + octet number 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | binary string end of section octet number 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 1 | 2 | binary string end of section 5 octet number 3 | 4 | binary string

16 Exemple Section 0 OCTET NO BINARY HEXADECIMAL DECODED B U F R 52 2 Bufr edition Longueur du message en octets

17 Exemple section 1(Edition 3) OCTET NO BINARY HEXADECIMAL A 0 0 DECODED length of section standard BUFR tables originating center (US Navy - FNOC) Section 2 not included OCTET NO BINARY HEXADECIMAL D D 0 C DECODED data category data category sub-type version of master tables version of local tables year of century month day hour OCTET NO BINARY HEXADECIMAL DECODED 0 0 minute local use

18 Exemple Section 3 O C T E T N O BINARY HEXADECIMAL E DECODED Longueur de la section En réserve Nombre de sous-séries de données flag dindication de données observée Données non compressées OCTET NO BINARY HEXADECIMAL C DECODED descripteurs F X Y Une section est toujours constituée dun nombre paire doctets

19 Descripteurs BUFR Les descripteurs BUFR sont listés dans la section 3 Ils décrivent la nature et la structure des données qui sont contenues dans la section 4. Les descripteurs sont référencés dans les tables du Manuel: Tables BUFR B, C et D. En utilisant la liste de descripteurs de la section 3, et les tables correspondantes du Manuel, il est alors possible de décoder les données de la section 4.

20 Types de descripteurs BUFR Descripteur délément (définis dans la Table B) Descripteur de répétition Descripteur dopération (définis dans la Table C) Descripteur de séquence (définis dans la Table D) Un descripteur se représente de la manière suivante, 3 chiffres sur 16 bits (2 octets) : –F: 2 bits 0-3 –X: 6 bits 0-63 –Y: 8 bits 0-255

21 Descripteur délément Il est défini par une entrée dans la Table B du Manuel. F = 0 Chaque descripteur délément décrit la manière de coder une valeur : –La valeur dun paramètre météorologique: température, pression niveau mer, humidité … –Le type dun instrument –Des informations sur la position et la date de la mesure –Des informations sur les contrôles de qualité

22 Descripteur de répétition (1) Il définit la répétition dun seul ou dun groupe de descripteurs un certains nombre de fois. Les descripteurs répétés peuvent être des descripteurs délément, dopération, de séquence ou même de répétition Comme dans un message TEMP où un groupe de paramètres est répété pour chaque niveau Il peut être de 2 types: –Fixe – le nombre de répétitions est pré-déterminé et sera le même pour toutes les séries de données –Variable – le nombre de répétitions varie dune série a lautre, on parle de répétition différée

23 Descripteur de répétition (2) F = 1 X est un entier entre 1 et 63, il indique le nombre de descripteurs à répéter Y est un entier entre 0 et 255; il indique le nombre total de répétitions des X descripteurs Ex : Si Y = 0, il sagit dune répétition différée, le descripteur délément suivant indique alors le nombre de répétitions (stocké dans la section des données 4) Ex: Le nombre de répétition peut donc changer dune série à lautre.

24 Descripteur dopération Le descripteur dopération est défini dans la Table C F = 2 La valeur de X indique un type dopération La valeur de Y dépend de lopération Permet de modifier les caractéristiques dun descripteur Différents type dopérations existent: –Changer léchelle et/ou le champ de données –Ajouter des informations sur la qualité ou des champs associés –Ajouter des valeurs substituées tout en gardant la valeur dorigine

25 Descripteur de séquence Renvoie à une des entrées de la Table D F = 3 Énumère une série de descripteurs délément, dopération, et /ou de séquences Son utilisation permet de réduire la taille de la section 3, contribuant ainsi beaucoup à lefficacité du code BUFR Un seul descripteur de séquence peut être présent dans la section 3 pour d écrire un type dobservation (même complexe)

26 Revue des Tables BUFR dans le Manuel Table A –Catégories des données utilisées dans la section 1 (octet 9) Table B –Descripteurs délément, utilisés dans la section 3 Table C –Descripteurs dopération, utilisés dans la section 3 Table D –Descripteurs de séquence, utilisés dans la section 3 Tables de Code et dIndicateurs –Il faut alors se reporter à la table de code correspondante pour connaître la signification du champ numérique codé. –Utilisés dans la section 4 Le code BUFR utilise plusieurs types de tables:

27 Table A Définition du type de données représentées dans le message BUFR Encodé dans la section 1 (octet 9) Examples of typical entries: Code figureMeaning 0Surface data – land 1Surface data – sea 2Vertical soundings (non-satellite) 3Vertical soundings (satellite) …… 6Radar data …… 10Radiological data 12Surface data (satellite) …… 31Oceanographic data

28 Table B Classification des éléments Décrit de quelle manière est codée le paramètre Les colonnes sont: –Descripteur –Nom de lélément –Unité –Échelle –Valeur de référence –Champ de données (en bits) Léchelle et le champ de données sont déterminées en fonction des valeurs possibles du paramètre pour quil puisse être stocké dans le BUFR en entier positif. Le BUFR est ainsi indépendant de la machine

29 Table B Décrit comment chaque valeur doit être encodée Les descripteurs délément sont groupes en classes (i.e. la valeur X) Class NumberClass NameClass NumberClass Name 01Identification 12Temperature 02Instrumentation 13Hydrological …… 14Radiation and radiance 04Location (time) …… 05Location (horizontal-1) 19Synoptic features 06Location (horizontal-2) 20Observed phenomena 07Location (vertical) 21Radar data …… …… 11Wind and turbulence 33Quality information

30 Table B référence Les descripteurs sont toujours exprimés sous la forme F X Y (2 bits 6 bits 8 bits) F = 0 pour un descripteur délément X est compris entre 0 et 63 qui correspond à une classe délément Ex: classe 12 – classe des températures Y est compris entre 0 et 255 qui correspond au numéro du descripteur dans la classe Ex: Température du point de rosée

31 Class 01 – Identification (extrait) TABLE REFERENCE F X Y TABLE ELEMENT NAME UNITSCALE REFERENCE VALUE DATA WIDTH (BITS) WMO block numberNumeric WMO station numberNumeric WMO region numberCode table Buoy/platform identifier Numeric Aircraft flight number CCITT IA Satellite identifierCode table Ship or mobile land station identifier CCITT IA Station or site nameCCITT IA ICAO location indicator CCITT IA50064

32 Class 11 – vent et turbulence (extrait) TABLE REFERENCE F X Y TABLE ELEMENT NAME UNITSCALE REFERENCE VALUE DATA WIDTH (BITS) Wind directionDegree true Wind speedm s U-componentm s V-componentm s Relative vorticitys Degree of turbulenceCode table Height of base of turbulence m Height of top of turbulence m Vertical gust velocitym s

33 Table B nom de lélément Commentaire décrivant la signification de la valeur Par exemple: –Précipitation totale sur les 3 dernières heures –Vitesse du vent à 10 mètres

34 Table B unité Unités utilisées pour les valeurs: –Dans la plupart des cas, des unités de base en SI (mètre, Pa, Kelvin …) –CCITT IA5 (the international version of ASCII) est utilisé pour les caractères tel que les indicatifs (nom dun navire, nom dun aéronef) –Table de Code utilisé pour la communication des informations qualitatives où seulement une valeur est possible –Table dindicateurs utilisé pour la communication des informations qualitatives où plusieurs valeurs sont possibles

35 Exemple table de code et dindicateur Intensité du phénomène Chiffre Du code 0 Pas de phénomène 1 Léger 2 Modéré 3 Fort 4 Violent 5-6 En réserve 7 Valeur manquante Obscurcissement Numéro de bit 1 Brouillard 2 Brouillard glacé 3 Brouillard dévaporation 4-6 En réserve 7 Brume 8 Brume sèche 9 Fumée 10 Cendre volcanique 11 Poussière 12 Sable 13 Neige En réserve 21 Valeur manquante

36 Table B échelle Échelle –Avant le codage on multiplie la valeur de la donnée par 10 échelle –Elle permet de conserver la précision souhaitée de la donnée transmise –Une échelle de 2 signifie 2 décimales de précision (ex: T° = température transmise de lordre du centième) –En revanche, certaines unités (Pa) entraînent la transmission de chiffres dune précision inutile –On utilise alors une valeur déchelle négative (ex: échelle –1 ce qui donne une valeur arrondie au multiple de 10)

37 Table B Valeur de référence La valeur de référence est un nombre qui doit être soustrait à la donnée, après multiplication par le facteur déchelle, afin que la valeur ne soit en aucun cas NEGATIVE Exemple, échelle=2, valeur de référence = valeur à coder latitude = : *10 2 = – (-9000) = 5450 sera la valeur chiffrée dans la section 4 Lors du décodage on retrouve la valeur originale en faisant le calcul inverse

38 Table B champ de données Nombre de bits utilisés pour encoder la valeur après multiplication par le facteur déchelle et soustraction de la valeur de référence Par convention si tous les bits sont positionnés à 1, cela doit être interprété comme valeur manquante Valeur de (2 n -1) lorsque n est le champ de donnée Si léchelle est s, la valeur de référence r, le champ de donnée n, alors la plage de valeur est: –Minimum (10 -s r) –Maximum (10 -s (2 n -2+r)) et (10 -s (2 n -1+r)) pour la valeur manquante.

39 Table B Table reference F X Y Element nameUnitScaleReference value Data width Wind speed at 10mm s Total precipitation past 3 hourskg m Present weatherCode table Vertical sounding significanceFlag table007 De toute évidence sans table B à jour, impossible de décoder le contenu dun BUFR

40 Table B exemples – (1) – vitesse du vent à 10m Échelle = 1, Référence = 0, Champ = 12 Précision au dixième (ie. 0.1 m s -1 ) Valeur Minimum représentable : (10 -1 ×0) = 0.0 m s -1 Valeur Maximum représentable : (10 -1 ×( )) = m s -1 Valeur manquante Missing : (10 -1 ×( )) = m s -1

41 Table B exemples – (2) – Précipitation totale sur 3 heures Échelle=1, Référence =-1, Champ=14 Précision en dixième (ie. 0.1 kg m -2 ) Pour ce descripteur, -0.1 kg m -2 est une valeur spéciale pour indiquer les « traces » (voir note dans la Table B) Valeur Minimum : (10 -1 ×-1) = -0.1 kg m -2 (= trace) Valeur Maximum : (10 -1 ×( )) = kg m -2 Valeur manquante Missing: (10 -1 ×( )) = kg m -2

42 Table B exemples – (3) – Temps présent Échelle=0, Référence =0, Champ=9 bits Les valeurs codées sont entières: Échelle=0 Valeur Minimum : (10 0 ×0) = 0 Valeur Maximum : (10 0 ×( )) = 510 Valeur manquante Missing : (10 0 ×( )) = 511 Il faut alors se référer à la table de Code pour connaître le type de temps présent correspondant à la valeur codée.

43 Table C Descripteurs dopérations Utilisée pour redéfinir temporairement les caractéristiques de la tables B, ou ajouter des champs associés, ou ajouter des chaînes de caractères F = 2 X = un entier entre 0 et 63 Y = Opérande, un entier entre 0 et 255 Nom de lopérateur: décrivant le type dopération Définition de lopération: description détaillée de lopération et de ses effets

44 Table C exemple (1) Référence F=2 X=01 Opérande, dans ce cas représentée par Y Nom de lOpérateur Changer de champ de données Définition: « Ajouter (Y-128) bits au champ de données indiqué pour chaque élément de données de la table B, autre que des données CCITT IA5, une table de code ou une table dindicateurs » Pour supprimer la valeur redéfinie on inclus lopérande appropriée avec Y = 000 ou à la fin de chaque sous-série de données. Ex :

45 Table C exemple – (2) Lopérateur Changer de champ de données (2 01 Y) permet de coder des valeurs sur un plage de bits plus grande (ou plus petite) que celle qui est donnée par défaut dans la table B: Encoder des valeurs trop grandes pour être représentées avec le nombre de bits usuel (table B) et éviter ainsi de créer une nouvelle entrée dans la table B. Dans ce cas Y > 128 Réduire le champ de données (réduire ainsi la taille du BUFR) pour coder des valeurs plus petites et pour lesquelles on sait quon nutilisera jamais la totalité du champ défini dans la table B Dans ce cas Y < 128

46 Table C exemple – (3) Un descripteur classique pour coder la hauteur est le avec unité= m, échelle=0, référence=-1000 et champ de donnée =17, permet de coder des valeurs comprises entre – 1000 m et m. Si on veut coder une valeur plus grande que m (ex: hauteur dun satellite) il faudra utiliser le descripteur dopération 2 01 Y pour augmenter le nombre de bits du champ de données. Ex: descripteur dopération suivi de pour augmenter le champ de données de 2 bits, ainsi on pourra coder des valeurs sur un champ de 19 bits (soit la valeur maximum de m).

47 Table C TABLE REFERENCE F X OPERANDOPERATOR NAMEOPERATOR DEFINITION 2 01YChange data widthAdd (Y-128) bits to the data width given for each data element in Table B, other than CCITT IA5, code or flag tables 2 02YChange scaleAdd (Y-128) to scale in Table B for elements which are not CCITT IA5, code or flag tables 2 03YChange reference valueSubsequent element descriptors define new reference values for corresponding Table B entries. Each new reference value is represented by Y bits in Section 4… 2 04YAdd associated fieldPrecede each element with Y bits of information (e.g. quality marker). 2 05YSignify characterY characters from CCITT IA5 are inserted as a field of (Y*8) bits in length. 2 06YSignify data width for following local descriptor Y bits of data are described by the immediately following local descriptor from Table B This is just an excerpt – there are many other (even more complicated!) operators in Table C. There are also many important notes to Table C describing, e.g. how to cancel an operator.

48 Table D Descripteurs de séquences –F = 3 –X = un entier compris entre 0 et 63 (classe) –Y = un entier compris entre 0 et 255 Séquence de descripteurs –La liste des descripteurs, pouvant être des descripteurs délément (table B), des descripteurs de répétition, des descripteurs dopération (table C) et aussi des descripteurs de séquences (table D) Nom de lélément –Description sur le type de paramètre

49 Table D exemple Table reference F X Y Table References Element name (Buoy/platform – fixed) Buoy/platform identifier Type of station Date Time Latitude and longitude (high accuracy)

50 Table D exemple – (1) Dans cet exemple la séquence comporte 5 descripteurs Deux sont des descripteurs délément (table B) Les 3 autres sont des descripteurs de séquences (table D) qui représentent eux-même une liste déléments Toutefois ce nest pas récursif ! Un descripteur de séquence ne peut pas faire référence à lui-même.

51 Table D categories Categories correspond to the X value of the underlying sequence descriptor. Category numberCategory name 01Location and identification sequences 02Sequences common to surface data 03Sequences common to vertical soundings data 04Sequences common to satellite observations 05Sequences common to hydrological observations 06Sequences common to oceanographic observations 07Surface report sequences (land) 08Surface report sequences (sea)… 18Radiological report sequences 21Radar report sequences

52 Category 01 – Location and Identification Sequences (excerpt) TABLE REFERENCETABLE REFERENCESELEMENT NAME WMO block number WMO station number Year Month Day Hour Minute Latitude (coarse accuracy) Longitude (coarse accuracy) Height of station (Land station for vertical soundings) WMO block and station number Radiosonde type Radiosonde computational method Date Time Lat/long (coarse accuracy), height of station

53 Table D example Table reference F X Y Table References Element name (Buoy/platform – fixed) Buoy/platform identifier Type of station Date Time Latitude and longitude (high accuracy)

54 Descripteurs de répétition - exemple Les 4 descripteurs: – Repeat three descriptors twice – Direction of swell waves – Period of swell waves – Height of swell waves Sont équivalents aux 6 descripteurs: – Direction of swell waves – Period of swell waves – Height of swell waves – Direction of swell waves – Period of swell waves – Height of swell waves

55 Descripteurs de répétition différée - exemple Les 3 descripteurs: – Delayed replication of one descriptor – Replication factor (8 bit) – Winds at pressure levels sont équivalents à: – Winds at pressure levels –… autant de fois que spécifiée par le descripteur Le nombre de répétitions est stocké dans la section 4 ainsi chaque sous-série de données peut avoir un nombre de répétitions différent Suivant la valeur du nombre de répétition, un descripteur différent ( bit, bits et bits)

56 Section 4 La structure des données dans la section 4 dépend directement des descripteurs et des flags utilisés dans la section 3: –Une des principales différences vient de lutilisation ou non du mécanisme de compression. –La répétition différée et la compression peuvent être combinés, mais seulement dans le cas ou le nombre de répétitions est le même dans chaque sous-séries de données du message BUFR.

57 Section 4 – Données non- compressées Chaque donnée « occupe » le nombre de bits indiqué par le « champ de donnée » de la table B, ajusté en fonction des descripteurs dopérations utilisés. N séries avec chacune M paramètres : Obs1 value1, Obs1 value2, Obs1 value3,... Obs1 valueM Obs2 value1, Obs2 value2, Obs2 value3,... Obs2 valueM.... ObsN value1, ObsN value2, ObsN value3,... ObsN valueM

58 Section 4 – Données compressées Chaque item dun type de paramètre est codé par : sa valeur minimum parmi toute les séries (en utilisant le champ de bits indiqué dans la table B), le nombre de bits utilisés pour le codage des incréments (lui-même codé sur 6 bits) et une liste dincréments qui doit être ajouté à la valeur mini pour retrouver la valeur initiale. N séries avec chacune M paramètres Min1, Nbits1, obs1inc1, obs2inc1, … obsNinc1 Min2, Nbits2, obs1inc2, obs2inc2, … obsNinc2 … MinM, NbitsM, obs1incM, obs2incM, … obsNincM

59 Conclusion BUFR est dutilisation souple et déterminé par des tables BUFR peut représenter un large éventail de données BUFR est auto-descriptif La méthode de répétition et les séquences de descripteurs peuvent être utilisés pour réduire la taille de la section 3 La compression permet de réduire notablement la taille totale du BUFR

60 Remerciements Référence: WMO No. 306 Manual on Codes, Volume I.2 (http://www.wmo.int/web/www/DPS/NewCodesTables/WMO306vol-I-2PartB.pdf) Guide to WMO Table-Driven Code Forms FM94 BUFR and FM95 CREX (http://www.wmo.int/web/www/WDM/Guides/BUFR-CREX-guide.html) Remerciements: Charles Sanders BOM-Australia Simon Elliott EUMETSAT Joël Martellet WMO


Télécharger ppt "Introduction à BUFR FM 94 BUFR Organisation Météorologique Mondiale Version française: Benjamin SACLIER (METEO-France- International) Gilles Gelly (METEO-France)"

Présentations similaires


Annonces Google