70 likes | 271 Views
BUFR Information Model. Gil Ross CAeM Met Office. BUFR. Most BUFR Documentation is not easily understood It treats it as a Decoding process Note – not coding! Indicative of its age – 1988 Instead separate out the coding process from the data/information model
E N D
BUFR Information Model Gil Ross CAeM Met Office
BUFR • Most BUFR Documentation is not easily understood • It treats it as a Decoding process • Note – not coding! • Indicative of its age – 1988 • Instead separate out the coding process from the data/information model • Make comparisons with ISO 191xx • Redraft in UML • Eventually recast information model in Observation and Measurement • This would allow mapping between different formats • However – it will be very difficult to map into BUFR
BUFR Design Requirements • Were there any? • More flexible and expandable than TAC forms • Fully self describing • Extremely well compressed • Make the “obvious” – “explicit” • Meaning to be expressed by rules • Include “self evident” information • Contradictory requirements?
Contradictory requirements • Make everything a reference (except numbers) • Tags (element descriptors) and values grouped apart • Numbers compressed to unsigned binary integers • Number dynamic redefinition operators • Duplication of elements with different precisions • Tags grouped into predefined and moodular templates • Dynamic replication elements • Dynamic grouping elements – generalised coordinates • These are actually operators • In ISO terms these are • Feature collection mechanism • Coverage grid mechanism • Feature attribute mechanism • Also further packing mechanisms similar to the original number compression mechanism
BUFR Feature catalogue • BUFR Tables are the BUFR Feature catalogue • VERY large • 450+ tables and 7000+ records • Hierarchical table structure • Simple non-numeric features reference code tables • Enumerations • Code tables • Flag tables • Dynamic operators CHANGE basic features • This means that the potential number of features is astronomical • All references are via the index mechanism • F_X_Y
How to Cast BUFR in XML? • DO NOT. • Instead have a process to do so • Full BUFR model far too large to set in a general XSD Schema • BUFR messages will often be too large in a GML application • Table D templates can be expressed in individual schemas • Most XML forms will be an extraction and/or aggregation from a set of BUFR messages • We need a way to specify the schemas of the derived (product) XML and • A way to translate the request to a search process on the BUFR messages
BUFR – XML Process • Create BUFR Tables as XML • Each Table D and Table B descriptor has a tag name • Expand BUFR Message • Include table D as a branch of the xml tree • “Coordinate” operators define another branch – following elements are child elements of coordinate element • Units are XML attributes • Code table references are references in XML • This leaves • Specific BUFR element names • Need mapping to common names • Coverage mechanism • Attribute mechanism