GRIB
GRIB(GRIdded Binary 抑是通用定期發布的二進位形式資訊)是通常用佇氣象學中儲存歷史的佮預報的天氣資料的簡明資料格式。伊對世界氣象組織的基本系統委員會佇一九八五年標準化,咧描述 WMO 編碼手冊(出版物 No . 三百空六), 上代先編號做 FM 九十二-VIII Ext . GRIB。頭版 GRIB 予世界範圍內底的多數氣象中心業務化使用,用佇數值天氣來預報(NWP)輸出。第二版是二空空三年發表的 GRIB 二,上新的編號做 FM 九十二–XIV GRIB,氣象資料發佈漸漸仔變更到這个格式。
概述
GRIB 是國際公用的這个二進位格式,用來有效的儲存氣象 / 海洋的物理量場佮伊講出來咱的元資料。GRIB 資料檔案典型的由記錄的搜集組成,即多個 GRIB 記錄會當串聯做伙形成一个單一資料集。GRIB 記錄是來講自描寫資料的物件,逐个記錄攏毋但包含資料,而且包括描述空間網格、有效時間、垂直層次的元資料,故而共𪜶合併做資料檔案的次序是任意的。彼每一个 GRIB 記錄典型的包含特定時間和垂直層次的一个二-D 經緯度坐標的資料網格,四-D GRIB 資料集一般展開做時間抑是垂直層次無仝的一組二-D 記錄。GRIB 二相比並講 GRIB,有更加複雜的頭殼欄位集合用佇元資料,猶閣提供會當更加顯明縮小檔案大細的資料壓縮;GRIB 二記錄閣會使包含集合(ensemble)資訊,適合佇傳輸集合預報產品。
網格封包裝
佇咧 WMO 的 GRIB 二指南文件中舉實例說明 GRIB 二報文(message)格式,選用假想的五百 hPa 的位勢懸度五 X 五網格,這二十五个懸度值的範圍是對極小值五千三百四十位勢米(gpm)到極大值五千四百六十 gpm。演出矣採用簡單包裝方案的編碼過程。第一步:數值的單位勢米(gpm)已經是 SI 單位,無需要轉換,抑無愛轉換。第二步:用計算「字」位長度的方法,要求精度值 D 為一,精確到較小數點了後一位,共所有的值攏縮囥十 D 共取整做整數,結果範圍對五鋪三千四百到五鋪四千六百。第三步:取參照值 R 為五孵三千四百,所有的網格值攏減去這參照值,余值的範圍是對零至一千兩百。第四步:確定欲表示極大余值一千兩百需要的位元數,遮是十一个。第五步:所有的余值攏包裝入去十一位長的「字」中,二十五个值攏總需要兩百七十五个長,等價三十四位元組加上三位,才閣用零填充五位最終形成三十五位元組。解碼過程通過參照值 R 佮精度值 D 共包裝予了的值恢復做上早的值。這款對浮點數轉換做定點數的包裝方法會當初步縮減資料大細,嘛會當講是一種資料壓縮;GRIB 第二支援此基礎頂懸的 PNG 和 JPEG 兩千壓縮。
檔案格式
一个 GRIB 檔案中會當有偌个 GRIB 報文,逐个報文開始於文字「GRIB」結束佇文字「七千七百七十七」,二者之間攏是二進位的元資料佮資料。GRIB 報文結構佮大多數氣象報文比如講 GRID(FM 四十七)仝款,劃分做多個節(section):
GRIB 一的第二節,GRIB 二的第一、三、四、五、七節,會當佇咧幾若个模板內底選用其中,遮模板的含義是:「 對一組資料實體的標準化格局的描述」。 佇咧 GRIB 二中,第二節到第七節、第三節到第七節抑第四節到第七節,會當重複出現,對而允准佇一个報文中出現濟个網格資料。
軟體
現有使用 GRIB 檔案的一寡應用軟體套件,其範圍對命令列實用程式到圖形視覺化包。
- ecCodes,是 ECMWF 開發的開源的 C、Fortran 九十庫佮 Python 模組,會當呼叫解碼佮編碼 GRIB 和 GRIB 二資料的 API,軟體套件閣包括一組有用的命令列工具。伊演化自 GRIB API,向使用者提供了以鍵 / 值方式存取元資料的一組函式。ECMWF 閣提供繪圖包 Magics 和 Metview 工作站 / 批次處理系統,會當處理佮視覺化 GRIB 和 GRIB 二檔案。
- NCEP GRIB 一 codes,開源的 Fortran 九十庫 w 三 lib,用於解碼佮編碼 GRIB 格式的資料。
- NCEP GRIB 二 codes,開源的 Fortran 九十庫 g 二 lib 和 C 庫 g 二 clib,用於解碼佮編碼 GRIB 二格式的資料。
- WGRIB,是因為命令列的實用工具,用來操縱、列清單佮解碼 GRIB 檔案。
- wgrib 二,是因為命令列的實用工具,毋是干焦升級 wgrib 可讀的 GRIB 二檔案,閣會當共分片抑是分塊。
- 網格的分析佮顯示系統(GrADS), 開源的佇命令列的桌面應用,直接處理 GRIB 和 GRIB 二檔案。
- NCAR 命令語言,會使讀、分析佮視覺化 GRIB 和 GRIB 二資料,並且轉換伊成做其他網格資料格式。
- CDO(氣候資料算子), 是地球科學的資料分析工具,支援 GRIB 和 GRIB 二。
- Picogrib,自由的 C 語言(FORTRAN 可憐叫)GRIB 解碼包,一定程度上相容 ECMWF GRIBEX 常式。
- JGrib,開源庫用來佇 Java 中讀取 GRIB 檔案。
- NetCDF-Java 通用資料模型,是會當讀 GRIB 和 GRIB 二檔案的 Java 庫。
- PyNIO,是 Python 程式語言模組,允准讀寫存取各種的資料格式,用建模佇咧 netCDF 上的介面。
- PyGrib,python 語言擴充模組,允准讀寫 GRIB 和 GRIB 二格式。
- Meteosatlib,自由軟體 C + + 庫佮一組工具,佇各種格式間轉換衛星圖像;伊會當讀寫講 GRIB 資料,並且伊的 GRIB 編碼 / 解碼器會當單獨使用。
- 地理資料抽象庫(GDAL), 流行的開源地理資料讀寫庫。
- Xconv / Convsh,Xconv 是一个圖形的工具,用來顯示佮轉換各種網格資料,並會使佇 Linux 和 OS X 作業系統上得著。Convsh 是伊的命令列等價者。
- IDV,面向地球科學的平台無關係的應用程式,會當用來視覺化佮分析 NetCDF、GRIB 和 GRIB 二檔案。
- degrib(捌叫做 NDFD GRIB 二解碼器), 可讀的 GRIB 和 GRIB 二檔案。
- zyGrib,是佇咧 Linux、Mac OS X 和 Windows 上開源的圖樣軟體,來下載和顯示 GRIB 和 GRIB 二檔案。
- XyGrib,是嘿 zyGrib 繼續開發的開源軟體,是 GRIB 和 GRIB 二檔案閱讀器閣視覺化氣象資料提供離線分析能力。
- glgrib,這應用使用 OpenGL 來顯示 GRIB 兩場。有光柵、等值線、向量、顏色、比例尺、海岸線、邊界線、經緯度、蘭伯托投影、高斯網格。了後互動(徙振動、縮放等)檢視場。已經使用伊來顯示高解析率的場(二嬸五 km 佮一爿二五 km 全球)。
此外,一寡天氣預報軟體佮導航軟體佮手機仔 app 支援 GRIB 抑是 GRIB 二,如 ATMOGRAPH ModelVis、Expedition、PolarView、OpenCPN、GribAE、qtVlm 和 Weather 四 D;PredictWind Offshore App、PocketGrib、WeatherTrack、mazu、SailGrib、iGrib。
參見
- 通用資料的格式 ( CDF )
- 層級資料格式 ( HDF )
- NetCDF
- BUFR(氣象資料表示的二進位普遍形式)
- PP-format
- GrADS
參照
標準文獻
- Guide to WMO Binary Code Form GRIB 一
- Guide to FM 九十二 GRIB edition 二
- NCEP Office Note 三百八十八 GRIB 一
- NCEP WMO GRIB 二 Documentation
- ECMWF ecCodes keys
- GRIB Parameter database
外部連結
- WMO manual on Codes No 三百空六
- Tables extracted from the Manual on Codes , Volume I . 二
- ecCodes and Magics available under Windows
- WMO Essential
- ECMWF Public Datasets
- NCEP Products Inventory