This page was created by the IDL library routine
mk_html_help2.
Last modified: Sat Apr 5 18:16:45 2025.
CREATED BY MOKA: 2017-01-28 #1 removes un-needed fields from struct to increase efficiency #2 Reforms into 1D array (angle*energy) for making easier to calculate pitch angle distrib. #3 copy data and zero inactive bins to ensure areas with no data are represented as NaN $LastChangedBy: egrimes $ $LastChangedDate: 2018-04-03 15:14:57 -0700 (Tue, 03 Apr 2018) $ $LastChangedRevision: 24992 $ $URL: svn+ssh://thmsvn@ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/projects/mms/particles/moka/moka_mms_clean_data.pro $
(See projects/mms/particles/moka/moka_mms_clean_data.pro)
Procedure:
moka_mms_pad_fpi
Purpose:
To process MMS FPI data and return
(1) pitch-angle-distribution (angle vs energy plot)
(2) energy spectrum in the omni, para, perp and anti-para directions.
(3) One-count-level is also returned.
Calling Sequence:
(Similar to spd_slice2d. See also moka_mms_pad_fpi_crib.pro)
structure = moka_mms_pad_fpi(dist [,disterr] $
[,time=time [,window=window | samples=samples]]
[trange=trange] ... )
INPUT:
DIST : A pointer to 3D data structure.
DISTERR: A pointer to 3D data error structure
TRANGE : Two-element time range over which data will be averaged. (string or double)
TIME : Time at which the pad 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.
MAG_DATA: Name of tplot variable containing magnetic field data or 3-vector.
This will be used for pitch-angle calculation and must be in the
same coordinates as the particle data.
VEL_DATA: Name of tplot variable containing the bulk velocity data or 3-vector.
This will be used for pitch-angle calculation and must be in the
same coordinates as the particle data.
nbin: number of bins in the pitch-angle direction
norm: Set this keyword for normalizing the data at each energy bin
units: units for both the pitch-angle-distribution (pad) and energy spectrum.
Options are 'eflux' [eV/(cm!U2!N s sr eV)] or
'df_km' [s!U3!N / km!U6!N']
The default is 'eflux'. The return structure contains a tag "UNITS".
pr___0: pitch angle range for the "para" spectrum, default = [0,45]
pr__90: pitch angle range for the "perp" spectrum, default = [45,135]
pr_180: pitch angle range for the "anti-para" spectrum, default = [135,180]
Output:
a structure containing the results
History:
2016-05-15 Created by Mitsuo Oka
2017-01-28 Fixed energy bin mistake
2017-03-14 Fixed para and anti-para mistake (thanks to R. Mistry)
2017-05-12 Fixed eflux calculation
2017-10-17 Added SUBTRACT_ERROR keyword
2017-10-17 Changed the interface so that it works like spd_slice2d
$LastChangedBy: moka $
$LastChangedDate: 2017-09-30 11:03:14 -0700 (Sat, 30 Sep 2017) $
$LastChangedRevision: 24073 $
$URL: svn+ssh://ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/projects/mms/particles/moka/moka_mms_pad.pro $
(See projects/mms/particles/moka/moka_mms_pad_fpi.pro)
A crib for moka_mms_pad_fpi $LastChangedBy: moka $ $LastChangedDate: 2017-09-30 11:03:14 -0700 (Sat, 30 Sep 2017) $ $LastChangedRevision: 24073 $ $URL: svn+ssh://ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/projects/mms/particles/moka/moka_mms_pad.pro $
(See projects/mms/particles/moka/moka_mms_pad_fpi_crib.pro)
Procedure: moka_mms_pad_plot Purpose: To plot data generated by moka_mms_pad_fpi USAGE: See 'moka_mms_pad_fpi_crib' History: 2017-10-17 Created by Mitsuo Oka $LastChangedBy: moka $ $LastChangedDate: 2017-09-30 11:03:14 -0700 (Sat, 30 Sep 2017) $ $LastChangedRevision: 24073 $ $URL: svn+ssh://ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/projects/mms/particles/moka/moka_mms_pad.pro $
(See projects/mms/particles/moka/moka_mms_pad_plot.pro)
////////////////////////////////////////////////////////////////
- This is a hacked version of 'mms_part_products', which
enables us to plot many spectrograms.
- Please see moka_mms_part_products_crib.pro
////////////////////////////////////////////////////////////////
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.)
'dist' - dump all distribution data for later processing
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: 2016-10-06 09:35:27 -0700 (Thu, 06 Oct 2016) $
$LastChangedRevision: 22050 $
$URL: svn+ssh://ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/projects/mms/particles/mms_part_products.pro $
(See projects/mms/particles/moka/moka_mms_part_products.pro)
Procedure: moka_mms_part_products_crib History: Created on 2017-01-01 by moka $LastChangedBy: egrimes $ $LastChangedDate: 2016-10-06 09:35:27 -0700 (Thu, 06 Oct 2016) $ $LastChangedRevision: 22050 $ $URL: svn+ssh://ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/projects/mms/particles/mms_part_products.pro $
(See projects/mms/particles/moka/moka_mms_part_products_crib.pro)
Procedure:
moka_mms_part_products_pt
Purpose:
To generate pitch-angle vs time spectrograms from the distribution data
dumped into a tplot variable by
moka_mms_part_products,name,mag_name=mag_name,out=['pad']
History:
Created on 2017-01-01 by moka
$LastChangedBy: egrimes $
$LastChangedDate: 2016-10-06 09:35:27 -0700 (Thu, 06 Oct 2016) $
$LastChangedRevision: 22050 $
$URL: svn+ssh://ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/projects/mms/particles/mms_part_products.pro $
(See projects/mms/particles/moka/moka_mms_part_products_pt.pro)
Procedure: moka_pgs_make_pad Purpose: Generate pitch angle distribution from the distribution data dumped by 'moka_mms_part_products' with out=['pad'] History: Created on 2017-01-01 by moka $LastChangedBy: egrimes $ $LastChangedDate: 2016-10-06 09:35:27 -0700 (Thu, 06 Oct 2016) $ $LastChangedRevision: 22050 $ $URL: svn+ssh://ambrosia.ssl.berkeley.edu/repos/spdsoft/trunk/projects/mms/particles/mms_part_products.pro $
(See projects/mms/particles/moka/moka_pgs_make_pad.pro)