GRIB(GRIdded Binary或通用定期发布的二进制形式信息)是通常用在气象学中存储历史的和预报的天气数据的简明数据格式。它由世界气象组织的基本系统委员会于1985年标准化,描述于WMO编码手册(出版物No.306),最初编号为FM 92-VIII Ext. GRIB。 第一版GRIB被世界范围内的多数气象中心业务化使用,用于数值天气预报(NWP)输出。第二版是2003年发表的GRIB2,最新编号为FM 92–XIV GRIB,气象数据发布逐渐的变更到这个格式。
GRIB是国际公用的二进制格式,用来有效的存储气象/海洋的物理量场和描述它们的元数据。GRIB数据文件典型的由记录的搜集组成,即多个GRIB记录可以串联在一起形成一个单一数据集。GRIB记录是自描述数据对象,每个记录都不只包含数据,而且包含描述空间网格、有效时间、垂直层次的元数据,故而把它们合并成数据文件的次序是任意的。每个GRIB记录典型的包含特定时间和垂直层次的一个2-D经纬度坐标的数据网格,4-D GRIB数据集一般展开为时间或垂直层次不同的一组2-D记录。GRIB2相比于GRIB,有着更加复杂的头部字段集合用于元数据,还提供了可以更加显著缩小文件大小的数据压缩;GRIB2记录还可以包含集合(ensemble)信息,适合于传输集合预报(英语:Ensemble forecasting)产品。
在WMO的GRIB2指南文档中举实例说明GRIB2报文(message)格式,选用了假想的500 hPa的位势高度5 X 5网格,这25个高度值的范围是从极小值5340位势米(gpm)到极大值5460 gpm。演示了采用简单包装方案的编码过程。第一步:数值的单位位势米(gpm)已经是SI单位,不需要转换,否则需要转换。第二步:采用计算“字”位长度的方法,要求精度值D为1,即精确到小数点后1位,把所有值都缩放10D并取整为整数,结果范围从53400到54600。第三步:取参照值R为53400,所有网格值都减去这个参照值,余值范围是从0至1200。第四步:确定要表示极大余值1200需要的二进制位数,这里是11位。第五步:所有的余值都包装入11位长的“字”中,25个值总共需要275位长,等价于34字节加上3位,再用0填充5位最终形成35字节。解码过程通过参照值R和精度值D把包装后的值恢复为最初的值。这种从浮点数转换成定点数的包装方法可以初步缩减数据大小,也可称为是一种数据压缩;GRIB2支持在此基础上的PNG和JPEG2000压缩。
一个GRIB文件中可以有多个GRIB报文,每个报文开始于文字“GRIB”结束于文字“7777”,二者之间都是二进制的元数据和数据。GRIB报文结构与大多数气象报文比如GRID(FM 47)一样,划分为多个节(section):
GRIB1的第2节,GRIB2的第1、3、4、5、7节,可在多个模板中选用其一,这里模板的含义是:“对一组数据实体的标准化格局的描述”。在GRIB2中,第2节到第7节、第3节到第7节或第4节到第7节,可以重复出现,从而允许在一个报文中出现多个网格数据。
现有使用GRIB文件的一些应用软件包,其范围从命令行实用程序到图形可视化包。
此外,一些天气预报软件和导航软件及手机app支持GRIB或GRIB2,如ATMOGRAPH ModelVis、Expedition、PolarView、OpenCPN、GribAE、qtVlm和Weather4D;PredictWind Offshore App、PocketGrib、WeatherTrack、mazu、SailGrib、iGrib。