function [data] = nldnc(filename,namelist) netcdf_object=netcdf(filename,'nowrite') variables=var(netcdf_object); vnamesfull=names_netcdf(filename); if ~exist('namelist') | isempty(namelist); vnames = vnamesfull; else if iscell(namelist) vnames = cell(5+length(namelist) ,1); vnames{1} = 'X'; vnames{2} = 'Y'; vnames{3} = 'Z'; vnames{4} = 'S'; vnames{5} = 'Ordinal_Dates'; vnames{5} = 'T'; for i = 6:length(namelist) +5 vnames{i} = namelist{i-5}; end else vnames = {'X'; 'Y';'Z';'S';'T';'Ordinal_Dates';namelist}; end end for ii = 1:length(vnames) found=strmatch(vnames(ii),vnamesfull,'exact'); if ~isempty(found) disp(['loading ',char(vnames(ii))]); cmd = sprintf('data.%s = variables{found} (:);',char(vnames(ii))); eval(cmd) cmd = sprintf('find(data.%s < -9.9e+16); data.%s(ans)=NaN;',char(vnames(ii)),char(vnames(ii))); eval(cmd) else found=strmatch(vnames(ii),namelist,'exact'); if ~isempty(found) disp(['Error loading ',char(vnames(ii)),' Variable not in file']); end end end clear netcdf_obj variables