登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
各位大神,有谁知道如何用matlab生成的mat文件,转换成ncl可以读取的nc文件么?以下是代码,但是生成出来的nc文件只能matlab读取,ncl和grads好像都没有办法读取。
ncid = netcdf.create(‘uwnd_all_1km_era5_d_mon_anomaly_win_1950_2019.nc','CLOBBER'); dimidx = netcdf.defDim(ncid,'lon',360); dimidy = netcdf.defDim(ncid,'lat',181); dimidz = netcdf.defDim(ncid,'level',37); dimtime= netcdf.defDim(ncid,'time',70); varid = netcdf.defVar(ncid,'u','double',[dimidx dimidy dimidz dimtime]); varid2 = netcdf.defVar(ncid,'longitude','double',[dimidx]); varid3 = netcdf.defVar(ncid,'latitude','double',[dimidy]); varid4 = netcdf.defVar(ncid,'level','double',[dimidz]); varid5 = netcdf.defVar(ncid,'time','double',[dimtime]); netcdf.putAtt(ncid,varid,'units','m s**-1'); netcdf.putAtt(ncid,varid2,'units','degress_east'); netcdf.putAtt(ncid,varid3,'units','degrees_north'); netcdf.putAtt(ncid,varid4,'units','millibars'); netcdf.putAtt(ncid,varid5,'units','year'); netcdf.putAtt(ncid,varid,'long_name','U_component_of_wind'); netcdf.putAtt(ncid,varid2,'long_name','Lontitude'); netcdf.putAtt(ncid,varid3,'long_name','Latitude'); netcdf.putAtt(ncid,varid4,'long_name','pressure_level'); netcdf.putAtt(ncid,varid5,'long_name','1950:2019'); netcdf.endDef(ncid); file1='uwnd_all_1km_era5_d_mon_anomaly_win_1950_2019.nc'; u1=ncread(file1,'u'); lat=ncread(file1,'latitude'); lon=ncread(file1,'longitude'); time=ncread(file1,'time'); level=ncread(file1,'level'); netcdf.putVar(ncid,varid,anomaly_var_monthly); %这里anomaly_var_monthly是已经准备好的360*181*37*70的矩阵 netcdf.putVar(ncid,varid2,lon); netcdf.putVar(ncid,varid3,lat); netcdf.putVar(ncid,varid4,level); netcdf.putVar(ncid,varid5,time); netcdf.close(ncid);
|