Fast Auroral SnapshoT Explorer
Home
Introduction
Pictures
Publications
Data
Software
Science Operations
Mission Operations
Education Site
Links
Sitemap
   

User guide for analysis of FAST plasma data.

J. P. McFadden

The following document is designed to help you get started using IDL routines to analyze plasma data collected by the FAST electrostatic analyzers (ESA). For details on the instrument design see the Carlson et al. (The Electron and Ion Plasma Experiment for FAST, Space Science Reviews, 2001). The plasma experiment consists of an ion esa spectrometer (IES), electron esa spectrometer (EES), and an stepped electron spectrograph (SES). This document begins with a description of the experiments and data, followed by known problems and limitations that the user should be aware of. The third section is a categorization of IDL programs, including a discussion of the most useful programs. The fourth section is an example IDL "crib" sheet which one can use as a starting point for making simple plots. Crib sheets are text files of IDL commands that you edit to produce a command list. You then cut and paste IDL commands into the IDL command line window. The last section is a list of current esa IDL routines that are used for plasma data. Most of these routines have been tested, however I am sure that errors remain. Don't use them blindly and learn the limitations of the code.


Description of the Experiments

Ion and Electron Esa Spectrometers (IES and EES)

The IES and EES measure 32 pitch angle directions simultaneously (11.25 degree resolution), and sweep over 48 energy steps in 1/64 of a spacecraft spin. The energy range is nominally 3 eV to 25 keV and 4 eV to 30 keV for ions and electrons, respectively. Each spectrometer consists of two half sensor heads with180x10 degree field-of-views (FOVs) that are mounted on opposite sides of the spacecraft to form a 360 degree planar FOV. The out-of-plane response is roughly gaussian with a FWHM of about 5 degrees. The planar FOV is within the spacecraft spin plane which is oriented with the spin vector normal to the nominal magnetic field direction. This orientation facilitates continuous pitch angle measurements. Deflectors are used to steer the sensor FOV out of this plane by up to 10 degrees to account for variations of the magnetic field direction during the orbit. In general, the pitch angle distribution always includes both the parallel and anti-parallel magnetic field directions.

Burst data consists of a 32 angle by 48 energy bin array of counts. Counts are pseudo-log compressed from 16 to 8 bits onboard. The first energy step is a high voltage retrace and should be ignored. Detector anodes rotate by 1/2 an anode (5.625 degrees) each sweep.

Survey data is averaged burst data which has been despun onboard. Slow survey is averaged into a 32 angle by 48 energy array each 1/2 spin (~2.5 s). Some blurring of the angular resolution results from the half anode rotation on alternate sweeps. Fast survey is averaged into a 64 angle by 48 energy array that maintains the angular resolution. Fast survey time resolution varies from 1/16 to 1/4 of a spin.

Stepped Electron Spectrograph (SES)

The SES consists of six pairs of ESA half analyzers to form six full pitch-angle (360 degree) sensors. Each sensor has 22.5 degree resolution and twice the geometric factor of the electron spectrometer, giving an overall sensitivity 12 times the electron spectrometer. As with the spectrometers, orientation of the sensor FOVs is the spin plane to give complete angular coverage for nominal magnetic field orientations. These sensors do not have deflectors, so that out of plane variations in the magnetic field can result in the detectors missing narrow field aligned beams. Several different energy level schemes are used for the SES to optimize different science goals. The sensors can be operated at 6 fixed energy levels to optimize time resolution, or can toggle over 12, 24 or 48 energy steps. The sensors can also track the energy flux peak with 6 or 12 energy steps. Finally the sensors can be swept over the entire energy range, with sensors shifted by 1/6 of a sweep so the entire energy range is covered 6 times faster than the spectrometer.

Burst data consists of six count arrays (SES1, SES2,...SES6) of 16 angles by N energies, where N=6, 12, 24, or 48. Counts are pseudo-logged. The first energy step is a high voltage retrace. Detectors rotate a fraction of an anode in a sweep.

Survey data is averaged burst data which has been despun onboard. Slow survey is averaged into 16 angles by N energies, where N=6, 12, 24, or 48 and where N for burst may differ from N for survey data. Some blurring of the angular resolution results from the anode rotation during the average. Fast survey is generally identical to slow survey but with much faster time resolution.


Known Problems with FAST ESA data

