This page was created by the IDL library routine mk_html_help2.

Last modified: Wed Jun 7 13:17:36 2017.


Directory Listing of Routines


Routine Descriptions

MMS_CONVERT_FLUX_UNITS

[Next Routine] [List of Routines]
Procedure:
  mms_convert_flux_unit

Purpose:
  Perform unit conversions for MMS particle data structures

Supported Units:
  flux   -   # / (cm^2 * s * sr * eV)
  eflux  -  eV / (cm^2 * s * sr * eV)
  df_cm  -  s^3 / cm^6
  df     -  s^3 / km^6

  'df_km' and 'psd' are treated as 'df'

Calling Sequence:
  mms_convert_flux_units, dist, units=units, output=output

Arguments/Keywords:
  dist: Single MMS 3D particle data structure
  units: String specifying output units
  output: Set to named variable that will hold converted structure  
  

$LastChangedBy: egrimes $
$LastChangedDate: 2017-03-10 08:56:27 -0800 (Fri, 10 Mar 2017) $
$LastChangedRevision: 22934 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_2_00/projects/mms/particles/mms_convert_flux_units.pro $

(See projects/mms/particles/mms_convert_flux_units.pro)


MMS_GET_DIST

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


Purpose:
  Retrieve particle distribution structures/pointers from data loaded
  into tplot. 


Calling Sequence:
  data = mms_get_dist( input_name [,trange=trange] [/times] [/structure] 
                       [,probe=probe] [,species=species] 
                       [,instrument=instrument] [,units=units] )


Input:
  input_name:  Name of tplot variable containing particle data (must be original name)
  single_time: Return a single time nearest to the time specified by single_time (supersedes trange and index)
  trange:  Optional two element time range
  times:  Flag to return array of full distribution sample times
  structure:  Flag to return structures instead of pointer to structures

  probe: specify probe if not present or correct in input_name 
  species:  specify particle species if not present or correct in input_name
                e.g. 'hplus', 'i', 'e'
  instrument:  specify instrument if not present or correct in input_name 
                  'hpca' or 'fpi'
  units:  (HPCA only) specify units of input data if not present or correct in input_name
              e.g. 'flux', 'df_cm'  (note: 'df' is in km, 'df_cm' is in cm)


Output:
  return value:  Pointer to structure array or structure array if /structure used.
                 Array of times if /times is used
                 0 for any error case


Notes:



$LastChangedBy: egrimes $
$LastChangedDate: 2017-06-02 13:07:34 -0700 (Fri, 02 Jun 2017) $
$LastChangedRevision: 23390 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_2_00/projects/mms/particles/mms_get_dist.pro $

(See projects/mms/particles/mms_get_dist.pro)


MMS_PART_GETSPEC

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


 Purpose:
         This is a wrapper around mms_part_products that loads required 
         support data (if not already loaded)

 Keywords:
         probes: array of probes
         instrument: fpi or hpca
         
         
$LastChangedBy: egrimes $
$LastChangedDate: 2017-05-16 21:10:54 -0700 (Tue, 16 May 2017) $
$LastChangedRevision: 23327 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_2_00/projects/mms/particles/mms_part_getspec.pro $

(See projects/mms/particles/mms_part_getspec.pro)


MMS_PART_PRODUCTS

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

Purpose:
  Generate spectra and moments from 3D MMS particle data.

   -----------------------------------------------------------------------------------------
   |  !!!!!! words of caution <------ by egrimes, 4/7/2016:                                |
   |   While you can use mms_part_products to generate particle moments for FPI from       |
   |   the distributions, these calculations are currently missing several important       |
   |   components, including photoelectron removal and S/C potential corrections.          |
   |   The official moments released by the team include these, and are the scientific     |
   |   products you should use in your analysis; see mms_load_fpi_crib to see how to load  |
   |   the FPI moments released by the team (des-moms, dis-moms datatypes)                 |
   -----------------------------------------------------------------------------------------

Data Products:
  'energy' - energy spectrogram
  'phi' - azimuthal spectrogram 
  'theta' - latitudinal spectrogram
  'gyro' - gyrophase spectrogram
  'pa' - pitch angle spectrogram
  'moments' - distribution moments (density, velocity, etc.)


Calling Sequence:
  mms_part_products, tplot_name [,trange=trange] [outputs=outputs] ...


Example Usage:
  -energy, phi, and theta spectrograms
    mms_part_products, 'mms2_des_dist_brst', outputs='phi theta energy'

  -field aligned spectrograms, limited time range
    mms_part_products, 'mms2_des_dist_brst', output='pa gyro', $
                       pos_name = 'mms2_defeph_pos', $
                       mag_name = 'mms2_fgm_bvec'

  -limit range of input data (gyro and pa limits do not affect phi/theta spectra)
    mms_part_products, 'mms2_des_dist_brst', output = 'energy pitch', $
                       energy = [15,1e5], $  ;eV
                       pitch = [45,135]

Arguments:
  tplot_name:  Name of the tplot variable containing MMS 3D particle distribution data


