一、grib文件简介
WMO是世界气象组织,world meteorology organization。
GRIB是WMO开发的一种用于交换和存储规则分布数据的二进制文件格式。最初GRIB表示“二进制格点”(GRIdded Binary),后来扩展为“二进制的通用规则分布信息”(General Regularly-distributed Information in Binary form)。
GRIB 码是与计算机无关的压缩的二进制编码,主要用来表示数值天气预报的产品资料。现行的GRIB 码版本有GRIB1 和GRIB2 两种格式。 GRIB2较之GRIB1具有更多优点而被广泛使用。如:表示多维数据、模块性结构、支持多种压缩方式、IEEE标准浮点表示法等。
二、grib文件解析的三种方式
grib文件解析有三种方式,pygrib、wgrib、pupygrib。
pygrib安装复杂,wgrib是一个exe,pupygrib是纯python版的grib文件解析方式。
三、grib文件格式简介
grib文件包含从0到8共9个section,每个section用途不一样。
section0有16个字节,分别表示GRIB(4字节的字符串),接下来5-6字节保留备用,第7个字节表示discipline也就是所遵守的规范,第8字节表示版本号,一般为2。第9到第16字节共8个字节(一个long型数字)表示整个GRIB message所占字节数。
总之,section0描述的是整个message的信息,是统领全文的作用。
section1至少有21字节,表示一堆版本号和时间。
总之,section1描述的也是数据格式的元信息。
section2是给用户自己用的,用户可以在这里自由发挥。
section3是网格定义区域。
四、使用pupygrib解析
参考资料
python glymur解析jpeg2000
https://glymur.readthedocs.io/en/latest/how_do_i.html
pyopenjpeg已经不维护了,作者推荐使用glymur
https://github.com/khughitt/pyopenjpeg
glymur和pyopenjpeg是在openjpeg上用python封装了一层