For a discussion: McFadden et al., Ion and Electron Characteristics in Auroral Density Cavities Associated with Ion Beams: No Evidence for Cold Ionospheric Plasma, JGR, p.14671, 1999.

Sunlight contamination

Sunlight background counts are observed in all sensors when the spacecraft is near a noon-midnight orbit. Rates the order of ~100/s-anode are observed in the worst look directions.

Scattered electrons.

Scattered electrons can produce a low level of background counts in the all the sensors. These are most noticeable in the electron sensors as pitch-angle wings on narrow field aligned beams, or as background counts above and below an intense mono-energetic peak. The background is greater at energies near the incident electron energy. In the IES sensor, the incident electrons must have >2 keV energy to reach the front of the negatively biased MCP detector to be observed.

Spacecraft photo-electrons and secondary electrons

Spacecraft produced photo and secondary electrons are observed in the EES and SES sensors at 90 degrees pitch angle at energies up to ~100 eV. Photo-electrons dominate accept in darkness. Secondary electrons produced in the electron sensor aperture can also generate a low energy background.

Missing field-aligned beams

On occasion, the onboard IES and EES deflector settings may be wrong so the sensors can miss narrow field aligned beams. This is especially true in the southern hemisphere, where the magnetic field is sometimes beyond the deflection range. The SES sensors have no deflectors so these sensors will miss field-aligned beams when the magnetic field direction is out of the sensor field of view (+/- 5 degrees).

ExB effects on ion beams

S/C motion through the plasma normally affects only low energy oxygen conics. However, within electrostatic shocks a significant effect on ion beams is observed. The ion spectrometer FOV is nominally aligned along the magnetic field using deflectors. Although most ion beams are observed since the beam widths are large (10-30 degrees), beam intensities may be reduced and moment calculations may be in error when ExB is large.

Noise counts

On occasion there are noise counts at the highest energy steps of the sensor probably due to weak high voltage discharges. If the MCPs get blasted with a high count rate, for example during spacecraft charging at low altitudes, false counts will appear on following energy samples. This background rate decays over several tens of milliseconds and is normally noticed at the highest energy steps of the following sweep.

Spacecraft charging.

Negative spacecraft charging from a few volts to several tens of volts is common and is obvious in the low energy ion spectra. Current moment calculations do not account for the spacecraft potential.

Incorrect pitch angle due to magnetic field phase errors

When the magnetometer is off, the magnetic field phase (magphase) in the ESA packet data header is incorrect. This often happens during low latitude (ILAT less than 60 deg) data collection beginning around June 2000. The magphase is used to sort the ESA measurements by pitch angle, thus the pitch angles calculated by the software are incorrect when magphase is wrong. This problem can be easily identified in the data by incorrect pitch angles for the loss cone. An initial correction has been implemented for sdt. By setting the environment variable with the command "setenv FAST_COMPUTE_MAG_PHASE 1", sdt will be forced to calculate "magphase" on the ground based upon a magnetic field model and the sun pulse timing. This fix should work whenever the spacecraft is in sunlight. This fix will also work when the spacecraft is in darkness provided that the onboard "sun-nadir" table is accurate. The sun-nadir table allows FAST to calculate a pseudo-sun pulse based upon horizon sensor data. Early in the mission, FAST had some problems with the sun-nadir table updates. Thus the use of ground calculated magphase may occasionally fail. For pre-June 2000 data we suggest using the onboard magphase by setting "setenv FAST_COMPUTE_MAG_PHASE 0". Software will eventually be updated to allow the user to toggle between these choices without exiting the sdt program. Finally, the ground computed magphase will also be incorrect for those few orbits where the attitude data has not been calculated. A warning message should be implemented in the near future to warn the user of this problem. The onboard magphase and computed magphase can be plotted in sdt by selecting from the menu: " Add Plot -> FAST -> Esa_survey -> EsaSrvSpinMagAndMagPhase" then adding the appropriate choice.


Categorization of IDL routines for ESAs

FAST ESA particle routines can be grouped into a 6 categories:


"get_" routines that return a data structure of particle data.

  • get_fa_ees.pro, get_fa_ies.pro, get_fa_ses.pro -

    standard survey data
  • get_fa_eeb.pro, get_fa_ieb.pro, get_fa_seb.pro

    standard burst data
  • get_fa_seb1.pro, get_fa_seb2.pro, ... , get_fa_seb6.pro

    standard burst data
  • get_fa_ees_sp.pro, get _fa_ees_sp.pro

    spin average survey
  • get_fa_eeb_c.pro, get_fa_ieb_c.pro, get_fa_seb_c.pro -

    use with get_en_spec.pro
  • get_fa_ees_hdr.pro, get_fa_eeb_hdr.pro, ...

    use to get header data
    Example: t=str_to_time(`98-1-1/12:00:00')
    dat=get_fa_ees(t)
    dat=get_fa_ees(t,/ad)
    help,dat,/st

    Advice/Warnings: Use the "_c" versions of the programs when running time series routines such as "get_en_spec.pro" or "get_2dt.pro" -- they are much faster. Ignore the "_ts" versions of the programs -- they are no longer needed.

    Moment functions that operate on a data structure to calculate a reduced quantity:

  • n_2d_fs.pro, j_2d_fs.pro, je_2d_fs.pro

    Always use these, they are fast and accurate:
  • n_2d.pro, j_2d.pro, je_2d.pro, ....

    Test routines, slow, don't handle beams:
  • n_2d_b.pro, j_2d_b.pro, je_2d_b.pro

    Routines called by the "_fs" versions.
    Example: t=str_to_time(`98-1-1/12:00:00')
    dat=get_fa_ees(t)
    print,n_2d_fs(dat)
    print,n_2d_fs(dat,energy=[100,30000],angle=[-90,90])

    Advice/Warnings: Only use the "_fs" versions -- they handle field aligned beams correctly, work with survey or burst data, and are written without "for" loops for speed. The code may be difficult to follow -- see me for an explanation. The program "p_2d_fs.pro" still doesn't seem to work right for field aligned beams - don't trust it.

    Plotting routines that operate on data structures:

  • spec2d.pro, pitch2d.pro, contour2d.pro, fu_spec2d.pro
    Example: t=str_to_time(`98-1-1/12:00:00')
    dat=get_fa_ees(t)
    spec2d,dat,/label
    contour2d,dat,ncont=25,/label,/polar,/vel
    fu_spec2d,'n_2d_fs',dat,/integ_f,/integ_r

    Advice/Warnings: Check out all the keywords, there are lots of options to get the plot to look correct.

    Fitting routines that operate on data structures:

  • funct_fit2d.pro
  • gaussian_1.pro, maxwellian_1.pro, maxwellian_2.pro
    Example: t=str_to_time(`98-1-1/12:00:00')
    dat=get_fa_ees(t)
    funct_fit2d,dat

    Advice/Warnings: Program was never finished. Currently works for the default function of an accelerated Maxwellian. Was meant to be a general fitting routine where you could write your own function. Still needs work.

    Time series routines that generate data structures for plotting by "tplot":

  • get_2dt.pro, get_en_spec.pro, get_pa_spec.pro
    Example: t1=str_to_time(`98-1-1/12:00:00')
    t2=str_to_time(`98-1-1/12:10:00')
    get_2dt,'j_2d_fs','fa_ees',name='Je',t1=t1,t2=t2,energy=[100,30000]
    get_en_spec,'fa_ees',units='eflux',name='el',retrace=1,t1=t1,t2=t2
    tplot,[`Je','el']

    Advice/Warnings: Check out the example crib sheet to get better plot labels.

    Summary Plot routines:

  • load_fa_k0_ies.pro, load_fa_k0_ies.pro, plot_fa_k0_ies.pro, plot_fa_ies.pro
  • load_fa_k0_ies_day.pro, load_fa_k0_ies_day.pro
    Example: load_fa_k0_ies, orbit=1804
    plot_fa_k0_ies

    Advice/Warnings: Environment variables must be set to point to summary plot directories.

    Misc. programs:

  • angle_to_bin.pro, angle_to_bins.pro, energy_to_ebin.pro, convert_esa_units2.pro
  • omni2d.pro, fpar2d.pro
    Example: t=str_to_time(`98-1-1/12:00:00')
    dat=get_fa_ees(t)
    odat=omni2d(dat)
    spec2d,odat
    pdat=fpar2d(dat)
    spec2d,pdat

    Advice/Warnings: fpar2d.pro needs testing.


    Example IDL "crib" sheet


    Listing of FAST ESA IDL routines

    ESA Routines Page