1 |
gforget |
1.1 |
function []=rdmds2workspace(fileName,varargin); |
2 |
|
|
|
3 |
gforget |
1.2 |
data=rdmds2gcmfaces(fileName,varargin{:}); |
4 |
gforget |
1.1 |
|
5 |
|
|
tmp1=dir([fileName '*.meta']); tmp1=tmp1(1).name; |
6 |
|
|
tmp2=strfind(fileName,'/'); tmp2=tmp2(end); |
7 |
|
|
tmp1=[fileName(1:tmp2) tmp1]; fid=fopen(tmp1); |
8 |
|
|
while 1; |
9 |
|
|
tline = fgetl(fid); |
10 |
|
|
if ~ischar(tline), break, end |
11 |
|
|
if isempty(whos('tmp3')); tmp3=tline; else; tmp3=[tmp3 ' ' tline]; end; |
12 |
|
|
end |
13 |
|
|
fclose(fid); |
14 |
|
|
|
15 |
|
|
tmp1=who;%list current workspace variables |
16 |
|
|
eval(tmp3);%add meta variables to workspace |
17 |
|
|
tmp3=who;%also list meta variables |
18 |
|
|
for ii=1:length(tmp3);%store in structure (meta) |
19 |
|
|
if sum(strcmp(tmp1,tmp3(ii)))==0; |
20 |
|
|
eval(['meta.' tmp3{ii} '=' tmp3{ii} ';']); |
21 |
|
|
end; |
22 |
|
|
end; |
23 |
|
|
|
24 |
|
|
%export the various fields to caller workspace: |
25 |
|
|
assignin('caller','meta',meta); |
26 |
|
|
|
27 |
|
|
%export the various fields to caller workspace: |
28 |
|
|
for ii=1:meta.nFlds; |
29 |
|
|
if meta.nDims==3; |
30 |
|
|
assignin('caller',deblank(meta.fldList{ii}),squeeze(data(:,:,:,ii,:))); |
31 |
|
|
else; |
32 |
|
|
assignin('caller',deblank(meta.fldList{ii}),squeeze(data(:,:,ii,:))); |
33 |
|
|
end; |
34 |
|
|
end; |
35 |
|
|
|