| 1 |
function [nIt,rList,tim,vvA,listV]=read_StD(namF,sufx,listV); |
function [nIt,rList,tim,vvA,listV,kList]=read_StD(namF,sufx,listV); |
| 2 |
% [nIt,rList,tim,vvA,listV]=read_StD(namF,sufx,listV); |
% [nIt,rList,tim,vvA,listV,kList]=read_StD(namF,sufx,listV); |
| 3 |
% |
% |
| 4 |
% read ASCII stat-Diags output files (after splitted by script extract_StD) |
% read ASCII stat-Diags output files (after splitted by script extract_StD) |
| 5 |
% |
% |
| 11 |
% rList = list of region number |
% rList = list of region number |
| 12 |
% tim(:,1) = iterations number ; tim(:,2) = time in simulation |
% tim(:,1) = iterations number ; tim(:,2) = time in simulation |
| 13 |
% listV = list of fields |
% listV = list of fields |
| 14 |
|
% kList = list of levels number |
| 15 |
% vvA = 5 dims output array: |
% vvA = 5 dims output array: |
| 16 |
% ( kLev, time_rec, region_rec, [ave,std,min,max,vol], var_rec ) |
% ( kLev, time_rec, region_rec, [ave,std,min,max,vol], var_rec ) |
| 17 |
|
|
| 18 |
% $Header$ |
% $Header$ |
| 19 |
% $Name$ |
% $Name$ |
| 20 |
|
|
| 21 |
|
%- Remove insignificant whitespace: |
| 22 |
|
sufx=strtrim(char(sufx)); |
| 23 |
namfhd=[namF,'_head','.',sufx]; |
namfhd=[namF,'_head','.',sufx]; |
| 24 |
namfil=[namF,'_Iter','.',sufx]; |
namfil=[namF,'_Iter','.',sufx]; |
| 25 |
fprintf(['read ',sufx,' :']); |
fprintf(['read ',sufx,' :']); |
| 70 |
fclose(fid); |
fclose(fid); |
| 71 |
if rf > 0, |
if rf > 0, |
| 72 |
%- rename fields (consistent with script "extract_StD"): |
%- rename fields (consistent with script "extract_StD"): |
| 73 |
listV=strrep(listV,'ETAN', 'Eta'); listV=strrep(listV,'ETANSQ','Et2'); |
for j=1:rf, |
| 74 |
listV=strrep(listV,'THETA' ,'T'); listV=strrep(listV,'SALT' ,'S'); |
var1=char(listV(j)); |
| 75 |
listV=strrep(listV,'UVEL' ,'U'); listV=strrep(listV,'VVEL' ,'V'); |
switch var1 |
| 76 |
listV=strrep(listV,'WVEL' ,'W'); listV=strrep(listV,'PHIHYD','Phi'); |
case 'ETAN' , var2='Eta'; |
| 77 |
listV=strrep(listV,'UVELSQ','U2'); listV=strrep(listV,'VVELSQ','V2'); |
case 'ETANSQ' , var2='Et2'; |
| 78 |
|
case 'THETA' , var2='T'; |
| 79 |
|
case 'SALT' , var2='S'; |
| 80 |
|
case 'UVEL' , var2='U'; |
| 81 |
|
case 'VVEL' , var2='V'; |
| 82 |
|
case 'WVEL' , var2='W'; |
| 83 |
|
case 'PHIHYD' , var2='Phi'; |
| 84 |
|
case 'UVELSQ' , var2='U2'; |
| 85 |
|
case 'VVELSQ' , var2='V2'; |
| 86 |
|
case 'WVELSQ' , var2='W2'; |
| 87 |
|
case 'THETASQ' , var2='T2'; |
| 88 |
|
otherwise var2=var1; |
| 89 |
|
end |
| 90 |
|
listV(j)=cellstr(var2); |
| 91 |
|
if strcmp(var1,var2), fprintf(' %s\n',var2); |
| 92 |
|
else fprintf(' %s --> %s\n',var1,var2); end |
| 93 |
|
end |
| 94 |
|
% listV |
| 95 |
end |
end |
| 96 |
if flag ~= 0 | k > 0, frq,rList,kList, end |
if flag ~= 0 | k > 0, frq,rList,kList, end |
| 97 |
if flag ~= 0, error(['not normal end after reading ',int2str(l),' lines']); end |
if flag ~= 0, error(['not normal end after reading ',int2str(l),' lines']); end |