爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
楼主: 又是那隻貓

[源程序] 关于用matlab一站式读取NetCDF, OPeNDAP, HDF5, GRIB, GRIB2, HDF4等等

  [复制链接]

新浪微博达人勋

发表于 2016-9-13 14:05:57 | 显示全部楼层
不错,先下载看看
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-9-13 15:40:49 | 显示全部楼层
好东西,感谢分享!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-9-13 16:21:21 | 显示全部楼层
感谢楼主大大{:5_196:}{:5_196:}{:5_196:}{:5_196:}
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-9-13 19:34:36 | 显示全部楼层
谢谢楼主,辛苦啦
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-9-18 18:15:12 来自手机 | 显示全部楼层
谢谢分享。个人最初接触nc数据时,没人分享。自己查看help,看了关于nc的内容。大家也可以试试
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-9-18 18:20:49 | 显示全部楼层
好东西,感谢分享!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-9-19 17:36:02 | 显示全部楼层

分享给大家一个用matlab读取nc,hdf,grib1&2数据的合成工具--Ncdataset

本帖最后由 general_maeam 于 2016-9-20 21:34 编辑

安装很方面:按照说明文件,先检查下要求的运行环境(matlab > 2008以上; java > 1.6以上),然后解压,进入解压后的文件夹,matlab中执行“setup_nctoolbox”即可

我用fnl的grib2数据测试了下,一些命令供大家参考:
1、读入数据
ds = ncdataset('fnl_20160101_00_00.grib2');
查看数据的类型+属性:
ds.netcdf
查看数据中的变量:
ds.variables
2、读取数据
t = ds.data('Geopotential_height_tropopause');
OR:
t2 = ds.data(ds.variables{8})
获取数据的维度:
ds.size('Geopotential_height_tropopause')
获取部分数据:
FirstIndex = [1, 100, 100];
EndIndex = [1, 150, 150];
t3 = ds.data('Geopotential_height_tropopause',FirstIndex,EndIndex);
Q:如果Matlab提示"Warning: CData must be double or uint8",这是matlab自身精度控制的问题,因为默认用的double精度,可以:
tDouble = double(tSingle);
即可!
3、查看属性
ds.attributes
查看变量的属性:
ds.attributes('Geopotential_height_tropopause')
查看某变量特定的属性:
a = ds.attributes('Geopotential_height_tropopause');
value4key(a,'units')
value4key(a,'long_name')
获取变量维度的名称:
b = ds.axes('Geopotential_height_tropopause');
eg:
GPMData = ds.data('Geopotential_height_tropopause');

GPMData = squeeze(GPMData);

Temp = ds.time('time', ds.data('time', 1));

% Temp = ds.time('time');

lat = ds.data('lat');

lon = ds.data('lon');

surf(lon,lat,GPMData);

shading interp;

view(2);

title(datestr(Temp));


4、扩展功能ncgeodataset

获取数据:

ds = ncgeodataset('fnl_20160101_00_00.grib2')

查看变量:

ds.variables

查看变量内容/读取数据:

ds.data('Geopotential_height_tropopause');

获取数据的维度:

ds.size('Geopotential_height_tropopause');

获取数据的维度信息:

ds.metadata

获取单个物理量的信息:

>> t = ds.geovariable('Geopotential_height_tropopause');

>> t.attributes

获取指定的属性:

>> t.attribute('units') %%这是attribute!!!

还有其他功能,可以直接doc查看。

nctoolbox-nctoolbox-20140414-beta.zip

15.18 MB, 下载次数: 106, 下载积分: 金钱 -5

点评

不好意思,这个之前已经有人发过了  发表于 2016-10-1 19:15
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-9-19 17:36:34 | 显示全部楼层
自己先做个板凳!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-9-19 17:36:52 | 显示全部楼层
自己先坐个板凳!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-9-20 08:00:26 来自手机 | 显示全部楼层
群里总是有那么些无私分享的人!!
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表