GRIB(GRIDded BinaryまたはGeneral Regularly-distributed Information in Binary form [1] )は、気象学で履歴および予測の気象データを保存するために一般的に使用される簡潔なデータ形式です。これは世界気象機関の基本システム委員会によって標準化されており、WMOマニュアルコードNo.306に記載されている番号GRIB FM 92-IXで知られています。現在、GRIBには3つのバージョンがあります。バージョン0は、TOGAなどのプロジェクトで限定的に使用されていましたが、現在は運用されていません。第1版(現在のサブバージョンは2)は、数値天気予報(NWP)出力用に、世界中のほとんどの気象センターで運用されています。GRIB第2版と呼ばれる新しい世代が導入され、データは徐々にこの形式に移行しています。第2世代GRIBの一部は、Meteosat第2世代のEumetcastで配信される派生製品に使用されます。別の例としては、NAM(North American Mesoscale)モデルがあります。
形式
GRIBファイルは、2Dデータの自己完結的なレコードの集合であり、個々のレコードは他のレコードや全体のスキーマへの参照を持たず、意味のあるデータとして独立しています。そのため、GRIBレコードの集合は互いに追加することも、レコードを個別に分離することもできます。
各GRIBレコードは、レコードを記述する部分(ヘッダー)と、実際のバイナリデータという2つの要素から構成されます。GRIB-1のデータは通常、スケールとオフセットを使用して整数に変換され、その後ビットパックされます。GRIB-2は圧縮も可能です。
GRIBの歴史
GRIB は航空データ形式 (ADF) に取って代わりました。
世界気象機関(WMO)基本システム委員会(CBS)は1985年にGRIB(GRIDded Binary)形式の作成を目指して会合を開きました。データ管理作業部会(WGDM)は1994年2月、大幅な変更を経てGRIB形式の第1版を承認しました。GRIB第2版は2003年にジュネーブで承認されました。
GRIBの問題点
出典: [2]
GRIBにはGRIBレコードのコレクションを記述する方法はありません
- 各レコードは独立しており、GRIBライターの意図したスキーマを参照する方法はありません。
- レコードを、それが派生された多次元配列に結合する確実な方法はありません。
- データの意味を記述するために外部テーブルを使用します。
- センターがローカル テーブルを公開するための信頼できる場所がありません。
- ローカル テーブルのバージョン管理方法が一貫しておらず、正しくありません。
- WMO テーブルの機械可読バージョンはありません (GRIB-2 では現在利用可能ですが、GRIB-1 では利用できません)
GRIB 1 ヘッダー
GRIB 1 ヘッダーは2つの部分から構成されています。1つは必須部分(製品定義セクション - PDS)で、もう1つはオプション部分(グリッド記述セクション - GDS)です。PDSには、データの作成者(研究/運用センター)、関連する数値モデル/プロセス(NWPまたはGCM)、実際に保存されるデータ(風速、気温、オゾン濃度など)、データの単位(メートル、気圧など)、データの鉛直システム(一定高度、一定気圧、一定温位)、およびタイムスタンプが記述されます。
データの空間構成の説明が必要な場合は、GDSも含める必要があります。この情報には、スペクトル(発散と渦度の高調波)とグリッドデータ(ガウス分布、XYグリッド)、水平解像度、原点の位置が含まれます。
ソフトウェア
アプリケーション
GRIBファイルを利用するアプリケーションソフトウェアパッケージは数多く開発されており、コマンドラインユーティリティからグラフィカル可視化パッケージまで多岐にわたります。
- ATMOGRAPH ModelVis Archived 2014-03-12 at the Wayback Machine GRIB 1とGRIB 2の両方のデータ形式をデコードして表示できる商用数値気象モデルデータ可視化ソフトウェア
- ArcGISは市場をリードするGISソフトウェアです
- Expedition – Expeditionは、セーリングナビゲーションと天気予報を提供するアプリケーションです。Gribの表示とダウンロードは無料で、様々なソースから利用できます。
- [1] cfGribはECMWFのecCodesをベースにした最先端のPython用grib解析ツールです。
- Panoply は、netCDF、HDF、GRIB、その他のデータセットから地理参照配列やその他の配列をプロットするクロスプラットフォーム アプリケーションです。
- WGRIB GRIB1 ファイルを操作、インベントリ、デコードするためのコマンドラインベースのプログラム
- GrADSは、GRIB1およびGRIB2ファイルを直接処理する無料のコマンドラインベースのデスクトップアプリケーションです[3]
- Picogrib GRIB 1 C言語(FORTRAN呼び出し可能)の無料デコードパッケージ。ECMWF GRIBEXルーチンとある程度互換性があります。
- NCEPは、GRIB 1形式のデータのデコードとエンコードを行うフリーソフトウェア(CおよびFORTRANライブラリ)です。
- NCEP は、GRIB 2 形式のデータのデコードとエンコードを行うフリー ソフトウェア (C および FORTRAN ライブラリ) です (一部テンプレートのみ)
- JGrib - Jgrib は、Java で GRIB ファイルを読み取るための無料ライブラリです。
- Meteosatlib - Meteosatlib は、衛星画像をさまざまな形式間で変換するためのフリーソフトウェア C++ ライブラリおよびツール セットです。GRIB データの読み取りと書き込みが可能で、GRIB エンコード/デコード ライブラリはスタンドアロンで使用できます。
- 一般的な数学、統計、プレゼンテーションアプリケーションであるMathematicaは、GRIBファイルを直接処理し、多くの投影法でマッピングすることができます。
- NCARコマンド言語を使用すると、GRIB データを読み取り、分析および視覚化できるほか、他のグリッド データ形式に変換することもできます。
- PyNIO は、netCDF をモデルにしたインターフェースを使用して、さまざまなデータ形式への読み取りおよび書き込みアクセスを可能にするPython プログラミング言語モジュールです。
- degrib (別名 NDFD GRIB2 デコーダー) は、GRIB 1 および GRIB 2 ファイルのリーダーです。
- wgrib2 は GRIB 2 ファイルのリーダーです。
- GRIB API(Wayback Machineに2017年10月4日アーカイブ)は、ECMWFで開発された、GRIBエディション1および2のデータのデコードとエンコードを行うAPIです。注:このパッケージは現在、GRIB APIのスーパーセットであるecCodesに置き換えられています。便利なコマンドラインツールセット( Wayback Machineに2017年8月27日アーカイブ)も含まれています。ECMWFは、GRIBファイルの処理と可視化のためのプロットパッケージMagics(Wayback Machineに2019年10月16日アーカイブ)とMetviewワークステーション/バッチシステムも提供しています。
- QGIS - QGIS は、GRIB ファイルを視覚化できるグラフィカル オープン ソース ソフトウェアです。
- Ugrib – Ugribは、GRIB 1ファイルの閲覧用に設計された無料のグラフィカルGRIBビューアです。ウェブサイトGRIB.USは、気象予報におけるGRIBデータの慎重かつ安全な使用に関する教育も提供しています。このリンクは2017年5月20日現在、機能していません。
- SmartMet - SmartMet は、GRIB データを読み取り、書き込み、視覚化する Windows ツールです。
- Xconv/Convsh 2006年10月9日アーカイブ- Xconvは、グリッドデータの表示と変換を行うグラフィカルツールで、ほとんどのオペレーティングシステムで利用可能です。Convshはコマンドライン版です。
- NetCDF-Java 共通データ モデルは、GRIB 1 および GRIB 2 ファイルを読み取ることができる Java ライブラリです。
- zyGrib は、GRIB 1 および GRIB 2 (v8.0 以降) ファイルをダウンロードして表示するための Linux、Mac OS X、Windows (GPL3、Qt) 用のグラフィカル ソフトウェアです。
- XyGribはzyGirb 8.0.1のフォークとして始まりました。マルチプラットフォームソフトウェアでもあります。
- GDAL は、地理空間データ用の人気のオープンソースの読み書きライブラリです。
- PredictWind オフショア アプリは、衛星または SSB 接続で予測 GRIB データをダウンロードする必要がある沖に向かう船舶向けに設計されたマルチ プラットフォーム アプリです。
- LuckGribは、船員やその他の気象愛好家向けに設計された、 macOS、iOS、iPadOSで利用可能なアプリです。LuckGribは、GRIBの多くの気象モデルに簡単にアクセスできます。さらに、いくつかの海流モデルと波浪モデルも提供されています。データはインターネット、衛星、またはメールでダウンロードできます。
- PyGrib GRIB 1 および GRIB 2 形式の読み取りと書き込みを可能にする Python 言語拡張モジュール。
- PolarView GRIBビューアを搭載したナビゲーションアプリケーションで、GRIB 1とGRIB 2の両方をサポートしています。PolarViewには、NOAAのGFS(風速/気圧)、NWW3(波高/波向)、RTOFS(大西洋海流)データをダウンロードできるGRIBダウンロードサービスが含まれています。Linux、Mac、Windowsで利用可能です。
- OpenCPN オープンソースチャートプロッター/マリンナビゲーター。日々のクルージングや事前の航路計画に最適です。(注: GRIB サポートはバージョン 1.3.5 ベータ版以降で利用可能です)
- CDO(Climate Data Operators)は、GRIBをサポートする地質科学データの分析ツールです。
- IDV は、GRIB1、GRIB2、および NetCDF ファイルの視覚化と分析を行う、気象学指向のプラットフォームに依存しないアプリケーションです。
- SoftwareOnBoard チャート上に GRIB オーバーレイを含む Windows 用の海洋ナビゲーション アプリケーション。
- GribAE WGRIB 用のフリーウェア Windows インターフェース。
- qtVlm は、Linux、Windows、Mac、Android、RaspberryPi、iOS 用の無料ソフトウェアで、GPS およびルーティング機能とのインターフェイスを備えています (+ 仮想セーリング ゲーム VLM とのインターフェイス)
- PyNDFDは、米国立気象局(NWS)からリアルタイムの予報データを取得するためのオープンソースのPythonモジュールです。GRIB形式のデータはキャッシュされ、解析されるため、開発者は数十種類の最新の気象予報変数にアクセスできます。データは、米国内の任意の座標について、今後7日間分取得できます。
- Weather4D このアプリケーションは、GRIBファイル(約35種類の気象/波浪/流速モデル)を処理し、3D HDアニメーション表示可能な天気予報を作成します。「ルーティング」バージョンでは、選択したモデルと極座標データに基づく気象ルーティング機能と位置情報管理機能も提供されます。「ルーティング&ナビゲーション」バージョンでは、NMEAインターフェース、AIS、海図、計器盤、航跡記録などのナビゲーション機能が追加されます。
- glgrib このアプリケーションは、OpenGLを使用してGRIB2フィールドを表示します。ラスター、等高線、ベクター、カラーバー、マップスケール、海岸線、境界線、緯度経度、ランベルト、ガウスグリッド。フィールドをインタラクティブに表示(移動、ズームなど)できます。glgribを使用して、高解像度フィールド(2.5 kmおよび1.25 kmの全球)を表示しました。
モバイルアプリ
iOS
次のようないくつかのiOSアプリが GRIB 形式をサポートしています。
- iGrib(現在は廃止)
- ポケットグリブ
- ウェザートラック
- 天気4D
- PredictWind オフショアアプリ
- ラックグリブ
- qtVlm
- マズー
アンドロイド
次のようないくつかのAndroidアプリが GRIB 形式をサポートしています。
- ポケットグリブ
- qtVlm
- セイルグリブ
- 天気4D
- PredictWind オフショアアプリ
参照
参考文献
- ^ https://old.wmo.int/extranet/pages/prog/www/DPS/FM92-GRIB2-11-2003.pdf [ベア URL PDF ]
- ^ キャロン、ジョン。BUFRとGRIBのアーカイブデータとしての適性について
- ^ http://cola.gmu.edu/grads/gadoc/grib.html [裸の URL ]
外部リンク
- WMOコード306に関するマニュアル
- コードマニュアル第1巻2号から抜粋した表
- GRIB エディション 1
- GRIB 第2版(2003年1月)
- GRIB Edition 2 (バイナリのみ、2003 年 11 月)
- GRIBデータは2014年2月23日にカナダ環境省のWayback Machineにアーカイブされています。
- NCEPオフィスノート388、GRIB1
- GRIB APIとは何ですか?
- ecCodesとは何ですか?
- BUFRとGRIBがデータアーカイブに適しているかどうか