This page was created by the IDL library routine mk_html_help2.

Last modified: Thu Aug 6 12:53:14 2020.


Directory Listing of Routines


Routine Descriptions

FEEPS_BIN_INFO

[Next Routine] [List of Routines]
 PROCEDURE:
         feeps_bin_info

 PURPOSE:
         Prints FEEPS PA bin information - for debugging

 KEYWORDS:

 OUTPUT:



$LastChangedBy: egrimes $
$LastChangedDate: 2016-01-12 15:10:52 -0800 (Tue, 12 Jan 2016) $
$LastChangedRevision: 19720 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_4_0/projects/mms/feeps/feeps_bin_info.pro $

(See projects/mms/feeps/feeps_bin_info.pro)


MMS_FEEPS_ACTIVE_EYES

[Previous Routine] [Next Routine] [List of Routines]
 Function:
     mms_feeps_active_eyes

 Purpose:
    this function returns the FEEPS active eyes,
    based on date/probe/species/rate

 Output:
    Returns a hash table containing 2 hash tables:
       output['top'] -> maps to the active top eyes
       output['bottom'] -> maps to the active bottom eyes
 
 Notes:
 1) Burst mode should include all sensors (TOP and BOTTOM):
     electrons: [1, 2, 3, 4, 5, 9, 10, 11, 12]
     ions: [6, 7, 8]
 
 2) SITL should return (TOP only):
     electrons: set_intersection([5, 11, 12], active_eyes)
     ions: None
     
 3) From Drew Turner, 9/7/2017, srvy mode:
 
   - before 16 August 2017:
      electrons: [3, 4, 5, 11, 12]
      iond: [6, 7, 8]
 
   - after 16 August 2017:
       MMS1
         Top Eyes: 3, 5, 6, 7, 8, 9, 10, 12
         Bot Eyes: 2, 4, 5, 6, 7, 8, 9, 10

       MMS2
         Top Eyes: 1, 2, 3, 5, 6, 8, 10, 11
         Bot Eyes: 1, 4, 5, 6, 7, 8, 9, 11

       MMS3
         Top Eyes: 3, 5, 6, 7, 8, 9, 10, 12
         Bot Eyes: 1, 2, 3, 6, 7, 8, 9, 10

       MMS4
         Top Eyes: 3, 4, 5, 6, 8, 9, 10, 11
         Bot Eyes: 3, 5, 6, 7, 8, 9, 10, 12
   
   
$LastChangedBy: egrimes $
$LastChangedDate: 2017-09-14 08:47:34 -0700 (Thu, 14 Sep 2017) $
$LastChangedRevision: 23973 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_4_0/projects/mms/feeps/mms_feeps_active_eyes.pro $

(See projects/mms/feeps/mms_feeps_active_eyes.pro)


MMS_FEEPS_CORRECT_ENERGIES

[Previous Routine] [Next Routine] [List of Routines]
 PROCEDURE:
       mms_feeps_correct_energies

 PURPOSE:
       This function modifies the energy table in FEEPS spectra (intensity, count_rate, counts) variables
       using the function: mms_feeps_energy_table (which is s/c, sensor head and sensor ID dependent)

 NOTES:
     BAD EYES are replaced by NaNs


 $LastChangedBy: egrimes $
 $LastChangedDate: 2017-01-31 14:44:52 -0800 (Tue, 31 Jan 2017) $
 $LastChangedRevision: 22696 $
 $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_4_0/projects/mms/feeps/mms_feeps_correct_energies.pro $

(See projects/mms/feeps/mms_feeps_correct_energies.pro)


MMS_FEEPS_ENERGY_TABLE

[Previous Routine] [Next Routine] [List of Routines]
 FUNCTION:
       mms_feeps_energy_table

 PURPOSE:
       This function returns the energy table based on
       each spacecraft and eye; based on the table from:
       
               FlatFieldResults_V3.xlsx
               
       from Drew Turner, 1/19/2017
               

 NOTES:
     BAD EYES are replaced by NaNs
     
     - different original energy tables are used depending on if the sensor head is 6-8 (ions) or not (electrons)
     
     Electron Eyes: 1, 2, 3, 4, 5, 9, 10, 11, 12
     Ion Eyes: 6, 7, 8
 
 $LastChangedBy: egrimes $
 $LastChangedDate: 2017-01-24 09:50:03 -0800 (Tue, 24 Jan 2017) $
 $LastChangedRevision: 22653 $
 $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_4_0/projects/mms/feeps/mms_feeps_energy_table.pro $

