Introduction à BUFR FM 94 BUFR Organisation Météorologique Mondiale Version française: Benjamin...

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

Transcript of Introduction à BUFR FM 94 BUFR Organisation Météorologique Mondiale Version française: Benjamin...

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

Introduction à BUFR

FM 94 BUFR

Organisation Météorologique Mondiale

Version française: Benjamin SACLIER (METEO-France- International) Gilles Gelly (METEO-France)

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

Qu’est-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

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

A quoi ressemble un message BUFR ? 01000010010101010100011001010010000000000000000000110100000000110000000000000000

00010010000000000000000000111000000000000000000000000000000000000000100100000001

00000001000001000001110100001100000000000000000000000000000000000000111000000000

00000000000000011000000000000001000000010000000100000010000011000000010000000000

00000000000000000000100000000000100100001111010111011100010000000011011100110111

0011011100110111

(En d’autres mots , juste une rangée de 0 et 1 distribués au hasard!?)

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

Sections d’un message BUFR

• 0 Section Indicatrice

• 1 Section d’identification

• 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 d’octets, des bits mis à zéro étant ajoutés le cas échéant

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

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 l’on veut traiter des archives)

Cette section contient:

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

Section 0 - Détails• Longueur toujours de 8 octets (1 octet = 8 bits)• Octets 1-4 “BUFR” (en alphabet CCITT IA5)Binaire 01000010 01010101 01000110 01010010• Octets 5-7 : Longueur totale du message en

octets (y compris la section 0)3octets : 224-1 = 16 777 215 octets

• Octet 8 : Numéro d’édition BUFR (actuellement 3)

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

Section 1 – section d’identification

• La version des tables (locales et OMM) utilisées dans le message.

• D’autres descriptions sur le contenu du message :– Le centre d’origine 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:

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

Section 1 - DétailsTaille d’au moins 18 octets• Octets 1-3 Longueur de la section, en octets• Octet 4 Table principale du code BUFR (0=OMM)• Octet 5-6 Centre d’origine de production • Octet 7-8 Centre secondaire d’origine 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 11 Catégorie des données (Table A)• Octets 12 Sous-catégorie internationale des données• Octets 13 Sous-catégorie locale des données• Octets 14-15 N° de version tables principales (3 actuellement ) et locales• Octets 16-22 Date et heure caractérisant le message• Octets 23-?? Réserve pour des besoins locaux

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

Section 2 – section facultative

• Un exemple type d’utilisation est celui du contexte d’une base de données.– Database keys, pour faciliter la recherche de données

spécifiques sans décoder l’ensemble 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.

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

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:

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

Section 3 - Détails

• La taille est d’au moins 10 octets• Octets 1-3 Longueur de la section, octets• Octet 4 Mis à zéro• Octets 5-6 Nombre de sous-séries• Octet 7 Bit1 = 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

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

Section 4 – Section des données

• L’ensemble des données comme spécifiées dans la section 3.

• Un des deux formats est utilisé:– Compressé– Non-compressé

Cette section contient:

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

Section 4 - Détails

• Octets 1-3 Longueur de la section

• Octet 4 Mis à zéro

• Octets 5-?? Données binaires telles qu’elles sont définies par les descripteurs de la section 3.

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

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:

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

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 01000010010101010100011001010010000000000000000000110100000000110000000000000000

octet number 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |

binary string 00010010000000000000000000111000000000000000000000000000000000000000100100000001

  end of section 1 +

octet number 13 | 14 | 15 | 16 | 17 | 18 | 1 | 2 | 3 | 4 |

binary string 00000001000001000001110100001100000000000000000000000000000000000000111000000000

  end of section 3 +

octet number 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |

binary string 00000000000000011000000000000001000000010000000100000010000011000000010000000000

end of section 4 + ‘7’ ‘7’

octet number 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 1 | 2 |

binary string 00000000000000000000100000000000100100001111010111011100010000000011011100110111

‘7’ ‘7’ + end of section 5

octet number 3 | 4 |

binary string 0011011100110111

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

Exemple Section 0

OCTET NO. 1 2 3 4 5 6 7 8

BINARY 01000010 01010101 01000110 01010010 00000000 00000000 00110100 00000010

HEXADECIMAL 4 2 5 5 4 6 5 2 0 0 0 0 3 4 0 2

DECODED B U F R 52 2

