BUFR
Den binära universella formen för representation av meteorologiska data ( BUFR ) är ett binärt dataformat som underhålls av Världsmeteorologiska organisationen (WMO). Den senaste versionen är BUFR Edition 4. BUFR Edition 3 anses också vara aktuell för operativ användning. BUFR skapades 1988 med målet att ersätta WMO:s dussintals karaktärsbaserade, positionsstyrda meteorologiska koder, såsom SYNOP (ytobservationer), TEMP (upper air soundings) och CLIMAT (månadsvis klimatologiska data). BUFR designades för att vara bärbar, kompakt och universell. Alla typer av data kan representeras, tillsammans med dess specifika rumsliga/temporala kontext och alla andra associerade metadata . I WMO-terminologin tillhör BUFR kategorin tabelldrivna kodformer , där betydelsen av dataelement bestäms genom att referera till en uppsättning tabeller som hålls och underhålls separat från själva meddelandet.
BUFR är ett komplext format som kan vara svårt att använda och det uppvisar vissa svagheter. Införandet av BUFR-format ledde till "dataskillnad" och många formateringsfel.
Beskrivning av format
Ett BUFR-meddelande består av sex sektioner, numrerade från noll till fem.
- Avsnitt 0, 1 och 5 innehåller statisk metadata, mestadels för meddelandeidentifiering.
- Avsnitt 2 är valfritt; om det används kan det innehålla godtyckliga data i vilken form som helst som skaparen av meddelandet önskar (detta är endast tillrådligt för lokalt bruk).
- Avsnitt 3 innehåller en sekvens av så kallade deskriptorer som definierar BUFR-dataproduktens form och innehåll.
- Sektion 4 är en bitström som innehåller meddelandets kärndata och metadatavärden som anges i avsnitt 3.
Produktbeskrivningen i avsnitt 3 kan göras sofistikerad och icke-trivial genom användning av replikerings- och/eller operatordeskriptorer. (Se nedan för en kort översikt över de olika typerna av deskriptorer; se WMO-guiden om BUFR för ytterligare detaljer.)
Mallar
Avsnitt 3 innehåller en kort rubrik följt av en sekvens av deskriptorer som matchar innehållet i avsnitt 4:s bitström. Sekvensen av deskriptorer i avsnitt 3 skulle kunna förstås som mallen för BUFR-meddelandet. Mallen innehåller den information som är nödvändig för att beskriva strukturen för datavärdena inbäddade i den matchande bitströmmen. Det ska tolkas på ett steg-för-steg, algoritmliknande sätt. Givet en uppsättning BUFR-meddelanden kan värdena i avsnitt 4 skilja sig från ett meddelande till nästa, men deras ordning och struktur kommer att vara förutsägbar om mallen som tillhandahålls i avsnitt 3 förblir oförändrad. Mallar kan utformas för att uppfylla kraven för en specifik dataprodukt (till exempel väderobservationer). Sådana mallar kan sedan användas för att standardisera innehållet och strukturen i BUFR-dataprodukter. WMO har släppt ett antal BUFR-mallar för observationsdata för yt- och överluft.
Beskrivningar
Alla deskriptorer, 16 bitar breda, har en FXY- struktur, där F refererar till de två mest signifikanta bitarna (längst till vänster); X hänvisar till de 6 mittersta bitarna och Y till de minst signifikanta (längst till höger) 8 bitarna. F - värdet (0 till 3) bestämmer typen av deskriptor.
-
Elementdeskriptorer (F=0): Som namnet antyder används dessa deskriptorer för att förmedla elementär data och relaterad metadata. X- värdet identifierar klassen för deskriptorn (dvs horisontella koordinatparametrar, temperaturparametrar, etc.) . Y - värdet är deskriptorns nummer inom sin klass. Elementbeskrivningar klasserna 1 till 9 har den speciella egenskapen att förbli i kraft från det ögonblick de visas under resten av BUFR-mallen, såvida de inte motsägs eller avbryts. I praktiken används klass 1 till 9 deskriptorer för rumslig, tidsmässig och annan metadata som är tillämplig på BUFR-meddelandets kärndata. Alla elementdeskriptorer definieras i ett avsnitt av BUFR-specifikationen känd som "Tabell B". Tillägget av nya elementdeskriptorer i Tabell B kräver inga ändringar av BUFR-programvaruspecifikationen. Tabell B-definitionen av en elementdeskriptor inkluderar dess nummer, korttextdefinition, avkodningsparametrar (bitbredd, skalfaktor och bias) och typ (numerisk, teckensträng, kodtabell, etc.). - Replikeringsdeskriptorer (F=1): Speciella deskriptorer som tillåter kontrollerad upprepning av ett valt antal deskriptorer. Detta är en mycket kraftfull operation som introducerar loopliknande strukturer i BUFR-mallar. X - värdet anger antalet följande deskriptorer som ska inkluderas i replikeringen; Y - värdet anger hur många gånger replikeringen ska ske. Om Y =0, så kallas replikeringen en "fördröjd replikering" och antalet replikeringar ska erhållas från värdet av en speciell elementdeskriptor.
- Operatörsbeskrivningar (F=2): Dessa beskrivningar förmedlar speciella operationer som kan ändra karaktären på data eller tillåta skapande och manipulering av ytterligare data vid sidan av originalet. X - värdet identifierar operatören och Y -värdet används för att styra dess tillämpning. Dessa beskrivningar definieras i ett avsnitt av BUFR-specifikationen känd som "tabell C". Tillägget av nya operatörsbeskrivningar i Tabell C kräver ändringar av BUFR-programvaruspecifikationen och leder därför till ett nytt BUFR-utgåvanummer.
- Sekvensdeskriptorer (F=3): En enskild sekvensbeskrivning är ett alias för en sekvens av andra deskriptorer, inklusive replikeringsdeskriptorer och tabell B, C och D-poster. Dessa beskrivningar definieras i ett avsnitt av BUFR-specifikationen känd som "Tabell D". Användningen av X- och Y -värdet är densamma som med elementbeskrivningar.
Delmängder
Datastrukturen som upprättats i Sektion 3-mallen kan återanvändas flera gånger inom ett enda BUFR-meddelande. I sådant fall kommer 4 § att innehålla en följd av så kallade delmängder . Till exempel skulle delmängder kunna användas för att förmedla observationer från flera platser i ett enda meddelande.
- ^ "BUFR: EN METEOROLOGISK KOD FÖR 2000-TALET (pdf)" . Arkiverad från originalet 2018-02-15 . Hämtad 2018-02-14 .
- ^ "Om lämpligheten av BUFR och GRIB för arkivering av data" . 10 januari 2013.
- ^ Hand, E. (2016). "Inkurans skymtar för ballongdata" . Vetenskap . 352 (6283): 281–282. Bibcode : 2016Sci...352..281H . doi : 10.1126/science.352.6283.281 . PMID 27081049 .
- ^ "Hantera försvinnande ytdata: Migrationen till BUFR och avvecklingen av text SYNOP och bojrapporter" . 25 januari 2017.
- ^ "ECMWF - TAC2BUFR - ECMWF Confluence Wiki" (PDF) .
externa länkar
- Den officiella BUFR-manualen, tabeller och andra operativa WMO-kodformulär
- En serie inledande PowerPoint-presentationer
- WMO-tabelldrivna kodformulärguider (Utökar BUFR-manualen men bör betraktas som en sekundär källa till manualen)
- BUFR i ett nötskal
- En handledning från tredje part om att skapa BUFR-mallar (från Environment Canada)
Online BUFR validatorer
Programvarubibliotek
- ECMWF tillhandahåller BUFRDC-biblioteket och det nya ecCodes-biblioteket . Magics och Metview använder dessa för att bearbeta och visualisera BUFR-data.
- NCEP bibliotek
- libECBUFR Miljö Kanada bibliotek
- NCAR wmobufr-bibliotek — Java-bibliotek och XML-implementering
- fortran- och c-baserade pythonomslag runt ECMWF-biblioteket
- wreport Free Software C++-bibliotek som implementerar kodning och avkodning av BUFR och CREX
- trollbufr , en FOSS ren Python BUFR läsare och författare
- csv2bufr — Python-paket för att omvandla CSV-data till WMO BUFR-formatet