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

Last modified: Fri Nov 7 18:17:52 2025.

# Directory Listing of Routines

# projects/mms/sitl/interface

- MMS_BURST_CDQ
- MMS_BURST_FOM
- MMS_BURST_FOM_WINDOW
- MMS_BURST_MDQ
- MMS_BURST_SEGMENT
- MMS_BURST_SORT_CONVOL

# Routine Descriptions

## MMS_BURST_CDQ

[Next Routine] [List of Routines]

     FUNCTION: MMS_BURST_CDQ, TDN, WEIGHT, OFFSET, NEGATIVE=NEGATIVE

     PURPOSE: Calculates CDQ from TDNs using weight and offset tables.

     INPUT:
       TDN              - REQUIRED. Npts by Ntdq array of TDN values.
       WEIGHT           - REQUIRED. Weights for TDQ values. Ntdq elements.
                          RECOMMEND that WEIGHT totals to 1.
       OFFSET           - REQUIRED. Offsets for TDQ values. Ntdq elements.

     CAUTION!             Npts and Ntdq determined from TDN array. WEIGHT and
                          OFFSET must have Ntdq elements or program exits.

     KEYWORDS:
       NEGATIVE         - OPTIONAL. If set, TDN-WEIGHT and be less than zero.

     OUTPUT: A floating-point array of CDQ values, Npts elements.

     INITIAL VERSION: REE 2011-02-15
     LASP, University of Colorado

     MODIFICATION HISTORY:

(See projects/mms/sitl/interface/mms_burst_cdq.pro)

## MMS_BURST_FOM

[Previous Routine] [Next Routine] [List of Routines]

     PROCEEDURE: MMS_BURST_FOM

     PURPOSE: Primarily an input/output for MMS_BURST_FOM_CALC. Selects segemnts
              of burst data for downlink.

     INPUT:
       MDQ              - REQUIRED. (FP) An array of MDQ values. Must be
                          continuous. Set unknown values to zero! No NaNs!

       TargetBuffs      - REQUIRED. (Long) The target number of 10s buffers to be
                          selected.
                          EXAMPLE: TargetBuffs = 360 (Tail) 120 (SubSolar)

     KEYWORDS:

       FOMAve           - OPTIONAL. (FP) The current average FOM off-line.
                          Setting FOMAve will allow program to decide to exceed or
                          lower the number of selected buffers from TargetBuffs.
                          DEFAULT: 0
                          RECOMMEND: Recommend that it is set.
                          RANGE: >0 to 255 allowed. 0 - Closest to TargetBuffs.

       TargetRatio      - OPTIONAL. (FP) Only used if FOMAve is set. The ratio
                          that TargetBuffs can change. Allows selection as
                          few as TargetBuffs/TargetRatio and as many as
                          TargetBuffs*TargetRatio buffers.
                          DEFAULT: 2 (If FOMAve is set.)
                          RANGE: 1 to 100 allowed.

       MinSegmentSize   - OPTIONAL. (Long) The minimum size of a burst segment.
                          Number of 10s buffers.
                          DEFAULT:  12 (Tail)
                          RECOMMEND: 6 (SubSolar)
                          RANGE: 1 to TargetBuffs allowed.

       MaxSegmentSize   - OPTIONAL. (Long) The maximum size of a burst segment.
                          Number of 10s buffers. If not set, no maximum is used.
                          DEFAULT:   60 (Tail)
                          RECOMMEND: 30 (SubSolar)
                          RANGE: 0 to >TargetBuffs allowed.
                          NOTE: Can cause larger segments to be broken up.
                          CAUTION: To avoid strange behavior, set
                          MaxSegmentSize > 2*MinSegmentSize

       Pad              - OPTIONAL. (Long) Will add <Pad> buffers to begining
                          and end of a segment so that the surrounding data can
                          be kept.
                          DEFAULT:   1 (Tail)
                          RECOMMEND: 0 (SubSolar)
                          RANGE: 1 to TargetBuffs/2 allowed.

       SearchRatio      - OPTIONAL. (FP) The ratio of TargetBuffs in the initial
                          search. SearchBuffs = SearchRatio*TargetBuffs
                          DEFAULT: 1 (Or TargetRatio if set)
                          RANGE: 0.5 to 2.0 allowed.
                          RECOMMEND: No not set SearchRatio is TargetRatio is set.
                          NOTE: Making larger will favor large segment sizes.

       FOMWindowSize    - OPTIONAL. (Long) The size, in number of 10 s buffers, of
                          the FOM calculation window.
                          DEFAULT: FOMWindowSize = MinSegemntSize-2*Pad
                          RANGE: 1 to TargetBuffs allowed.
                          NOTE: Making larger will favor large segment sizes.

       FOMSlope         - OPTIONAL. (FP) Used in calculating FOM. 0 for averaging
                          over a segment, 100 to weigh peaks higher.
                          DEFAULT: 20
                          RANGE: 0-100

       FOMSkew          - OPTIONAL. (FP) Used in calculating FOM. 0 for averaging
                          over a segment, 1 to weigh peaks higher.
                          DEFAULT: 0 (Tail; See note)
                          RECOMMEND: 0.5 (SubSolar)
                          RANGE: 0-1
                          NOTE: Set skew to low emphasize FOMBias

       FOMBias          - OPTIONAL. (FP) Used in calculating FOM. 0 for favoring
                          small segment, 1 for favoring large segemnts,
                          DEFAULT: 1 (Tail; See note)
                          RECOMMEND: 0.5 (SubSolar)
                          RANGE: 0-1
                          NOTE: FOMBias sets skew depending on segemnt size.

     OUTPUT: A structure, FOM_STR which contains all input and results.

     INITIAL VERSION: REE 2010-10-26
     MODIFICATION HISTORY:

     LASP, University of Colorado

