| 1 |
function [nit,tt,ke,et,tm,sm,um,vm,wm,cfl,zm,sct] = read_MON(rac_nam,list_on,nrec) |
| 2 |
% [nit,tt,ke,et,tm,sm,um,vm,wm,cfl,zm,sct] = read_MON(rac_nam,list_on,[nrec]) |
| 3 |
%----------------------------------------------------------------- |
| 4 |
% read MONITOR output var from single-var output files ; |
| 5 |
% read var that are "on" (=1) the list "list_on" (0 => not read) ; |
| 6 |
% NB: time(=tt) not in list_on and Always read ; |
| 7 |
% e.g.: list_on=[1 1 0 0 0 0 0 1] => read tt(time), et, ke & cfl |
| 8 |
%----------------------------------------------------------------- |
| 9 |
|
| 10 |
% $Header: $ |
| 11 |
% $Name: $ |
| 12 |
|
| 13 |
namfil=[rac_nam,'.tim']; D=dir(namfil); |
| 14 |
if size(D,1) == 1, |
| 15 |
fprintf(['read ',namfil]); var=load(namfil); |
| 16 |
else fprintf(['file: ',namfil,' not found => EXIT \n']); return; end |
| 17 |
nit=size(var,1); |
| 18 |
if (nargin < 3), nrec=nit ; end |
| 19 |
nit=min(nit,nrec); |
| 20 |
tt=zeros(nrec,1); tt(1:nit)=var(1:nit); msgA=' '; |
| 21 |
%----- |
| 22 |
|
| 23 |
ke=zeros(nrec,5); |
| 24 |
et=zeros(nrec,4); |
| 25 |
tm=zeros(nrec,4); |
| 26 |
sm=zeros(nrec,4); |
| 27 |
um=zeros(nrec,4); |
| 28 |
vm=zeros(nrec,4); |
| 29 |
wm=zeros(nrec,4); |
| 30 |
zm=zeros(nrec,4); |
| 31 |
cfl=zeros(nrec,4); |
| 32 |
sct=zeros(nrec,4); |
| 33 |
|
| 34 |
if list_on(1) == 1 |
| 35 |
var=load([rac_nam,'.keX']); ke(1:nit,1)=var(1:nit); fprintf(' keX'); |
| 36 |
var=load([rac_nam,'.keA']); ke(1:nit,2)=var(1:nit); fprintf(',A'); |
| 37 |
namfil=[rac_nam,'.amE']; D=dir(namfil); sfx=',amE'; |
| 38 |
if size(D,1) == 0, namfil=[rac_nam,'.keV']; D=dir(namfil); sfx=',V' ; end |
| 39 |
if size(D,1) == 1, var=load(namfil); ke(1:nit,3)=var(1:nit); fprintf(sfx); end |
| 40 |
namfil=[rac_nam,'.amU']; D=dir(namfil); sfx=',U'; |
| 41 |
if size(D,1) == 0, namfil=[rac_nam,'.peA']; D=dir(namfil); sfx=',P'; end |
| 42 |
if size(D,1) == 1, var=load(namfil); ke(1:nit,4)=var(1:nit); fprintf(sfx); end |
| 43 |
namfil=[rac_nam,'.amT']; D=dir(namfil); |
| 44 |
if size(D,1) == 1, var=load(namfil); ke(1:nit,5)=var(1:nit); fprintf(',T'); end |
| 45 |
end |
| 46 |
%fprintf('\n nrec,nit, %i , %i \n', nrec,nit); |
| 47 |
%fprintf('tt: %i %i \n',size(tt)); |
| 48 |
%fprintf('ke: %i %i \n',size(ke)); |
| 49 |
|
| 50 |
if list_on(2) == 1, [et,msg] =read_MON_1v([rac_nam,'.et'],nit,nrec) ; |
| 51 |
if length(msg) ~= 1, msgA=sprintf([msgA,msg]) ; end ; end |
| 52 |
if list_on(3) == 1, [tm,msg] =read_MON_1v([rac_nam,'.t_'],nit,nrec) ; |
| 53 |
if length(msg) ~= 1, msgA=sprintf([msgA,msg]) ; end ; end |
| 54 |
if list_on(4) == 1, [sm,msg] =read_MON_1v([rac_nam,'.s_'],nit,nrec) ; |
| 55 |
if length(msg) ~= 1, msgA=sprintf([msgA,msg]) ; end ; end |
| 56 |
if list_on(5) == 1, [um,msg] =read_MON_1v([rac_nam,'.u_'],nit,nrec) ; |
| 57 |
if length(msg) ~= 1, msgA=sprintf([msgA,msg]) ; end ; end |
| 58 |
if list_on(6) == 1, [vm,msg] =read_MON_1v([rac_nam,'.v_'],nit,nrec) ; |
| 59 |
if length(msg) ~= 1, msgA=sprintf([msgA,msg]) ; end ; end |
| 60 |
if list_on(7) == 1, [wm,msg] =read_MON_1v([rac_nam,'.w_'],nit,nrec) ; |
| 61 |
if length(msg) ~= 1, msgA=sprintf([msgA,msg]) ; end ; end |
| 62 |
if list_on(8) == 1, [cfl,msg]=read_MON_1v([rac_nam,'.cf'],-nit,nrec); |
| 63 |
if length(msg) ~= 1, msgA=sprintf([msgA,msg]) ; end ; end |
| 64 |
%-------- |
| 65 |
if list_on(9) == 1, [zm,msg]=read_MON_1v([rac_nam,'.z_'],nit,nrec); |
| 66 |
namfil=[rac_nam,'.z_D']; D=dir(namfil); if size(D,1) == 1, |
| 67 |
zm(:,3)=zm(:,4); var=load(namfil); zm(1:nit,4)=var(1:nit); fprintf(',sd'); end |
| 68 |
if length(msg) ~= 1, msgA=sprintf([msgA,msg]) ; end ; end |
| 69 |
%-------- |
| 70 |
if list_on(10) == 1, [sct,msg]=read_MON_1v([rac_nam,'.sc'],-nit,nrec); |
| 71 |
if length(msg) ~= 1, msgA=sprintf([msgA,msg]) ; end ; end |
| 72 |
fprintf(' <= end \n'); |
| 73 |
if length(msgA) ~= 1, fprintf([' not found:',msgA,'\n']) ; end |
| 74 |
|
| 75 |
return |
| 76 |
|
| 77 |
function [var,msg] = read_MON_1v(nam,nit,nrec) |
| 78 |
prt=0; msg=' '; |
| 79 |
ll=size(nam,2); |
| 80 |
fprintf([' ',nam(ll-2:ll)]); |
| 81 |
%sufx='NXAD'; |
| 82 |
sufx='NXAS'; |
| 83 |
if nit < 0, |
| 84 |
if nam(end-1:end) == 'cf', sufx='uvwW'; |
| 85 |
elseif nam(end-1:end) == 'sc', sufx='TSHE'; |
| 86 |
end |
| 87 |
nit=-nit; |
| 88 |
end |
| 89 |
var=zeros(nrec,4); |
| 90 |
for n=1:length(sufx), |
| 91 |
namfil=[nam,sufx(n)]; D=dir(namfil); |
| 92 |
if size(D,1) == 1, tmp=load(namfil); var(1:nit,n)=tmp(1:nit); |
| 93 |
else msg=sprintf([msg,namfil,' ']); prt=1 ; |
| 94 |
end |
| 95 |
end |
| 96 |
return |