1 |
function [flt,data,header] = read_flt_traj(fName) |
function [flt,data,header] = read_flt_traj(varargin) |
2 |
% Reads the float_trajectories files. |
% Reads the float_trajectories files. |
3 |
% |
% |
4 |
|
% flts=read_flt_traj(File_Names,[Worldlength]); |
5 |
|
% input Worldlength (= 4 or 8) is optional |
6 |
% returns a structured array with fields 'time','x','y','k','u','v','t','s','p' |
% returns a structured array with fields 'time','x','y','k','u','v','t','s','p' |
7 |
% |
% |
8 |
% eg. |
% eg. |
9 |
% >> flts=read_flt_traj('float_trajectories'); |
% >> flts=read_flt_traj('float_trajectories',4); |
10 |
% >> plot( flts(3).time, flts(3).x/1e3 ) |
% >> plot( flts(3).time, flts(3).x/1e3 ) |
11 |
% >> for k=1:126;plot(flts(k).x/1e3,flts(k).y/1e3);hold on;end;hold off |
% >> for k=1:126;plot(flts(k).x/1e3,flts(k).y/1e3);hold on;end;hold off |
12 |
|
|
13 |
% $Header$ |
% $Header$ |
14 |
% $Name$ |
% $Name$ |
15 |
|
|
16 |
|
fName = varargin{1}; |
17 |
imax=13; % record size |
imax=13; % record size |
18 |
ieee='b'; % IEEE big-endian format |
ieee='b'; % IEEE big-endian format |
19 |
bytesPerRec=imax*8; % 8 bytes per real*8 |
WORDLENGTH = 8; % 8 bytes per real*8 |
20 |
|
if length(varargin)==2 |
21 |
|
WORDLENGTH = varargin{2}; |
22 |
|
end |
23 |
|
bytesPerRec=imax*WORDLENGTH; |
24 |
|
rtype =['real*',num2str(WORDLENGTH)]; |
25 |
|
|
26 |
[I]=strfind(fName,'/'); |
[I]=strfind(fName,'/'); |
27 |
if length(I) == 0, |
if length(I) == 0, |
43 |
fid=fopen([bDr,fls(k).name],'r',ieee); |
fid=fopen([bDr,fls(k).name],'r',ieee); |
44 |
%fprintf('fid= %i\n',fid); |
%fprintf('fid= %i\n',fid); |
45 |
nrecs=fls(k).bytes/bytesPerRec; |
nrecs=fls(k).bytes/bytesPerRec; |
46 |
ldata=fread(fid,[imax nrecs],'real*8'); |
ldata=fread(fid,[imax nrecs],rtype); |
47 |
fclose(fid); |
fclose(fid); |
48 |
header=[header ldata(:,1)]; |
header=[header ldata(:,1)]; |
49 |
data=[data ldata(:,2:end)]; |
data=[data ldata(:,2:end)]; |
50 |
|
clear ldata; |
51 |
end |
end |
52 |
|
|
53 |
flt=struct('numsteps',[],'time',[],'x',[],'y',[],'z',[]); |
flt=struct('numsteps',[],'time',[],'x',[],'y',[],'z',[]); |
69 |
flt(k).t=data(12,j); |
flt(k).t=data(12,j); |
70 |
flt(k).s=data(13,j); |
flt(k).s=data(13,j); |
71 |
end |
end |
72 |
|
|
73 |
|
return |