GRIB2数据修改key信息
10/21
本文最后更新于
2023年10月21日,已超过
500天没有更新。如果文章内容或图片资源失效,请留言反馈,我会及时处理,谢谢!
问题
有一个grib2数据,使用wgrib2查看元信息:
$ wgrib2 in.grb
其中SPFH场垂直层信息为reserved
,未能显示正确的等压面层次。
使用eccodes中grib_ls
工具查看
$ grib_ls in.grb
输出如下:
其中typeOfLevel
和level
两个key信息对于比湿q(即wgrib2中显示的SPFH)有问题。
层次类型值为unknown
,而不是像正常场一样为isobaricInhPa
,其level单位是Pa,而其它正常显示的场单位是hPa,应该就是这个问题导致在wgrib2查看时出现异常。
修改key信息
通过eccodes提供的grib_set
工具修改key信息使grib文件正常显示元信息。
$ grib_set -s typeOfLevel=isobaricInhPa -w typeOfLevel=unknown in.grib out.grib
-w
只对匹配该选项条件的GRIB messages执行set操作,其他不符合的messages原封不动拷贝到新的grib文件。-s
设置key=value
修改后wgrib2查看
附:eccodes简要安装说明
最新的eccodes基于CMake构建。
$ tar xzvf eccodes-2.30.0-Source.tar.gz
$ cd eccodes-2.30.0-Source
$ cmake -DCMAKE_INSTALL_PREFIX=/path/to/install/eccodes -DENABLE_AEC=OFF -B build
$ cmake --build build --target install
# 设置环境变量
$ vi ~/.bashrc
export PATH=/path/to/install/eccodes/bin:$PATH
export ECCODES_DIR=/path/to/install/eccodes
$ source ~/.bashrc
eccodes一些功能需要依赖其它库,比如NETCDF/JPG/PNG等,具体cmake开关见官网说明。

