Matlab: цикл для чтения файлов NetCDF, а затем сохранения определенной переменной каждого на рабочем месте в виде отдельной переменной. Как писать код? - PullRequest
0 голосов
/ 26 октября 2019

У меня простой вопрос, который меня смущает. У меня есть 34 файла NetCDF. каждая из них имеет четыре переменные (широта, долгота, время и количество осадков). Я хочу написать код для чтения четвертой переменной (количество осадков) каждого файла, а затем сохранить одну за другой на рабочем месте. В конце я хотел бы иметь что-то вроде этого: осадки 1 осадки 2 осадки 3. ,,осадков34, только если переменная осадков материи этих NetCDF имеет три измерения (широта долг время)

вот мой код:

clc
clear
format compact
close all
% Specify the folder where the files are.
myFolder = 'F:\MATLAB WORKS\code desktops\CPC Netcdfs\testa';
% Check to make sure that folder actually exists.  Warn user if it doesn't.
if ~isdir(myFolder)
  errorMessage = sprintf('Error: The following folder does not exist:\n%s', myFolder);
  uiwait(warndlg(errorMessage));
  return;
end
filePattern = fullfile(myFolder, '*.nc'); 
theFiles = dir(filePattern);
% Loop for each nc-file
for i = 1:length(theFiles)
  baseFileName = theFiles(i).name;
  fullFileName = fullfile(myFolder, baseFileName);
    fprintf(1, 'Now reading %s\n', fullFileName);
    ncdisp(ncfiles(i).name) ;
     ncid=netcdf.open(fullFileName, 'NC_NOWRITE');
     precipiation = ncread(filename,'precip'); %reading the main variable
     netcdf.close(ncid);
end

этот код приводит к этой ошибке:

Неопределенная переменная "ncfiles" или класс "ncfiles".

...