| 1 | jmc | 1.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 |