Bufr edition

Longueur du messageen octets

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

Exemple section 1(Edition 3)OCTET NO. 1 2 3 4 5 6 7 8BINARY 00000000 00000000 00010010 00000000 00000000 00111000 00000000 00000000HEXADECIMAL 0 0 0 0 1 2 0 0 0 0 3 A 0 0DECODED 18 0 58

length of sectionstandard BUFR tables

originating center (US Navy - FNOC) Section 2 not included

OCTET NO. 9 10 11 12 13 14 15 16BINARY 00000010 00000000 00000010 00000001 01011101 00000100 00011101 00001100HEXADECIMAL 0 2 0 0 0 2 0 1 5 D 0 4 1 D 0 CDECODED 2 0 2 1 94 4 29 12

data categorydata category sub-type

version of master tablesversion of local tables

year of century month day hour

OCTET NO. 17 18BINARY 00000000 00000000HEXADECIMAL 0 0 0 0DECODED 0 0 minute local use

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

Exemple Section 3O C T E T N O . 1 2 3 4 5 6 7BINARY 00000000 00000000 00001110 00000000 00000000 00000001 10000000HEXADECIMAL 0 0 0 0 0 E 0 0 0 0 0 1DECODED 14 0 0 1

Longueur de la sectionEn réserve

Nombre de sous-séries de donnéesflag d’indication de données observée

Données non compressées

OCTET NO. 8 9 10 11 12 13 14BINARY 00000001 00000001 00000001 00000010 00001100 00000100 00000000HEXADECIMAL 0 1 0 1 0 1 0 2 0 C 0 4 0 0DECODED 0 01 001 0 01 002 0 12 004 0descripteurs F X Y

Une section est toujours constituée d’un nombre paire d’octets

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

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.

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

Types de descripteurs BUFR

• Descripteur d’élément (définis dans la Table B)• Descripteur de répétition• Descripteur d’opé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

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

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 d’un paramètre météorologique: température,

pression niveau mer, humidité …– Le type d’un instrument– Des informations sur la position et la date de la mesure– Des informations sur les contrôles de qualité

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

Descripteur de répétition (1)• Il définit la répétition d’un seul ou d’un groupe de

descripteurs un certains nombre de fois.• Les descripteurs répétés peuvent être des

descripteurs d’élément, d’opé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 d’une série a

l’autre , on parle de répétition différée

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

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 : 101010 012001

Si Y = 0, il s’agit d’une 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: 101000 031001 012001Le nombre de répétition peut donc changer d’une série à

l’autre.

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

Descripteur d’opération• Le descripteur d’opération est défini dans la Table C• F = 2• La valeur de X indique un type d’opération• La valeur de Y dépend de l’opération• Permet de modifier les caractéristiques d’un

descripteur• Différents type d’opé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

d’origine

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

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,

d’opération, et /ou de séquences• Son utilisation permet de réduire la taille de la

section 3, contribuant ainsi beaucoup à l’efficacité du code BUFR

• Un seul descripteur de séquence peut être présent dans la section 3 pour d écrire un type d’observation (même complexe)

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

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 d’opération, utilisés dans la section 3

• Table D– Descripteurs de séquence, utilisés dans la section 3

• Tables de Code et d’Indicateurs– 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:

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

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 figure Meaning 0 Surface data – land 1 Surface data – sea 2 Vertical soundings (non-satellite) 3 Vertical soundings (satellite) … … 6 Radar data … … 10 Radiological data 12 Surface data (satellite) … … 31 Oceanographic data

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

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 qu’il puisse être stocké dans le BUFR en entier positif.

• Le BUFR est ainsi indépendant de la machine

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

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 Number Class Name Class Number Class Name

01 Identification 12 Temperature

02 Instrumentation 13 Hydrological

… … 14 Radiation and radiance

04 Location (time) … …

05 Location (horizontal-1) 19 Synoptic features

06 Location (horizontal-2) 20 Observed phenomena

07 Location (vertical) 21 Radar data

… … … …

11 Wind and turbulence 33 Quality information

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

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: 0 12 003 Température du point de rosée

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

Class 01 – Identification(extrait)

TABLE

REFERENCE

F X Y

TABLE

ELEMENT

NAME

UNIT SCALEREFERENCE

VALUE

DATA

WIDTH

(BITS)

