This page was created by the IDL library routine mk_html_help2.

Last modified: Mon Oct 20 03:17:44 2025.


Directory Listing of Routines


Routine Descriptions

ANGLE_TO_BINS

[Next Routine] [List of Routines]
FUNCTION:	angle_to_bins(dat,an,EBIN=ebin)
INPUT:	
	dat:	structure,	2d data structure filled by get_eesa_surv, get_eesa_burst, etc.
	an:	fltarr(2),	2D - min,max pitch angle limits (0-360 deg) 
		fltarr(2,2),	3D - array of (theta,phi) angle values 
				theta min,max (0,0),(1,0) -90<theta<90, thmin<thmax
				phi   min,max (0,1),(1,1)   0<phi<360
KEYWORD:
	EBIN	int		optional, energy bin corresponding to "an"
				used when angles depend upon energy bin
PURPOSE:
	Returns the angle "bins" array defined by "an" limits

CREATED BY:
	J.McFadden
LAST MODIFICATION:
	96-4-25		J.McFadden
	96-8-27		J.McFadden	Changed algorithm to include (mod 360.) and
					handle arbitrary order in dat.theta or dat.phi

(See general/missions/fast/fa_esa/functions/angle_to_bins.pro)


COLD_PEAK_2D

[Previous Routine] [Next Routine] [List of Routines]
FUNCTION:	cold_peak_2d(dat,ENERGY=en,ERANGE=er,EBINS=ebins,ANGLE=an,ARANGE=ar,BINS=bins)
INPUT:	
	dat:	structure,	2d data structure filled by get_eesa_surv, get_eesa_burst, etc.
KEYWORDS
	ENERGY:	fltarr(2),	optional, min,max energy range for integration
	ERANGE:	fltarr(2),	optional, min,max energy bin numbers for integration
	EBINS:	bytarr(na),	optional, energy bins array for integration
					0,1=exclude,include,  
					na = dat.nenergy
	ANGLE:	fltarr(2),	optional, min,max pitch angle range for integration
	ARANGE:	fltarr(2),	optional, min,max angle bin numbers for integration
	BINS:	bytarr(nb),	optional, angle bins array for integration
					0,1=exclude,include,  
					nb = dat.ntheta
	BINS:	bytarr(na,nb),	optional, energy/angle bins array for integration
					0,1=exclude,include
PURPOSE:
	Returns the energy of the energy flux peak due to cold electrons, eV
NOTES:	
	Function normally called by "get_2dt.pro" to generate 
	time series data for "tplot.pro".

CREATED BY:
	J.McFadden
LAST MODIFICATION:
	04-8-12		J.McFadden

(See general/missions/fast/fa_esa/functions/cold_peak_2d.pro)


CONTOUR2D

[Previous Routine] [Next Routine] [List of Routines]
PROCEDURE: contour2d,data
PURPOSE:
	Produces contour plots of pitch angle dist.s from 2D data structures.
INPUTS:
   data   - structure containing 2d data  (obtained from get_fa_???() routine)
		e.g. "get_fa_ees, get_fa_ies, etc."
KEYWORDS:
	LIMITS - A structure containing limits and display options.
             see: "options", "xlim" and "ylim", to change limits
	UNITS  - convert to given data units before plotting
	MSEC - Subtitle will include milliseconds
	TITLE - Title to be plotted, 
		- set title=' ' for NO Title!
		- set title='1' for just the time in the title
	XTITLE - xtitle to be plotted, 
		- set xtitle=' ' for NO xtitle!, default determined by VEL keyword
	YTITLE - ytitle to be plotted, 
		- set ytitle=' ' for NO ytitle!, default=data.units_name
	ZTITLE - ztitle to be plotted, 
		- set ztitle=' ' for NO ytitle!, default='Log!D10!N('+y_units+')'
	RETRACE - set to number of retrace steps removed, 
		- typically set to 1 for FAST esas
		- minus number will remove -(retrace) steps from end of sweep
	VEL - If set, x-axis is velocity km/s  -- Default is Energy (eV) 

	NCONT - Number of contours to be plotted, default = 8
	LEVELS - Explicit contour levels, default levels spaced down
	         from max by 10^.5 
	FILL - If set, contours are filled with solid color or gray scale
	BW - If set, contours are white, no affect on fill plots
	PURE - If set, 6 pure colors are cycled through for levels
	POLAR - Makes a polar plot
	ROTATE - Exchanges x and y axes for non-polar plots
	LABEL - Labels the contour levels
       LAB_0 - Puts 0 in center of plot (default is 90). Labels pitch angles with 90 degree increments.
       LAB_90 - Puts 90 in center of plot (default is 90). Labels pitch angles with 90 degree increments.
       LAB_180 - Puts 180 in center of plot (default is 90). Labels pitch angles with 90 degree increments.
       XMARGIN - Change xmargin from default
	YMARGIN - Change ymargin from default

See "pitch2d" for another means of plotting data.
See "conv_units" to change units.


CREATED BY:	J. McFadden  96-8-31
FILE:  contour2d.pro
VERSION 1.
MODIFICATIONS: 
		McFadden 	96-9-3		More keywords added
		Delory				Polar keyword
		McFadden	97-11-20	Lab_0,LAB_180 keywords
		McFadden	98-3-3		xmargin, ymargin keywords
		

(See general/missions/fast/fa_esa/functions/contour2d.pro)


EC_2D_NEW