(See projects/mms/feeps/mms_feeps_energy_table.pro)


MMS_FEEPS_FLAT_FIELD_CORRECTIONS

[Previous Routine] [Next Routine] [List of Routines]
 PROCEDURE:
       mms_feeps_flat_field_corrections

 PURPOSE:
       Apply flat field correction factors to FEEPS ion/electron data;
       correct factors are from the gain factor found in:
       
           FlatFieldResults_V3.xlsx
           
       from Drew Turner, 1/19/2017

 NOTES:
 
   From Drew Turner, 1/18/17:
       Here are the correction factors that we need to apply to the current 
       ION counts/rates/fluxes in the CDF files.  
       NOTE, THIS IS A DIFFERENT TYPE OF CORRECTION THAN THAT FOR THE ELECTRONS!  
       These shifts should be applied to the counts/rates/fluxes data EYE-BY-EYE on each spacecraft.  
       These are multiplication factors (i.e., Jnew = Jold * Gcorr). 
       For those equations, Jold is the original count/rate/flux array and
       Jnew is the corrected version of the arrays using the factors listed below.
       
MMS1:
Top6: Gcorr = 0.7
Top7: Gcorr = 2.5
Top8: Gcorr = 1.5
Bot6: Gcorr = 0.9
Bot7: Gcorr = 1.2
Bot8: Gcorr = 1.0

MMS2:
Top6: Gcorr = 1.3
Top7: BAD EYE
Top8: Gcorr = 0.8
Bot6: Gcorr = 1.4
Bot7: BAD EYE
Bot8: Gcorr = 1.5

MMS3:
Top6: Gcorr = 0.7
Top7: Gcorr = 0.8
Top8: Gcorr = 1.0
Bot6: Gcorr = 0.9
Bot7: Gcorr = 0.9
Bot8: Gcorr = 1.3

MMS4:
Top6: Gcorr = 0.8
Top7: BAD EYE
Top8: Gcorr = 1.0
Bot6: Gcorr = 0.8
Bot7: Gcorr = 0.6
Bot8: Gcorr = 0.9

 $LastChangedBy: egrimes $
 $LastChangedDate: 2017-01-31 14:48:06 -0800 (Tue, 31 Jan 2017) $
 $LastChangedRevision: 22697 $
 $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_4_0/projects/mms/feeps/mms_feeps_flat_field_corrections.pro $

(See projects/mms/feeps/mms_feeps_flat_field_corrections.pro)


MMS_FEEPS_OMNI

[Previous Routine] [Next Routine] [List of Routines]
 PROCEDURE:
         mms_feeps_omni

 PURPOSE:
       Calculates the omni-directional flux for all 24 sensors 
       
       (this version re-bins the data due to the different energy channels for each s/c, sensor head and sensor ID)
       
 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:
       New version, 1/26/17 - egrimes
       Newer version, 1/31/17 - dturner
       Fixed 2 bugs (3/29/17): 1) off by one bug when setting bottom sensor without data to NaNs, and
                               2) now initializing output as NaNs, to avoid setting channels with 
                                 counts=0 to NaN - egrimes


 $LastChangedBy: egrimes $
 $LastChangedDate: 2018-10-08 21:09:02 -0700 (Mon, 08 Oct 2018) $
 $LastChangedRevision: 25939 $
 $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_4_0/projects/mms/feeps/mms_feeps_omni.pro $

(See projects/mms/feeps/mms_feeps_omni.pro)


MMS_FEEPS_PAD

[Previous Routine] [Next Routine] [List of Routines]
 PROCEDURE:
         mms_feeps_pad

 PURPOSE:
         Calculate pitch angle distributions using data from the
           MMS Fly's Eye Energetic Particle Sensor (FEEPS)

 KEYWORDS:
         trange: time range of interest
         probe: value for MMS SC #
         datatype: 'electron' or 'ion'
         energy: energy range to include in the calculation
         bin_size: size of the pitch angle bins
         num_smooth: should contain number of seconds to use when smoothing
             only creates a smoothed product (_pad_smth) if this keyword is specified
         angles_from_bfield: calculate the pitch angles from the B-field data instead of
             reading from the CDFs


 EXAMPLES:
         MMS> mms_load_feeps
         MMS> mms_feeps_pad, energy=[70, 600]
         MMS> tplot, '*70-600keV_pad'


 NOTES:
     **** this routine requires IDL 8.0+ ****

 HISTORY:

     Revision of mms_feeps_pad by Drew Turner

     dturner, 26 Jan 2017, Modified mms_feeps_pad to produce results consistent with Drew's own PAD codes for FEEPS
     egrimes, 27 Sep 2018, modified to use pitch angles from CDF files for burst mode data; added angles_from_bfield keyword for calculating PAs from the Bfield data
                       