Input Keywords:
  trange:  Two element time range [start,end]
  outputs:  List of requested outputs, array or space separated list, default='energy'

  energy:  Two element energy range [min,max], in eV
  phi:  Two element phi range [min,max], in degrees, spacecraft spin plane
  theta:  Two element theta range [min,max], in degrees, latitude from spacecraft spin plane
  pitch:  Two element pitch angle range [min,max], in degrees, magnetic field pitch angle
  gyro:  Two element gyrophase range [min,max], in degrees, gyrophase  

  mag_name:  Tplot variable containing magnetic field data for moments and FAC transformations 
  pos_name:  Tplot variable containing spacecraft position for FAC transformations
  sc_pot_name:  Tplot variable containing spacecraft potential data for moments corrections
  vel_name:  Tplot variable containing velocity data in km/s for use with /subtract_bulk
    
  units:  Secify units of output variables.  Must be 'eflux' to calculate moments.
            'flux'   -   # / (cm^2 * s * sr * eV)
            'eflux'  -  eV / (cm^2 * s * sr * eV)  <default>
            'df_cm'  -  s^3 / cm^6
            'df'     -  s^3 / km^6

  fac_type:  Select the field aligned coordinate system variant.
             Existing options: "phigeo,mphigeo, xgse"
  regrid:  Two element array specifying the resolution of the field-aligned data.
           [n_gyro,n_pitch], default is [32,16]
  no_regrid:  (experimental) Skip regrid step when converting to field aligned coordinates.
              
  
  suffix:  Suffix to append to output tplot variable names 

  probe:  Specify probe designation when it cannot be parsed from tplot_name
  species:  Specify species when it cannot be parsed from tplot_name
  instrument:  Specify instrument when it cannot be parsed from tplot_name
  input_units:  (HPCA only) Specify units of input data when they cannot be parsed from tplot_name

  start_angle:  Set a start angle for azimuthal spectrogram y axis
    
  datagap:  Setting for tplot variables, controls how long a gap must be before it is drawn. 
            (can also manually degap)
  subtract_bulk:  Flag to subtract velocity vector from distribution before
                  calculation of field aligned angular spectra.

  display_object:  Object allowing dprint to export output messages

  
Output Keywords:
  tplotnames:  List of tplot variables that were created
  get_data_structures:  Set to named variable to return structures directly when
                        generating field aligned outputs.  This may considerably
                        slow the process!
  error:  Error status flag for calling routine, 1=error 0=success


Notes: 
  -See warning above in purpose description!


$LastChangedBy: egrimes $
$LastChangedDate: 2017-03-20 16:07:36 -0700 (Mon, 20 Mar 2017) $
$LastChangedRevision: 23004 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_2_00/projects/mms/particles/mms_part_products.pro $

(See projects/mms/particles/mms_part_products.pro)


MMS_PGS_CLEAN_DATA

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


Purpose:
  Sanitize mms FPI/HPCA data structures for use with
  mms_part_products.  Excess fields will be removed and 
  field names conformed to standard.  

  Reforms energy by theta by phi to energy by angle
  Converts units

Input:
  data_in: Single combined particle data structure


Output:
  output: Sanitized output structure for use within mms_part_products.


Notes:
  -not much should be happening here since the combined structures 
   are already fairly pruned
  -use for fpi and hpca for now


$LastChangedBy: aaflores $
$LastChangedDate: 2016-05-17 15:25:18 -0700 (Tue, 17 May 2016) $
$LastChangedRevision: 21101 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_2_00/projects/mms/particles/mms_pgs_clean_data.pro $

(See projects/mms/particles/mms_pgs_clean_data.pro)


MMS_PGS_CLEAN_SUPPORT

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


Purpose:
  Transform and/or interpolate support data to match the particle data.


Arguments:
  times: Array of sample times for particledata
  probe: String specifying the spacecraft


Input Keywords
  mag_name: String specifying a tplot variable containing magnetic field data
  sc_pot_name: String specifying a tplot variable containing spacecraft potential data
  vel_name: String specifying a tplot variable containing velocity data in km/s


Output Keywords:
  mag_out: Array of magnetic field vectors corresponding to TIMES
  sc_pot_out: Array of spacecraft potential data corresponding to TIMES
  vel_out: Array of velocity vectors corresponding to TIMES

  
Notes:
    

$LastChangedBy: egrimes $
$LastChangedDate: 2016-11-03 09:51:41 -0700 (Thu, 03 Nov 2016) $
$LastChangedRevision: 22268 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_2_00/projects/mms/particles/mms_pgs_clean_support.pro $

(See projects/mms/particles/mms_pgs_clean_support.pro)


MMS_PGS_MAKE_FAC

[Previous Routine] [Next Routine] [List of Routines]
PROCEDURE: mms_pgs_make_fac
PURPOSE:
  Generate the field aligned coordinate transformation matrix
  Specifically
  #1 guarantee mag_data is in dsl and pos data is in  gei
  #2 guarantee that time grid matches particle data

Inputs(required):

Outputs:

Keywords:

Notes:
  Needs to be vectorized because mms_cotrans is waaaay too slow if fed single vectors at a time
  If an error occurs fac_output will be undefined on return

$LastChangedBy: egrimes $
$LastChangedDate: 2017-03-10 08:58:08 -0800 (Fri, 10 Mar 2017) $
$LastChangedRevision: 22935 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_2_00/projects/mms/particles/mms_pgs_make_fac.pro $

(See projects/mms/particles/mms_pgs_make_fac.pro)


MMS_PGS_SPLIT_HPCA

[Previous Routine] [List of Routines]
Procedure:
  mms_pgs_split_hpca

Purpose:
  Split hpca elevation bins so that dphi == dtheta.
  Combined with updates to spectra generation code this should allow
  the regrid step for FAC spectra to be skipped in mms_part_products.
   
Input:
  data:  Sanitized hpca data structure

Output:
  output:  New structure with theta bins split in two
           (2x data points in angle dimension)

Notes:


$LastChangedBy: aaflores $
$LastChangedDate: 2016-09-30 17:29:27 -0700 (Fri, 30 Sep 2016) $
$LastChangedRevision: 21991 $
$URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_2_00/projects/mms/particles/mms_pgs_split_hpca.pro $

(See projects/mms/particles/mms_pgs_split_hpca.pro)