MMS Fast Plasma Instrument: Difference between revisions

From SPEDAS Wiki
Jump to navigation Jump to search
(adding syntax highlighting to code snippets)
 
(27 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[File:Fpi_summary_plot2.png|200px|thumb|right|FPI summary plot in SPEDAS]]
[[File:Fpi_summary_plot2.png|200px|thumb|right|FPI summary plot in SPEDAS]]
SPEDAS provides command line and GUI access to the MMS FPI data.
SPEDAS provides command line and GUI access to the MMS FPI data.


Prior to using these data, please read the FPI Release Notes:
Prior to using these data, please read the FPI Release Notes:


https://lasp.colorado.edu/galaxy/display/mms/FPI+Release+Notes
https://lasp.colorado.edu/mms/sdc/public/datasets/fpi/ ([https://lasp.colorado.edu/mms/sdc/public/datasets/fpi/mms-FPIReleaseNotes-220217.pdf FPI Release Notes])




Line 14: Line 15:
=== Electron Moments Data ===
=== Electron Moments Data ===
To load and plot the MMS1 FPI electron moments data on March 7, 2016:
To load and plot the MMS1 FPI electron moments data on March 7, 2016:
<div style="border: 1px solid LightGray; background-color:#F9F9F9; padding: 0px 10px; margin-left: 5px; margin-right: 5px;">
<syntaxhighlight lang="idl">
MMS> mms_load_fpi, datatype='des-moms', trange=['2016-03-07', '2016-03-08'], probe=1
MMS> mms_load_fpi, datatype='des-moms', trange=['2016-03-07', '2016-03-08'], probe=1


MMS> tplot, 'mms1_des_numberdensity_dbcs_fast'
MMS> tplot, 'mms1_des_numberdensity_fast'
 
MMS> tdegap, ['mms1_des_energyspectr_omni_fast', 'mms1_des_pitchangdist_avg'], /overwrite
 
MMS> tplot, ['mms1_des_energyspectr_omni_fast', 'mms1_des_pitchangdist_avg']
</syntaxhighlight>


MMS> tplot, ['mms1_des_energyspectr_omni_avg', 'mms1_des_pitchangdist_avg']
</div>


<gallery widths=300px heights=250px align="center">
<gallery widths=300px heights=250px align="center">
Line 29: Line 33:
=== Ion Moments Data ===
=== Ion Moments Data ===
To load and plot the ion density, along with the omni-directional spectra on March 7, 2016:
To load and plot the ion density, along with the omni-directional spectra on March 7, 2016:
<div style="border: 1px solid LightGray; background-color:#F9F9F9; padding: 0px 10px; margin-left: 5px; margin-right: 5px;">
<syntaxhighlight lang="idl">
MMS> mms_load_fpi, datatype='dis-moms', trange=['2016-03-07', '2016-03-08'], probe=1
MMS> mms_load_fpi, datatype='dis-moms', trange=['2016-03-07', '2016-03-08'], probe=1


MMS> tplot, ['mms1_dis_numberdensity_dbcs_fast', 'mms1_dis_energyspectr_omni_avg']
MMS> tdegap, ['mms1_dis_numberdensity_fast', 'mms1_dis_energyspectr_omni_fast'], /overwrite
</div>
 
MMS> tplot, ['mms1_dis_numberdensity_fast', 'mms1_dis_energyspectr_omni_fast']
</syntaxhighlight>
 


<gallery widths=300px heights=250px align="center">
<gallery widths=300px heights=250px align="center">
Line 40: Line 47:


= FPI Distributions =
= FPI Distributions =
SPEDAS can also be used to load and generate spectra from the FPI distribution functions.
SPEDAS can also be used to generate secondary data products (energy, gyrophase, PA spectra) from the FPI distribution functions.


== Examples ==
== Examples ==


=== Electron Distribution Data ===
=== Electron Distribution Data ===
To load the FPI electron data:
Generate and plot the electron energy spectra and PAD from the FPI distribution functions:
 
<div style="border: 1px solid LightGray; background-color:#F9F9F9; padding: 0px 10px; margin-left: 5px; margin-right: 5px;">
MMS> mms_load_fpi, probe=1, trange=['2015-10-16/13:02:30', '2015-10-16/13:07:30'], data_rate='brst', datatype='des-dist'
 
