pro bigascii2smallascii,filename,dir=dir,startline=startline sc=strlowcase(strmid(filename,25,1)) ;files ;EPHDEF60_07049_001400_07127_000000 ;EPHDEF60_07127_000100_07141_000000 ;EPHDEF60_07141_000100_07151_000000 ;filename='/home/bfds/THEMIS/THEMIS_'+sc+'/THEMIS_'+sc+'_EPHDEF60_07141_000100_07151_000000' ; current location of big definitive state ASCII print, filename if not keyword_set(dir) then dir='/disks/themisdata/state15/ASCII/' if not keyword_set(startline) then startline=1 ;FIXME JWL DEBUG print, 'dir: ',dir print, 'startline: ',startline ;END FIXME linecount=0. daynum='xxx' daycount=0 lines=strarr(2881.) j=0. ;look for incomplete small file (part of patching the big files together nicely) incomplete_file=findfile('/disks/themisdata/state15/ASCII/THEMIS_'+strupcase(sc)+'*incomplete.txt',count=filecount) if filecount eq 1 then begin openr,getlfn,incomplete_file,/get_lun lfn=getlfn while (not EOF(lfn)) do begin line='' readf,lfn,line if linecount ge startline then begin if daynum ne strmid(line,9,3) then begin daynum=strmid(line,9,3) daycount=daycount+1 endif lines(j)=line j=j+1. endif linecount=linecount+1. endwhile close,/all linecount=0. spawn,'rm -f '+incomplete_file endif openr,getlfn,filename,/get_lun ;FIXME JWL DEBUG print,'filename ',filename,' opened ;END FIXME lfn=getlfn ;================================================ while (not EOF(lfn)) do begin line='' readf,lfn,line if linecount eq 0 then header=line if linecount ge startline then begin if daynum ne strmid(line,9,3) then begin daynum=strmid(line,9,3) daycount=daycount+1 endif if daycount eq 3 then begin ;-------write smaller file-------- get_lun, lun openw, lun, dir+'THEMIS_'+strupcase(sc)+'_'+strmid(lines(0),4,4)+'_'+strmid(lines(0),9,3)+'_EPHDEF.txt' ;FIXME JWL DEBUG print,'Writing small file: ' print, dir+'THEMIS_'+strupcase(sc)+'_'+strmid(lines(0),4,4)+'_'+strmid(lines(0),9,3)+'_EPHDEF.txt' printf,lun,header for i=0,2880. do begin ; 2880. is number of 1 min samples in 2 days if lines(i) ne '' then printf,lun,lines(i) endfor close, lun free_lun, lun daycount=1 j=0. print, 'Written: THEMIS_'+strupcase(sc)+'_'+strmid(lines(0),4,4)+'_'+strmid(lines(0),9,3)+'_EPHDEF.txt' endif ; daycount lines(j)=line j=j+1. endif ; linecount linecount=linecount+1. endwhile ; EOF ;FIXME JWL DEBUG print, 'Checking for incomplete file...' ;END FIXME ;patch seams between big ASCIIs if j ne 0 then begin get_lun, lun openw, lun, dir+'THEMIS_'+strupcase(sc)+'_'+strmid(lines(0),4,4)+'_'+strmid(lines(0),9,3)+'_EPHDEF_incomplete.txt' printf,lun,header for i=0,j-1 do begin if lines(i) ne '' then printf,lun,lines(i) endfor close, lun free_lun, lun endif close,/all end