$LastChangedBy: egrimes $
$LastChangedDate: 2018-12-13 07:47:03 -0800 (Thu, 13 Dec 2018) $
$LastChangedRevision: 26320 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_4_0/projects/mms/feeps/mms_feeps_pad.pro $

(See projects/mms/feeps/mms_feeps_pad.pro)


MMS_FEEPS_PAD_SPINAVG

[Previous Routine] [Next Routine] [List of Routines]
 PROCEDURE:
         mms_feeps_pad_spinavg

 PURPOSE:
         Spin-averages FEEPS pitch angle distributions

 KEYWORDS:
         probe: value for MMS SC #
         datatype: 'electron' or 'ion'
         energy: energy range to include in the calculation
         bin_size: size of the pitch angle bins


 NOTES:
         This routine is called automatically from mms_feeps_pad


$LastChangedBy: egrimes $
$LastChangedDate: 2018-12-13 07:47:03 -0800 (Thu, 13 Dec 2018) $
$LastChangedRevision: 26320 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_4_0/projects/mms/feeps/mms_feeps_pad_spinavg.pro $

(See projects/mms/feeps/mms_feeps_pad_spinavg.pro)


MMS_FEEPS_PITCH_ANGLES

[Previous Routine] [Next Routine] [List of Routines]
 PROCEDURE:
         mms_feeps_pitch_angles

 PURPOSE:
         Generates a tplot variable containing the FEEPS pitch angles for each telescope
         from magnetic field data.


 NOTES:
         Updated to find active telescopes via mms_feeps_active_eyes, 9/8/2017, egrimes
         
         Most of this routine was copy+pasted from routines provided by Drew Turner


$LastChangedBy: egrimes $
$LastChangedDate: 2018-10-08 18:47:47 -0700 (Mon, 08 Oct 2018) $
$LastChangedRevision: 25935 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_4_0/projects/mms/feeps/mms_feeps_pitch_angles.pro $

(See projects/mms/feeps/mms_feeps_pitch_angles.pro)


MMS_FEEPS_REMOVE_BAD_DATA

[Previous Routine] [Next Routine] [List of Routines]
 PROCEDURE:
       mms_feeps_remove_bad_data

 PURPOSE:
       Removes bad eyes, bad lowest energy channels 
       based on data from Drew Turner, 1/26/2017

 NOTES:
 
     Updated to use time varying bad eye tables and changed bottom channels that we NaN out from Drew Turner, egrimes, 8Oct2018

 $LastChangedBy: egrimes $
 $LastChangedDate: 2019-05-23 16:53:07 -0700 (Thu, 23 May 2019) $
 $LastChangedRevision: 27283 $
 $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_4_0/projects/mms/feeps/mms_feeps_remove_bad_data.pro $

(See projects/mms/feeps/mms_feeps_remove_bad_data.pro)


MMS_FEEPS_REMOVE_SUN

[Previous Routine] [Next Routine] [List of Routines]
 PROCEDURE:
       mms_feeps_remove_sun

 PURPOSE:
       Removes the sunlight contamination from FEEPS data

 NOTES:
       Will only work in IDL 8.0+, due to the hash table data structure
     
       Originally based on code from Drew Turner, 2/1/2016

 $LastChangedBy: egrimes $
 $LastChangedDate: 2017-09-08 14:59:38 -0700 (Fri, 08 Sep 2017) $
 $LastChangedRevision: 23939 $
 $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_4_0/projects/mms/feeps/mms_feeps_remove_sun.pro $

(See projects/mms/feeps/mms_feeps_remove_sun.pro)


MMS_FEEPS_SECTOR_SPEC

[Previous Routine] [Next Routine] [List of Routines]
 PROCEDURE:
         mms_feeps_sector_spec

 PURPOSE:
       Creates sector-spectrograms with FEEPS data (particle data organized by time and sector number)

 NOTES:

 
 $LastChangedBy: egrimes $
 $LastChangedDate: 2016-08-01 11:29:10 -0700 (Mon, 01 Aug 2016) $
 $LastChangedRevision: 21582 $
 $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_4_0/projects/mms/feeps/mms_feeps_sector_spec.pro $

