采用nctoolbox
详细说明见 https://github.com/nctoolbox/nctoolbox/wiki/Documentation
nctoolbox提供几种类型的数据接口,官方推荐最新的NCGEODATASET
NCDATASET and CFDATASET 较老,为兼容目的保留
常用命令
>>nc=ncgeodataset('*.grib2')
>>nc.netcdf %类似ncdisp或ncdump命令
读取变量
>>temp = ds.data('TEMP'); % Explicit
>>psal = ds.data(ds.variables{2}) % Accessing 'PSAL' using variables property
或者
>>salt = nc.geovariable('salt')
salt =
ncgeovariable handle
Properties:
dataset: [1x1 ncgeodataset]
name: 'salt'
axes: {4x1 cell}
attributes: {5x2 cell}
Methods, Events, Superclasses
查看元数据
>>ds.metadata
ans =
global_attributes: {12x2 cell}
depth: {5x2 cell}
elev: {5x2 cell}
u: {7x2 cell}
v: {7x2 cell}
salinity: {7x2 cell}
temperature: {7x2 cell}
time: {2x2 cell}
level: {6x2 cell}
lon: {5x2 cell}
lat: {5x2 cell}
示例
>>salt = nc.geovariable('salt')
salt =
ncgeovariable handle
Properties:
dataset: [1x1 ncgeodataset]
name: 'salt'
axes: {4x1 cell}
attributes: {5x2 cell}
Methods, Events, Superclasses
数据
>salinity = salt.data(1, end, :, :);
>>size(salinity)
ans =
1 1 60 160
>>class(salinity)
ans =
single
>>salinity= squeeze(double(salinity));
坐标
>>salinity_coords = salt.grid(1, end, :, :)
salinity_coords =
lat_rho: [60x160 double]
lon_rho: [60x160 double]
ocean_time: 1.0958e+009
s_rho: -0.9750