NetCDF形式データの読み書き †読み †hogehoge = ncinfo('filename.nc'); で返す構造体で変数一覧などが確認できる. ncdisp は容量が大きい場合に出力が多くなって解読困難なので注意. var1 = ncread('filename.nc', 'varname'); でOK. 書き †下記は単制度浮動小数点数の気圧時空間データをそれぞれの時間ごとに1つのファイルにして出力する例. %% output ncdir = './slp_nc'; if exist(ncdir,'dir'); system(['rm -rf ', ncdir]); end mkdir(ncdir); ncfile_base = 'slp_XXX.nc'; nt = length(t); for k = 1:nt ncfile = fullfile(ncdir,strrep(ncfile_base,'XXX',sprintf('%04d',k))); disp([ncfile, ' ...']); % % lonlat nccreate(ncfile,'lon',"Dimensions",{"lon",nlon},"FillValue","disable","Datatype", "single"); nccreate(ncfile,'lat',"Dimensions",{"lat",nlat},"FillValue","disable","Datatype", "single"); ncwrite(ncfile,'lon',lon); ncwrite(ncfile,'lat',lat); % % pressure nccreate(ncfile,'slp',"Dimensions",{"lon",nlon,"lat",nlat},"FillValue","disable","Datatype", "single"); ncwrite(ncfile,'slp',permute(flipud(pres(:,:,k)),[2,1])); % % time nccreate(ncfile,'time',"Datatype", "single"); ncwrite(ncfile,'time',t(k)); end nccreate で変数を定義して ncwrite で MATLAB 上の変数を入れる. 参考 MathWorks 公式 † |