0 01 001 WMO block number Numeric 0 0 7

0 01 002 WMO station number Numeric 0 0 10

0 01 003 WMO region number Code table 0 0 3

0 01 005 Buoy/platform identifier

Numeric 0 0 17

0 01 006 Aircraft flight number

CCITT IA5 0 0 64

0 01 007 Satellite identifier Code table 0 0 10

0 01 011 Ship or mobile land station identifier

CCITT IA5 0 0 72

0 01 015 Station or site name CCITT IA5 0 0 160

0 01 063 ICAO location indicator

CCITT IA5 0 0 64

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

Class 11 – vent et turbulence(extrait)

TABLE

REFERENCE

F X Y

TABLE

ELEMENT

NAME

UNIT SCALEREFERENCE

VALUE

DATA

WIDTH

(BITS)

0 11 001 Wind direction Degree true 0 0 9

0 11 002 Wind speed m s-1 1 0 12

0 11 003 U-component m s-1 1 -4096 13

0 11 004 V-component m s-1 1 -4096 13

0 11 021 Relative vorticity s-1 9 -65536 17

0 11 031 Degree of turbulence Code table 0 0 4

0 11 032 Height of base of turbulence

m -1 -40 16

0 11 033 Height of top of turbulence

m -1 -40 16

0 11 034 Vertical gust velocity m s-1 1 -1024 11

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

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

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

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 d’un navire, nom d’un aéronef)

– “Table de Code” utilisé pour la communication des informations qualitatives où seulement une valeur est possible

– “Table d’indicateurs” utilisé pour la communication des informations qualitatives où plusieurs valeurs sont possibles

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

Exemple table de code et d’indicateur

0 20 024Intensité du phénomène

ChiffreDu 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

0 20 025

ObscurcissementNumé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

• 14-20 En réserve

• 21 Valeur manquante

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

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° = 273.16 température transmise de l’ordre du centième)

– En revanche, certaines unités (Pa) entraînent la transmission de chiffres d’une 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)

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

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 = -9000 valeur à coder latitude = -35.50: -35.50*102 = -3550 -3550 – (-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

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

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 (2n-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 (2n-2+r))

et (10-s (2n-1+r)) pour la valeur manquante.

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

Table B

Table reference

F X Y

Element name Unit Scale Reference value

Data width

0 11 012 Wind speed at 10m m s-1 1 0 12

0 13 020 Total precipitation past 3 hours kg m-2 1 -1 14

0 20 003 Present weather Code table 0 0 9

0 08 001 Vertical sounding significance Flag table 0 0 7

De toute évidence sans table B à jour, impossible de décoder le contenu d’un BUFR

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

Table B exemples – (1)• 0 11 012 – 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×(212-2+0)) = 409.4 m s-1

• Valeur manquante “Missing” :

(10-1×(212-1+0)) = 409.5 m s-1

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

Table B exemples – (2)• 0 13 020 – 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×(214-2-1)) = 1638.1 kg m-2

• Valeur manquante “Missing”:(10-1×(214-1-1)) = 1638.2 kg m-2

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

Table B exemples – (3)• 0 20 003 – Temps présent• Échelle=0, Référence =0, Champ=9 bits• Les valeurs codées sont entières: Échelle=0• Valeur Minimum :

(100×0) = 0• Valeur Maximum :

(100×(29-2+0)) = 510• Valeur manquante “Missing” :

(100×(29-1+0)) = 511• Il faut alors se référer à la table de Code 0 20 003 pour

connaître le type de temps présent correspondant à la valeur codée.

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

Table C• Descripteurs d’opé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 l’opérateur: décrivant le type d’opération• Définition de l’opération: description détaillée de

l’opération et de ses effets

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

Table C exemple (1)• Référence F=2 X=01• Opérande, dans ce cas représentée par Y• Nom de l’Opé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 d’indicateurs »

• Pour supprimer la valeur redéfinie on inclus l’opérande appropriée avec Y = 000 ou à la fin de chaque sous-série de données. Ex : 2 01 000

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

Table C exemple – (2)L’opé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 qu’on n’utilisera jamais la totalité du champ défini dans la table BDans ce cas Y < 128

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

Table C exemple – (3)