</div>
 
 
To generate the pitch angle distributions (PADs), we also need spacecraft position and magnetic field data covering the time range:
 
<div style="border: 1px solid LightGray; background-color:#F9F9F9; padding: 0px 10px; margin-left: 5px; margin-right: 5px;">
 
MMS> mms_load_state, probes=1, trange=['2015-10-16/13:01:30', '2015-10-16/13:08:30']
 
MMS> mms_load_fgm, probe=1, trange=['2015-10-16/13:01:30', '2015-10-16/13:08:30']
 
</div>
 
 
Generate and plot the electron energy spectra and PAD:


<div style="border: 1px solid LightGray; background-color:#F9F9F9; padding: 0px 10px; margin-left: 5px; margin-right: 5px;">
<syntaxhighlight lang="idl">
MMS> mms_part_products, 'mms1_des_dist_brst', trange=['2015-10-16/13:02:30', '2015-10-16/13:07:30'], mag_name='mms1_fgm_b_dmpa_srvy_l2_bvec', pos_name='mms1_defeph_pos', outputs=['energy','pa']
MMS> mms_part_getspec, instrument='fpi', probe='1', species='e', data_rate='brst', level='l2', outputs=['energy', 'pa'], trange=['2015-10-16/13:02:30', '2015-10-16/13:07:30']


MMS> tdegap, '*_des_dist_brst_*', /overwrite ; be sure not to interpolate through data gaps
MMS> tdegap, '*_des_dist_brst_*', /overwrite ; be sure not to interpolate through data gaps
Line 73: Line 61:
MMS> tplot, ['mms1_des_dist_brst_energy', 'mms1_des_dist_brst_pa']
MMS> tplot, ['mms1_des_dist_brst_energy', 'mms1_des_dist_brst_pa']


</div>
</syntaxhighlight>




Line 81: Line 69:




=== Ion Distribution Data ===
To generate angle-angle plots from the FPI electron distribution functions at a specific time:
To load the FPI ion data:
 
<syntaxhighlight lang="idl">
MMS> mms_fpi_ang_ang, '2015-10-16/13:07:30', species='e', data_rate='brst'


<div style="border: 1px solid LightGray; background-color:#F9F9F9; padding: 0px 10px; margin-left: 5px; margin-right: 5px;">
</syntaxhighlight>
MMS> mms_load_fpi, probe=1, trange=['2015-10-16/13:02:30', '2015-10-16/13:07:30'], data_rate='brst', datatype='dis-dist'


</div>


<gallery widths=300px heights=250px align="center">
Azimuth_vs_zenith_electrons.png|
Azimuth_vs_energy_electrons.png|
Zenith_vs_energy_electrons.png|
Pad_vs_energy_electrons.png|
</gallery>


To generate the pitch angle distributions (PADs), we also need spacecraft position and magnetic field data covering the time range:
=== Ion Distribution Data ===
Generate and plot the ion energy spectra and PAD from the FPI distribution functions:


<div style="border: 1px solid LightGray; background-color:#F9F9F9; padding: 0px 10px; margin-left: 5px; margin-right: 5px;">
<syntaxhighlight lang="idl">
MMS> mms_part_getspec, instrument='fpi', probe='1', species='i', data_rate='brst', level='l2', outputs=['energy', 'pa'], trange=['2015-10-16/13:02:30', '2015-10-16/13:07:30']


MMS> mms_load_state, probes=1, trange=['2015-10-16/13:01:30', '2015-10-16/13:08:30']
MMS> tdegap, '*_dis_dist_brst_*', /overwrite ; be sure not to interpolate through data gaps


MMS> mms_load_fgm, probe=1, trange=['2015-10-16/13:01:30', '2015-10-16/13:08:30']
MMS> tplot, ['mms1_dis_dist_brst_energy', 'mms1_dis_dist_brst_pa']


</div>
</syntaxhighlight>




Generate and plot the ion energy spectra and PAD:
<gallery widths=300px heights=250px align="center">
Mms_part_products_ion_spec.png|MMS1 FPI ion spectra and PAD on October 16, 2015
</gallery>


