function cdf_time_range,cdffile,fast=fast
if keyword_set(fast) then begin
message,'Not ready yet'
endif
loadcdf2,cdffile,'Epoch',t
epoch0 = 719528.d * 24.* 3600. * 1000.
t = (t- epoch0)/1000.
n = n_elements(t)
return,t([0,n-1])
end
pro make_cdf_index,pattern, $
data_direc=data_direc, $
index_filename=index_filename, $
no_duplicates=no_duplicates
files=files
if not keyword_set(pattern) then pattern = '*.cdf'
for n=0,n_elements(data_direc)-1 do begin
f = findfile(filepath(pattern,root=data_direc(n)))
if keyword_set(f) then append_array,files,f
endfor
if data_type(index_filename) ne 7 then index_filename='indexfile'
openw,lun,index_filename,/get_lun
cnt = n_elements(files)
print,cnt,' files found for ',index_filename
tr = dblarr(2,cnt)
for i=0,cnt-1 do begin
tr(*,i) = cdf_time_range(files(i))
endfor
s = sort( tr(0,*) )
tr = tr(*,s)
files = files(s)
if keyword_set(no_duplicates) then begin
daynum = reform(tr(0,*))
daynum = long(daynum/3600./24.)
u = uniq(daynum)
files = files(u)
tr = tr(*,u)
endif
for i=0,n_elements(files)-1 do begin
str = time_string(tr(*,i))
printf,lun,str(0),str(1),files(i),format="(a,' ',a,' ',a)"
endfor
free_lun,lun
end