27 |
% >> S=rdmnd('state.*','XC','YC','T'); |
% >> S=rdmnd('state.*','XC','YC','T'); |
28 |
% >> imagesc( S.XC, S.YC, S.T(:,:,1)' ); |
% >> imagesc( S.XC, S.YC, S.T(:,:,1)' ); |
29 |
% |
% |
30 |
% Original Author: Alistair Adcroft |
% Author: Alistair Adcroft |
31 |
% Modifications: Daniel Enderton |
% Modifications: Daniel Enderton |
32 |
|
|
33 |
% Initializations |
% Initializations |
82 |
for ieachfile=1:length(files) |
for ieachfile=1:length(files) |
83 |
eachfile = [filepaths{ieachfile},files{ieachfile}]; |
eachfile = [filepaths{ieachfile},files{ieachfile}]; |
84 |
nc=netcdf(char(eachfile),'read'); |
nc=netcdf(char(eachfile),'read'); |
85 |
iters = [iters,nc{'iter'}(:)]; |
nciters = nc{'iter'}(:); |
86 |
|
if isempty(nciters), nciters = nc{'T'}(:); end |
87 |
|
iters = [iters,nciters]; |
88 |
close(nc); |
close(nc); |
89 |
end |
end |
90 |
iters = unique(iters); |
iters = unique(iters); |
133 |
function [S] = rdmnc_local(nc,varlist,iters,S) |
function [S] = rdmnc_local(nc,varlist,iters,S) |
134 |
|
|
135 |
fiter = nc{'iter'}(:); % File iterations present |
fiter = nc{'iter'}(:); % File iterations present |
136 |
|
if isempty(fiter), fiter = nc{'T'}(:); end |
137 |
[fii,dii] = ismember(fiter,iters); fii = find(fii); % File iteration index |
[fii,dii] = ismember(fiter,iters); fii = find(fii); % File iteration index |
138 |
dii = dii(find(dii ~= 0)); % Data interation index |
dii = dii(find(dii ~= 0)); % Data interation index |
139 |
|
|
140 |
% No variables specified? Default to all |
% No variables specified? Default to all |
141 |
if isempty(varlist), varlist=ncnames(var(nc)); end |
if isempty(varlist), varlist=ncnames(var(nc)); end |
142 |
|
|
143 |
% Attributes for structure |
% Attributes for structure |
144 |
if iters>0; S.iters_read_from_file=iters; end |
if iters>0; S.iters_read_from_file=iters; end |
145 |
S.attributes.global=read_att(nc); |
S.attributes.global=read_att(nc); |
146 |
|
|
147 |
% Read variable data |
% Read variable data |
148 |
for ivar=1:size(varlist,2); |
for ivar=1:size(varlist,2) |
149 |
|
|
150 |
cvar=char(varlist{ivar}); |
cvar=char(varlist{ivar}); |
151 |
if isempty(nc{cvar}) |
if isempty(nc{cvar}) |
152 |
disp(['No such variable ''',cvar,''' in MNC file ',name(nc)]); |
disp(['No such variable ''',cvar,''' in MNC file ',name(nc)]); |
163 |
tmpdata=nc{cvar}(:); |
tmpdata=nc{cvar}(:); |
164 |
it = 0; |
it = 0; |
165 |
end |
end |
166 |
|
|
167 |
tmpdata=squeeze(permute(tmpdata,[9:-1:1])); |
tmpdata=squeeze(permute(tmpdata,[9:-1:1])); |
168 |
[ni nj nk nm nn no np]=size(tmpdata); |
[ni nj nk nm nn no np]=size(tmpdata); |
169 |
[ni nj nk nm nn no np]; |
[ni nj nk nm nn no np]; |