@mvn_kp_tag_parser
@mvn_kp_tag_list
@mvn_kp_range
@mvn_kp_range_select
@mvn_kp_tag_verify
pro MVN_KP_TPLOT, kp_data, parameter=parameter, time=time, list=list, ytitles=ytitles,range=range,$
createall=createall, prefix=prefix, message=message, quiet=quiet, $
euv=euv, lpw=lpw, static=static, swea=swea, swia=swia, mag=mag, sep=sep, ngims=ngims
MVN_KP_TAG_PARSER, kp_data, base_tag_count, first_level_count, second_level_count, base_tags, first_level_tags, second_level_tags
if arg_present(list) then begin
list = strarr(250)
index2=0
for i=0,base_tag_count-1 do begin
if first_level_count[i] ne 0 then begin
for j=0,first_level_count[i]-1 do begin
if first_level_count[i] ne 0 then begin
list[index2] = '#'+strtrim(string(index2+1),2)+' '+base_tags[i]+'.'+strtrim(string(first_level_tags[index2-1]),2)
index2 = index2+1
endif
endfor
endif
endfor
list = list[0:index2-1]
return
endif else begin
if keyword_set(list) then begin
MVN_KP_TAG_LIST, kp_data, base_tag_count, first_level_count, base_tags, first_level_tags
return
endif
endelse
if keyword_set(range) then begin
MVN_KP_RANGE, kp_data
return
endif
if keyword_set(time) then begin
MVN_KP_RANGE_SELECT, kp_data, time, kp_start_index, kp_end_index
endif else begin
kp_start_index = 0
kp_end_index = n_elements(kp_data.orbit)-1
endelse
if keyword_set(prefix) then begin
prefix=prefix
endif else begin
prefix = 'MVN_KP_'
endelse
if keyword_set(message) then begin
message = {source: message}
endif else begin
message = {source: 'Created from KP Data'}
endelse
device,decompose=0
!p.background='FFFFFF'x
!p.color=0
loadct,39,/silent
if keyword_set(euv) or keyword_set(lpw) or keyword_set(static) or keyword_set(swea) or keyword_set(swia) $
or keyword_set(mag) or keyword_set(sep) or keyword_set(ngims) then begin
temp_parameters = intarr(300)
temp_index=0
if keyword_set(lpw) then begin
x1 = where(base_tags eq 'LPW')
for i=1,first_level_count[x1[0]] do begin
temp_parameters[temp_index] = total(first_level_count[0:x1-1])+i
temp_index=temp_index+1
endfor
endif
if keyword_set(static) then begin
x1 = where(base_tags eq 'STATIC')
for i=1,first_level_count[x1[0]] do begin
temp_parameters[temp_index] = total(first_level_count[0:x1-1])+i
temp_index=temp_index+1
endfor
endif
if keyword_set(swea) then begin
x1 = where(base_tags eq 'SWEA')
for i=1,first_level_count[x1[0]] do begin
temp_parameters[temp_index] = total(first_level_count[0:x1-1])+i
temp_index=temp_index+1
endfor
endif
if keyword_set(swia) then begin
x1 = where(base_tags eq 'SWIA')
for i=1,first_level_count[x1[0]] do begin
temp_parameters[temp_index] = total(first_level_count[0:x1-1])+i
temp_index=temp_index+1
endfor
endif
if keyword_set(mag) then begin
x1 = where(base_tags eq 'MAG')
for i=1,first_level_count[x1[0]] do begin
temp_parameters[temp_index] = total(first_level_count[0:x1-1])+i
temp_index=temp_index+1
endfor
endif
if keyword_set(sep) then begin
x1 = where(base_tags eq 'SEP')
for i=1,first_level_count[x1[0]] do begin
temp_parameters[temp_index] = total(first_level_count[0:x1-1])+i
temp_index=temp_index+1
endfor
endif
if keyword_set(ngims) then begin
x1 = where(base_tags eq 'NGIMS')
for i=1,first_level_count[x1[0]] do begin
temp_parameters[temp_index] = total(first_level_count[0:x1-1])+i
temp_index=temp_index+1
endfor
endif
parameter = temp_parameters[0:temp_index-1]
endif
if keyword_set(createall) then begin
print,'**** Creating Tplot variables from all available KP Parameters ****'
index=0
for i=0, n_elements(first_level_count)-1 do begin
if first_level_count[i] gt 0 then begin
for j=0, first_level_count[i]-1 do begin
tplot_name = strtrim(prefix+base_tags[i],2)+':'+strtrim(first_level_tags[index])
store_data,tplot_name, data={x:kp_data[kp_start_index:kp_end_index].time, y:kp_data[kp_start_index:kp_end_index].(i).(j)},dlimits=message,verbose=0
index=index+1
endfor
endif
endfor
if (keyword_set(quiet) ne 1) then tplot_names
return
endif else begin
for i=0, n_elements(parameter)-1 do begin
MVN_KP_TAG_VERIFY, kp_data, parameter[i],base_tag_count, first_level_count, base_tags, $
first_level_tags, check, level0_index, level1_index, tag_array
if check eq 0 then begin
tplot_name = strtrim(prefix+tag_array[0],2)+':'+strtrim(tag_array[1],2)
store_data,tplot_name, data={x:kp_data[kp_start_index:kp_end_index].time, y:kp_data[kp_start_index:kp_end_index].(level0_index).(level1_index)},dlimits=message,verbose=0
endif else begin
print,'Requested plot parameter is not included in the data. Try /LIST to confirm your parameter choice.'
return
endelse
endfor
endelse
if (keyword_set(quiet) ne 1) then tplot_names
end