;+ ;Procedure: THM_LOAD_SCMODE, ; thm_load_scmode, datatype = datatype, $ ; probe = probe, $ ; trange = trange, $ ; verbose = verbose, $ ; varname_out = varname_out, $ ; downloadonly = downloadonly, $ ; no_download=no_download, ; relpathnames_all=relpathnames_all,$ ; files=files,$ ; valid_names = valid_names,$ ; suffix=suffix ; ;Purpose: ; Loads spacecraft mode data from CDF. Quantities for each mode will have a 0 at the beginning ; and end of each interval where a mode is off and a 1 at the beginning and end of each interval ; where a mode is on. ; ;keywords: ; probe = The probe to be loaded. Can be 'a','b','c','d','e' ; datatype = The type of data to be loaded. Can be 'ss','fs','pb','wb',or 'all' ; TRANGE= (Optional) Time range of interest (2 element array), if ; this is not set, the default is to prompt the user. Note ; that if the input time range is not a full day, a full ; day's data is loaded ; level = ignored, only one level for this datatype: L1 ; /VERBOSE : set to output some useful info ; varname_out= a string array containing the tplot variable names for ; the loaded data ; /downloadonly, if set, then only download the data, do not load it ; into variables. ; /no_download: use only files which are online locally. ; relpathnames_all: named variable in which to return all files that are ; required for specified timespan, probe, datatype, and level. ; If present, no files will be downloaded, and no data will be loaded. ; files named varible for output of pathnames of local files. ; /valid_names, if set, then this will return the valid site, datatype ; and/or level options in named variables, for example, ; thm_load_gmag, site = xxx, /valid_names ; will return the array of valid sites in the ; variable xxx ; suffix= suffix to add to output data quantity (not added to support data) ; ; no_time_clip=no_time_clip, unlike other routines, no_time_clip is set by default, because clipping causes errors due to the way ; that scmode data is stored. To enable time clipping, call thm_load_scmode,no_time_clip=0 ; ;Examples: ; timespan,'2007-03-23' ; thm_load_scmode ; thm_load_scmode,probe='a',trange=['2007-01-22/00:00:00','2007-01-24/00:00:00'] ; ; $LastChangedBy: pcruce $ ; $LastChangedDate: 2012-11-15 14:57:31 -0800 (Thu, 15 Nov 2012) $ ; $LastChangedRevision: 11243 $ ; $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_1_00/projects/themis/spacecraft/thm_load_scmode.pro $ ;- function thm_load_scmode_relpath,trange=trange,probe=probe compile_opt idl2,hidden relpath = 'th'+probe+'/l1/scmode/' prefix = 'th'+probe+'_l1_scmode_' ending = '_v01.cdf' for i = 0,n_elements(probe)-1 do begin pathlist = array_concat(file_dailynames(relpath[i],prefix[i],ending,/yeardir,trange=trange),pathlist) endfor return,pathlist end pro thm_load_scmode, datatype = datatype,$ trange = trange, $ verbose = verbose, $ probe=probe,$ varname_out = tplotnames, $ downloadonly = downloadonly, $ no_download=no_download,$ level=level,$ relpathnames_all=relpathnames_all,$ files=files,$ valid_names = valid_names,$ suffix=suffix, $ no_time_clip = no_time_clip compile_opt idl2 if arg_present(relpathnames_all) then begin downloadonly=1 no_download=1 end if ~keyword_set(suffix) then suffix = '' vprobes = ['a','b','c','d','e'] vdatatypes = ['ss','fs','pb','wb'] vlevels = 'l1' if keyword_set(valid_names) then begin datatype = vdatatypes level = vlevels probe = vprobes return endif if ~keyword_set(datatype) then begin datatype = 'all' endif if ~keyword_set(probe) then begin probe = 'all' endif if n_elements(no_time_clip) eq 0 then begin no_time_clip = 1 endif dt = strlowcase(thm_check_valid_name(datatype,vdatatypes,/include_all,/ignore_case)) if ~keyword_set(dt) then return if is_num(probe) then begin prb = thm_probe_num(probe) endif else begin prb = strlowcase(thm_check_valid_name(probe,vprobes,/include_all,/ignore_case)) endelse if ~keyword_set(prb) then return if arg_present(relpathnames_all) then begin relpathnames_all = thm_load_scmode_relpath(trange=trange,probe=prb) return endif for i = 0,n_elements(prb)-1 do begin names = 'th'+prb[i]+'_scmode_'+dt relpathnames_all = thm_load_scmode_relpath(trange=trange,probe=prb[i]) ;test for !themis, jmm, 6-aug-2009 defsysv, '!themis', exists = exists if not keyword_set(exists) then thm_init params = !themis if n_elements(no_download) gt 0 then begin params.no_download = no_download endif if n_elements(downloadonly) gt 0 then begin params.downloadonly = downloadonly endif if n_elements(verbose) gt 0 then begin params.verbose = verbose endif files = file_retrieve(relpathnames_all,_extra=params) if ~params.downloadonly then begin cdf2tplot,file=files,verbose=params.verbose,tplotnames=tplotnames,varformat=names endif if keyword_set(tplotnames) then begin options,tplotnames,yrange=[-1,2] if ~keyword_set(no_time_clip) then begin If(keyword_set(trange) && n_elements(trange) Eq 2) $ Then tr = timerange(trange) Else tr = timerange() for ivar = 0, n_elements(tplotnames)-1 do begin if tnames(tplotnames[ivar]) eq '' then continue time_clip, tplotnames[ivar], min(tr), max(tr), /replace, error = tr_err if tr_err then del_data, tplotnames[ivar] endfor endif endif endfor end