Title: Introduction
1Introduction à BUFR
Version française Benjamin SACLIER
(METEO-France- International) Gilles Gelly
(METEO-France)
Organisation Météorologique Mondiale
2Quest-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
3A quoi ressemble un message BUFR ?
- 010000100101010101000110010100100000
00000000000000110100000000110000000000000000 - 000100100000000000000000001110000000
00000000000000000000000000000000100100000001 - 000000010000010000011101000011000000
00000000000000000000000000000000111000000000
- 000000000000000110000000000000010000
00010000000100000010000011000000010000000000 - 000000000000000000001000000000001001
00001111010111011100010000000011011100110111 - 0011011100110111
- (En dautres mots , juste une rangée de 0
et 1 distribués au hasard!?)
4Sections 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
5Section 0 Section Indicatrice
Cette section contient
- 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)
6Section 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)
7Section 1 section didentification
Cette section contient
- 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.
8Section 1 - Détails
- Taille dau moins 18 octets
- Octets 1-3 Longueur de la section, en octets
- Octet 4 Table principale du code BUFR
(0OMM) - Octet 5-6 Centre dorigine de production
- Octet 7-8 Centre 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 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
9Section 2 section facultative
Cette section est réservée et définie pour les
besoins locaux des centres de traitement des
données.
- 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.
10Section 3 Description des données
Cette section contient
- 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.
11Section 3 - Détails
- La taille est dau 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
12Section 4 Section des données
Cette section contient
- Lensemble des données comme spécifiées dans la
section 3. - Un des deux formats est utilisé
- Compressé
- Non-compressé
13Section 4 - Détails
- Octets 1-3 Longueur de la section
- Octet 4 Mis à zéro
- Octets 5-?? Données binaires telles quelles sont
définies par les descripteurs de la section 3.
14Section 5 section de fin
Cette section contient
- 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.
15Maintenant, 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 0100001001010101010001100101001000
0000000000000000110100000000110000000000000000 - octet number 3 4
5 6 7 8
9 10 11
12 - binary string 0001001000000000000000000011100000
0000000000000000000000000000000000100100000001 -
end of section
1 ? - octet number 13 14
15 16 17 18
1 2 3
4 - binary string 0000000100000100000111010000110000
0000000000000000000000000000000000111000000000 -
end of section 3 ? - octet number 5 6
7 8 9 10
11 12 13
14 - binary string 0000000000000001100000000000000100
0000010000000100000010000011000000010000000000 -
end of section 4 ? 7
7 - octet number 1 2
3 4 5 6
7 8 1
2 - binary string 0000000000000000000010000000000010
0100001111010111011100010000000011011100110111
16Exemple 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
Longueur du message en octets
Bufr edition
17Exemple section 1(Edition 3)
- OCTET NO. 1 2
3 4 5 6
7 8 - BINARY 00000000 00000000 00010010 00000000
00000000 00111000 00000000 00000000 - HEXADECIMAL 0 0 0 0 1
2 0 0 0 0 3 A
0 0 - DECODED 18 0
58 - length of section
- standard BUFR tables
- originating center (US Navy - FNOC)
Section 2 not included -
- OCTET NO. 9 10
11 12 13 14
15 16 - BINARY 00000010 00000000 00000010 00000001
01011101 00000100 00011101 00001100 - HEXADECIMAL 0 2 0 0 0
2 0 1 5 D 0 4
1 D 0 C - DECODED 2 0 2
1 94 4
29 12 - data category
- data category sub-type
- version of master tables
- version of local tables
- year of century month
- day hour
18Exemple Section 3
- O C T E T N O . 1 2
3 4 5
6 7 - BINARY 00000000 00000000 00001110 00000000
00000000 00000001 10000000 - HEXADECIMAL 0 0 0 0 0
E 0 0 0 0 0 1 - DECODED 14 0
0 1 - 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. 8 9
10 11 12 13
14 - BINARY 00000001 00000001 00000001 00000010
00001100 00000100 00000000 - HEXADECIMAL 0 1 0 1 0
1 0 2 0 C 0 4
0 0 - DECODED 0 01 001 0
01 002 0 12 004
0 - descripteurs F X Y
- Une section est toujours
- constituée dun nombre paire doctets
19Descripteurs 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.
20Types 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
21Descripteur 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é
22Descripteur 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
23Descripteur 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 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 101000 031001 012001
- Le nombre de répétition peut donc changer dune
série à lautre.
24Descripteur 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
25Descripteur 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)
26Revue des Tables BUFR dans le Manuel
Le code BUFR utilise plusieurs types de tables
- 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
27Table 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
28Table 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
29Table 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
30Table 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
31Class 01 Identification(extrait)
TABLE REFERENCE F X Y TABLE ELEMENT NAME UNIT SCALE REFERENCE 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
32Class 11 vent et turbulence(extrait)
TABLE REFERENCE F X Y TABLE ELEMENT NAME UNIT SCALE REFERENCE 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
33Table 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
34Table 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
35Exemple table de code et dindicateur
- 0 20 025
- 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
- 14-20 En réserve
- 21 Valeur manquante
- 0 20 024
- 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
36Table 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 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)
37Table 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, échelle2, valeur de référence -9000
- valeur à coder latitude -35.50
- -35.50102 -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
38Table 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-2r))
- et (10-s ? (2n-1r)) pour la valeur manquante.
39Table B
De toute évidence sans table B à jour, impossible
de décoder le contenu dun BUFR
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
40Table 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-10) 0.0 m s-1
- Valeur Maximum représentable
- (10-1(212-20)) 409.4 m s-1
- Valeur manquante Missing
- (10-1(212-10)) 409.5 m s-1
41Table B exemples (2)
- 0 13 020 Précipitation totale sur 3 heures
- Échelle1, Référence -1, Champ14
- 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
42Table B exemples (3)
- 0 20 003 Temps présent
- Échelle0, Référence 0, Champ9 bits
- Les valeurs codées sont entières Échelle0
- Valeur Minimum
- (1000) 0
- Valeur Maximum
- (100(29-20)) 510
- Valeur manquante Missing
- (100(29-10)) 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.
43Table 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
44Table C exemple (1)
- Référence F2 X01
- 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 2 01 000
45Table 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 gt 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 lt 128
46Table C exemple (3)
Un descripteur classique pour coder la hauteur
est le 0 07 007 avec unité m, échelle0,
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 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 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).
47Table C
TABLE 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 (Y8) 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.
48Table 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
49Table 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)
50Table 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.
51Table 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
52Category 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
53Table 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)
54Descripteurs 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
55Descripteurs 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)
56Section 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.
57Section 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
58Section 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
59Conclusion
- 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
60Remerciements
- Référence
- WMO No. 306 Manual on Codes, Volume I.2
- (http//www.wmo.int/web/www/DPS/NewCodesTables/WM
O306vol-I-2PartB.pdf) - Guide to WMO Table-Driven Code Forms
- FM94 BUFR and FM95 CREX
- (http//www.wmo.int/web/www/WDM/Guides/BUF
R-CREX-guide.html) - Remerciements
- Charles Sanders BOM-Australia
- Simon Elliott EUMETSAT
- Joël Martellet WMO
-