MATLAB Answers

How to import a set of NetCDF Files?

19 views (last 30 days)
YH on 8 Nov 2018
Commented: CHANG XV on 14 Nov 2019
Hallo, Does someone know how to import a complete Dataset of NetCDF files. I have 54 files representing the sea levels from 1948 to 2011. so far I know how to read one file with ncread but I couldnt't find out how to import the entire set of the files.


Sign in to comment.

Accepted Answer

KSSV on 8 Nov 2018
ncfiles = dir('*.nc') ; % you are in the folder where nc files are present
N = length(ncfiles) ; % number of files
% loop for each file
for i = 1:N
thisfile = ncfiles(i).name;
% load the data and do what you want


Show 1 older comment
KSSV on 9 Nov 2018
ncfiles = dir('*.nc') ;
variables_to_load = {'lat' , 'lon' , 'time' , 'e'} ;
for i = 1:length(ncfiles) ;
% loop over the variables
filename = ncfiles(i).name ;
for j=1:numel(variables_to_load)
% extract the jth variable (type = string)
var = variables_to_load{j}
% use dynamic field name to add this to the structure
data_struct.(var) = ncread(filename,var);
% convert from single to double
if isa(data_struct.(var),'single')
data_struct.(var) = double(data_struct.(var));
lon = getfield(data_struct,'lon');
e= getfield(data_struct,'e');
time= getfield(data_struct,'time');
YOur code can be further simplified.
YH on 9 Nov 2018
I tried to do so, it gives me back 3 errors regarding ncread
Error using (line 1272) Could not open for reading.
Error in (line 121) this.openToRead();
Error in ncread (line 53) ncObj =; Do you have an idea, why I am getting these errors?
CHANG XV on 14 Nov 2019
Have you sorted out this problem? I encounter the same problem this days. I have no idea about that. Thanks !

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!