(See projects/mms/sitl/interface/mms_burst_fom.pro)

## MMS_BURST_FOM_WINDOW

[Previous Routine] [Next Routine] [List of Routines]

     FUNCTION: MMS_BURST_FOM_WINDOW, WSIZE, SLOPE, SKEW, BIAS

     PURPOSE: Creates a window for sort_convol.

     INPUT:
       WSize            - REQUIRED. The size (in number of 10s buffers) of the
                          window.
                          DEFAULT: SearchWindowSize = MinSegemntSize

       Slope            - REQUIRED. A value between 0 and infinity.
                          0 gives flat window (for averaging).;
                          100 gives a step function.

       Skew             - REQUIRED. A value between 0 and 1.
                          0 gives flat window (for averaging).
                          1 favors finding spikes.

       Bias            -  REQUIRED. Skew bias. A value between 0 and 1.
                          0 favors short segments.
                          1 favors long segments.

                          NOTE: Set SLOPE and POSITION higher to
                          favor a spike. Set lower to favor a straight average.

     CAUTION!             NO INPUT CHECKING WITHIN FUNCTION! All inputs must
                          be valid.

     KEYWORDS:
    ;
     OUTPUT: A flaoting-point array of WSIZE values.

     INITIAL VERSION: REE 2010-11-02
     LASP, University of Colorado

     MODIFICATION HISTORY:

(See projects/mms/sitl/interface/mms_burst_fom_window.pro)

## MMS_BURST_MDQ

[Previous Routine] [Next Routine] [List of Routines]

     FUNCTION: MMS_BURST_MDQ, CDQ1, CDQ2, CDQ3, CDQ4, Window=Window

     PURPOSE: Calculates MDQ from CDQ inputs using a sort and convolve.

     INPUT:
       CDQ1,2,3,4       - REQUIRED. Arrays of CDQ values.
       Window           - OPTIONAL. Window for sort/convolve. Must be 4 elements.
                          DEFAULT = [0.1,0.2,0.3,0.4]

     CAUTION!             NO INPUT CHECKING WITHIN FUNCTION! CDQ's must have the
                          same number of elements and values between 0 and 255.

     KEYWORDS:

     OUTPUT: A floating-point array of MDQ values.

     INITIAL VERSION: REE 2010-11-02
     LASP, University of Colorado

     MODIFICATION HISTORY:

(See projects/mms/sitl/interface/mms_burst_mdq.pro)

## MMS_BURST_SEGMENT

[Previous Routine] [Next Routine] [List of Routines]

     PROCEEDURE: MMS_BURST_SEGMENT, MINSEGMENTSIZE, MAXSEGMENTSIZE,
                                    START=START, STOP=STOP

     PURPOSE: A UTILITY to enforce a minimum/maxim segemnt size. No input/error
              checking is in the routine. MAKE SURE INPUTS ARE VALID!

     INPUT:

       MinSegmentSize   - REQUIRED. (Long) The minimum size of a burst segment.
                          Number of 10s buffers.
                          NOTE: Input MinSegmentSize-2*Pad if Pad is set.

       MaxSegmentSize   - REQUIRED. (Long) The maximum size of a burst segment.
                          Number of 10s buffers. If not set, no maximum is used.
                          NOTE: Can cause larger segments to be broken up.
                          CAUTION: To avoid strange behavior, set
                          MaxSegmentSize > 2*MinSegmentSize

     KEYWORDS:

       Start            - REQUIRED. (FP) The starting index of a burst segment.

       Stop             - REQUIRED. (FP) The ending index of a burst segment.

     OUTPUT: Start and Stop are altered.

     INITIAL VERSION: REE 2010-10-26
     MODIFICATION HISTORY:
     LASP, University of Colorado

(See projects/mms/sitl/interface/mms_burst_segment.pro)

## MMS_BURST_SORT_CONVOL

[Previous Routine] [List of Routines]

     FUNCTION: MMS_BURST_SORT_CONVOL, DATA, WINDOW, CAP

     PURPOSE: CONVOLVES A WINDOW WITH THE DATA LOCALLY IN SORT ORDER.

     INPUT:
       DATA             - REQUIRED. CAUTION: NO NANS!
       WINDOW           - REQUIRED.
       CAP              - OPTIONAL. WILL HELP CENTER SPIKES.

     CAUTION!             NO INPUT CHECKING WITHIN FUNCTION! All inputs must
                          be valid.

     KEYWORDS:

     OUTPUT: A flaoting-point array the same size as data.

     INITIAL VERSION: REE 2010-11-02
     LASP, University of Colorado

     MODIFICATION HISTORY:

(See projects/mms/sitl/interface/mms_burst_sort_convol.pro)