function get_acedata, time0, time1, debug=debug, bad_data=bad_data, $ status=status, missing=missing, _extra=_extra, $ daily=daily, monthly=monthly, keep_quality=keep_quality bad_data=keyword_set(bad_data) valid=1-bad_data delete_quality=1-keyword_set(keep_quality) or bad_data debug=keyword_set(debug) retval=-1 ; assume the worst status=0 if n_params() lt 2 then begin box_message,['Need time range...', $ 'IDL> acedata=get_acedata(t0,t1 [,/TYPE ] [,status=status] )'] return,retval endif acefiles=ace_files(time0,time1, fcount, $ ; ~relevant files _extra=_extra, daily=daily, monthly=monthly) if fcount gt 0 then begin read_ace, acefiles, acedata,valid=valid, debug=debug, delete_quality=delete_quality ;ascii-> SSW str if data_chk(acedata,/struct) then begin ss=sel_timrange(anytim(acedata,/ints), $ ; trim to user times anytim(time0,/ints),anytim(time1,/ints)) if ss(0) ne -1 then retval=acedata(ss) else $ box_message,'No data found in time range' endif else box_message,'No valid data samples' ; probably never endif else begin box_message,'No ACE files for timerange/type' endelse status=data_chk(retval,/struct) ; return success return, retval end