70 likes | 84 Views
This document offers insights into the BUFR information model, emphasizing the need for clarity in decoding processes. It discusses comparisons with ISO 191xx, suggests UML redrafting, and advocates recasting the model in Observation and Measurement structures for better compatibility. The document highlights the self-descriptive and compressed nature of BUFR, proposing a shift from implicit to explicit information expression through rules and references. It delves into the complex dynamics and operators in the model, including tables, element descriptors, and various packing mechanisms, touching on the challenges of transitioning BUFR to XML.
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