<div style="border: 1px solid LightGray; background-color:#F9F9F9; padding: 0px 10px; margin-left: 5px; margin-right: 5px;">
MMS> mms_part_products, 'mms1_dis_dist_brst', trange=['2015-10-16/13:02:30', '2015-10-16/13:07:30'], mag_name='mms1_fgm_b_dmpa_srvy_l2_bvec', pos_name='mms1_defeph_pos', outputs=['energy','pa']


MMS> tdegap, '*_dis_dist_brst_*', /overwrite ; be sure not to interpolate through data gaps
To generate angle-angle plots from the FPI ion distribution functions at a specific time:


MMS> tplot, ['mms1_dis_dist_brst_energy', 'mms1_dis_dist_brst_pa']
<syntaxhighlight lang="idl">
MMS> mms_fpi_ang_ang, '2015-10-16/13:07:30', species='i', data_rate='brst'


</div>
</syntaxhighlight>




<gallery widths=300px heights=250px align="center">
<gallery widths=300px heights=250px align="center">
Mms_part_products_ion_spec.png|MMS1 FPI ion spectra and PAD on October 16, 2015
Azimuth_vs_zenith_ions.png|
Azimuth_vs_energy_ions.png|
Zenith_vs_energy_ions.png|
Pad_vs_energy_ions.png|
</gallery>
</gallery>


= FPI 2D Slices =
= FPI 2D Slices =
Line 126: Line 125:
Load the FPI ion distribution data:
Load the FPI ion distribution data:


<div style="border: 1px solid LightGray; background-color:#F9F9F9; padding: 0px 10px; margin-left: 5px; margin-right: 5px;">
<syntaxhighlight lang="idl">


MMS> mms_load_fpi, data_rate='brst', datatype='dis-dist', probe=1, trange=['2015-10-16/13:06', '2015-10-16/13:07']
MMS> mms_load_fpi, data_rate='brst', datatype='dis-dist', probe=1, trange=['2015-10-16/13:06', '2015-10-16/13:07']


</div>
</syntaxhighlight>




Reformat the data for ploting using spd_slice2d:
Reformat the data for plotting using spd_slice2d:


<div style="border: 1px solid LightGray; background-color:#F9F9F9; padding: 0px 10px; margin-left: 5px; margin-right: 5px;">
<syntaxhighlight lang="idl">


MMS> dist = mms_get_dist('mms1_dis_dist_brst', trange=['2015-10-16/13:06', '2015-10-16/13:07'])
MMS> dist = mms_get_dist('mms1_dis_dist_brst', trange=['2015-10-16/13:06', '2015-10-16/13:07'])
Line 141: Line 140:
MMS> slice = spd_slice2d(dist, time='2015-10-16/13:06') ;3D interpolation
MMS> slice = spd_slice2d(dist, time='2015-10-16/13:06') ;3D interpolation


</div>
</syntaxhighlight>




Now plot the slice:
Now plot the slice:


<div style="border: 1px solid LightGray; background-color:#F9F9F9; padding: 0px 10px; margin-left: 5px; margin-right: 5px;">
<syntaxhighlight lang="idl">


MMS> spd_slice2d_plot, slice
MMS> spd_slice2d_plot, slice


</div>
</syntaxhighlight>




Line 162: Line 161:


Load data into tplot
Load data into tplot
<div style="border: 1px solid LightGray; background-color:#F9F9F9; padding: 0px 10px; margin-left: 5px; margin-right: 5px;">
<syntaxhighlight lang="idl">


MMS> mms_load_fpi, probe=1, trange=['2015-10-20/05:56:30', '2015-10-20/05:56:34'], data_rate='brst', datatype='dis-dist'
MMS> mms_load_fpi, probe=1, trange=['2015-10-20/05:56:30', '2015-10-20/05:56:34'], data_rate='brst', datatype='dis-dist'


</div>
</syntaxhighlight>




Load the data into standard structures
Load the data into standard structures
<div style="border: 1px solid LightGray; background-color:#F9F9F9; padding: 0px 10px; margin-left: 5px; margin-right: 5px;">
<syntaxhighlight lang="idl">


MMS> dist = mms_get_fpi_dist('mms1_dis_dist_brst' , trange=['2015-10-20/05:56:30', '2015-10-20/05:56:34'])
MMS> dist = mms_get_fpi_dist('mms1_dis_dist_brst' , trange=['2015-10-20/05:56:30', '2015-10-20/05:56:34'])
Line 176: Line 175:
MMS> data = spd_dist_to_hash(dist) ;convert structures to isee_3d data model
MMS> data = spd_dist_to_hash(dist) ;convert structures to isee_3d data model