Un descripteur classique pour coder la hauteur est le 0 07 007 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 130070 m.Si on veut coder une valeur plus grande que 130070 m (ex: hauteur d’un satellite) il faudra utiliser le descripteur d’opération 2 01 Y pour augmenter le nombre de bits du champ de données.Ex: descripteur d’opération 2 01 130 suivi de 0 07 007 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 523286 m).

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

Table CTABLE

REFERENCE

F X

OPERAND OPERATOR NAME OPERATOR DEFINITION

2 01 Y Change data width Add (Y-128) bits to the data width given for each data element in Table B, other than CCITT IA5, code or flag tables

2 02 Y Change scale Add (Y-128) to scale in Table B for elements which are not CCITT IA5, code or flag tables

2 03 Y Change reference value Subsequent element descriptors define new reference values for corresponding Table B entries. Each new reference value is represented by Y bits in Section 4…

2 04 Y Add associated field Precede each element with Y bits of information (e.g. quality marker).

2 05 Y Signify character Y characters from CCITT IA5 are inserted as a field of (Y*8) bits in length.

2 06 Y Signify 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.

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

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 d’opération (table C) et aussi des descripteurs de séquences (table D)

• Nom de l’élément– Description sur le type de paramètre

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

Table D exemple

Table reference F X Y

Table References

Element name

(Buoy/platform – fixed)

3 01 033 0 01 005 Buoy/platform identifier

0 02 001 Type of station

3 01 011 Date

3 01 012 Time

3 01 021 Latitude and longitude (high accuracy)

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

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 n’est pas récursif ! Un descripteur de séquence ne peut pas faire référence à lui-même.

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

Table D categories

• Categories correspond to the X value of the underlying sequence descriptor.

Category number Category name

01 Location and identification sequences

02 Sequences common to surface data

03 Sequences common to vertical soundings data

04 Sequences common to satellite observations

05 Sequences common to hydrological observations

06 Sequences common to oceanographic observations

07 Surface report sequences (land)

08 Surface report sequences (sea)

… …

18 Radiological report sequences

21 Radar report sequences

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

Category 01 – Location and Identification Sequences (excerpt)TABLE REFERENCE TABLE REFERENCES ELEMENT NAME

3 01 001 0 01 001

0 01 002

WMO block number

WMO station number

3 01 011 0 04 001

0 04 002

0 04 003

Year

Month

Day

3 01 012 0 04 004

0 04 005

Hour

Minute

3 01 024 0 05 002

0 06 002

0 07 001

Latitude (coarse accuracy)

Longitude (coarse accuracy)

Height of station

3 01 038 3 01 001

0 02 011

0 02 012

3 01 011

3 01 012

3 01 024

(Land station for vertical soundings)

WMO block and station number

Radiosonde type

Radiosonde computational method

Date

Time

Lat/long (coarse accuracy), height of station

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

Table D example

Table reference F X Y

Table References

Element name

(Buoy/platform – fixed)

3 01 033 0 01 005 Buoy/platform identifier

0 02 001 Type of station

3 01 011 Date

3 01 012 Time

3 01 021 Latitude and longitude (high accuracy)

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

Descripteurs de répétition - exemple

• Les 4 descripteurs:– 1 03 002 Repeat three descriptors twice– 0 22 003 Direction of swell waves– 0 22 013 Period of swell waves– 0 22 023 Height of swell waves

• Sont équivalents aux 6 descripteurs:– 0 22 003 Direction of swell waves– 0 22 013 Period of swell waves– 0 22 023 Height of swell waves– 0 22 003 Direction of swell waves– 0 22 013 Period of swell waves– 0 22 023 Height of swell waves

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

Descripteurs de répétition différée - exemple

• Les 3 descripteurs:– 1 01 000 Delayed replication of one descriptor– 0 31 001 Replication factor (8 bit)– 3 03 012 Winds at pressure levels

• sont équivalents à:– 3 03 012 Winds at pressure levels– 3 03 012 Winds at pressure levels– … autant de fois que spécifiée par le descripteur 0 31 001

• 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 (031000 1bit, 031001 8 bits et 031002 16 bits)

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

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 l’utilisation 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.

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

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 d’opé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

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

Section 4 – Données compressées • Chaque item d’un 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 d’incré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, … obsNinc1Min2, Nbits2, obs1inc2, obs2inc2, … obsNinc2…MinM, NbitsM, obs1incM, obs2incM, … obsNincM

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

Conclusion • BUFR est d’utilisation 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

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

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