;Procedure: THM_LOAD_HSK
;
;Purpose:  Loads THEMIS Housekeeping data
;
;keywords:
;  probe = Probe name. The default is 'all', i.e., load all available probes.
;          This can be an array of strings, e.g., ['a', 'b'] or a
;          single string delimited by spaces, e.g., 'a b'
;  varformat=string
;  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
;  VARNAMES: names of variables to load from cdf: default is all.
;  /GET_SUPPORT_DATA: load support_data variables as well as data variables
;                      into tplot variables.
;  /DOWNLOADONLY: download file but don't read it.
;  /valid_names, if set, then this routine will return the valid probe, datatype
;          and/or level options in named variables supplied as
;          arguments to the corresponding keywords.
;  files   named varible for output of pathnames of local files.
;  /VERBOSE  set to output some useful info
;Example:
;   thg_load_sst,/get_suppport_data,probe=['a', 'b']
;Notes:
; Written by Davin Larson, March 2007
;
; $LastChangedBy: kenb-mac $
; $LastChangedDate: 2007-07-03 09:10:02 -0700 (Tue, 03 Jul 2007) $
; $LastChangedRevision: 987 $
; $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/thmsoc/tags/tdas_2_02/idl/themis/spacecraft/thm_load_hsk.pro $
;-

pro thm_load_hsk,probe=probe, datatype=datatype, trange=trange, $
                 level=level, verbose=verbose, downloadonly=downloadonly, $
                 cdf_data=cdf_data,get_support_data=get_support_data, $
                 tplotnames=tns, make_multi_tplotvar=make_multi_tplotvar, $
                 varformat=varformat, valid_names = valid_names, files=files

thm_init
dprint,verbose=verbose,dlevel=4,'$Id: thm_load_hsk.pro 987 2007-07-03 16:10:02Z kenb-mac $'

vb = keyword_set(verbose) ? verbose : 0
vb = vb > !themis.verbose

vprobes = ['a','b','c','d','e']  ;,'f']
vlevels = ['l1','l2']
vdatatypes=['hsk']

if keyword_set(valid_names) then begin
    probe = vprobes
    level = vlevels
    datatype = datatypes
    return
endif

if not keyword_set(probe) then probe='*'
probe = strfilter(vprobes, probe ,delimiter=' ',/string)

if not keyword_set(datatype) then datatype='*'
datatype = strfilter(vdatatypes, datatype ,delimiter=' ',/string)

if not keyword_set(level) then level='*'
level = strfilter(vdatatypes, level ,delimiter=' ',/string)

addmaster=0

probe_colors = ['m','b','c','g','r','y']

for s=0,n_elements(probe)-1 do begin
     thx = 'th'+ probe[s]

;     relpathnames = file_dailynames(thx+'/l1/hsk/',dir='YYYY/',thx+'_l1_hsk_','_v01.cdf',trange=trange,addmaster=addmaster)
     format = thx+'/l1/hsk/YYYY/'+thx+'_l1_hsk_YYYYMMDD_v01.cdf'
     relpathnames = file_dailynames(file_format=format,trange=trange,addmaster=addmaster)
     if vb ge 4 then printdat,/pgmtrace,relpathnames
     files = file_retrieve(relpathnames, _extra=!themis)

     if keyword_set(!themis.downloadonly) then continue

     suf='_raw'
     midfix='_hsk'
     cdf2tplot,file=files,varformat=varformat,all=0,midfix=midfix,midpos=3,suffix=suf,verbose=vb, $
              get_support_data=get_support_data,tplotnames=tns,/convert_int1_to_int2 ; load data into tplot variables

     pn = byte(probe[s]) - byte('a')
     dprint,dlevel=5,'Setting options...

     options,/default,tns,code_id='$Id: thm_load_hsk.pro 987 2007-07-03 16:10:02Z kenb-mac $'
     options,/default,tns,colors = probe_colors[pn]

     dprint,dwait=5.,'Flushing output'
     dprint,dlevel=4,'Housekeeping data Loaded for probe: '+probe[s]

endfor

if keyword_set(make_multi_tplotvar) then begin
   tns = tnames('th?_hsk_*')
   tns_suf = strmid(tns,8)
   tns_suf = tns_suf[uniq(tns_suf,sort(tns_suf))]
   for i=0,n_elements(tns_suf)-1 do store_data,'Thx_hsk_'+tns_suf[i],data=tnames('th?_hsk_'+tns_suf[i])
endif


end