</div>
</syntaxhighlight>




Load the magnetic field (cyan vector) and velocity (yellow vector) support data
Load the magnetic field (cyan vector) and velocity (yellow vector) support data
<div style="border: 1px solid LightGray; background-color:#F9F9F9; padding: 0px 10px; margin-left: 5px; margin-right: 5px;">
<syntaxhighlight lang="idl">


MMS> mms_load_fgm, probe=1, trange=['2015-10-20/05:55:30', '2015-10-20/05:57:34'], level='l2'
MMS> mms_load_fgm, probe=1, trange=['2015-10-20/05:55:30', '2015-10-20/05:57:34'], level='l2'
Line 186: Line 185:
MMS> mms_load_fpi, data_rate='brst', datatype='dis-moms', probe=1, trange=['2015-10-20/05:56:30', '2015-10-20/05:56:34']
MMS> mms_load_fpi, data_rate='brst', datatype='dis-moms', probe=1, trange=['2015-10-20/05:56:30', '2015-10-20/05:56:34']


MMS> join_vec, 'mms1_dis_bulk' + ['x','y','z'] +'_dbcs_brst', 'mms1_dis_bulk' ;combine separate velocity components
</syntaxhighlight>


</div>


Once the GUI is opened, select PSD from Units menu
<syntaxhighlight lang="idl">


Once GUI is open select PSD from Units menu
MMS> isee_3d, data=data, trange=['2015-10-20/05:56:30', '2015-10-20/05:56:34'], bfield='mms1_fgm_b_gse_srvy_l2_bvec', velocity='mms1_dis_bulkv_dbcs_brst'
<div style="border: 1px solid LightGray; background-color:#F9F9F9; padding: 0px 10px; margin-left: 5px; margin-right: 5px;">


MMS> isee_3d, data=data, trange=['2015-10-20/05:56:30', '2015-10-20/05:56:34'], bfield='mms1_fgm_b_gse_srvy_l2_bvec', velocity=velocity
</syntaxhighlight>
 
</div>




Line 202: Line 199:
Screen_20160527093648.png|MMS1 FPI ion 3D velocity distribution at 5:56:30UT on October 20, 2015
Screen_20160527093648.png|MMS1 FPI ion 3D velocity distribution at 5:56:30UT on October 20, 2015
</gallery>
</gallery>
= Acknowledgements =

Latest revision as of 19:13, 29 March 2018

FPI summary plot in SPEDAS

SPEDAS provides command line and GUI access to the MMS FPI data.


Prior to using these data, please read the FPI Release Notes:

https://lasp.colorado.edu/mms/sdc/public/datasets/fpi/ (FPI Release Notes)


FPI Moments

For more complete examples, see the FPI crib sheets located in the /mms/examples/ folder.

Examples

Electron Moments Data

To load and plot the MMS1 FPI electron moments data on March 7, 2016: <syntaxhighlight lang="idl"> MMS> mms_load_fpi, datatype='des-moms', trange=['2016-03-07', '2016-03-08'], probe=1

MMS> tplot, 'mms1_des_numberdensity_fast'

MMS> tdegap, ['mms1_des_energyspectr_omni_fast', 'mms1_des_pitchangdist_avg'], /overwrite

MMS> tplot, ['mms1_des_energyspectr_omni_fast', 'mms1_des_pitchangdist_avg'] </syntaxhighlight>


Ion Moments Data

To load and plot the ion density, along with the omni-directional spectra on March 7, 2016: <syntaxhighlight lang="idl"> MMS> mms_load_fpi, datatype='dis-moms', trange=['2016-03-07', '2016-03-08'], probe=1

MMS> tdegap, ['mms1_dis_numberdensity_fast', 'mms1_dis_energyspectr_omni_fast'], /overwrite

MMS> tplot, ['mms1_dis_numberdensity_fast', 'mms1_dis_energyspectr_omni_fast'] </syntaxhighlight>


FPI Distributions

SPEDAS can also be used to generate secondary data products (energy, gyrophase, PA spectra) from the FPI distribution functions.

