grb数据是grib码文件,
GRIB
码是与计算机无关的压缩的二进制编码,主要用来表示数值天气预报的产品资料。现行的
GRIB
码版本有
GRIB
1 和
GRIB
2 两种格式。本文讲解nctoolbox的基本使用,并读取grb文件数据输出到excel文件中,并绘制相关图件。
本文使用nctoolbox工具进行操作并扩展其功能(安装包见csdn:
http://download.csdn.net/download/thesunrize/9757036;Github:
https://github.com/Miaor/nctoolbox-extended/
)。
解压后文件目录如下:
%数据导出到excel
其中readfile.m文件完成数据的导入、提取、输出至excel、属性打印以及绘图功能,代码如下:
function
readfile
setup_nctoolbox
%初始化nctoolbox,操作前请检查电脑是否安装java1.6及以上
[filename, pathname] = uigetfile(
'*.GRB'
,
'choose a GRB file'
); %选择grb文件,支持grb、grb2以及nc文件
if
isequal(filename,0)
msgbox(
'you choose nothing'
);
else
pathfile=fullfile(pathname, filename); %获取文件路径
ds= ncdataset(pathfile);%读取数据集
ds.netcdf %display file details
%绘图
GPMData = ds.data(ds.variables{2});
GPMData = squeeze(GPMData);
Temp = ds.time(
'time'
, ds.data(
'time'
, 1));
lat = ds.data(
'lat'
);
lon = ds.data(
'lon'
);
surf(lon,lat,GPMData);
xlabel(
'lontitude'
)
ylabel(
'latitude'
)
zlabel(
'GPM'
)
shading interp;
title({datestr(Temp),
'3d'
});
colorbar;
name = {
'lontitude'
,
'latitude'
,
'GPM'
};
xlswrite(strcat(filename,
'.xlsx'
), name,1,
'A1'
)
xlswrite(strcat(filename,
'.xlsx'
), lon,1,
'A2'
)
xlswrite(strcat(filename,
'.xlsx'
), lat,1,
'B2'
)
xlswrite(strcat(filename,
'.xlsx'
), GPMData,1,
'C2'
)
msgbox(
'finished!'
);
end
将readfile.m文件拖入控制台即可运行,效果如下:
选择需要导入的grb文件
计算完成后,在nctoolbox目录下会生成以grb源文件名称相同的excel文件,同时将数据可视化,并在控制台输出grb文件相关信息:
补充:nctoolbox目录下demo文件夹中提供了很多案例,可使用runtests.m文件演示所有案例,根据需要对案例进行修改。