/[MITgcm]/MITgcm/verification/flt_example/input/read_flt_traj.m
ViewVC logotype

Diff of /MITgcm/verification/flt_example/input/read_flt_traj.m

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

revision 1.5 by dfer, Wed Feb 25 01:41:00 2009 UTC revision 1.6 by dfer, Fri Feb 3 04:08:12 2012 UTC
# Line 1  Line 1 
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,
# Line 35  for k=1:size(fls,1) Line 43  for k=1:size(fls,1)
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',[]);
# Line 60  for k=1:max(max(data(1,:))); Line 69  for k=1:max(max(data(1,:)));
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

Legend:
Removed from v.1.5  
changed lines
  Added in v.1.6

  ViewVC Help
Powered by ViewVC 1.1.22