气象资料二进制通用表示格式[1](英语:Binary Universal Form for the Representation of meteorological data,缩写:“BUFR”,又称“二进制通用数据表示格式”[2]、“二进制通用气象数据表示格式”[3])是由世界气象组织所维护的二进制文档文件格式,最新版本为BUFR Edition 4,而BUFR Edition 3则仍可继续被使用。此格式于1988年被创造,目的是取代世界气象组织旧有的数十种资料设置标识符,其中包含代表地面综观报的SYNOP、探空观测的TEMP及浮标观测报的BUOY[4]。BUFR的主要设计目的是以可携、紧凑及通用为基准,用以表达任何类型的资料,或特定时间、空间及任何关系的元数据。在世界气象组织的术语中,BUFR是属于表格驱动码格式资料,资料的元素是透过表格来订定,而这些表格与资料是分开进行保存与维护。
BUFR是一种复杂的资料格式,使用起来会较为困难[5],并且存在弱点[6],而BUFR的格式引用“不一致”的资料会引起格式错误[7][8][9]。
格式说明
BUFR的资料格式分为六个部分,其编码自0至5。
- 第0、1部分及第5部分为静态元数据,主要用于报文的标示。
- 第2部分为可选用资料;若使用,则为创建者在本地端使用,呈现其所想呈现的资料。
- 第3部分包含一系列的描述码,用以定义BUFR的格式及内容。
- 第4部分则是比特流,用以包含第3部分所定义的核心资料及元数据。
描述码的复制与使用,会使得第3部分变得复杂而重要。
第3部分的数据包含一个简短的标题,后面则是由第4部分所匹配的描述码序列进行对应。第3部分的描述码序列可以被理解为BUFR的模板。模板包含匹配比特流中所嵌入的数据结构所需的消息。他应以类似算法的方式逐步解析。在给定一组BUFR的报文情况下,第4部分的值可能会因报文而异,但若第3部分所定义的模板保持不变,那么其排序与结构是可被预测的。可以设计模板来满足特定的气象产品(例如气象观测)的需求,如此模板及可用以规范BUFR的内容与结构。世界气象组织已经发布了许多地表与探空观测资料的无损压缩格式模板。
所有的描述码是16比特,具备F-X-Y结构,其中F指2个最高优先比特,X指中间6个比特,Y则为8个最低有效比特。F的值(0至3)将决定描述码的类型。(更多使用方式请参考世界气象组织《WMO BUFR 指南[10]》)
- 元素描述码(F=0):顾名思义,用以传递标准要素及相关元数据。
- 复制描述码(F=1):特殊描述码,可对选定数量的描述码进行可控复制。
- 这是一种非常强大的操作,可在BUFR的模板中引入循环。X的值指定了复制中包含的后续描述码的数量;Y的值表示复制的次数。若Y=0,则复制会被称为“复制延迟”,复制次数将从特殊元素描述码的值中获得。
- 操作描述码(F=2):这些描述码传达的特殊操作,具可以修改资料的特性,或允许在创建和操作原始资料的同时,创建和操作附加资料。
- X的值标示操作码,Y的值用于控制操作码的应用。这些描述码在BUFR规范的“表C”部分进行了定义。在表C中添加新的运算码描述码需要更改BUFR的规范,因此需要新的BUFR版本号。
- 序列描述码(F=3):单个序列描述码是其他描述码(包括复制描述码和表B、C和D)序列的别名。
- 这些描述码在BUFR规范中被定义为“表D”。X和Y的值的使用与元素描述码相同。
第3部分的模板所建立的数据结构可在同个BUFR报文中重复使用多次。在这种情况下,第4部分可包含一系列的子集进行使用,例如子集可用于在单个BUFR报文中传递多个地点的观测结果。
参考来源
外部链接
Wikiwand in your browser!
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.