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 公式 † |