clc; %清屏
close all;
datadir='F:\00_Project\Data\'; %指定批量数据所在的文件夹
filelist=dir([datadir,'*.nc']); %指定批量数据的类型
k=length(filelist);
%%任意取其中一个来看数据中所包含的变量特征,以为下面读取数据变量做铺垫
filename=[datadir,filelist(1).name];
ncid=netcdf.open(filename,'nowrite'); %打开nc文件
ncdisp(filename); %在命令窗中显示nc文件的变量
netcdf.close(ncid)
for s=1:1
filename=[datadir,filelist(s).name];
tempname='prec';
TimeData = ncread(filename,'time'); %读入变量time
LonData = ncread(filename,'lon'); %读入变量lon
LatData = ncread(filename,'lat'); %读入变量lat
AData = ncread(filename,tempname); %读入变量lrad
%%展示数据
figure (1);
pcolor(LonData,LatData,AData(:,:,2)');
shading flat;
colormap(jet);
colorbar;
lim = caxis
axis equal;
end
%=========写================
fileOutname='E:\Data\Data _forcing_03hr_010deg\2018Data_forcing_day_010deg.nc';
%创建一个存放数据的nc文件
ncid = netcdf.create(fileOutname,'64BIT_OFFSET'); %cmode 的值详见help
% 定义维度
lat_dimID = netcdf.defDim(ncid,'lat',M);
lon_dimID = netcdf.defDim(ncid,'lon',N);
time_dimID = netcdf.defDim(ncid,'time',days);
% 定义变量
varid_lat = netcdf.defVar(ncid,'latitude','NC_FLOAT',lat_dimID);
varid_lon = netcdf.defVar(ncid,'longitude','NC_FLOAT',lon_dimID);
varid_time = netcdf.defVar(ncid,'time','NC_INT',time_dimID);
varid_lrad = netcdf.defVar(ncid,'lrad','NC_FLOAT',[lon_dimID lat_dimID time_dimID]);
varid_prec = netcdf.defVar(ncid,'prec','NC_FLOAT',[lon_dimID lat_dimID time_dimID]);
% 定义变量属性
% netcdf.putAtt(ncid,varid,'units','d');
% netcdf.putAtt(ncid,varid3,'long_name','lrad');
netcdf.endDef(ncid); %退出定义模式,进入数据模式以写入数据,很重要!!!
% 将数据写入变量
netcdf.putVar(ncid,varid_lat,LatData);
netcdf.putVar(ncid,varid_lon,LonData);
netcdf.putVar(ncid,varid_time,1:1:days);
netcdf.putVar(ncid,varid_lrad,A_day(:,:,:,1));
netcdf.putVar(ncid,varid_prec,A_day(:,:,:,2));
netcdf.close(ncid);
亲测可以实现!!!!