/[MITgcm]/MITgcm_contrib/gael/matlab_class/ecco_v4/alldiag_load.m
ViewVC logotype

Annotation of /MITgcm_contrib/gael/matlab_class/ecco_v4/alldiag_load.m

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.1 - (hide annotations) (download)
Fri Jan 7 21:16:12 2011 UTC (14 years, 6 months ago) by gforget
Branch: MAIN
add alldiag_load.m routines, and modify basic_diags_ecco_disp.m accordingly

1 gforget 1.1 function [alldiag]=alldiag_load(dirIn,suffIn,timeStep);
2    
3     %get list of files
4     listFiles=dir([dirIn '/diags_' suffIn '*.mat']);
5     %get time steps and sort listFiles
6     listSteps=[]; for tt=1:length(listFiles); listSteps=[listSteps;str2num(listFiles(tt).name(13:end-4))]; end;
7     [listSteps,ii]=sort(listSteps);
8     listFiles=listFiles(ii);
9     %compute actual times
10     nTimes=length(listSteps);
11     listTimes=listSteps*timeStep/86400;
12     %initialize alldiag
13     alldiag=open([dirIn listFiles(1).name]);
14     listDiags=fieldnames(alldiag);
15     %loop and concatenate
16     for tt=2:length(listSteps);
17     tmpdiag=open([dirIn listFiles(tt).name]);
18     for ii=1:length(listDiags);
19     %get data:
20     eval(['tmp1=tmpdiag.' listDiags{ii} '; tmp2=alldiag.' listDiags{ii} ';']);
21     %determine the time dimension:
22     if strcmp(class(tmp1),'gcmfaces'); nDim=size(tmp1{1}); else; nDim=size(tmp1); end;
23     if ~isempty(find(nDim==0)); nDim=0;
24     elseif nDim(end)==1; nDim=length(nDim)-1;
25     else; nDim=length(nDim);
26     end;
27     %concatenate along the time dimension:
28     if nDim>0; tmp2=cat(nDim+1,tmp2,tmp1); eval(['alldiag.' listDiags{ii} '=tmp2;']); end;
29     end;
30     end;
31     %clean empty diags up
32     for ii=1:length(listDiags);
33     eval(['tmp1=isempty(alldiag.' listDiags{ii} ');']);
34     if tmp1; alldiag=rmfield(alldiag,listDiags{ii}); end;
35     end;
36     %complement alldiag
37     listDiags=fieldnames(alldiag);
38     alldiag.listSteps=listSteps;
39     alldiag.listTimes=listTimes;
40     alldiag.listDiags=listDiags;
41    

  ViewVC Help
Powered by ViewVC 1.1.22