Newer
Older
function levitus = read_file_woa01(file)
% a mettre dans la classe de base oceano puisque commun a tous
%
% read WOA01 Levitus T-S-O2, Stddev & nb_obs Netcdf file in memory
filesfound = checkforfiles( file );
if filesfound == 0;
warning(['Couldn''t find ', file]);
levitus = -1;
return;
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
end
% a commenter en production
% t = cputime;
% il existe un "bug" dans netcdf ligne 409, ncitem retourne une
% erreur dans la variable result
nc = netcdf(which(file),'nowrite');
%recupere les variables et les mets de le workspace
variables = var(nc);
% list les variables du fichier et sort
% if strcmp( variable, 'list' )
% disp(char(ncnames(var(nc))));
% return
% end
% Initialise la waitbar de chargement du fichier netCDF
wb = waitbar(0,['Loading file: ' file ' Please wait...']);
for i = 1:length(variables)
value = variables{i}(:);
% je n'ai pas reussi a utiliser autonan avec l'attribue FillValue_
value(value == fillval(variables{i})) = NaN;
% Assign dynamiquely variable in struct levitus.
levitus.(name(variables{i})) = value;
% set(wb, 'Title', name(variables{i}));
waitbar( i/length(variables), wb);
end
close(wb);
close(nc);
% a commenter en production
% e = cputime-t
%
% builtin( 'set', findobj( 'Tag', 'main' ), 'UserData', self );
%----------------------------------------------------------------------
%----------------------------------------------------------------------
function filesfound = checkforfiles( file )
if exist(file,'file');
filesfound = 1;
else
filesfound = 0;
end