- 积分
- 2729
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2015-10-7
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
感觉MATLAB函数很多 比较方便,新人想学习,可是读取数据就难到我了,我是2014版,用了ncdisp ncread的方法,不知道为什么报错。我想读取一个全球12874天的逐日最低温NCEP资料,结构是192*94*12874,想提取每天的 中国区域的部分,是我的命令哪里有问题吗?求指点
为什么生成temp就能成功 ,同样的读取tmin就不行了?
ncdisp('E:\data\NCEP-1\dailytmin.nc');
Source:
E:\data\NCEP-1\dailytmin.nc
Format:
classic
Global Attributes:
Conventions = 'COARDS'
title = 'daily NMC reanalysis (1979)'
history = 'created 95/03/13 by Hoop (netCDF2.3)'
description = 'Data is from NMC initialized reanalysis
(4x/day). It consists of T62 variables interpolated to
pressure surfaces from model (sigma) surfaces.'
platform = 'Model'
references = 'http://www.esrl.noaa.gov/psd/data/gridded/data.ncep.reanalysis.html'
Dimensions:
lon = 192
lat = 94
time = 12784 (UNLIMITED)
Variables:
lat
Size: 94x1
Dimensions: lat
Datatype: single
Attributes:
units = 'degrees_north'
actual_range = [88.542 -88.542]
long_name = 'Latitude'
standard_name = 'latitude'
axis = 'Y'
lon
Size: 192x1
Dimensions: lon
Datatype: single
Attributes:
units = 'degrees_east'
long_name = 'Longitude'
actual_range = [0 358.125]
standard_name = 'longitude'
axis = 'X'
time
Size: 12784x1
Dimensions: time
Datatype: double
Attributes:
units = 'hours since 1-1-1 00:00:0.0'
long_name = 'Time'
actual_range = [17338824 17347560]
delta_t = '0000-00-01 00:00:00'
standard_name = 'time'
axis = 'T'
tmin
Size: 192x94x12784
Dimensions: lon,lat,time
Datatype: int16
Attributes:
long_name = 'Daily Minimum Temperature at 2 m'
unpacked_valid_range = [150 400]
actual_range = [165.6 307.7]
units = 'degK'
add_offset = 477.65
scale_factor = 0.01
missing_value = 32766
precision = 2
least_significant_digit = 1
GRIB_id = 16
GRIB_name = 'T MIN'
var_desc = 'Minimum Temperature'
dataset = 'NCEP Reanalysis Daily Values'
level_desc = '2 m'
statistic = 'Daily Minimum'
parent_stat = 'Individual Obs'
valid_range = [-32765 -7765]
>> lon=ncread('E:\data\NCEP-1\dailytmin.nc','lon');
>> lat=ncread('E:\data\NCEP-1\dailytmin.nc','lat');
>> time=ncread('E:\data\NCEP-1\dailytmin.nc','time');
>> temp=ncread('E:\data\NCEP-1\dailytmin.nc','tmin',[1 1 1],[50 50 365]);
>> a=find(lon>=70&lon<=140);
>> b=find(lat>=15&lat<=55);
>> lon_num=length(a);
>> lat_num=length(b);
>> time_num=length(time);
>> tmin=ncread('E:\data\NCEP-1\dailytmin.nc','tmin',[a(1) b(1) time(1)],[lon_num lat_num time_num]);
错误使用 netcdflib
NetCDF 库在执行 'getVarsShort' 函数期间遇到错误 - 'Index exceeds dimension bound (NC_EINVALCOORDS)'。
出错 netcdf.getVar (line 136)
data = netcdflib(funcstr,ncid,varid,varargin{:});
出错 internal.matlab.imagesci.nc/read (line 635)
data = netcdf.getVar(gid, varid, ...
出错 ncread (line 58)
vardata = ncObj.read(varName, varargin{:});
以下是错误的地方:1 第136行: data = netcdflib(funcstr,ncid,varid,varargin{:});
2 第635行: data = netcdf.getVar(gid, varid, ...
start, count, stride);
3 第58行:vardata = ncObj.read(varName, varargin{:});
|
-
|