Matlab:循环读取NetCDF文件,然后将工作场所中每个变量的特定变量另存为单独的变量-如何编写代码?

时间:2019-10-26 19:44:00

标签: matlab for-loop netcdf

我有一个简单的问题,使我感到困惑。 我有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”。

0 个答案:

没有答案