(See projects/mms/feeps/mms_feeps_sector_spec.pro)


MMS_FEEPS_SMOOTH

[Previous Routine] [Next Routine] [List of Routines]
Procedure:
     mms_feeps_smooth

Purpose:
     Creates tplot variables of the smoothed spectra, with smoothing
     specified by num_smooth

$LastChangedBy: egrimes $
$LastChangedDate: 2016-07-26 09:16:24 -0700 (Tue, 26 Jul 2016) $
$LastChangedRevision: 21526 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_4_0/projects/mms/feeps/mms_feeps_smooth.pro $

(See projects/mms/feeps/mms_feeps_smooth.pro)


MMS_FEEPS_SPIN_AVG

[Previous Routine] [Next Routine] [List of Routines]
Procedure:
     mms_feeps_spin_avg

Purpose:
     spin-averages FEEPS spectra using the '_spinsectnum' 
       variable (variable containing spin sector #s associated 
       with each measurement)

$LastChangedBy: egrimes $
$LastChangedDate: 2018-03-18 14:43:40 -0700 (Sun, 18 Mar 2018) $
$LastChangedRevision: 24901 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_4_0/projects/mms/feeps/mms_feeps_spin_avg.pro $

(See projects/mms/feeps/mms_feeps_spin_avg.pro)


MMS_FEEPS_SPLIT_INTEGRAL_CH

[Previous Routine] [Next Routine] [List of Routines]
 Procedure:
  mms_feeps_split_integral_ch

 Purpose:
    this procedure splits the last integral channel from the FEEPS spectra, 
    creating 2 new tplot variables:
    
       [original variable]_clean - spectra with the integral channel removed
       [original variable]_500keV_int - the integral channel that was removed

$LastChangedBy: egrimes $
$LastChangedDate: 2017-09-12 11:01:04 -0700 (Tue, 12 Sep 2017) $
$LastChangedRevision: 23954 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_4_0/projects/mms/feeps/mms_feeps_split_integral_ch.pro $

(See projects/mms/feeps/mms_feeps_split_integral_ch.pro)


MMS_LOAD_FEEPS