Examples

Electron Distribution Data

Generate and plot the electron energy spectra and PAD from the FPI distribution functions:

<syntaxhighlight lang="idl"> MMS> mms_part_getspec, instrument='fpi', probe='1', species='e', data_rate='brst', level='l2', outputs=['energy', 'pa'], trange=['2015-10-16/13:02:30', '2015-10-16/13:07:30']

MMS> tdegap, '*_des_dist_brst_*', /overwrite ; be sure not to interpolate through data gaps

MMS> tplot, ['mms1_des_dist_brst_energy', 'mms1_des_dist_brst_pa']

</syntaxhighlight>



To generate angle-angle plots from the FPI electron distribution functions at a specific time:

<syntaxhighlight lang="idl"> MMS> mms_fpi_ang_ang, '2015-10-16/13:07:30', species='e', data_rate='brst'

</syntaxhighlight>


Ion Distribution Data

Generate and plot the ion energy spectra and PAD from the FPI distribution functions:

<syntaxhighlight lang="idl"> MMS> mms_part_getspec, instrument='fpi', probe='1', species='i', data_rate='brst', level='l2', outputs=['energy', 'pa'], trange=['2015-10-16/13:02:30', '2015-10-16/13:07:30']

MMS> tdegap, '*_dis_dist_brst_*', /overwrite ; be sure not to interpolate through data gaps

MMS> tplot, ['mms1_dis_dist_brst_energy', 'mms1_dis_dist_brst_pa']

</syntaxhighlight>



To generate angle-angle plots from the FPI ion distribution functions at a specific time:

<syntaxhighlight lang="idl"> MMS> mms_fpi_ang_ang, '2015-10-16/13:07:30', species='i', data_rate='brst'

</syntaxhighlight>


FPI 2D Slices

Examples

Basic 2D Slices

Load the FPI ion distribution data:

<syntaxhighlight lang="idl">

MMS> mms_load_fpi, data_rate='brst', datatype='dis-dist', probe=1, trange=['2015-10-16/13:06', '2015-10-16/13:07']

</syntaxhighlight>


Reformat the data for plotting using spd_slice2d:

<syntaxhighlight lang="idl">

MMS> dist = mms_get_dist('mms1_dis_dist_brst', trange=['2015-10-16/13:06', '2015-10-16/13:07'])

MMS> slice = spd_slice2d(dist, time='2015-10-16/13:06') ;3D interpolation

</syntaxhighlight>


Now plot the slice:

<syntaxhighlight lang="idl">

MMS> spd_slice2d_plot, slice

</syntaxhighlight>


Visualizing 3D Distribution Functions

SPEDAS can also be used for visualizing MMS 3D distribution functions from FPI using the ISEE3D tool, developed by the Institute for Space-Earth Environmental Research (ISEE), Nagoya University, Japan.


Load data into tplot <syntaxhighlight lang="idl">

MMS> mms_load_fpi, probe=1, trange=['2015-10-20/05:56:30', '2015-10-20/05:56:34'], data_rate='brst', datatype='dis-dist'

</syntaxhighlight>


Load the data into standard structures <syntaxhighlight lang="idl">

MMS> dist = mms_get_fpi_dist('mms1_dis_dist_brst' , trange=['2015-10-20/05:56:30', '2015-10-20/05:56:34'])

MMS> data = spd_dist_to_hash(dist) ;convert structures to isee_3d data model

</syntaxhighlight>


Load the magnetic field (cyan vector) and velocity (yellow vector) support data <syntaxhighlight lang="idl">

MMS> mms_load_fgm, probe=1, trange=['2015-10-20/05:55:30', '2015-10-20/05:57:34'], level='l2'

MMS> mms_load_fpi, data_rate='brst', datatype='dis-moms', probe=1, trange=['2015-10-20/05:56:30', '2015-10-20/05:56:34']

</syntaxhighlight>


Once the GUI is opened, select PSD from Units menu <syntaxhighlight lang="idl">

MMS> isee_3d, data=data, trange=['2015-10-20/05:56:30', '2015-10-20/05:56:34'], bfield='mms1_fgm_b_gse_srvy_l2_bvec', velocity='mms1_dis_bulkv_dbcs_brst'

</syntaxhighlight>