- 积分
- 927
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2019-1-9
- 最后登录
- 1970-1-1
|
发表于 2019-4-9 13:36:32
|
显示全部楼层
本帖最后由 Tard 于 2019-4-9 13:42 编辑
如果使用 netcdf.getVar 方法读取变量的话,需要手动利用 scale_factor 和 add_offset 进行转换
- ncid = netcdf.open(ncfilename, 'NC_NOWRITE');
- ncdisp(ncfilename);
- varID = netcdf.inqVarID(ncid, varname);
- data_raw = netcdf.getVar(ncid, varID);
- data_real= double(data_raw) * scale_factor + add_offset;
- netcdf.close(ncid)
复制代码
如果使用 ncread 方法的话,ncread 会自动进行转换,可以参考这个页面 https://confluence.ecmwf.int/display/CKB/What+are+NetCDF+files+and+how+can+I+read+them
- data_real = ncread(ncfilename, varname);
复制代码
建议使用后一种方法。
另外再补充一句,读的时候是可以指定读取范围和步长的,参考 https://ww2.mathworks.cn/help/matlab/ref/ncread.html?lang=en
|
|