;+ ; PROCEDURE: ; mms_feeps_omni ; ; PURPOSE: ; Calculates the omni-directional flux for all 24 sensors ; INPUT: ; probe: spacecraft # (1, 2, 3, or 4) ; ; KEYWORDS: ; ; datatype: feeps data types include ['electron', 'electron-bottom', 'electron-top', ; 'ion', 'ion-bottom', 'ion-top']. ; If no value is given the default is 'electron'. ; data_rate: instrument data rates for feeps include 'brst' 'srvy'. The ; default is 'srvy' ; tplotnames: names of loaded tplot variables ; suffix: suffix used in call to mms_load_data; required to find the correct ; variables ; data_units: specify units for omni-directional calculation ; ; NOTES: ; Originally based on Brian Walsh's EIS code from 7/29/2015 ; ; CREATED BY: I. Cohen, 2016-01-19 ; ; $LastChangedBy: egrimes $ ; $LastChangedDate: 2017-01-30 14:37:59 -0800 (Mon, 30 Jan 2017) $ ; $LastChangedRevision: 22690 $ ; $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_2_00/projects/mms/feeps/deprecated/mms_feeps_omni_old.pro $ ;- pro mms_feeps_omni_old, probe, datatype = datatype, tplotnames = tplotnames, suffix = suffix, $ data_units = data_units, data_rate = data_rate, level = level if undefined(level) then level = 'l2' if undefined(probe) then probe = '1' else probe = strcompress(string(probe)) ; default to electrons if undefined(datatype) then datatype = 'electron' if undefined(suffix) then suffix = '' if undefined(data_rate) then data_rate = 'srvy' if undefined(data_units) then data_units = 'cps' if (data_units eq 'flux') then data_units = 'intensity' if (data_units eq 'cps') then data_units = 'count_rate' units_label = data_units eq 'intensity' ? '1/(cm!U2!N-sr-s-keV)' : 'Counts/s' ; the following works for srvy mode, but doesn't get all of the sensors for burst mode if datatype eq 'electron' then sensors = ['3', '4', '5', '11', '12'] else sensors = ['6', '7', '8'] ; special case for burst mode data if data_rate eq 'brst' && datatype eq 'electron' then sensors = ['1','2','3','4','5','9','10','11','12'] if data_rate eq 'brst' && datatype eq 'ion' then sensors = ['6','7','8'] if level eq 'sitl' && datatype eq 'electron' then sensors = ['5','11','12'] lower_en = datatype eq 'electron' ? 71 : 78 probe = strcompress(string(probe), /rem) ;species_str = datatype+'_'+species ;if (data_rate) eq 'brst' then prefix = 'mms'+probe+'_epd_feeps_brst_' else prefix = 'mms'+probe+'_epd_feeps_' prefix = 'mms'+probe+'_epd_feeps_' ;var_name = prefix+'top_'+datatype+'_'+data_units+'_sensorID_'+sensors[0]+'_clean_sun_removed'+suffix ;var_name = strlowcase(var_name) var_name = strcompress('mms'+probe+'_epd_feeps_'+data_rate+'_'+level+'_'+datatype+'_top_'+data_units+'_sensorid_'+string(sensors[0])+'_clean_sun_removed'+suffix, /rem) get_data, var_name, data = d, dlimits=dl if is_struct(d) then begin flux_omni = dblarr(n_elements(d.x), n_elements(sensors)*2., n_elements(d.v)) sensor_count = 0 for i=0, n_elements(sensors)-1. do begin ; loop through each top sensor ;var_name = prefix+'top_'+datatype+'_'+data_units+'_sensorID_'+sensors[i]+'_clean_sun_removed'+suffix ;var_name = strlowcase(var_name) var_name = strcompress('mms'+probe+'_epd_feeps_'+data_rate+'_'+level+'_'+datatype+'_top_'+data_units+'_sensorid_'+string(sensors[i])+'_clean_sun_removed'+suffix, /rem) get_data, var_name, data = d flux_omni[*, sensor_count, *] = d.Y sensor_count += 1 endfor if level ne 'sitl' then begin ; no bottom sensors for SITL data for i=0, n_elements(sensors)-1. do begin ; loop through each bottom sensor ;var_name = prefix+'bottom_'+datatype+'_'+data_units+'_sensorID_'+sensors[i]+'_clean_sun_removed'+suffix ;var_name = strlowcase(var_name) var_name = strcompress('mms'+probe+'_epd_feeps_'+data_rate+'_'+level+'_'+datatype+'_bottom_'+data_units+'_sensorid_'+string(sensors[i])+'_clean_sun_removed'+suffix, /rem) get_data, var_name, data = d flux_omni[*, sensor_count, *] = d.Y sensor_count += 1 endfor endif ;newname = prefix+datatype+'_'+data_units+'_omni'+suffix newname = strcompress('mms'+probe+'_epd_feeps_'+data_rate+'_'+level+'_'+datatype+'_'+data_units+'_omni'+suffix, /rem) flux_avg = average(flux_omni, 2, /nan) str_element, /add, dl, 'num_sensors', sensor_count store_data, newname[0], data={x:d.x, y:flux_avg, v:d.v}, dlimits=dl ; ylim, newname[0], lower_en, 600., 1 zlim, newname[0], 0, 0, 1 options, newname[0], spec = 1, yrange = en_range, yticks=3, $ ytitle = 'mms'+probe+'!Cfeeps!C'+datatype+'!Comni', $ ysubtitle='[keV]', ztitle=units_label, ystyle=1, /default, /ylog append_array, tplotnames, newname[0] endif end