généralité sur les codes déterminés par des tables joël martellet
TRANSCRIPT
Généralité sur les Codes Généralité sur les Codes Déterminés par des TablesDéterminés par des Tables
Joël Martellet
PlanPlan
Auto-description Structure des Codes Tables BUFR et CREX Aspects communs à BUFR et à CREX Différences entre BUFR et CREX
Codes Déterminés par des TablesCodes Déterminés par des Tables• GRIB 1- Données traitées sous forme de valeurs
aux points de grille exprimées en binaire.• GRIB 2 – Information générale de distribution
régulière sous forme binaire– Prévision, analyse, climatologie, images
satellite• BUFR – Forme universelle de représentation
binaire des données météorologiques.– Observations, produits des satellites, des
radars• CREX – Code de caractères pour la représentation
et l’échange de données.– Un BUFR simplifié et humainement lisible– Observations, information (e.g. Cyclones
Tropicaux)
Structure généraleStructure générale• Indicateur: GRIB/BUFR/CREX• Identification: Date, heure,
origine, numéro d’édition, numéro de version des tables ...
• Section facultative: e.g. plus de Meta-données, données privées …
• Section de description des données: Quelle sorte de données suit (pointeurs vers les Tables du Manuel qui identifient les données transmises= numéros d’élément)?
• Section des données: les données sont ici
• Fin: “7777”
Les Codes Définis par des Tables ont en général cette
structure
Structure de BUFR et CREXStructure de BUFR et CREX
• BUFR SECTION 0 Section Indicatrice SECTION 1 Section d’identification SECTION 2 (Section facultative) SECTION 3 Section de Description des données SECTION 4 Section des donnéesSECTION 5 Section de fin
• CREX SECTION 0 Section Indicatrice SECTION 1 Section de Description des données SECTION 2 Section des données SECTION 3 (Section facultative) SECTION 4 Section de fin
Quelques aspectsQuelques aspects
• Les données sont auto-définies: type, contenu, édition, longueurs des sections etc.
• Les données d’en-tête sont toujours à des positions fixes pour un accès rapide sans décodage = structure fixe
• Les données binaires (GRIB et BUFR) ne sont pas lisibles
• La section facultative peut contenir n’importe quoi, tout ce que veut y mettre l’auteur du message.
La section fondamentale:La section fondamentale:• C’est la Section de description des
données.• Elle contient une liste de numéros de
descripteurs qui correspondent à des entrées dans les Tables consignées dans le Manuel des codes.
• Chaque entrée dans une des Tables du Manuel définit un paramètre (ou un ensemble de paramètres) avec ses (ou leurs) caractéristiques: unité, échelle, largeur du champ.
• Cela définit le format attendu du paramètre qui sera transmis dans la Section des données.
Considérer les Tables BUFR (CREX) Considérer les Tables BUFR (CREX) consignées dans le Manuel des Codes consignées dans le Manuel des Codes
officiel de l’OMM:officiel de l’OMM:• Tous les descripteurs listés dans la Section de
Description des données du message réfèrent une entrée dans une des Tables du Manuel:
• soit de la Table B – Liste des descripteurs d’élément– Ils commencent avec ‘0’ (BUFR), ‘D´(CREX) ;
e.g. température, pression, etc.• ou de la Table C – Descripteur d’opération
– Ils commencent avec ‘2’ (BUFR), ‘C´(CREX) ; e.g. changement d’échelle, indicateurs de qualité suivent (BUFR seulement), etc.
• ou de la Table D – Descripteur de Séquence– Ils commencent avec ‘3’ (BUFR), ‘D´(CREX) ;
e.g. séquence de la date, des coordonnées, etc.
Table BTable BExemple:0 20 082 Part du segment % 0 0 7 libre de nuage
Largeur du
champ de la
donnée (bits)
Nom de l’élémen
t
Descripteur
d’élément
Unité
Classe 20, phénomèn
es observés
Valeur de Référenc
e
Echelle
Entrée dans la classe
Table BTable BAutre exemple:0 07 010 Niveau de vol m 0 -1024
16
Largeur du
champ de la
donnée (bits)
Nom de l’élémen
t
Descripteur
d’élément
Unité
Classe 07, Position
(verticale)
Valeur de Référenc
e
Echelle
Entrée dans la classe
Extrait de BUFR/CREX Table BExtrait de BUFR/CREX Table B
Class 12 - Temperature
TABLEREFERENCE TABLE
ELEMENT NAME
BUFR CREX
UNIT SCALE REFERENCEVALUE
DATAWIDTH(Bits)
UNIT SCALEDATAWIDTH
(Characters)
F X Y0 12 001 Temperature/dry-bulb temperature K 1 0 12 °C 1 30 12 002 Wet-bulb temperature K 1 0 12 °C 1 30 12 003 Dew-point temperature K 1 0 12 °C 1 30 12 004 Dry-bulb temperature at 2 m K 1 0 12 °C 1 30 12 005 Wet-bulb temperature at 2 m K 1 0 12 °C 1 30 12 006 Dew-point temperature at 2 m K 1 0 12 °C 1 30 12 007 Virtual temperature K 1 0 12 °C 1 30 12 011 Maximum temperature, at height and over
period specifiedK 1 0 12 °C 1 3
0 12 012 Minimum temperature, at height and overperiod specified
K 1 0 12 °C 1 3
Rappel sur la représentation Rappel sur la représentation binairebinaire• Bits, Plage de valeurs, champ:
• 1 0-1 0,1• 2 0-3 00(0),01(1),10(2x1=2),11((2x1)+1=3)• 3 0-7 000(0),001(1),010(2),011(3),100(2x2=4),
101((2x2)+1=5),110,111((2x2)+(2x1)+1=7)• 4 0-15 0000, 0001, 0010, 0011, 0100, 0110, 0111,
1000,…,1111• 5 0-31 00000,00001,00010,……..,11110,11111• 6 0-63 etc..• 7 0-127• 8 0-255• 9 0-511• 10 0-1023 0000000000,…….,1111111111• Etc..
VALEUR DE REFERENCE (BUFR)VALEUR DE REFERENCE (BUFR)• Dans BUFR, il n’y a pas de valeur
négative:– On a des champs de bits,– Et si tous les bits sont à un cela veut
dire valeur manquante,– Donc on a introduit des valeurs de
référence (plus grande valeur négative possible) que l’on retranche avant l’encodage de la valeur du paramètre pour obtenir toujours une valeur codée positive.
Pour CREX:Pour CREX:
• On ajoute devant la valeur du paramètre représenté un signe moins pour les valeurs négatives.
• Il n’y a donc pas besoin de valeurs de référence pour CREX.
• Exemple: -5.4° sera codé: -054
Echelle, (valeur de) référence et Echelle, (valeur de) référence et champchamp
Encodage:valeur = (obs x [10(”échelle”)]) - “référence” (sur le
nombre de bits du champ)e.g.: Avec une échelle=1, valeur de référence=-
50, largeur du champ=7 bits alors, si l’obs.=1.3, la valeur encodée est 63 (IL
N’Y A PAS DE VALEUR NEGATIVE DANS BUFR!) Cela permet des obs. de -5.0 à +7.6, par pas
de 0.1Décodage:
Obs. = (valeur + “référence”) ÷ [10(”échelle”)]e.g.: Avec une échelle =-2, référence=5, champ 4 alors, si la valeur=14, l’obs. décodée est 1900.
Extrait de BUFR/CREX Table BExtrait de BUFR/CREX Table B
Class 05 - Location (horizontal -1)
BUFR CREX TABLE REFERENCE
F X Y
TABLE
ELEMENT NAME
UNIT
SCALE REFERENCE
VALUE DATA
WIDTH (Bits)
UNIT
SCALE
DATA WIDTH
(Characters) 0 05 001 Latitude (high accuracy) Degree 5 –9000000 25 Degree 5 7 0 05 002 Latitude (coarse accuracy) Degree 2 –9000 15 Degree 2 4 0 05 011 Latitude increment (high accuracy) Degree 5 –9000000 25 Degree 5 7 0 05 012 Latitude increment (coarse accuracy) Degree 2 –9000 15 Degree 2 4 0 05 021 Bearing or azimuth Degree true 2 0 16 Degree true 2 5 0 05 022 Solar azimuth Degree true 2 0 16 Degree true 2 5 0 05 030 Direction (spectral) Degree 0 0 12 Degree 0 4 0 05 031 Row number Numeric 0 0 12 Numeric 0 4 0 05 033 Pixel size on horizontal – 1 m –1 0 16 m -1 5 0 05 034 Along track row number Numeric 0 0 11 Numeric 0 4 0 05 036 Ship transect number according to SOOP Numeric 0 0 7 Numeric 0 2 0 05 040 Orbit number Numeric 0 0 24 Numeric 0 8 0 05 041 Scan line number Numeric 0 0 8 Numeric 0 3 0 05 042 Channel number Numeric 0 0 6 Numeric 0 2 0 05 043 Field of view number Numeric 0 0 8 Numeric 0 3 0 05 044 Satellite cycle number Numeric 0 0 11 Numeric 0 4 0 05 052 Channel number increment Numeric 0 0 5 Numeric 0 2 0 05 053 Field of view number increment Numeric 0 0 5 Numeric 0 2
Table DTable D• Pas absolument nécessaire mais:• Diminue le volume de la Section de
Description des données • Un descripteur de la Table D représente
une liste standard de descripteurs de la Table B combinés ou non avec des descripteurs de la Table C.
• Exemple= 3 01 011 = 0-04-001 Year0-04-002 Month0-04-003 Day
Category 16 - Synoptic feature sequences
TABLEREFERENCE
F X YTABLE
REFERENCESELEMENT NAME
3 16 001 3 01 011 Year, month, day
0 04 004 Hour3 01 023 Latitude and longitude (coarse accuracy)
0 01 021 Synoptic feature identifier0 02 041 Method for estimating reports related to synoptic features
0 19 001 Type of synoptic feature0 10 051 Pressure reduced to mean sea level
0 19 002 Effective radius of feature0 19 003 Wind speed threshold (15 m s–1 typically)
0 19 004 Effective radius with respect to wind speeds above threshold(Header)
3 16 002 0 08 021 Data time (analysis)0 04 001 Year
0 04 002 Month0 04 003 Day
0 04 004 Hour0 04 005 Minute
0 01 033 Originating/generating centre0 08 021 Validity time (fcst)
0 04 001 Year0 04 002 Month
0 04 003 Day0 04 004 Hour
0 04 005 Minute
0 07 002 Flight level (altitude) (base of chart layer)0 07 002 Flight level (altitude) (top of chart layer)
(Jet stream)3 16 003 1 10 000 Delayed replication
0 31 001 Replication0 08 011 Meteorological feature (jet stream value)
0 08 007 Dimensional significance (value for line)1 04 000 Delayed replication
0 31 001 Replication0 05 002 Latitude (coarse)
0 06 002 Longitude (coarse)0 10 002 Flight level (altitude)
0 11 002 Wind speed
0 08 007 Dimensional significance (cancel)0 08 011 Meteorological feature (cancel/end of object)
(Turbulence)3 16 004 1 11 000 Delayed replication
0 31 001 Replication0 08 011 Meteorological feature (value for turbulence)
0 08 007 Dimensional significance (value for area)0 07 002 Flight level (altitude) (base of layer)
(Storm)
3 16 005 1 08 000 Delayed replication
0 31 001 Replication
0 08 005 Meteorological attribute significance (storm centre)
0 08 007 Dimensional significance (value for point)
0 05 002 Latitude (coarse)
0 06 002 Longitude (coarse)
0 01 026 WMO storm name (use “UNKNOWN” for a sandstorm)
0 19 001 Synoptic features (value for type of storm)
0 08 007 Dimensional significance (cancel)
0 08 005 Meteorological attribute significance (cancel/end of object)
(Cloud)
3 16 006 1 12 000 Delayed replication
0 31 001 Replication
0 08 011 Meteorological feature (value for cloud)
0 08 007 Dimensional significance (value for area)
0 07 002 Flight level (altitude) (base of layer)
0 07 002 Flight level (altitude) (top of layer)
1 02 000 Delayed replication
0 31 001 Replication
0 05 002 Latitude (coarse)
0 06 002 Longitude (coarse)
0 20 011(2) Cloud amount
0 20 012 Cloud type
0 08 007 Dimensional significance (cancel)
0 08 011 Meteorological feature (cancel/end of object)
(Front)
3 16 007 1 10 000 Delayed replication
0 31 001 Replication
0 08 011(3) Meteorological feature (value for type of front)
0 08 007 Dimensional significance (value for line)
1 04 000 Delayed replication
0 31 001 Replication
0 05 002 Latitude (coarse)
0 06 002 Longitude (coarse)
0 19 005 Direction of feature
0 19 006 Speed of feature
0 08 007 Dimensional significance (cancel)
0 08 011 Meteorological feature (cancel/end of object)
(Tropopause)
3 16 008 1 11 000 Delayed replication
0 31 001 Replication
0 08 001 Vertical significance (bit 3 set for tropopause)
0 08 007 Dimensional significance (value for point)
0 08 023(4) Statistic (type of tropopause value)
Table CTable CDescripteurs d’opération pour, par exemple:
– Changement de la largeur de champ– Changement d’échelle– Changement de la valeur de référence– Indicateurs de contrôle de qualité suivent– Statistiques du premier ordre suivent– Définit “les données présentes” (table binaire)– Ré-utiliser la table binaire “des données
présentes”– Annuler la table binaire “des données
présentes”
Tables BUFR et CREXTables BUFR et CREX• Pour décoder, on lit les descripteurs de
la section de description des données- est-ce?:
• D descripteur? Ou B descripteur?
• Si nécessaire on consulte
SéquenceCommunes:
groupe d’éléments dans la TABLE D
Elément de la TABLE B
Table de Code oud’Indicateurs
Tables de Code ou d’Indicateurs• Un peu comme les codes traditionnels pour les
Tables de Codes, le code n’est pas une valeur numérique mais une signification pré-agrée, e.g.:– Type de station– Etat du sol– Type de nuages
• Tables d’indicateurs (« flag »). Un bit mis à 1 pour chaque condition observée, e.g:– Caractéristiques d’un niveau de sondage
vertical (surface, standard, tropopause, vent maximal, significatif pour température, significatif pour vent)
Class 08 - Significance qualifiers
BUFR CREX TABLE REFERENCE
F X Y
TABLE
ELEMENT NAME
UNIT
SCALE REFERENCE
VALUE DATA
WIDTH (Bits)
UNIT
SCALE
DATA WIDTH
(Characters) 0 08 001 Vertical sounding significance Flag table 0 0 7 Flag table 0 3 0 08 002 Vertical significance (surface observations) Code table 0 0 6 Code table 0 2 0 08 003 Vertical significance (satellite observations) Code table 0 0 6 Code table 0 2 0 08 004 Phase of aircraft flight Code table 0 0 3 Code table 0 1 0 08 005 Meteorological attribute significance Code table 0 0 4 Code table 0 2 0 08 006 Ozone vertical sounding significance Flag table 0 0 9 Flag table 0 3 0 08 007 Dimensional significance Code table 0 0 4 Code table 0 2 0 08 008 Radiation vertical sounding significance Flag table 0 0 9 Flag table 0 3 0 08 009 Detailed phase of flight Code Table 0 0 4 Code table 0 2 0 08 010 Surface qualifier (temperature data) Code table 0 0 5 Code table 0 2 0 08 011 Meteorological feature Code table 0 0 6 Code table 0 2 0 08 012 Land/sea qualifier Code table 0 0 2 Code table 0 1 0 08 013 Day/night qualifier Code table 0 0 2 Code table 0 1 0 08 014 Qualifier for runway visual range Code table 0 0 4 Code table 0 2 0 08 016 Change qualifier of a trend-type forecast or an
aerodrome forecast Code table 0 0 3 Code table 0 1
0 08 017 Qualifier of the time when the forecast change is expected
Code table 0 0 2 Code table 0 1
0 08 018 SEAWINDS land/ice surface type Flag table 0 0 17 Flag table 0 6 0 08 020 Total number of missing entities (with respect to
accumulation or average) Numeric 0 0 16 Numeric 0 5
0 08 021 Time significance Code table 0 0 5 Code table 0 2 0 08 022 Total number (with respect to accumulation or
average) Numeric 0 0 16 Numeric 0 5
Exemple de Table d’indicateursExemple de Table d’indicateurs• 0 08 001
Vertical sounding significance
Bit No.
1 Surface2 Standard level3 Tropopause level4 Maximum wind level5 Significant level, temperature6 Significant level, wind
All 7 Missing value
Exemple d’indicateursExemple d’indicateurs• Descripteur: O O8 001:
• Champ de 7 bits:
• Bits 1,2,3,4,5,6,7• 0100100 = Niveau standard et
significatif de température
• Bits 1,2,3,4,5,6,7• 0010000 = Niveau de la tropopause
Différences entre BUFR et CREXDifférences entre BUFR et CREX• BUFR est binaire, mieux
approprié pour les télécommunications et les ordinateurs
• BUFR permet la compression des données
• BUFR utilise seulement les unités SI (e.g.: la température est toujours en degrés Kelvin), mais unités différentes tolérées pour Aéronautique
• CREX est en caractères, facile à lire et à écrire par l’homme
• CREX n’a pas de schéma de compression
• CREX permet l’usage d’autres unités (e.g.: la température peut être en degrés Celsius ou Kelvin)
En général, BUFR et CREX sont très semblables, CREX est l’image de BUFR en caractères. La différence, c’est que CREX
est plus facile pour l’homme, il peut être encodé et décodé manuellement (il aide à comprendre BUFR), il peut être utilisé sans automation, mais il n’est pas du tout approprié pour les
données volumineuses.