;+ ;Function: eic_read_ascii_data ; ;Purpose: ; This is a routine to read the EIC ascii data files (James Weygand) ; ; Data contains Latitude, Longitude, Jx, Jy in geocoordinates ; Each file is for 10 seconds ; Files need to be read and bundled into one data array that spans the ; start and stop times ; ;INPUT: ; filename: a ;OUTPUT: ; data: array of data [5xn] ([time, lat, lon, jx, jy]) ; ;KEYWORDS: ; out_dir = the output directory for the .dat files ; ; ; $LastChangedBy: crussell $ ; $LastChangedDate: 2012-05-10 14:23:29 -0700 (Thu, 10 May 2012) $ ; $LastChangedRevision: 10410 $ ; $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/thmsoc/trunk/idl/thmsoc/fmi_gmag/thm_read_fmi10secfile.pro $ ;- function eic_read_ascii_data, filenames eic_template = { version: 1.0, $ datastart: 0L, $ delimiter: 32b, $ missingvalue: 0.0, $ ; OR? !values.f_nan commentsymbol: ';', $ fieldcount: 4L, $ fieldtypes: [5,5,5,5], $ fieldnames: ['lat','long','jx','jy'] ,$ fieldlocations: [0,10,24,36], $ fieldgroups: [0,1,2,3] } ;catch errors from incorrectly formatted files catch,err if err eq 0 then begin for i=0,n_elements(filenames)-1 do begin print, 'Reading filename: ' + filenames[i] ; extract time from filename idx=strpos(filenames[i], '_') year=strmid(filenames[i],idx-8,4) month=strmid(filenames[i],idx-4,2) day=strmid(filenames[i],idx-2,2) hr=strmid(filenames[i],idx+1,2) min=strmid(filenames[i],idx+3,2) sec=strmid(filenames[i],idx+5,2) date_str=year+'-'+month+'-'+day+'/'+hr+':'+min+':'+sec ; get data from file, data is read in as Lat, Long, Jx, and Jy results = read_ascii(filenames[i],template=eic_template) npts=n_elements(results.lat) time=make_array(npts, /double) + time_double(date_str) ; append each 10 second file set of data append_array, times, time append_array, lat, results.lat append_array, longs, results.long append_array, jx, results.jx append_array, jy, results.jy endfor data=make_array(n_elements(times),5, /double) data[*,0]=times data[*,1]=lat data[*,2]=longs data[*,3]=jx data[*,4]=jy return, data endif else begin dprint,"Error reading: " + filenames[i] dprint,"Error: " + !ERROR_STATE.MSG return, 'ERR' endelse catch,/cancel end