This page was created by the IDL library routine
mk_html_help2
.
Last modified: Wed Jun 12 10:49:46 2024.
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_km - s^3 / km^6 'psd' is treated as 'df_km' 'df' is no longer supported by these routines due to inconsistencies with THEMIS/other missions in SPEDAS 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: 2018-11-21 18:02:57 -0800 (Wed, 21 Nov 2018) $ $LastChangedRevision: 26169 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_6_1/projects/mms/particles/mms_convert_flux_units.pro $
(See projects/mms/particles/mms_convert_flux_units.pro)
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_km' 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 $LastChangedBy: egrimes $ $LastChangedDate: 2018-04-03 12:46:57 -0700 (Tue, 03 Apr 2018) $ $LastChangedRevision: 24987 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_6_1/projects/mms/particles/mms_get_dist.pro $
(See projects/mms/particles/mms_get_dist.pro)
Procedure: mms_part_conv_units Purpose: simple wrapper around mms_convert_flux_units that can be used as the 'units_procedure' in our 3d particle data 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/trunk/projects/mms/particles/mms_convert_flux_units.pro $
(See projects/mms/particles/mms_part_conv_units.pro)
FUNCTION: mms_part_des_photoelectrons PURPOSE: Loads and returns the FPI/DES photoelectron model based on stepper ID INPUT: dist_var: DES distribution data NOTES: see: https://agupubs.onlinelibrary.wiley.com/doi/full/10.1002/2017JA024518 $LastChangedBy: egrimes $ $LastChangedDate: 2020-07-08 07:52:14 -0700 (Wed, 08 Jul 2020) $ $LastChangedRevision: 28860 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_6_1/projects/mms/particles/mms_part_des_photoelectrons.pro $
(See projects/mms/particles/mms_part_des_photoelectrons.pro)
PROCEDURE: mms_part_getpad PURPOSE: Quickly generate pitch angle spectrograms from multipad output from mms_part_getspec/mms_part_products NOTES: still a work in progress $LastChangedBy: egrimes $ $LastChangedDate: 2018-09-20 15:04:07 -0700 (Thu, 20 Sep 2018) $ $LastChangedRevision: 25838 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_6_1/projects/mms/particles/mms_part_getpad.pro $
(See projects/mms/particles/mms_part_getpad.pro)
Procedure: mms_part_getspec Purpose: This is a wrapper around mms_part_products that loads required support data (if not already loaded), and optionally creates angular spectrograms with B-field and S/C ram directions specified using symbols Keywords: probes: array of probes instrument: fpi or hpca species: depends on instrument: FPI: 'e' for electrons, 'i' for ions HPCA: 'hplus' for H+, 'oplus' for O+, 'heplus' for He+, 'heplusplus', for He++ outputs: list of requested output types, 'energy' - energy spectrogram 'phi' - azimuthal spectrogram 'theta' - latitudinal spectrogram 'gyro' - gyrophase spectrogram 'pa' - pitch angle spectrogram 'multipad' - pitch angle spectrogram at every energy (multi-dimensional PAD variable, to be used by mms_part_getpad) 'moments' - distribution moments (density, velocity, etc.) add_bfield_dir: add B-field direction (+, -) to the angular spectrograms (phi, theta) add_ram_dir: add S/C ram direction (X) to the angular spectrograms (phi, theta) dir_interval: number of seconds between B-field and S/C ram direction symbols on angular spectrogram plots subtract_bulk: subtract the bulk velocity prior to doing the calculations subtract_error: subtract the distribution error prior to doing the calculations (FPI only, currently) subtract_spintone: subtract the spin-tone from the velocity vector prior to bulk velocity subtraction (FPI versions 3.2 and later only) photoelectron_corrections: *experimental* photoelectron corrections for DES; enabled by default for DES moments; you can disable with photoelectron_corrections=0 remove_fpi_sw: Flag to remove the solar wind component from the FPI ion DFs prior to performing the calculations The following are found by default for the requested instrument/probe/data_rate; use these keywords to override the defaults: mag_name: Use a different tplot variable containing magnetic field data for moments and FAC transformations pos_name: Use a different tplot variable containing spacecraft position for FAC transformations vel_name: Use a different tplot variable containing velocity data in km/s when subtracting the bulk velocity Notes: Updated to automatically center HPCA measurements if not specified already, 18Oct2017 Updated to automatically correct FPI-DES moments for photoelectrons, 20Sept2018 FPI-DES internal photoelectrons are corrected using Dan Gershman's photoelectron model; see the following for details: Spacecraft and Instrument Photoelectrons Measured by the Dual Electron Spectrometers on MMS https://agupubs.onlinelibrary.wiley.com/doi/full/10.1002/2017JA024518 Spacecraft photoelectrons are corrected in moments_3d $LastChangedBy: egrimes $ $LastChangedDate: 2023-03-28 15:52:31 -0700 (Tue, 28 Mar 2023) $ $LastChangedRevision: 31682 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_6_1/projects/mms/particles/mms_part_getspec.pro $
(See projects/mms/particles/mms_part_getspec.pro)
Procedure: mms_part_isee3d Purpose: This is a wrapper around isee_3d that loads required support data and plots the distribution Keywords: probe: MMS s/c # to create the 2D slice for instrument: fpi or hpca species: depends on instrument: FPI: 'e' for electrons, 'i' for ions HPCA: 'hplus' for H+, 'oplus' for O+, 'heplus' for He+, 'heplusplus', for He++ level: level of the data you'd like to plot data_rate: data rate of the distribution data you'd like to plot trange: two-element time range over which data will be averaged (optional, ignored if 'time' is specified) spdf: load the data from the SPDF instead of the LASP SDC Notes: This routine always centers the distribution/moments data $LastChangedBy: egrimes $ $LastChangedDate: 2019-04-30 09:44:09 -0700 (Tue, 30 Apr 2019) $ $LastChangedRevision: 27150 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_6_1/projects/mms/particles/mms_part_isee3d.pro $
(See projects/mms/particles/mms_part_isee3d.pro)
Procedure: mms_part_products Purpose: Generate spectra and moments from 3D MMS particle data. Data Products: 'energy' - energy spectrogram 'phi' - azimuthal spectrogram 'theta' - latitudinal spectrogram 'gyro' - gyrophase spectrogram 'pa' - pitch angle spectrogram 'multipad' - pitch angle spectrogram at each energy (multi-dimensional tplot variable, you'll need to use mms_part_getpad to generate PADs at various energies) '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: Specify 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_km' - 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 bulk velocity (experimental) remove_fpi_sw: Flag to remove the solar wind component from the FPI ion DFs prior to performing the calculations 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! -FPI-DES photoelectrons are corrected using Dan Gershman's photoelectron model; see the following for details: Spacecraft and Instrument Photoelectrons Measured by the Dual Electron Spectrometers on MMS https://agupubs.onlinelibrary.wiley.com/doi/full/10.1002/2017JA024518 -Note that there may still be slight differences between the PGS moments and the official moments released by the team. The official moments released by the team are the scientific products you should use in your analysis. - Note: versions of this code between 28July2021 and 5Nov2021 automatically removed negative values after photoelectron corrections; this functionality is now available by setting the keyword: /zero_negative_values $LastChangedBy: egrimes $ $LastChangedDate: 2023-03-28 15:41:29 -0700 (Tue, 28 Mar 2023) $ $LastChangedRevision: 31681 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_6_1/projects/mms/particles/mms_part_products.pro $
(See projects/mms/particles/mms_part_products.pro)
Procedure: mms_part_slice2d Purpose: This is a wrapper around spd_slice2d and spd_slice2d_plot that loads required support data, creates and plots the slice Keywords: PROBE: MMS s/c # to create the 2D slice for INSTRUMENT: fpi or hpca SPECIES: depends on instrument: FPI: 'e' for electrons, 'i' for ions HPCA: 'hplus' for H+, 'oplus' for O+, 'heplus' for He+, 'heplusplus', for He++ LEVEL: level of the data you'd like to plot DATA_RATE: data rate of the distribution data you'd like to plot TIME: time of the 2D slice TRANGE: two-element time range over which data will be averaged (optional, ignored if 'time' is specified) SPDF: load the data from the SPDF instead of the LASP SDC OUTPUT: returns the computed slice UNITS: units of the slice (default is df_cm - other options include 'df_km', 'flux', 'eflux') TRANGE: Two-element time range over which data will be averaged. (string or double) TIME: Time at which the slice will be computed. (string or double) SAMPLES: Number of nearest samples to TIME to average. (int/double) If neither SAMPLES nor WINDOW are specified then default=1. WINDOW: Length in seconds from TIME over which data will be averaged. (int/double) CENTER_TIME: Flag denoting that TIME should be midpoint for window instead of beginning. SUM_SAMPLES: Flag denoting that the data should be summed over the requested trange rather than averaged THREE_D_INTERP: Flag to use 3D interpolation method (described below) TWO_D_INTERP: Flag to use 2D interpolation method (described below) GEOMETRIC: Flag to use geometric interpolation method (described below) RESOLUTION: Integer specifying the resolution along each dimension of the slice (defaults: 2D/3D interpolation: 150, geometric: 500) SMOOTH: An odd integer >=3 specifying the width of a smoothing window in # of points. Smoothing is applied to the final plot using a gaussian convolution. Even entries will be incremented, 0 and 1 are ignored. ENERGY: Flag to plot data against energy (in eV) instead of velocity. LOG: Flag to apply logarithmic scaling to the radial measure (i.e. energy/velocity). (on by default if /ENERGY is set) ERANGE: Two element array specifying the energy range to be used in eV. THETARANGE: (2D interpolation only) Angle range, in degrees [-90,90], used to calculate slice. Default = [-20,20]; will override ZDIRRANGE. ZDIRRANGE: (2D interpolation only) Z-Axis range, in km/s, used to calculate slice. Ignored if called with THETARANGE. AVERAGE_ANGLE: (geometric interpolation only) Two element array specifying an angle range over which averaging will be applied. The angle is measured from the slice plane and about the slice's horizontal axis; positive in the right handed direction. This will average over all data within that range. Note: for the default rotation='xy', the angle is measured from the XY slice plane and about the x-axis e.g. rotation='xy', average_angle=[-25,25] will average data within 25 degrees of the XY slice plane about it's x-axis or rotation='yz', average_angle=[-25,25] will average data within 25 degrees of the YZ slice plane about it's y-axis SUM_ANGLE: (geometric interpolation only) Two element array specifying an angle range over which summing will be applied. The angle is measured from the slice plane and about the slice's horizontal axis; positive in the right handed direction. This will sum over all data within that range. Note: for the default rotation='xy', the angle is measured from the XY slice plane and about the x-axis e.g. rotation='xy', sum_angle=[-25,25] will sum data within 25 degrees of the XY slice plane about it's x-axis or rotation='yz', sum_angle=[-25,25] will sum data within 25 degrees of the YZ slice plane about it's y-axis DETERM_TOLERANCE: tolerance of the determinant of the custom rotation matrix (maximum acceptable difference from determ(C)=1 where C is the user's custom rotation matrix); default is 1e-6 SUBTRACT_BULK: subtract the bulk velocity prior to doing the calculations PERP_SUBTRACT_BULK: subtract the perpendicular bulk velocity in field-aligned coordinates i.e., finds the perp velocity by rotating into the 'bv' system, then sets the X component of velocity to zero, and inverse, then subtracts this velocity instead of the full bulk velocity REMOVE_FPI_SW: remove the solar wind component from the FPI ion DF prior to calculating Orientation Keywords: ROTATION: Aligns the data relative to the magnetic field and/or bulk velocity. This is applied after the CUSTOM_ROTATION. (BV and BE are invariant between coordinate systems) 'BV': The x axis is parallel to B field; the bulk velocity defines the x-y plane 'BE': The x axis is parallel to B field; the B x V(bulk) vector defines the x-y plane 'xy': (default) The x axis is along the data's x axis and y is along the data's y axis 'xz': The x axis is along the data's x axis and y is along the data's z axis 'yz': The x axis is along the data's y axis and y is along the data's z axis 'xvel': The x axis is along the data's x axis; the x-y plane is defined by the bulk velocity 'perp': The x axis is the bulk velocity projected onto the plane normal to the B field; y is B x V(bulk) 'perp_xy': The data's x & y axes are projected onto the plane normal to the B field 'perp_xz': The data's x & z axes are projected onto the plane normal to the B field 'perp_yz': The data's y & z axes are projected onto the plane normal to the B field CUSTOM_ROTATION: Applies a custom rotation matrix to the data. Input may be a 3x3 rotation matrix or a tplot variable containing matrices. If the time window covers multiple matrices they will be averaged. This is applied before other transformations SLICE_X & SLICE_NORM: These keywords respectively specify the slice plane's x-axis and normal within the coordinates specified by CUSTOM_ROTATION and ROTATION. Both keywords take 3-vectors as input. (See note below) If SLICE_X is not specified then the given coordinate's x-axis will be used. If SLICE_X is not perpendicular to the normal it's projection onto the slice plane will be used. An error will be thrown if no projection exists. If SLICE_NORM is not specified then the given coordinate's z-axis will be used (slice along by x-y plane in those coordinates). examples: Slice along the data's x-z plane: ROTATION='xz' Slice plane's x axis is GSM x and y is in the direction of the bulk velocity: CUSTOM_ROTATION='my_gsm_tvar', ROTATION='xvel' Slice is perpendicular to "tvar1" and x axis is defined by projection of "tvar2" SLICE_NORM='tvar1', SLICE_X='tvar2' NOTE: Update at 06/04/2018 - The SLICE_X & SLICE_NORM are defined after CUSTOM_ROTATION but before the ROTATION. DISPLACEMENT: Vector. New center of the coordinate system. example: Slice at the point x=0.5, y = 0.5 and z=0.1. DISPLACEMENT = [0.5, 0.5. 0.1] Plotting Keywords: LEVELS: Number of color contour levels to plot (default is 60) OLINES: Number of contour lines to plot (default is 0) CONTOURS_OPLOT: Boolean indicating to only plot contours, not the data. this is especially useful if you're interested in plotting 2-d or 3-d interpolated contours onto plots using geometric interpolation; requires an already existing 2d slice plot ZLOG: Boolean indicating logarithmic contour scaling (on by default) ECIRCLE: Boolean to plot circle(s) designating min/max energy from distribution (on by default) SUNDIR: Boolean to plot the projection of scaled sun direction (black line). Requires GET_SUN_DIRECTION set with spd_dist_array. PLOTAXES: Boolean to plot x=0 and y=0 axes (on by default) PLOTBULK: Boolean to plot projection of bulk velocity vector (red line). (on by default) PLOTORIGIN: Boolean to plot a new origin at the bulk velocity and/or sun location instead of plotting the projection PLOTBFIELD: Boolean to plot projection of scaled B field (cyan line). Requires B field data to be loaded and specified to spd_slice2d with mag_data keyword. TITLE: String used as plot's title SHORT_TITLE: Flag to only use time range and # of samples for title CLABELS: Boolean to annotate contour lines. CHARSIZE: Specifies character size of annotations (1 is normal) [XYZ]RANGE: Two-element array specifying x/y/z axis range. [XYZ]TICKS: Integer(s) specifying the number of ticks for each axis [XYZ]PRECISION: Integer specifying annotation precision (sig. figs.). Set to zero to truncate printed values to integers. [XYZ]STYLE: Integer specifying annotation style: Set to 0 (default) for style to be chosen automatically. Set to 1 for decimal annotations only ('0.0123') Set to 2 for scientific notation only ('1.23e-2') [B,V,SUN]_COLOR: Specify the color of the corresponding support vector. (e.g. "b_color=0", see IDL graphics documentation for options) NOCOLORBAR: Suppress z axis color bar. PLOTSIZE: The size of the plot in device units (usually pixels) (Not implemented for postscript). CUSTOM: Flag that to disable automatic window creation and allow user-controlled plots. BACKGROUND_COLOR_INDEX: Integer (0-255) specifying a custom background color where data = 0.0 BACKGROUND_COLOR_RGB: 3D array of integers (0-255) representing RGB values of the background color where data == 0.0; this keyword modifies the current color table to include this color at index = 7 Exporting keywords: EXPORT: String designating the path and file name of the desired file. The plot will be exported to a PNG image by default. EPS: Boolean indicating that the plot should be exported to encapsulated postscript. Interpolation Methods: 3D Interpolation: The entire 3-dimensional distribution is linearly interpolated onto a regular 3d grid and a slice is extracted from the volume. 2D Interpolation: Datapoints within the specified theta or z-axis range are projected onto the slice plane and linearly interpolated onto a regular 2D grid. Geometric (default): Each point on the plot is given the value of the bin it intersects. This allows bin boundaries to be drawn at high resolutions. Examples: You can find examples in the following crib sheets: mms/examples/advanced/mms_slice2d_fpi_crib.pro mms/examples/advanced/mms_slice2d_hpca_crib.pro Notes: This routine always centers the distribution/moments data Default interpolation changed to geometric (from 3D), egrimes, 27Feb2020 (requested by the FPI team at last year's GEM) $LastChangedBy: egrimes $ $LastChangedDate: 2023-03-28 12:25:34 -0700 (Tue, 28 Mar 2023) $ $LastChangedRevision: 31675 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_6_1/projects/mms/particles/mms_part_slice2d.pro $
(See projects/mms/particles/mms_part_slice2d.pro)
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: egrimes $ $LastChangedDate: 2017-06-30 07:36:07 -0700 (Fri, 30 Jun 2017) $ $LastChangedRevision: 23532 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_6_1/projects/mms/particles/mms_pgs_clean_data.pro $
(See projects/mms/particles/mms_pgs_clean_data.pro)
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: 2018-08-07 13:36:40 -0700 (Tue, 07 Aug 2018) $ $LastChangedRevision: 25597 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_6_1/projects/mms/particles/mms_pgs_clean_support.pro $
(See projects/mms/particles/mms_pgs_clean_support.pro)
Procedure: mms_pgs_make_e_spec Purpose: Builds energy spectrogram from simplified particle data structure. Input: data: single sanitized data structure Input/Output: spec: The spectrogram (ny x ntimes) yaxis: The y axis (ny OR ny x ntimes) -Each time this procedure runs it will concatenate the sample's data to the SPEC variable. -Both variables will be initialized if not set -The y axis will remain a single dimension until a change is detected in the data, at which point it will be expanded to two dimensions. Notes: $LastChangedBy: egrimes $ $LastChangedDate: 2018-04-24 16:23:53 -0700 (Tue, 24 Apr 2018) $ $LastChangedRevision: 25106 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_6_1/projects/mms/particles/mms_pgs_make_e_spec.pro $
(See projects/mms/particles/mms_pgs_make_e_spec.pro)
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: 2018-07-02 15:28:15 -0700 (Mon, 02 Jul 2018) $ $LastChangedRevision: 25430 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_6_1/projects/mms/particles/mms_pgs_make_fac.pro $
(See projects/mms/particles/mms_pgs_make_fac.pro)
Procedure: mms_pgs_make_multipad_spec Purpose: Builds theta (latitudinal) spectrogram from simplified particle data structure. this is like mms_pgs_make_theta_spec, except it's per energy and this routine expects 'spec' to be sent already initialized Input: data: single sanitized data structure Input/Output: spec: The spectrogram (ntimes x n_energy x ny) yaxis: The y axis (ny OR ny x ntimes) colatitude: Flag to specify that data is in colatitude -Each time this procedure runs it will concatenate the sample's data to the SPEC variable. -Both variables will be initialized if not set -The y axis will remain a single dimension until a change is detected in the data, at which point it will be expanded to two dimensions. Notes: forked from mms_pgs_make_theta_spec by egrimes on 23 April 2018 $LastChangedBy: egrimes $ $LastChangedDate: 2017-06-30 07:36:07 -0700 (Fri, 30 Jun 2017) $ $LastChangedRevision: 23532 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/projects/mms/particles/mms_pgs_make_theta_spec.pro $
(See projects/mms/particles/mms_pgs_make_multipad_spec.pro)
Procedure: mms_pgs_make_phi_spec Purpose: Builds phi (longitudinal) spectrogram from simplified particle data structure. Input: data: single sanitized data structure Input/Output: spec: The spectrogram (ny x ntimes) yaxis: The y axis (ny OR ny x ntimes) -Each time this procedure runs it will concatenate the sample's data to the SPEC variable. -Both variables will be initialized if not set -The y axis will remain a single dimension until a change is detected in the data, at which point it will be expanded to two dimensions. Notes: $LastChangedBy: egrimes $ $LastChangedDate: 2017-06-30 07:36:07 -0700 (Fri, 30 Jun 2017) $ $LastChangedRevision: 23532 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_6_1/projects/mms/particles/mms_pgs_make_phi_spec.pro $
(See projects/mms/particles/mms_pgs_make_phi_spec.pro)
Procedure: mms_pgs_make_theta_spec Purpose: Builds theta (latitudinal) spectrogram from simplified particle data structure. Input: data: single sanitized data structure Input/Output: spec: The spectrogram (ny x ntimes) yaxis: The y axis (ny OR ny x ntimes) colatitude: Flag to specify that data is in colatitude -Each time this procedure runs it will concatenate the sample's data to the SPEC variable. -Both variables will be initialized if not set -The y axis will remain a single dimension until a change is detected in the data, at which point it will be expanded to two dimensions. Notes: $LastChangedBy: egrimes $ $LastChangedDate: 2017-06-30 07:36:07 -0700 (Fri, 30 Jun 2017) $ $LastChangedRevision: 23532 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_6_1/projects/mms/particles/mms_pgs_make_theta_spec.pro $
(See projects/mms/particles/mms_pgs_make_theta_spec.pro)
Procedure: mms_pgs_make_tplot Purpose: Create tplot variable with standard spectrogram settings. Input: name: name of new tplot variable to create x: x axis (time) v1: first dimension v2: second dimension z: z axis (data) _extra: Any other keywords used will be passed to tplot and set in the dlimits of the new variable. (e.g. ylog=1 to set logarithmic y axis) Output: Creates a tplot variable. tplotnames=tplotnames : Concatenates the name of the new variable onto tnames argument Notes: Forked from spd_pgs_make_tplot, on 3/13/2018, to support creating multi-dimensional tplot variables in mms_part_products_new $LastChangedBy: egrimes $ $LastChangedDate: 2018-03-20 10:00:31 -0700 (Tue, 20 Mar 2018) $ $LastChangedRevision: 24910 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_6_1/projects/mms/particles/mms_pgs_make_tplot.pro $
(See projects/mms/particles/mms_pgs_make_tplot.pro)
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: egrimes $ $LastChangedDate: 2017-06-30 07:36:07 -0700 (Fri, 30 Jun 2017) $ $LastChangedRevision: 23532 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_6_1/projects/mms/particles/mms_pgs_split_hpca.pro $
(See projects/mms/particles/mms_pgs_split_hpca.pro)
PROCEDURE: spd_slice1d_plot with FPI modifications by Simon Wellenzohn PURPOSE: Create 1D plot from a 2D particle slice This version allows you to plot the integral over a certain angle section (white lines in the plot) of the 2D distribution. The X axis of the plot created is a histogram with the width of the columns representing the energy channels of FPI. EXAMPLES: MMS> mms_slice1d_plot_fpi, slice, alpha=[0,0], width=[30,30], xrange=[-2500, 2500], yrange=[1e-25, 1d-22], export=export_dir INPUT: slice: slice returned by spd_slice2d alpha: angle in degrees to the x axis marking the center of the circle sector given for both the - and + x side width: angle in degrees which sets the width of the circle sector given for both - and + x side xrange: sets the xrange in km/s yrange: sets y range in integrated flux export: export path as string NOTES: minor modifications by egrimes, Jan 2020 $LastChangedBy: egrimes $ $LastChangedDate: 2020-01-28 17:59:08 -0800 (Tue, 28 Jan 2020) $ $LastChangedRevision: 28247 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/tags/spedas_6_1/projects/mms/particles/mms_slice1d_plot_fpi.pro $
(See projects/mms/particles/mms_slice1d_plot_fpi.pro)