- 积分
- 332
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2012-11-2
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
分享一个批量读取nc和写出nc格式数据的matlab程序。程序读取1981到2010年的数据,数据的命名规则为“Air.年份.nc”,挑选所需要的部分,再按照年份写出,命名为“年份Air.nc”。程序编的比较简单,主要用于读取和写出,仅供参考,欢迎批评指正。
clear;
clc;
n=0;
for i=1981:2010
str=strcat('G:\ncep\height\Air.',num2str(i),'.nc');
ncid= netcdf.open(str,'NC_NOWRITE');
varid=netcdf.inqVarID(ncid,'air');
data=netcdf.getVar(ncid,varid);
n=n+1;
A{n}=data;
clear data;
end
for i=1:30
d1=A{i};
d1_2=d1(:,:,1:12,201:211); %挑选数据
str1=strcat('G:\ncep\20150316\Air\',num2str(i+1980),'Air.nc');
ncid=netcdf.create(str1,'NC_NOCLOBBER');
%定义维数为四维
dimidx=netcdf.defDim(ncid,'lon',144);
dimidy=netcdf.defDim(ncid,'lat',73);
dimidz=netcdf.defDim(ncid,'lev',12);
dimidt=netcdf.defDim(ncid,'t',11);
%定义变量
varid=netcdf.defVar(ncid,'air','double',[dimidt dimidz dimidy dimidx]);
%给变量赋值
netcdf.putVar(ncid,varid,d1_2);
netcdf.close(ncid);
clear d1 d1_2 ncid varid;
end
|
|