netcdf网格文件读取和写入之matlab程序
(2014-07-28 17:21:54)
标签:
matlabnetcdf网格文件 |
分类: matlab |
1,查看netcdf文件基本信息,可以看到各个变量的名称
>> ncdisp('freeair.nc')
Source:
Format:
Global Attributes:
Dimensions:
Variables:
2,读取文件
%打开文件
ncid=netcdf.open('freeair.nc','NC_NOWRITE');
%返回变量id
latid=netcdf.inqVarID(ncid,'lat') ;
lonid=netcdf.inqVarID(ncid,'lon') ;
zid=netcdf.inqVarID(ncid,'z');
%读取变量
lat=netcdf.getVar(ncid,latid);
lon=netcdf.getVar(ncid,lonid);
z=netcdf.getVar(ncid,zid);
3,写入netcdf文件
%使用matlab原生支持命令创建nc文件范例
12-05-15
%% 1创建nc文件
% cid = netcdf.create(filename, mode)
% mode:
% 'NC_NOCLOBBER':
% 'NC_SHARE':
% 'NC_64BIT_OFFSET':
ncid =
netcdf.create('test.nc','NC_NOCLOBBER')
%% 2定义Dimension
% dimid =
netcdf.defDim(ncid,dimname,dimlen)
dimidx = netcdf.defDim(ncid,'lon',10);
dimidy = netcdf.defDim(ncid,'lat',10);
%% 3.定义变量:
% varid =
netcdf.defVar(ncid,varname,xtype,dimids)
varid = netcdf.defVar(ncid,'test','double',[dimidx
dimidy]);
%% 4
完成netCDF文件定义模式
netcdf.endDef(ncid)
%% 5
把数据写到netcdf的文件中
% netcdf.putVar(ncid,varid,data)
% netcdf.putVar(ncid,varid,start,data)
%
netcdf.putVar(ncid,varid,start,count,data)
%
netcdf.putVar(ncid,varid,start,count,stride,data)
netcdf.putVar(ncid,varid,rand(10))
%% 6
关闭文件
netcdf.close(ncid);
参考网址:
http://www.ilovematlab.cn/thread-217430-1-1.html