使用MatLab读取grib(grb)和grib2文件的方法 您所在的位置:网站首页 supposed什么意思怎么读 使用MatLab读取grib(grb)和grib2文件的方法

使用MatLab读取grib(grb)和grib2文件的方法

2023-09-12 23:41| 来源: 网络整理| 查看: 265

在开始读取之前,有必要先了解一下grib文件是什么。以下内容摘自百度百科:

GRIB 码是与计算机无关的压缩的二进制编码,主要用来表示数值天气预报的产品资料。现行的GRIB 码版本有GRIB1 和GRIB2 两种格式。GRIB2较之GRIB1具有加大优点而被广泛使用。如:表示多维数据、模块性结构、支持多种压缩方式、IEEE标准浮点表示法等。 目前有两个版本,第一版(GRIB1)和第二版(GRIB2)。 编解码工具 - GRIB API是ECMWF开发的用于编解码GRIB1和GRIB2的工具,提供c++、fortran、python等语言的API,并提供一系列命令行工具。 - wgrib2 是NCEP开发的GRIB2命令行工具,用于读取、创建和修改GRIB2文件。[1]

一.准备工作

1.先要安装MatLab,我使用的是MatLab R2016a.

2.安装MinGW64编译器(直接下载最新版即可),点击安装,注意安装路径不要有空格。然后为MinGW64配置环境变量:

这里写图片描述

3.在 MatLab命令行中 使用如下命令配置编译器:

>> setenv('MW_MINGW64_LOC','C:\MinGw\mingw64')

4.继续使用如下命令查看编译器能否被找到:

mex -setup -v

使用如下命令查看mex配置的是哪个编译器。

mex -setup

这里写图片描述

至此准备工作已经做完。

二. grib的读取

版本一的grib文件使用插件read_grib。

1.在MatLab的命令行中使用如下命令切换到read_grib代码所在的文件夹:如

cd E:\read_grib

2.Mex为MATLAB和Excutable的缩写,.MEX文件是一种可在matlab环境中调用的C(或fortran)语言衍生程序,MEX文件实现了一种其它语言与MATLAB的接口,通过MEX文件可以在MATLAB中像调用内嵌函数一样调用使用C语言和Fortran等语言编写的函数,实现了代码重用,同时也能提高MATLAB环境中数据处理的效率。 该命令实现目的: GRiB Binary Data Section decoding)[2]

mex BDS_unpack_mex5.c

3.使用如下命令切换到数据处理文件夹

cd E:\06实验室工作\农业新闻写作\2017寒假收集数据\2017.1.22-2.22预报数据中国周边区域气象

4.读取上面的文件夹下的grb数据:

gribname='NAFP_GRAPES_0_FTM-38-CHN-PRS-100X100-1-0-0-000-999998-2017020200-0.GRB'

read_grib(gribname,'invent')

就可以完成数据的读取了。然而这里出了一个问题,我们之后再说。但是这种方法用来读取版本一的grib文件是没有问题的。

出现的问题如下:

这里写图片描述

正如提示所说,Read_grib不能读取版本2的grib记录,我很郁闷啊。而我们从中国气象数据网获取到的grib文件使用的是第二版(GRIB2),所以只能寻找版本2的grib文件读取方法。

三.grib2的读取

grib2的解编码工具是wgrib2,因此需要在MatLab的程序中调用。

我是用的wgrib2的版本是1.9.2下载。 read_grib2下载用的是也是别人写的代码。

将grb文件和read_grib2放在同一路径下,同样使用如下命令运行读取grb文件:

gribname='NAFP_GRAPES_0_FTM-38-CHN-TEM-100X100-103-2-0-000-999998-2017033000-0.GRB'

read_grib2(gribname,'invent')

运行结果如下: 这里写图片描述

大功告成。

附件: grb文件

参考资料: [1]百度百科.http://baike.baidu.com/link?url=cePjYq0LA0d69lh1LPO7T_1cshYLmdA8X0WE422cXjVlWOMvHxIiYi7-vFq_MBenQvcA1sVy4AelOAp9lf6Wna [2]LongShaoAn的博客.http://blog.163.com/jey_df/blog/static/182550161201256103812959/



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有