function drift=drf_Q3_new_k

lambda=100000;
%load DRIFDAT/drift_rachels.dat;
load DRIFDAT/drift_gps.dat;
% a=drift_rachels(2:end,:);
 a=drift_gps(2:end,:);
 lon=a(:,8); lat=a(:,9);
 [x,y]=ll2xy(lat,-abs(lon));
 z=-abs(a(:,10));
 id=unique(a(:,1));
 nd=length(id);
 g=loadgrid('MESH/stw2')
 [gridname,ndrog,nts,tsec,pth]=read_pth('CRUISE_Q5.3/DRIFTERS',4);
% [gridname,ndrog,nts,tsec,pth]=read_pth('CRUISE_Q5.3/DRIFTERS',5,'%12f %12f %8f %4i %8f');
%206016.294726 188511.434890 -2.000000 2004 141.651389                   
%212039.362479 178239.167065 -2.000000 2004 141.711111                   
%212039.362479 178239.167065 -15.000000 2004 141.711111                  

for k=1:nd;
    j=find(id(k)==a(:,1));
    drift(k).x=x(j);
    drift(k).y=y(j);
    drift(k).z=z(j);
    drift(k).id=id(k);
    drift(k).yd=a(j,7);
    subplot(nd,2,k);
    plot(drift(k).x,drift(k).y,'k');
    
    %filter out junk
    d=drift(k).x(2:end)+i*drift(k).y(2:end)-(drift(k).x(1:end-1)+i*drift(k).y(1:end-1));
    dt=(drift(k).yd(2:end)-drift(k).yd(1:end-1))*24*3600;
    sp=d./dt;
%    jj=find(and(sp(1:end-1)<2,sp(2:end)<2));
    jj=min(find(sp>2))-1;
    if isempty(jj),jj=length(drift(k).x);end
    %done junk filter

    drift(k).x=drift(k).x(1:jj);
    drift(k).y=drift(k).y(1:jj);
    drift(k).z=drift(k).z(1:jj);
    drift(k).yd=drift(k).yd(1:jj);
    subplot(nd,2,k+nd);
    plot(drift(k).x,drift(k).y,'k');
end


figure;
xm=pth(:,1);
ym=pth(:,2);
zm=pth(:,3)+1.;
secm=pth(:,4);

for k=1:nd;
    [mmm,j]= min(...
                abs(...
                    lambda*abs(drift(k).z(1)-zm)+...
                    drift(k).x(1)-xm+i*(drift(k).y(1)-ym )...
                    )...
               );
     drift(k).xm=xm(j:ndrog:end);
     drift(k).ym=ym(j:ndrog:end);
     drift(k).zm=zm(j:ndrog:end);
     drift(k).secm=secm(j:ndrog:end);
%    subplot(nd,1,k);
    subplot(4,4,k);
    plot(g.x(g.bnd'),g.y(g.bnd'),'k');
    hold on;
    plot(drift(k).x,drift(k).y,'k',drift(k).xm,drift(k).ym,'r');
    axis equal
    set(gca,'xtick',[],'ytick',[]);
    set(gca,'xticklabel',[],'yticklabel',[]);
    
end


 s=read_icq4_nomex('CRUISE_Q5.3/STF000.icq5');
 ydm0=datenum(s.year,s.month,s.day)+(s.curr_seconds/(24*3600))-datenum(s.year,1,1);
 for k=1:nd;
         drift(k).ydm=ydm0+drift(k).secm/(24*3600);

end

 
