;+
;Procedure: THM_LOAD_STATE2
;
;Purpose: Loads THEMIS STATE (orbit and attitude) 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'
; datatype = The type of data to be loaded, can be an array of strings
; or single string separate by spaces. The default is '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
; version = the version of the state file, one of 'v01', 'v02', 'v03', 'v04'.
; defaults to 'v01'
; level = the level of the data, the default is 'l1', or level-1
; data. A string (e.g., 'l2') or an integer can be used. 'all'
; can be passed in also, to get all levels.
; CDF_DATA: named variable in which to return cdf data structure: only works
; for a single spacecraft and datafile name.
; 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:
; thm_load_state
;Notes:
;
; $LastChangedBy: jimm $
; $LastChangedDate: 2011-04-04 14:21:40 -0700 (Mon, 04 Apr 2011) $
; $LastChangedRevision: 8564 $
; $URL $
;-
pro thm_load_state3,probes=probes, datatype=datatype, trange=trange, $
varformat=varformat, var_type=var_type, $
level=level, verbose=verbose, downloadonly=downloadonly, $
cdf_data=cdf_data,get_support_data=get_support_data, $
varnames=varnames, make_multi_tplotvar=make_multi_tplotvar, $
valid_names = valid_names, files=files, $
polar=polar, $
suffix=suffix, $
version=version, $
progobj=progobj
thm_init
dprint,verbose=verbose,dlevel=4,'$Id: thm_load_state3.pro 8564 2011-04-04 21:21:40Z jimm $'
if not keyword_set(version) then version= ['v02', 'v01', 'v00']
vb = keyword_set(verbose) ? verbose : 0
vb = vb > !themis.verbose
vprobes = ['a','b','c','d','e'] ;,'f']
vlevels = ['l1'] ;,'l2']
vdatatypes=['state']
if keyword_set(valid_names) then begin
probe = vprobes
level = vlevels
datatype = datatypes
return
endif
;probe = strfilter(vprobes, probe ,delimiter=' ',/string)
probes_a = strfilter(vprobes,size(/type,probes) eq 7 ? probes : '*',/fold_case,delimiter=' ',count=nprobes)
if not keyword_set(datatype) then datatype='*'
datatype = strfilter(vdatatypes, datatype ,delimiter=' ',/string)
if not keyword_set(level) then level='l1'
lvl = strfilter(vlevels, level ,delimiter=' ',/string)
addmaster=0
probe_colors = ['m','b','c','g','r','y']
for s=0,nprobes-1 do begin
probe = probes_a[s]
thx = 'th'+ probe
; relpathnames = file_dailynames(thx+'/l1/hsk/',dir='YYYY/',thx+'_l1_hsk_','_v01.cdf',trange=trange,addmaster=addmaster)
format = thx+'/'+lvl+'/state/YYYY/'+thx+'_'+lvl+'_state_YYYYMMDD_'+version[0]+'.cdf'
relpathnames = file_dailynames(file_format=format,trange=trange,addmaster=addmaster)
; if vb ge 4 then printdat,/pgmtrace,relpathnames
dprint,dlevel=4,verbose=verbose,relpathnames,/phelp
files = file_retrieve_v(relpathnames, _extra=!themis, version=version, $
progobj = progobj)
if keyword_set(downloadonly) then continue
midfix='_state'
cdf2tplot,file=files,varformat=varformat,all=0,midfix=midfix,midpos=3,verbose=vb,suffix=suffix, $
get_support_data=get_support_data,tplotnames=tns,/convert_int1_to_int2 ; load data into tplot variables
pn = byte(probe) - byte('a')
dprint,dlevel=4,'Setting options...'
if keyword_set(polar) then begin
xyz_to_polar,thx+midfix+'_pos'
get_data,thx+midfix+'_pos_mag',data=d
if keyword_set(d) then begin
d.y = d.y/ 6374.
store_data,thx+midfix+'_pos_Re',data=d
endif
thm_setprobe_colors, thx+midfix+'_pos_*'
endif
thm_setprobe_colors, tns
options,/default,tns,code_id='$Id: thm_load_state3.pro 8564 2011-04-04 21:21:40Z jimm $'
; options,/default,tns,colors = probe_colors[pn]
dprint,dwait=5.,'Flushing output'
dprint,dlevel=4,'Housekeeping data Loaded for probe: '+probe
endfor
options,'th?_state_roi',tplot_routine='bitplot'
if keyword_set(make_multi_tplotvar) then begin
tns = tnames('th?_state_*')
tns_suf = strmid(tns,10)
tns_suf = tns_suf[uniq(tns_suf,sort(tns_suf))]
for i=0,n_elements(tns_suf)-1 do store_data,'Thx_state_'+tns_suf[i],data=tnames('th?_state_'+tns_suf[i])
; store_data,'Thx_state_pos_Re',data=tnames('th?_state_pos_Re')
; store_data,'Thx_state_pos_th',data=tnames('th?_state_pos_th')
; store_data,'Thx_state_pos_phi',data=tnames('th?_state_pos_phi')
endif
end