[Previous Routine] [Next Routine] [List of Routines]
 PROCEDURE:
         mms_load_feeps
         
 PURPOSE:
         Load data from the Fly's Eye Energetic Particle Sensor (FEEPS) onboard MMS
 
 KEYWORDS: 
         trange:       time range of interest [starttime, endtime] with the format 
                       ['YYYY-MM-DD','YYYY-MM-DD'] or to specify more or less than a day 
                       ['YYYY-MM-DD/hh:mm:ss','YYYY-MM-DD/hh:mm:ss']
         probes:       list of probes, valid values for MMS probes are ['1','2','3','4']. 
                       If no probe is specified the default is '1'
         level:        indicates level of data processing. levels include 'l2', 'l1b', 'l1a'. 
                       The default if no level is specified is 'l2'
         datatype:     feeps data types include:
                       L2, L1b: ['electron', 'ion']
                       L1a: ['electron-bottom', 'electron-top', 'ion-bottom', 'ion-top']
                       If no value is given the default is 'electron' for L2/L1b data, and all
                       for L1a data.
         data_rate:    instrument data rates for feeps include 'brst' 'srvy'. The
                       default is 'srvy'.
         data_units:   specify units for omni-directional calculation and spin averaging
         local_data_dir: local directory to store the CDF files; should be set if
                       you're on *nix or OSX, the default currently assumes Windows (c:\data\mms\)
         source:       specifies a different system variable. By default the MMS mission 
                       system variable is !mms
         get_support_data: load support data (defined by support_data attribute in the CDF)
         tplotnames:   names for tplot variables
         no_color_setup: don't setup graphics configuration; use this keyword when you're using 
                       this load routine from a terminal without an X server running
         time_clip:    clip the data to the requested time range; note that if you do not use 
                       this keyword you may load a longer time range than requested
         no_update:    set this flag to preserve the original data. if not set and newer data is 
                       found the existing data will be overwritten
         suffix:       appends a suffix to the end of the tplot variable name. this is useful for
                       preserving original tplot variable.
         varformat:    should be a string (wildcards accepted) that will match the CDF variables
                       that should be loaded into tplot variables
         cdf_filenames:  this keyword returns the names of the CDF files used when loading the data
         cdf_version:  specify a specific CDF version # to load (e.g., cdf_version='4.3.0')
         latest_version: only grab the latest CDF version in the requested time interval 
                       (e.g., /latest_version)
         major_version: only open the latest major CDF version (e.g., X in vX.Y.Z) in the requested time interval
         min_version:  specify a minimum CDF version # to load 
         spdf: grab the data from the SPDF instead of the LASP SDC (only works for public access)
         num_smooth:   set this keyword to create a smoothed omni-directional spectra variable
                      num_smooth=1.0, ~3 data points for 1 sec; use num_smooth=19.0 for smoothing over a full spin
         available:    returns a list of files available at the SDC for the requested parameters
                       this is useful for finding which files would be downloaded (along with their sizes) if
                       you didn't specify this keyword (also outputs total download size)
         versions:     this keyword returns the version #s of the CDF files used when loading the data
         always_prompt: set this keyword to always prompt for the user's username and password;
                       useful if you accidently save an incorrect password, or if your SDC password has changed
         tt2000: flag for preserving TT2000 timestamps found in CDF files (note that many routines in
                       SPEDAS (e.g., tplot.pro) do not currently support these timestamps)
         ignore_telescopes: value (or array of values) representing telescope # to ignore while calculating omni-directional spectrograms

 OUTPUT:
  
 EXAMPLE:
     load electron data (srvy mode)
     MMS> mms_load_feeps, probes='1', trange=['2015-12-15', '2015-12-16'], datatype='electron'
     MMS> mms_feeps_pad,  probe='1', datatype='electron'
     
     See crib sheet mms_load_feeps_crib.pro for usage examples
     
 NOTES:
     The MMS plug-in in SPEDAS requires IDL 8.4 to access data at the LASP SDC
    
     Attempts to load FEEPS CDF files with different major versions (e.g., 5.5 and 6.1) will likely lead to 
     errors; be sure to use the CDF version keywords to load only one major version at a time (e.g., /latest_version or /major_version)
     
     Due to a change in variable names, this routine currently only supports v5.5+ of the FEEPS CDFs
   
     Have questions regarding this load routine, or its usage?
          https://groups.google.com/forum/#!forum/spedas
          
          
     The spectra variables created with "_clean" in their names have 
       the 500 keV integral channel removed.
     The spectra variables with '_sun_removed' in their names 
       have the sun contamination removed 
       
       (*_clean_sun_removed variables have both the 500 keV integral 
         channel removed and the sun contamination removed)
 
     FEEPS sensor eyes:
     - Electron Eyes: 1, 2, 3, 4, 5, 9, 10, 11, 12
     - Ion Eyes: 6, 7, 8
     
     8Sept17: Updated to use different active telescopes before/after the CIDP software update on 16 August 2017
     14Sept17: Updated to use different active telescopes for level=SITL ^^
     
     Please see the notes in mms_load_data for more information 

$LastChangedBy: egrimes $
$LastChangedDate: 2019-07-10 14:19:15 -0700 (Wed, 10 Jul 2019) $
$LastChangedRevision: 27435 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_4_0/projects/mms/feeps/mms_load_feeps.pro $

(See projects/mms/feeps/mms_load_feeps.pro)


MMS_READ_FEEPS_SECTOR_MASKS_CSV

[Previous Routine] [List of Routines]

 FUNCTION:
         mms_read_feeps_sector_masks_csv

 PURPOSE:
         Returns the FEEPS sectors to mask due to sunlight contamination

 OUTPUT:
         Hash table containing the sectors to mask for each spacecraft and sensor ID

 EXAMPLE:
     ; to get the masks for MMS1, top sensor = 1:
     IDL> masks = mms_read_feeps_sector_masks_csv()

     ; note the concatenation: mms+probe#+imask+[t or b]+sensorID
     IDL> mms1_top_sensor1 = masks['mms1imaskt1']
     IDL> mms1_top_sensor1
         2       3       4       5       6      20      21


 NOTES:
     Will only work in IDL 8.0+, due to the hash table data structure

     Updated to use CSV files, 8/1/2016
     
     Updated to use the CSV file closest to the requested trange (uses trange[0]), 8/15/2017
     
     

 $LastChangedBy: egrimes $
 $LastChangedDate: 2018-10-05 12:43:48 -0700 (Fri, 05 Oct 2018) $
 $LastChangedRevision: 25921 $
 $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_4_0/projects/mms/feeps/mms_read_feeps_sector_masks_csv.pro $

(See projects/mms/feeps/mms_read_feeps_sector_masks_csv.pro)