氣象資料二進制通用表示格式
氣象資料二進制通用表示格式[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報文中傳遞多個地點的觀測結果。
參考來源
- ^ 面向 WIGOS 区域中心关于 WIGOS 资料质量监测系统的技术指南. 世界氣象組織. 2018 [2023-08-24]. (原始內容存檔於2023-07-20).
- ^ 淺談氣象數據編碼. 香港天文台. 2015-12 [2023-08-24]. (原始內容存檔於2023-01-09).
- ^ 第2代先進交談式天氣處理系統預報決策支援環境(AWIPS 2). 交通部中央氣象局. 2015-01 [2023-08-24]. (原始內容存檔於2023-08-24).
- ^ 中央氣象局新格式氣象觀測資料作業系統介紹 (PDF). 交通部中央氣象局. [2023-08-24]. (原始內容存檔 (PDF)於2022-06-15).
- ^ BUFR: A METEOROLOGICAL CODE FOR THE 21ST CENTURY (pdf). [2018-02-14]. (原始內容存檔於2018-02-15).
- ^ On the suitability of BUFR and GRIB for archiving data. 2013-01-10 [2023-08-24]. (原始內容存檔於2021-05-11).
- ^ Hand, E. Obsolescence looms for balloon data. Science. 2016, 352 (6283): 281–282 [2023-08-24]. Bibcode:2016Sci...352..281H. PMID 27081049. doi:10.1126/science.352.6283.281. (原始內容存檔於2023-03-07).
- ^ Dealing with Disappearing Surface Data: The Migration to BUFR and the Discontinuation of Text SYNOP and Buoy Reports. 2017-01-25 [2023-08-24]. (原始內容存檔於2021-11-30).
- ^ ECMWF - TAC2BUFR - ECMWF Confluence Wiki (PDF). [2023-08-24]. (原始內容存檔 (PDF)於2018-02-15).
- ^ Guide to WMO Table Driven Code Forms: FM 94 BUFR and FM 95 CREX (PDF). 大韓民國氣象廳. 2002-01-01 [2023-08-24]. (原始內容存檔 (PDF)於2023-08-24).
外部連結
- The official BUFR manual, tables, and other operational WMO code forms (頁面存檔備份,存於互聯網檔案館)
- A series of introductory PowerPoint presentations (頁面存檔備份,存於互聯網檔案館)
- WMO table-driven code forms guides (頁面存檔備份,存於互聯網檔案館)
- BUFR in a nutshell (頁面存檔備份,存於互聯網檔案館)
- A third-party tutorial on creating BUFR templates (頁面存檔備份,存於互聯網檔案館)
線上解碼器
軟件函式庫
- ECMWF提供BUFRDC函式庫 (頁面存檔備份,存於互聯網檔案館)及新版 ecCodes函式庫 (頁面存檔備份,存於互聯網檔案館)—Magics (頁面存檔備份,存於互聯網檔案館)及Metview透過這些函式庫處理視覺化BUFR資料
- NCEP library (頁面存檔備份,存於互聯網檔案館)
- libECBUFR Environment Canada library (頁面存檔備份,存於互聯網檔案館)
- NCAR wmobufr library (頁面存檔備份,存於互聯網檔案館) — 基於JAVA函式庫的XML表達式
- fortran (頁面存檔備份,存於互聯網檔案館) and c-based (頁面存檔備份,存於互聯網檔案館) ECMWF函式庫的Python封裝檔
- wreport (頁面存檔備份,存於互聯網檔案館) 實現BUFR和CREX編碼和解碼的C++函式庫自由軟件
- trollbufr (頁面存檔備份,存於互聯網檔案館)一個FOSS純Python BUFR讀寫器
- csv2bufr — 將CSV數據轉換為WMO BUFR格式的Python封裝檔