This page was created by the IDL library routine mk_html_help2.

Last modified: Thu Aug 6 12:53:14 2020.


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)