This page was created by the IDL library routine `mk_html_help2`.

Last modified: Tue Nov 4 18:16:51 2025.

# Directory Listing of Routines

# projects/mms/feeps

- FEEPS_BIN_INFO
  Prints FEEPS PA bin information - for debugging
- MMS_FEEPS_ACTIVE_EYES
- MMS_FEEPS_CORRECT_ENERGIES
  This function modifies the energy table in FEEPS spectra (intensity, count_rate, counts) variables
- MMS_FEEPS_ENERGY_TABLE
  This function returns the energy table based on
- MMS_FEEPS_FLAT_FIELD_CORRECTIONS
  Apply flat field correction factors to FEEPS ion/electron data;
- MMS_FEEPS_OMNI
  Calculates the omni-directional flux for all 24 sensors
- MMS_FEEPS_PAD
  Calculate pitch angle distributions using data from the
- MMS_FEEPS_PAD_SPINAVG
  Spin-averages FEEPS pitch angle distributions
- MMS_FEEPS_PITCH_ANGLES
  Generates a tplot variable containing the FEEPS pitch angles for each telescope
- MMS_FEEPS_REMOVE_BAD_DATA
  Removes bad eyes, bad lowest energy channels
- MMS_FEEPS_REMOVE_SUN
  Removes the sunlight contamination from FEEPS data
- MMS_FEEPS_SECTOR_SPEC
  Creates sector-spectrograms with FEEPS data (particle data organized by time and sector number)
- MMS_FEEPS_SMOOTH
- MMS_FEEPS_SPIN_AVG
- MMS_FEEPS_SPLIT_INTEGRAL_CH
- MMS_LOAD_FEEPS
  Load data from the Fly's Eye Energetic Particle Sensor (FEEPS) onboard MMS
- MMS_READ_FEEPS_SECTOR_MASKS_CSV
  Returns the FEEPS sectors to mask due to sunlight contamination

# 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/trunk/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: jwl $
    $LastChangedDate: 2024-03-27 16:34:54 -0700 (Wed, 27 Mar 2024) $
    $LastChangedRevision: 32511 $
    $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/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: jwl $
     $LastChangedDate: 2024-03-27 16:34:54 -0700 (Wed, 27 Mar 2024) $
     $LastChangedRevision: 32511 $
     $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/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

         If keep_bad_eyes is set, replace NaNs in energy table corrections with zeroes

     $LastChangedBy: jwl $
     $LastChangedDate: 2024-03-27 16:34:54 -0700 (Wed, 27 Mar 2024) $
     $LastChangedRevision: 32511 $
     $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/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: jwl $
     $LastChangedDate: 2024-03-27 16:34:54 -0700 (Wed, 27 Mar 2024) $
     $LastChangedRevision: 32511 $
     $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/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
           quality_flag: Specify the upper level quality index user is comfortable using in calculating omnidirection flux from available eyes. More details in data products guide.
                       For BRST or RAW:
                         Green (Quality Indicator = 0): No contaminated or masked spin sectors (best data quality);
                         Red (Quality Indicator = 3): Contaminated spin sector is associated with BURST and RAW data
                         (this data is not recommended for scientific use);
                         Grey (Quality Indicator = 4): FEEPS calibration data (this data is generated by the instrument
                         itself and is not recommended for scientific use);
                       For data in SURVEY mode, there are 5 possible quality indicators:
                         Green (Quality Indicator = 0): No contaminated or masked spin sectors (best data quality);
                         Yellow (Quality Indicator = 1): Among the spin sectors used to create a SURVEY aggregate
                         spin sector, onboard masking is successfully applied to a minimum of 1 and a maximum of 7
                         spin sectors and there is no contamination in any of the individual spin sectors. Note that
                         since this indicator applies only when onboard masking is applied, some sectors are not
                         observed.
                         Orange (Quality Indicator = 2): There is contamination of between 0 and 50% of the notmasked
                         sectors. Warning: this data contains contamination.
                         Red (Quality Indicator = 3): Same as orange except that there is contamination of 50% or
                         more of the not-masked sectors. IN ADDITION, this indicator applies to the case where
                         onboard masking is applied to all 8 spin sectors in the aggregate sector.
                         Grey (Quality Indicator = 4): FEEPS calibration data (this data is generated by the instrument
                         itself and is not recommended for scientific use);
                         Added by Christine Gabrielse 10-03-2025
           get_err:  Gets the error in the omnidirectional FEEPS intensity. 0 value is off, gt 0 sets it on. User MUST run mms_load_feeps for the l1b counts data FIRST to use this function.
                     Note: the l1b FEEPS data used by this switch is restricted to MMS team members only at present.

     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
           New version, 10/03/25 - Christine Gabrielse, added quality flag keyword

     $LastChangedBy: jwl $
     $LastChangedDate: 2025-10-08 17:56:45 -0700 (Wed, 08 Oct 2025) $
     $LastChangedRevision: 33719 $
     $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/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/trunk/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/trunk/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/trunk/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: 2022-05-26 12:23:20 -0700 (Thu, 26 May 2022) $
     $LastChangedRevision: 30833 $
     $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/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/trunk/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/trunk/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/trunk/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/trunk/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/trunk/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
             keep_bad_eyes: If set, do not remove bad eyes (defaults to false)
             quality_flag: Value can range from 2-4. Determines which eyes to use to calculate omnidirectional flux at a given time based on how many sectors were masked for sunlight.
                           For BRST or RAW:
                         Green (Quality Indicator = 0): No contaminated or masked spin sectors (best data quality);
                         Red (Quality Indicator = 3): Contaminated spin sector is associated with BURST and RAW data
                         (this data is not recommended for scientific use);
                         Grey (Quality Indicator = 4): FEEPS calibration data (this data is generated by the instrument
                         itself and is not recommended for scientific use);
                       For data in SURVEY mode, there are 5 possible quality indicators:
                         Green (Quality Indicator = 0): No contaminated or masked spin sectors (best data quality);
                         Yellow (Quality Indicator = 1): Among the spin sectors used to create a SURVEY aggregate
                         spin sector, onboard masking is successfully applied to a minimum of 1 and a maximum of 7
                         spin sectors and there is no contamination in any of the individual spin sectors. Note that
                         since this indicator applies only when onboard masking is applied, some sectors are not
                         observed.
                         Orange (Quality Indicator = 2): There is contamination of between 0 and 50% of the notmasked
                         sectors. Warning: this data contains contamination.
                         Red (Quality Indicator = 3): Same as orange except that there is contamination of 50% or
                         more of the not-masked sectors. IN ADDITION, this indicator applies to the case where
                         onboard masking is applied to all 8 spin sectors in the aggregate sector.
                         Grey (Quality Indicator = 4): FEEPS calibration data (this data is generated by the instrument
                         itself and is not recommended for scientific use);
                         Added by Christine Gabrielse 10-03-2025
           get_err:  Gets the error in the omnidirectional l2 intensity.  0 value is off, gt 0 sets it on. User MUST run mms_load_feeps for the l1b counts data FIRST to use this function.
                     (Note: the FEEPS l1b data needed for this switch is restricted to MMS team members at present.)

     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: jwl $
    $LastChangedDate: 2025-10-07 16:41:56 -0700 (Tue, 07 Oct 2025) $
    $LastChangedRevision: 33713 $
    $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/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: jwl $
     $LastChangedDate: 2025-08-28 12:15:36 -0700 (Thu, 28 Aug 2025) $
     $LastChangedRevision: 33584 $
     $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/projects/mms/feeps/mms_read_feeps_sector_masks_csv.pro $

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