[Previous Routine] [Next Routine] [List of Routines]
FUNCTION:	ec_2d_new((dat,ENERGY=en,ERANGE=er,EBINS=ebins,ANGLE=an,ARANGE=ar,BINS=bins)
INPUT:	
	dat:	structure,	2d data structure filled by get_eesa_surv, get_eesa_burst, etc.
KEYWORDS
	ENERGY:	fltarr(2),	optional, min,max energy range for integration
	ERANGE:	fltarr(2),	optional, min,max energy bin numbers for integration
	EBINS:	bytarr(na),	optional, energy bins array for integration
					0,1=exclude,include,  
					na = dat.nenergy
	ANGLE:	fltarr(2),	optional, min,max pitch angle range for integration
	ARANGE:	fltarr(2),	optional, min,max angle bin numbers for integration
	BINS:	bytarr(nb),	optional, angle bins array for integration
					0,1=exclude,include,  
					nb = dat.ntheta
	BINS:	bytarr(na,nb),	optional, energy/angle bins array for integration
					0,1=exclude,include
PURPOSE:
	Returns the characteristic energy, Ec, eV
NOTES:	
	Function calls j_2d.pro and je_2d.pro
	Function normally called by "get_2dt.pro" to generate 
	time series data for "tplot.pro".

CREATED BY:
	J.McFadden	04-10-22
LAST MODIFICATION:
	04-10-22		J.McFadden

(See general/missions/fast/fa_esa/functions/ec_2d_new.pro)


ENERGY_TO_EBIN

[Previous Routine] [Next Routine] [List of Routines]
FUNCTION:	energy_to_ebin(dat,en)
INPUT:	
	dat:	structure,	2d data structure filled by get_eesa_surv, get_eesa_burst, etc.
	en:	real,fltarr,	real or float array of energy values
KEYWORD:
	BIN	int,intarr	optional, angle bins corresponding to "en"
				used when energies depend upon angle bin
PURPOSE:
	Returns the energy bin numbers in "dat.energy" nearest to "en"

CREATED BY:
	J.McFadden
LAST MODIFICATION:
	96-4-22		J.McFadden

(See general/missions/fast/fa_esa/functions/energy_to_ebin.pro)


E_SEC_EFF

[Previous Routine] [Next Routine] [List of Routines]
FUNCTION:	e_sec_eff(Te)
INPUT:	
	Te:	flt,fltarr		electron temperature
KEYWORDS
	pot	flt,fltarr		if fltarr, then n_elements(pot)=n_elements(te), default pot=0
	tmax	flt			algorithm parameter, default tmax = 2.283
	aa	flt			algorithm parameter, default aa = 1.35
	emax	flt			algorithm parameter, default emax = 325
	kk	flt			algorithm parameter, default kk = 2.2
	sec_max	flt			algorithm parameter, default sec_max=2.
	te_sec	flt			algorithm parameter, default te_sec=2.
					
PURPOSE:
	Returns the fractional secondary electron flux with energy > pot
NOTES:	

CREATED BY:
	J.McFadden	09-05-31	
LAST MODIFICATION:

(See general/missions/fast/fa_esa/functions/e_sec_eff.pro)


FUNCT_FIT2D

[Previous Routine] [Next Routine] [List of Routines]
PROCEDURE: funct_fit2d,dat

   Select energy/angle range and perform functional fit to data
   (default Maxwellian) 
INPUTS:
   	dat   	- data structure containing 2d data 
		- e.g. "get_fa_ees, get_fa_ies, etc."
KEYWORDS:
	NFITF	integer		optional number of functions for the
	                        fit, default = 1 
	FITF	string		optional function for the fit, default
	                        = maxwellian 
	AUTO	0/1		if set, defaults are used and peak
	                        energy determined from the data
	ENERGY:	fltarr(2),	optional, min,max energy range for fit
	ERANGE:	fltarr(2),	optional, min,max energy bin numbers
	                        for fit 
	EBINS:	bytarr(na),	optional, energy bins array for fit
					0,1=exclude,include,  
					na = dat.nenergy
	ANGLE:	fltarr(2),	optional, min,max pitch angle range
	                        for fit 
	ARANGE:	fltarr(2),	optional, min,max angle bin numbers
	                        for fit 
	BINS:	bytarr(nb),	optional, angle bins array for fit
					0,1=exclude,include,  
					nb = dat.ntheta
	BINS:	bytarr(na,nb),	optional, energy/angle bins array for
	                        fit 0,1=exclude,include
	LIMITS 	- A structure containing limits and display options.
             	see: "options", "xlim" and "ylim", to change limits
	UNITS  	- convert to given data units before plotting
	F_UNITS - convert dat.data to given data units before 
			passing to function "FITF"
	COLOR  	- array of colors to be used for each bin
	LABEL  	- Puts bin labels on the plot if set.
	SUMPLT - redraws the summed data and the fit after
	         completion. 
	MSEC - Subtitle will include milliseconds

NOTES:
	This program still has bugs and may not weight the points
	properly !!!!! 

	See "spec2d" for another means of plotting data.
	See "conv_units" to change units.
	See "time_stamp" to turn time stamping on and off.
	 Future changes: fitfunct.pro, tempfit.pro, tempfit2.pro


CREATED BY:	J. McFadden  96-11-14
FILE:  funct_fit3d.pro
VERSION 1.
LAST MODIFICATION: Ver 1.1 GTDelory 97-07-30

(See general/missions/fast/fa_esa/functions/funct_fit2d.pro)


FU_FIT2D

[Previous Routine] [Next Routine] [List of Routines]
FUNCTION: fu_fit2d(dat,ENERGY=en,ERANGE=er,EBINS=ebins,...)

   Select energy/angle range and perform functional fit to data
   (default Maxwellian) 
INPUTS:
   	dat   	- data structure containing 2d data 
		- e.g. "get_fa_ees, get_fa_ies, etc."
KEYWORDS:
	NFITF	integer		optional number of functions for the
	                        fit, default = 1 
	FITF	string		optional function for the fit, default
	                        = maxwellian 
	AUTO	0/1		if set, defaults are used and peak
	                        energy determined from the data
	ENERGY:	fltarr(2),	optional, min,max energy range for fit
	ERANGE:	fltarr(2),	optional, min,max energy bin numbers
	                        for fit 
	EBINS:	bytarr(na),	optional, energy bins array for fit
					0,1=exclude,include,  
					na = dat.nenergy
	ANGLE:	fltarr(2),	optional, min,max pitch angle range
	                        for fit 
	ARANGE:	fltarr(2),	optional, min,max angle bin numbers
	                        for fit 
	BINS:	bytarr(nb),	optional, angle bins array for fit
					0,1=exclude,include,  
					nb = dat.ntheta
	BINS:	bytarr(na,nb),	optional, energy/angle bins array for
	                        fit 0,1=exclude,include
	LIMITS 	- A structure containing limits and display options.
             	see: "options", "xlim" and "ylim", to change limits
	UNITS  	- convert to given data units before plotting
	F_UNITS - convert dat.data to given data units before 
			passing to function "FITF"
	COLOR  	- array of colors to be used for each bin
	LABEL  	- Puts bin labels on the plot if set.
	SUMPLT - redraws the summed data and the fit after
	         completion. 
	MSEC - Subtitle will include milliseconds

NOTES:
	This program still has bugs and may not weight the points
	properly !!!!! 

	See "spec2d" for another means of plotting data.
	See "conv_units" to change units.
	See "time_stamp" to turn time stamping on and off.
	 Future changes: fitfunct.pro, tempfit.pro, tempfit2.pro


CREATED BY:	J. McFadden  96-11-14
FILE:  funct_fit3d.pro
VERSION 1.
LAST MODIFICATION: Ver 1.1 GTDelory 97-07-30

(See general/missions/fast/fa_esa/functions/fu_fit2d.pro)


FU_SPEC2D

[Previous Routine] [Next Routine] [List of Routines]
PROGRAM:	fu_spec2d,funct,dat 
INPUT:	
	funct:	string,		function that operates on structures generated 
					by get_eesa_surv, get_eesa_burst, etc.
				funct   = 'n_2d','j_2d','v_2d','p_2d','t_2d',
					  'vth_2d','ec_2d', or 'je_2d'
	dat:	structure,	2d data structures
				example: dat = get_fa_ees(t)
KEYWORDS
	LIMITS - structure,	A structure containing limits and display options.
				see: "options", "xlim" and "ylim", to change limits
	TITLE - Title to be plotted, 
		- set title=' ' for NO Title!
		- set title='1' for just the time in the title
	XTITLE - xtitle to be plotted, 
		- set xtitle=' ' for NO xtitle!, default determined by VEL keyword
	YTITLE - ytitle to be plotted, 
		- set ytitle=' ' for NO ytitle!, default=data.units_name
	ANGLE:	fltarr(2),	optional, min,max pitch angle range for integration
	ARANGE:	fltarr(2),	optional, min,max angle bin numbers for integration
	BINS:	bytarr(nb),	optional, angle bins array for integration
					0,1=exclude,include,  
					nb = dat.ntheta
	INTEG_F:	0,1	if set, plot forward integral
	INTEG_R:	0,1	if set, plot reverse integral
	MPLOT:		0,1	if set, mplot is used with blue (diff_fu), green (integ_f), and red (integ_r)

PURPOSE:
	Plots the differential funct(dat) versus energy, funct(dat) is integrated over angle only

CREATED BY:
	J.McFadden	97/03/13
LAST MODIFICATION:  97/03/13
MOD HISTORY:	

NOTES:	  
	Current version only works for FAST

(See general/missions/fast/fa_esa/functions/fu_spec2d.pro)


GET_2DT

[Previous Routine] [Next Routine] [List of Routines]
PROGRAM:	get_2dt,funct,get_dat
INPUT:	
	funct:	function,	function that operates on structures generated 
					by get_eesa_surv, get_eesa_burst, etc.
				funct   = 'n_2d','j_2d','v_2d','p_2d','t_2d',
					  'vth_2d','ec_2d', or 'je_2d'
	get_dat, 	a string that defines the 'routine' that returns a 2D or 3D data structure
			if 'probe' keyword set, assumes routine = get_dat
			if 'probe' keyword is not set, assumes routine = 'get_'+ get_dat
				unless get_dat already includes 'get_', in which case routine = get_dat
			for example, get_dat='thc_peir' then routine = 'get_thc_peir'
			for example, get_dat='thm_sst_pser' then routine = 'thm_sst_pser'

KEYWORDS
	T1:	real or dbl	start time, seconds since 1970
	T2:	real or dbl	end time, seconds since 1970		
	ENERGY:	fltarr(2),	optional, min,max energy range for integration
	ERANGE:	fltarr(2),	optional, min,max energy bin numbers for integration
	EBINS:	bytarr(na),	optional, energy bins array for integration
					0,1=exclude,include,  
					na = dat.nenergy
	ANGLE:	fltarr(2),	optional, min,max pitch angle range for integration
	ARANGE:	fltarr(2),	optional, min,max angle bin numbers for integration
	BINS:	bytarr(nb),	optional, angle bins array for integration
					0,1=exclude,include,  
					nb = dat.ntheta
	BINS:	bytarr(na,nb),	optional, energy/angle bins array for integration
	GAP_TIME: 		time gap big enough to signify a data gap 
				(def 200 sec, 8 sec for FAST)
	NO_DATA: 	returns 1 if no_data else returns 0
	NAME:  		New name of the Data Quantity
				Default: funct+'_'+get_dat
	BKG:  		A 3d data structure containing the background counts.
	FLOOR:  	Sets the minimum value of any data point to sqrt(bkg).
	MISSING: 	value for bad data.
					0,1=exclude,include
	CALIB:		Calib keyword passed on to get_dat -- no longer used
	PROBE:		probe keyword passed on to get_dat -- used by themis sst routines

PURPOSE:
	To generate time series data for "tplot.pro" 
NOTES:	
	Program names time series data to funct+"_"+get_dat if NAME keyword not set
		See 'tplot_names.pro'.

CREATED BY:
	J.McFadden
LAST MODIFICATION:  97/03/04
MOD HISTORY:	
		97/03/04	T1,T2 keywords added
		08/07/10	bkg keyword changed to work for Themis ion ESA
		08/12/31	bkg keyword changed to work for Themis electron sst
		08/12/31	added probe keyword for themis sst calls
		09/01/05	changed loop to use index to allow for dat.valid=0 data in stored data
		09/01/05	calib keyword no longer passed to routine
		09/04/16	bkg keyword removed for Themis electron sst, assume bkg removal is part of get_th?_pse?

NOTES:	  
	Current version only works for FAST

(See general/missions/fast/fa_esa/functions/get_2dt.pro)


GET_EN_SPEC

[Previous Routine] [Next Routine] [List of Routines]
PROCEDURE:	get_en_spec
PURPOSE:	
	Generates energy-time spectrogram data structures for tplot
INPUT:		
	get_dat, 	a string that defines the 'routine' that returns a 2D or 3D data structure
			if 'probe' keyword set, assumes routine = get_dat
			if 'probe' keyword is not set, assumes routine = 'get_'+ get_dat
				unless get_dat already includes 'get_', in which case routine = get_dat
			for example, get_dat='thc_peir' then routine = 'get_thc_peir'
			for example, get_dat='thm_sst_pser' then routine = 'thm_sst_pser'

KEYWORDS:
	T1:		start time, seconds since 1970
	T2:		end time, seconds since 1970		
	ANGLE:		fltarr(2),fltarr(4)	angle range to sum over
	ARANGE:		intarr(2)		bin range to sum over
	BINS:		bytarr(dat.nbins)	bins to sum over
	gap_time: 	time gap big enough to signify a data gap 
			(default 200 sec, 8 sec for FAST)
	NO_DATA: 	returns 1 if no_data else returns 0
	UNITS:		convert to these units if included
	NAME:  		New name of the Data Quantity, default = get_dat + '_en_spec'
	BKG:  		A 3d data structure containing the background counts 
			If bkg=1, it will run themis background subtraction routine
	FLOOR:  	Sets the minimum value of any data point to sqrt(bkg).
	MISSING: 	value for bad data.
	RETRACE: 	Set to number of retrace energy steps to be eliminated starting at energy step 0
	CALIB:		Calib keyword passed on to get_dat -- no longer used
	PROBE:		probe keyword passed on to get_dat -- used by themis sst routines



CREATED BY:	J.McFadden
VERSION:	1
LAST MODIFICATION:  97/03/04
MOD HISTORY:
		97/03/04	T1,T2 keywords added
		97/05/22	CALIB keyword added
		08/07/10	bkg keyword changed to work for Themis ion ESA
		08/07/10	averaging routine changed to weight different angle bins by dat.gf 
		08/12/31	bkg keyword changed to work for Themis electron sst
		08/12/31	probe keyword added for themis sst routines
		09/01/05	changed loop to use index to allow for dat.valid=0 data in stored data
		09/01/05	calib keyword no longer passed to routine
		09/04/16	bkg keyword removed for Themis electron sst, assume bkg removal is part of get_th?_pse?


NOTES:	  
	Current version only works for FAST and THEMIS

(See general/missions/fast/fa_esa/functions/get_en_spec.pro)


GET_PA_SPEC

[Previous Routine] [Next Routine] [List of Routines]
PROCEDURE:	get_pa_spec
PURPOSE:	
	Generates pitch angle vs. time spectrogram data structures for tplot
INPUT:		
	data_str, 	a string (either 'eesa_surv','ess', ...)
			where get_'string' returns a 2D  
			pitch angle data structure
KEYWORDS:		
	T1:		start time, seconds since 1970
	T2:		end time, seconds since 1970		
	ENERGY:		fltarr(2)		energy range to sum over
	ERANGE:		intarr(2)		energy bin range to sum over
	EBINS:		bytarr(dat.nenergy)	energy bins to sum over
	gap_time: 	time gap big enough to signify a data gap 
			(default 200 sec, 8 sec for FAST)
	NO_DATA: 	returns 1 if no_data else returns 0
	UNITS:		convert to these units if included
	NAME:  		New name of the Data Quantity
	BKG:  		A 3d data structure containing the background counts.
	FLOOR:  	Sets the minimum value of any data point to sqrt(bkg).
	MISSING: 	Value for bad data.
	RETRACE: 	Set to number of retrace energy steps to be eliminated starting at energy step 0
	CALIB:		Calib keyword passed on to get_"data_str"_ts
	EWEIGHT		Weights the energy bin average by bin energy width.
	SHIFT90		If set true, pitch angle range is -90 to 270

CREATED BY:	J.McFadden
VERSION:	1
LAST MODIFICATION:  97/07/11
MOD HISTORY:
		96/08/14  	Added EWEIGHT keyword  - mcfadden
		97/03/04	T1,T2 keywords added
		97/07/11	CALIB keyword added
		97/07/23	fixed bug - ind1=fix((max(ind)+min(ind))/2) 

NOTES:	  
	Current version only works for FAST

(See general/missions/fast/fa_esa/functions/get_pa_spec.pro)


GET_SP_SPEC

[Previous Routine] [Next Routine] [List of Routines]
PROCEDURE:	get_sp_spec
PURPOSE:	
	Generates spin phase angle vs. time spectrogram data structures for tplot
INPUT:		
	data_str, 	a string (either 'c1_hia_p6','c3_hia_p6', ...)
			where get_'string' returns a 2D  
			pitch angle data structure
KEYWORDS:		
	T1:		start time, seconds since 1970
	T2:		end time, seconds since 1970		
	ENERGY:		fltarr(2)		energy range to sum over
	ERANGE:		intarr(2)		energy bin range to sum over
	EBINS:		bytarr(dat.nenergy)	energy bins to sum over
	gap_time: 	time gap big enough to signify a data gap 
			(default 200 sec, 8 sec for FAST)
	NO_DATA: 	returns 1 if no_data else returns 0
	UNITS:		convert to these units if included
	NAME:  		New name of the Data Quantity
	BKG:  		A 3d data structure containing the background counts.
	FLOOR:  	Sets the minimum value of any data point to sqrt(bkg).
	MISSING: 	Value for bad data.
	RETRACE: 	Set to number of retrace energy steps to be eliminated starting at energy step 0
	CALIB:		Calib keyword passed on to get_"get_dat"_ts
	EWEIGHT		Weights the energy bin average by bin energy width.
	SHIFT90		If set true, pitch angle range is -90 to 270

CREATED BY:	J.McFadden
VERSION:	1
LAST MODIFICATION:  97/07/11
MOD HISTORY:
		96/08/14  	Added EWEIGHT keyword  - mcfadden
		97/03/04	T1,T2 keywords added
		97/07/11	CALIB keyword added
		97/07/23	fixed bug - ind1=fix((max(ind)+min(ind))/2) 

NOTES:	  
	Current version only works for FAST

(See general/missions/fast/fa_esa/functions/get_sp_spec.pro)


JE_2D_NEW

[Previous Routine] [Next Routine] [List of Routines]
FUNCTION:	je_2d_new(dat,ENERGY=en,ERANGE=er,EBINS=ebins,ANGLE=an,ARANGE=ar,BINS=bins)
INPUT:	
	dat:	structure,	2d data structure filled by get_eesa_surv, get_eesa_burst, etc.
KEYWORDS
	ENERGY:	fltarr(2),	optional, min,max energy range for integration
	ERANGE:	fltarr(2),	optional, min,max energy bin numbers for integration
	EBINS:	bytarr(na),	optional, energy bins array for integration
					0,1=exclude,include,  
					na = dat.nenergy
	ANGLE:	fltarr(2),	optional, min,max pitch angle range for integration
	ARANGE:	fltarr(2),	optional, min,max angle bin numbers for integration
	BINS:	bytarr(nb),	optional, angle bins array for integration
					0,1=exclude,include,  
					nb = dat.ntheta
	BINS:	bytarr(na,nb),	optional, energy/angle bins array for integration
					0,1=exclude,include
PURPOSE:
	Returns the field aligned energy flux, JEz, ergs/cm^2-sec
NOTES:	
	Function normally called by "get_2dt.pro" to generate 
	time series data for "tplot.pro".

CREATED BY:
	J.McFadden		04-10-22
LAST MODIFICATION:
	04-10-22		J.McFadden
	06-03-04	J.McFadden 	modified s/c pot to sc_pot*1.2 +1.
	10-12-22	J.McFadden	this routine does not work for omni.pro generated distributions


(See general/missions/fast/fa_esa/functions/je_2d_new.pro)


JO_2D_NEW

[Previous Routine] [Next Routine] [List of Routines]
FUNCTION:	jo_2d_new(dat,ENERGY=en,ERANGE=er,EBINS=ebins,ANGLE=an,ARANGE=ar,BINS=bins)
INPUT:	
	dat:	structure,	2d data structure filled by get_eesa_surv, get_eesa_burst, etc.
KEYWORDS
	ENERGY:	fltarr(2),	optional, min,max energy range for integration
	ERANGE:	fltarr(2),	optional, min,max energy bin numbers for integration
	EBINS:	bytarr(na),	optional, energy bins array for integration
					0,1=exclude,include,  
					na = dat.nenergy
	ANGLE:	fltarr(2),	optional, min,max pitch angle range for integration
	ARANGE:	fltarr(2),	optional, min,max angle bin numbers for integration
	BINS:	bytarr(nb),	optional, angle bins array for integration
					0,1=exclude,include,  
					nb = dat.ntheta
	BINS:	bytarr(na,nb),	optional, energy/angle bins array for integration
					0,1=exclude,include
PURPOSE:
	Returns the omin-directional flux, nv, 1/s-cm^2, corrects for spacecraft potential if dat.sc_pot exists
NOTES:	
	Function normally called by "get_2dt.pro" to generate 
	time series data for "tplot.pro".

CREATED BY:
	J.McFadden	03-7-29	
LAST MODIFICATION:
	04-12-29	J.McFadden 	modified s/c pot correction to be same as n_2d_new.pro
	06-02-27	J.McFadden 	modified s/c pot to sc_pot*1.2 +1.
	10-12-22	J.McFadden	this routine does not work for omni.pro generated distributions

(See general/missions/fast/fa_esa/functions/jo_2d_new.pro)


J_2D_NEW

[Previous Routine] [Next Routine] [List of Routines]
FUNCTION:	j_2d_new(dat,ENERGY=en,ERANGE=er,EBINS=ebins,ANGLE=an,ARANGE=ar,BINS=bins)
INPUT:	
	dat:	structure,	2d data structure filled by get_eesa_surv, get_eesa_burst, etc.
KEYWORDS
	ENERGY:	fltarr(2),	optional, min,max energy range for integration
	ERANGE:	fltarr(2),	optional, min,max energy bin numbers for integration
	EBINS:	bytarr(na),	optional, energy bins array for integration
					0,1=exclude,include,  
					na = dat.nenergy
	ANGLE:	fltarr(2),	optional, min,max pitch angle range for integration
	ARANGE:	fltarr(2),	optional, min,max angle bin numbers for integration
	BINS:	bytarr(nb),	optional, angle bins array for integration
					0,1=exclude,include,  
					nb = dat.ntheta
	BINS:	bytarr(na,nb),	optional, energy/angle bins array for integration
					0,1=exclude,include
PURPOSE:
	Returns the field aligned flux, Jz, #/cm^2-sec
NOTES:	
	Function normally called by "get_2dt.pro" to generate 
	time series data for "tplot.pro".

CREATED BY:
	J.McFadden
LAST MODIFICATION:
	03-07-17	J.McFadden  	modified from n_2d_new.pro
	03-08-11	J.McFadden  	modified from n_2d_new.pro
	03-08-13	J.McFadden	s/c pot calculated from e- spectra when dat.sc_pot>65. 
	06-03-04	J.McFadden 	modified s/c pot to sc_pot*1.2 +1.
	10-12-22	J.McFadden	this routine does not work for omni.pro generated distributions

(See general/missions/fast/fa_esa/functions/j_2d_new.pro)


N_2D_NEW

[Previous Routine] [Next Routine] [List of Routines]
FUNCTION:	n_2d_new(dat,ENERGY=en,ERANGE=er,EBINS=ebins,ANGLE=an,ARANGE=ar,BINS=bins)
INPUT:	
	dat:	structure,	2d data structure filled by get_eesa_surv, get_eesa_burst, etc.
KEYWORDS
	ENERGY:	fltarr(2),	optional, min,max energy range for integration
	ERANGE:	fltarr(2),	optional, min,max energy bin numbers for integration
	EBINS:	bytarr(na),	optional, energy bins array for integration
					0,1=exclude,include,  
					na = dat.nenergy
	ANGLE:	fltarr(2),	optional, min,max pitch angle range for integration
	ARANGE:	fltarr(2),	optional, min,max angle bin numbers for integration
	BINS:	bytarr(nb),	optional, angle bins array for integration
					0,1=exclude,include,  
					nb = dat.ntheta
	BINS:	bytarr(na,nb),	optional, energy/angle bins array for integration
					0,1=exclude,include
PURPOSE:
	Returns the density, n, 1/cm^3, corrects for spacecraft potential if dat.sc_pot exists
NOTES:	
	Function normally called by "get_2dt.pro" to generate 
	time series data for "tplot.pro".

CREATED BY:
	J.McFadden
LAST MODIFICATION:
	96-4-22		J.McFadden
	June 4, 2003	L.M.Peticolas
	03-07-30	J.McFadden  
	03-08-13	J.McFadden 	s/c pot calculated from e- spectra when dat.sc_pot>65. 
	04-08-12	J.McFadden 	modified s/c pot calculated from e- spectra when dat.sc_pot>65. 
	04-10-12	J.McFadden 	modified s/c pot calculated from e- spectra when dat.sc_pot>65. 
	04-12-23	J.McFadden 	modified s/c pot calculated from e- spectra when dat.sc_pot>66. 
	06-03-04	J.McFadden 	modified s/c pot to sc_pot*1.2 +1.
	07-10-23	J.McFadden 	modified s/c pot to (sc_pot+offset)*scale with default scale=1.2,offset=+1.
	10-12-22	J.McFadden	modified to work for omni.pro generated distributions

(See general/missions/fast/fa_esa/functions/n_2d_new.pro)


OMNI2D

[Previous Routine] [Next Routine] [List of Routines]
FUNCTION:  omni2d

PURPOSE:  
	Produces an energy or angle averaged data structure
	Summing is over pitch angle or energy, default is pitch angle summing.
 	This structure can be plotted with spec2d or pitch2d.

KEYWORDS:
	ANGLE:		intarr(n)		n=1 nearest angle to be summed
						n=2 angle range to be summed
						n>2 angle list to be summed
	ARANGE:		intarr(2)		angle bin range to be summed
	BINS   - 	bytarr(dat.nbins)	angle bins to be summed  
	ENERGY:		fltarr(2)		energy range to be summed
	ERANGE:		intarr(2)		energy bin range to be summed
	EBINS:		bytarr(dat.nenergy)	energy bins to be summed

 NOTE:	If no keyword is set, then sum over all angle to form energy spectrum

CREATED BY:	J.McFadden
LAST MODIFICATION:  97-3-3
MOD HISTORY
		97/03/03	ANGLE,ARANGE,ENERGY,ERANGE,EBINS keywords added

(See general/missions/fast/fa_esa/functions/omni2d.pro)


PEAK_2D

[Previous Routine] [Next Routine] [List of Routines]
FUNCTION:	peak_2d(dat,ENERGY=en,ERANGE=er,EBINS=ebins,ANGLE=an,ARANGE=ar,BINS=bins)
INPUT:	
	dat:	structure,	2d data structure filled by get_eesa_surv, get_eesa_burst, etc.
KEYWORDS
	ENERGY:	fltarr(2),	optional, min,max energy range for integration
	ERANGE:	fltarr(2),	optional, min,max energy bin numbers for integration
	EBINS:	bytarr(na),	optional, energy bins array for integration
					0,1=exclude,include,  
					na = dat.nenergy
	ANGLE:	fltarr(2),	optional, min,max pitch angle range for integration
	ARANGE:	fltarr(2),	optional, min,max angle bin numbers for integration
	BINS:	bytarr(nb),	optional, angle bins array for integration
					0,1=exclude,include,  
					nb = dat.ntheta
	BINS:	bytarr(na,nb),	optional, energy/angle bins array for integration
					0,1=exclude,include
PURPOSE:
	Returns the energy of the energy flux peak, eV
NOTES:	
	Function normally called by "get_2dt.pro" to generate 
	time series data for "tplot.pro".

CREATED BY:
	J.McFadden
LAST MODIFICATION:
	97-6-4		J.McFadden

(See general/missions/fast/fa_esa/functions/peak_2d.pro)


PITCH2D

[Previous Routine] [Next Routine] [List of Routines]
PROCEDURE: pitch2d,data
PURPOSE:
	Plots 2d data as pitch angle distributions.
INPUTS:
   data   - structure containing 2d data  (obtained from get_fa_???() routine)
		e.g. "get_fa_ees, get_fa_ies, etc."
KEYWORDS:
	LIMITS - A structure containing limits and display options.
             see: "options", "xlim" and "ylim", to change limits
	UNITS  - convert to given data units before plotting
	MSEC - Subtitle will include milliseconds
	TITLE - Title to be plotted, 
		- set title=' ' for NO Title!
		- set title=1 for just the time in the title
	XTITLE - xtitle to be plotted, 
		- set xtitle=' ' for NO xtitle!, default determined by VEL keyword
	YTITLE - ytitle to be plotted, 
		- set ytitle=' ' for NO ytitle!, default=data.units_name
	RETRACE - set to number of retrace steps removed, 
		- typically set to 1 for FAST esas
		- minus number will remove -(retrace) steps from end of sweep
	COLOR  - array of colors to be used for each bin
	ENERGY:		fltarr(2)		energy range to be plotted
	ERANGE:		intarr(2)		energy bin range to be plotted
	EBINS:		bytarr(dat.nenergy)	energy bins to be plotted
	OVERPLOT  - Overplots last plot if set.
	LABEL  - Puts bin labels on the plot if set.
	ERROR_BARS - set to plot error bars 
       PSYM - plot symbol added to lineplot

See "spec2d", "contour2d" for another means of plotting data.
See "conv_units" to change units.


CREATED BY:	J. McFadden  96-8-26
FILE:  pitch2d.pro
VERSION 1.
LAST MODIFICATION:  97/02/24
MOD HISTORY:
		97/02/24	MSEC keyword added,
		98/08/19	PSYM keyword added,

(See general/missions/fast/fa_esa/functions/pitch2d.pro)


P_2D_NEW

[Previous Routine] [Next Routine] [List of Routines]
FUNCTION:	p_2d_new(dat,ENERGY=en,ERANGE=er,EBINS=ebins,ANGLE=an,ARANGE=ar,BINS=bins)
INPUT:	
	dat:	structure,	2d data structure filled by get_eesa_surv, get_eesa_burst, etc.
KEYWORDS
	ENERGY:	fltarr(2),	optional, min,max energy range for integration
	ERANGE:	fltarr(2),	optional, min,max energy bin numbers for integration
	EBINS:	bytarr(na),	optional, energy bins array for integration
					0,1=exclude,include,  
					na = dat.nenergy
	ANGLE:	fltarr(2),	optional, min,max pitch angle range for integration
	ARANGE:	fltarr(2),	optional, min,max angle bin numbers for integration
	BINS:	bytarr(nb),	optional, angle bins array for integration
					0,1=exclude,include,  
					nb = dat.ntheta
	BINS:	bytarr(na,nb),	optional, energy/angle bins array for integration
					0,1=exclude,include
PURPOSE:
	Returns the pressure tensor, [Pxx,Pyy,Pzz,Pxy,Pxz,Pyz], eV/cm^3
NOTES:	
	Function calls j_2d_new.pro and n_2d_new.pro
	Function normally called by "get_2dt.pro" to generate 
	time series data for "tplot.pro".

CREATED BY:
	J.McFadden
LAST MODIFICATION:
	03-07-17	J.McFadden  modified from n_2d_new.pro
	04-12-21	J.McFadden changed the s/c pot calculation to the same as n_2d_new.pro
	06-03-04	J.McFadden 	modified s/c pot to sc_pot*1.2 +1.
	10-12-22	J.McFadden	this routine does not work for omni.pro generated distributions

(See general/missions/fast/fa_esa/functions/p_2d_new.pro)


SPEC2D

[Previous Routine] [Next Routine] [List of Routines]
PROCEDURE: spec2d,data
PURPOSE:
   Plots 2d data as energy spectra.
INPUTS:
   data   - structure containing 2d data  (obtained from get_fa_??() routine)
		e.g. "get_fa_ees, get_fa_ies, etc."
KEYWORDS:
	LIMITS - A structure containing limits and display options.
             see: "options", "xlim" and "ylim", to change limits
	UNITS  - convert to given data units before plotting
	MSEC - Subtitle will include milliseconds
	TITLE - Title to be plotted, 
		- set title=' ' for NO Title!
		- set title='1' for just the time in the title
	XTITLE - xtitle to be plotted, 
		- set xtitle=' ' for NO xtitle!, default determined by VEL keyword
	YTITLE - ytitle to be plotted, 
		- set ytitle=' ' for NO ytitle!, default=data.units_name
	RETRACE - set to number of retrace steps removed, 
		- typically set to 1 for FAST esas
		- minus number will remove -(retrace) steps from end of sweep
	VEL - If set, x-axis is velocity km/s  -- Default is Energy (eV) 

	COLOR - array of colors to be used for each bin
	ANGLE:		intarr(n)		n=1 nearest angle to be plotted
						n=2 angle range to be plotted
						n>2 angle list to be plotted
	ARANGE:		intarr(2)		angle bin range to be plotted
	BINS - 		bytarr(dat.nbins)	bins to be plotted  
	OVERPLOT - Overplots last plot if set.
	LABEL - Puts bin labels on the plot if set.
	LABSIZE - Change label size on plot.
	NO_SORT - if set will prevent sorting by angle bin
	ERROR_BARS - set to plot error bars 
	XMARGIN - change xmargin from default
	YMARGIN - change ymargin from default
	THICK - line thickness
	PSYM - plot symbol added to lineplot

See "pitch2d", "contour2d" for another means of plotting data.
See "conv_units" to change units.


CREATED BY:	J. McFadden	96-11-21	(from spec3d.pro)
FILE:  spec2d.pro
VERSION 1
LAST MODIFICATION: 97/02/24
MOD HISTORY:
		97/02/24	MSEC keyword added,
		98/03/4		xmargin,ymargin,thick keywords added
		98/06/10	psym keyword added

(See general/missions/fast/fa_esa/functions/spec2d.pro)


SUM2D

[Previous Routine] [Next Routine] [List of Routines]
FUNCTION: sum2d
PURPOSE: Takes two 2D structures and returns a single 2D structure
  whose data is the sum of the two
INPUTS: d1,d2  each must be 3D structures obtained from the get_?? routines
	e.g. "get_el"
RETURNS: single 3D structure

CREATED BY:	J. McFadden -- modified from D. Larson's sum3d.pro 96/06/27
LAST MODIFICATION:	
		J. McFadden - added theta,gf,geom averaging

Notes:  

(See general/missions/fast/fa_esa/functions/sum2d.pro)


T_2D_NEW

[Previous Routine] [Next Routine] [List of Routines]
FUNCTION:	t_2d_new(dat,ENERGY=en,ERANGE=er,EBINS=ebins,ANGLE=an,ARANGE=ar,BINS=bins)
INPUT:	
	dat:	structure,	2d data structure filled by get_eesa_surv, get_eesa_burst, etc.
KEYWORDS
	ENERGY:	fltarr(2),	optional, min,max energy range for integration
	ERANGE:	fltarr(2),	optional, min,max energy bin numbers for integration
	EBINS:	bytarr(na),	optional, energy bins array for integration
					0,1=exclude,include,  
					na = dat.nenergy
	ANGLE:	fltarr(2),	optional, min,max pitch angle range for integration
	ARANGE:	fltarr(2),	optional, min,max angle bin numbers for integration
	BINS:	bytarr(nb),	optional, angle bins array for integration
					0,1=exclude,include,  
					nb = dat.ntheta
	BINS:	bytarr(na,nb),	optional, energy/angle bins array for integration
					0,1=exclude,include
PURPOSE:
	Returns the temperature, [Tx,Ty,Tz,Tavg], eV
NOTES:	
	Function calls p_2d_new.pro and n_2d_new.pro
	Function normally called by "get_2dt.pro" to generate 
	time series data for "tplot.pro".

CREATED BY:
	J.McFadden
LAST MODIFICATION:
	03-07-17	J.McFadden  modified from n_2d_new.pro

(See general/missions/fast/fa_esa/functions/t_2d_new.pro)


V_2D_NEW

[Previous Routine] [List of Routines]
FUNCTION:	v_2d_new((dat,ENERGY=en,ERANGE=er,EBINS=ebins,ANGLE=an,ARANGE=ar,BINS=bins)
INPUT:	
	dat:	structure,	2d data structure filled by get_eesa_surv, get_eesa_burst, etc.
KEYWORDS
	ENERGY:	fltarr(2),	optional, min,max energy range for integration
	ERANGE:	fltarr(2),	optional, min,max energy bin numbers for integration
	EBINS:	bytarr(na),	optional, energy bins array for integration
					0,1=exclude,include,  
					na = dat.nenergy
	ANGLE:	fltarr(2),	optional, min,max pitch angle range for integration
	ARANGE:	fltarr(2),	optional, min,max angle bin numbers for integration
	BINS:	bytarr(nb),	optional, angle bins array for integration
					0,1=exclude,include,  
					nb = dat.ntheta
	BINS:	bytarr(na,nb),	optional, energy/angle bins array for integration
					0,1=exclude,include
PURPOSE:
	Returns the velocity, [Vx,Vy,Vz], km/s
NOTES:	
	Function calls j_2d_new.pro and n_2d_new.pro
	Function normally called by "get_2dt.pro" to generate 
	time series data for "tplot.pro".

CREATED BY:
	J.McFadden		05-05-07
LAST MODIFICATION:
	05-05-07		J.McFadden

(See general/missions/fast/fa_esa/functions/v_2d_new.pro)