 function rd_fdss_grndtrk_fil, infile, qspeed=qspeed

;+
;NAME:
;       rd_fdss_grndtrk_fil
;PURPOSE:
;       Read GRNDTRK ASCII file and return grndtrk structure.
;SAMPLE CALLING SEQUENCE:
;       rd_fdss_grndtrk_fil('/tsw/dbase/ops/fdss/grndtrk/19980209.grndtrk')
;HISTORY:
;       Written Feb-98 by F.Zele
;	26-Feb-98 (MDM) - Made the output structure not be anonymous
;			- Changed reading and processing to be vectorized
;-
 if (keyword_set(qspeed)) then idl_speed

 out0 = {rd_fdss_grndtrk, day: 0, time: 0L, lat: 0.0, lon: 0.0, alt: 0.0d1}
 mat = rd_tfile(infile, 4, 1, delim=',')	;4 columns, 1 header line
 if (mat(0) eq '') then return, out0		;file not found?
 if (keyword_set(qspeed)) then begin & idl_speed,1 & idl_speed & end

 n = n_elements(mat(0,*))
 out = replicate(out0,n)
 ;tarr = doytim2ex(strmid(mat(0,*),0,3)+strmid(mat(0,*),6,13),year=strmid(mat(0,*),4,2))
 ;;utc = doy2utc( fix(reform(strmid(mat(0,*),0,3))), fix(reform(strmid(mat(0,*),4,2))) )
 ;;dattim = anytim2ints(strmid(mat(0,*),6,13))
 if (keyword_set(qspeed)) then begin & idl_speed,1 & idl_speed & end
 dattim = doytim2ints(reform(strmid(mat(0,*),0,3)) + reform(strmid(mat(0,*),6,13)), $ 
			reform(strmid(mat(0,*),4,2)))
 if (keyword_set(qspeed)) then begin & idl_speed,1 & idl_speed & end
 out.day  = dattim.day	;utc.mjd - 43873	;mjd to 1-Jan-79
 out.time = dattim.time
 out.lat = reform(mat(1,*))
 out.lon = reform(mat(2,*))
 out.alt = reform(mat(3,*))
 if (keyword_set(qspeed)) then begin & idl_speed,1 & idl_speed & end

 return, out
 end

