function data=read_cdn(flin)

fp=fopen(flin,'r');
%bypass header
for k=1:8
    s=fgetl(fp);
end


s=fgetl(fp);
s(28:end);

A=sscanf(s(28:end),'%i %i %i:%i:%i')';
if length(A)>4
    data.dn=datenum(2004,5,A(1))+A(3)/24+A(4)/(24*60)+A(5)/(24*3600);
else
    disp(['error parsing date:',s]);
    
    day=sscanf(s(28:29),'%i')
    hour=sscanf(s(34:35),'%i')
    min=sscanf(s(37:38),'%i')
    if length(day)>1,day=day(2);end
    if length(hour)>1,hour=hour(2);end
    data.dn=datenum(2004,5,day)+hour/24+min/(24*60);
    disp(num2str(data.dn))
end

    data.yd=data.dn-datenum(2004,1,1);

s=fgetl(fp);
A=sscanf(s(18:end-1),'%f %f');
data.lat=A(1)+A(2)/60;

s=fgetl(fp);
A=sscanf(s(19:end-1),'%f %f');
data.lon=A(1)+A(2)/60;

for k=1:81
    s=fgetl(fp);
end



d=fscanf(fp,'%f',[15,inf])';
fclose(fp);
data.z=-d(:,2);
data.t=d(:,3);
data.s=d(:,14);
