This page was created by the IDL library routine `mk_html_help2`.

Last modified: Sat Sep 20 09:22:05 2003.

# Directory Listing of Routines

# wind/

- CART_TO_SPHERE2
- CHANGE_PKQUALITY
  Change the level of packet quality used when filtering packets through
- CONVERT_SST_UNITS
- GET_3D_STRUCT
- GET_BKG3D
- GET_EATOD
  Gets analog to digital data for EESA
- GET_ECFG
- GET_EH
- GET_EHB
- GET_EHS
- GET_EL
- GET_EL2
- GET_ELB
- GET_ELC
- GET_ELM
- GET_EMOM
- GET_EMOM2
  Gets eesa moment structure.
- GET_EXCFG
- GET_FPC
- GET_FRAME_INFO
  Gets frame info data for WIND data files.
- GET_FSPB
- GET_FSPC
- GET_FT6T
  for omniazimuuth average flux if electrons, for survey plots
- GET_HKP
  Gets housekeeping data for eesa and pesa;
- GET_LATEST_DATES
- GET_MCFG
- GET_OSPB
- GET_OSPC
- GET_OT6T
  for omniazimuuth average flux if electrons, for survey plots
- GET_PADFLUX
- GET_PCFG
- GET_PH
  Returns a 3d structure containing all data pertinent to a single pesa high 3d sample.
- GET_PH2
  Returns a 3d structure containing all data pertinent to a single pesa high
- GET_PH30
  Get a 30 energy step ph structure containing the center (sunward) bins.
- GET_PH_MAPCODE
  get the current mapcode for ph
- GET_PHB
  Returns a 3d structure containing all data pertinent to a single pesa high
- GET_PHB_MAPCODE
  get the current mapcode for phb
- GET_PL
- GET_PL2
- GET_PLB
- GET_PMOM
- GET_PMOM2
  Gets pesa moment structure.
- GET_SDOTB
  INPUT: none
- GET_SF
- GET_SFB
- GET_SFT
- GET_SO
- GET_SOB
- GET_SOT
- GET_SPEC
  Creates "TPLOT" variable by summing 3D data over selected angle bins.
- GET_TSPC
- GET_WIND_TIMES
- HELP_3DP
- INIT_WIND_LIB
  Initializes common block variables for the WIND 3DP library.
- LOAD_3DP_DATA
  Opens and loads into memory the 3DP LZ data file(s) within the given time
- MAKE_PLOT
- MAKEHELP
  Uses "mk_html_help2" to create an html help file
- PLOT_ORBIT
- START3DP
- WIND_COM

# Routine Descriptions

## CART_TO_SPHERE2

[Next Routine] [List of Routines]

    PROCEDURE:  cart_to_sphere2, x, y, z,  r, lamda, phi
    PURPOSE:  transform from cartesian to spherical coordinates
    INPUTS:   x, y, z          (array or scaler)
    OUTPUTS:  r, lamda, phi    (same as x,y,z)

    CREATED BY:	Tai Phan (modified from Davin's procedure)
    LAST MODIFICATION:	@(#)cart_to_sphere.pro	1.4 95/08/24

    NOTES:
       Lamda and phi are different from Cart_to_sphere's theta and phi

(See cart_to_sphere2.pro)

## CHANGE_PKQUALITY

[Previous Routine] [Next Routine] [List of Routines]

    PROCEDURE change_pkquality, pkquality

    PURPOSE:
      Change the level of packet quality used when filtering packets through
      the WIND decommutation software.

    INPUTS:
      pkquality: set bits to determine level of packet quality.
    	      the following bits will allow packets with these possible
    	      quality problems through the decommutator filter:
    		1: frame contains some fill data
    		2: the following packet is invalid
    		4: packet contains fill data
    	      the most conservative option is to set pkquality = 0

    CREATED BY:	Peter Schroeder
    LAST MODIFICATION: @(#)change_pkquality.pro	1.1 97/12/18

(See change_pkquality.pro)

## CONVERT_SST_UNITS

[Previous Routine] [Next Routine] [List of Routines]

    PROCEDURE:	convert_sst_units
    PURPOSE:	to convert units of data from the sst instruments
    INPUT:
    	data:	A 3d structure such as those generated by get_sf,get_so
    	units:	A string telling the procedure which units to convert to, such
    		as ncounts,rate,nrate,eflux,flux,df

    KEYWORDS:
    	scale:	A named variable in which the scale factor is returned.
    SEE ALSO:
           "CONV_UNITS",
           "GET_SF","GET_SO"
    WARNING:
    	This procedure is NOT tested!

    CREATED BY:	Davin Larson, 1995
    LAST MODIFICATION:	@(#)convert_sst_units.pro	1.10 96/08/22

(See convert_sst_units.pro)

## GET_3D_STRUCT

[Previous Routine] [Next Routine] [List of Routines]

    FUNCTION get_3d_struct, time
    INPUTS:
        t:    double  (seconds since 1970.,  >1990)
     or t:    string  (format: YY-MM-DD/HH:MM:SS)
     or t:    numeric (hours from reference date. < )
     or t:    string  (format: HH:MM:SS hours from reference date)
     options: intarray  (only first element is considered to determine instrument)
    KEYWORDS: advance:	if set, advance to the next time
    OUTPUT:  A structure that contains all pertinent information for a single
       3D sample.

    CREATED BY:	Davin Larson
    LAST MODIFICATION:	@(#)get_3d_struct.pro	1.32 98/10/02

    NOTE: This routine should NOT be called by users.  Should only be called by one
     of the routines:  get_el, get_eh, get_ph, get_pl, get_sf, get_so
     e.g. "GET_EL"

(See get_3d_struct.pro)

## GET_BKG3D

[Previous Routine] [Next Routine] [List of Routines]

    FUNCTION; get_bkg3d,dat
    PURPOSE:  Uses energy steps defined by esteps array,  computes average
      count rate in those steps and then copies that average value into all
      data values.  Each angle bin is treated separately.  The result can be
      used for background subtraction.

    INPUT:
    	dat:	3d data structure such as is generated by
    		"GET_EL" and other get routines
    KEYWORDS
    	ESTEPS:	Two element array of integers that corresponds to the first
               and last energy steps to be used.  (default is [0,3])

    CREATED BY:	Davin Larson
    LAST MODIFICATION:	@(#)get_bkg3d.pro	1.9 02/04/17

    WARNING!  This is a crude subroutine. Use at your own risk.

(See get_bkg3d.pro)

## GET_EATOD

[Previous Routine] [Next Routine] [List of Routines]

    PROCEDURE: 	get_eatod
    PURPOSE:
      Gets analog to digital data for EESA
    INPUT:
      none, but "LOAD_3DP_DATA" must be called 1st.
    KEYWORDS:
      DATA:  named variable in which all data is returned.

    CREATED BY:	Davin Larson
    FILE:  get_eatod.pro
    VERSION:  1.6
    LAST MODIFICATION:  01/06/06

(See get_eatod.pro)

## GET_ECFG

[Previous Routine] [Next Routine] [List of Routines]

    FUNCTION:   get_ecfg(t)
    INPUT:
        t: double,  seconds since 1970.
    KEYWORDS:
    	advance:	advance to the next data point
    	index:		select data by sample index instead of by time.
    	times:		if non-zero, return an array of data times
    			corresponding to data samples.
    PURPOSE:   returns an Eesa Instrument Configuration data record.

    CREATED BY:	Peter Schroeder
    LAST MODIFIED: @(#)get_ecfg.pro	1.1 99/04/19

    NOTES: The procedure "LOAD_3DP_DATA" must be
    	called first.

(See get_ecfg.pro)

## GET_EH

[Previous Routine] [Next Routine] [List of Routines]

    FUNCTION:   get_eh(t)
    INPUT:
        t: double,  seconds since 1970. If this time is a vector then the
    	routine will get all samples in between the two times in the
    	vector
    KEYWORDS:
    	advance:	advance to the next data point
    	index:		select data by sample index instead of by time.
    	times:		if non-zero, return and array of data times
    			corresponding to data samples.
    PURPOSE:   returns a 3d structure containing all data pertinent to a single
      eesa high 3d sample.  See "3D_STRUCTURE" for a more complete
      description of the structure.

    CREATED BY:	Peter Schroeder
    LAST MODIFIED: @(#)get_eh.pro	1.23 99/03/02

    NOTES: The procedure "LOAD_3DP_DATA" must be
    	called first.

(See get_eh.pro)

## GET_EHB

[Previous Routine] [Next Routine] [List of Routines]

    FUNCTION:   get_ehb(t)
    INPUT:
        t: double,  seconds since 1970. If this time is a vector then the
    	routine will get all samples in between the two times in the
    	vector
    KEYWORDS:
    	advance:	advance to the next data point
    	index:		select data by sample index instead of by time.
    	times:		if non-zero, return and array of data times
    			corresponding to data samples.
    PURPOSE:   returns a 3d structure containing all data pertinent to a single
      eesa high burst 3d sample.  See "3D_STRUCTURE" for a more complete
      description of the structure.

    CREATED BY:	Peter Schroeder
    LAST MODIFIED: @(#)get_ehb.pro	1.1 99/09/20

    NOTES: The procedure "LOAD_3DP_DATA" must be
    	called first.

(See get_ehb.pro)

## GET_EHS

[Previous Routine] [Next Routine] [List of Routines]

    FUNCTION:   get_ehs(t)
    INPUT:
        t: double,  seconds since 1970. If this time is a vector then the
    	routine will get all samples in between the two times in the
    	vector
    KEYWORDS:
    	advance:	advance to the next data point
    	index:		select data by sample index instead of by time.
    	times:		if non-zero, return an array of data times
    			corresponding to data samples.
    PURPOSE:   returns a 3d structure containing all data pertinent to a single
      eesa high slice 3d sample.  See "3D_STRUCTURE" for a more complete
      description of the structure.

    CREATED BY:	Peter Schroeder
    LAST MODIFIED: @(#)get_ehs.pro	1.8 99/03/02

    NOTES: The procedure "LOAD_3DP_DATA" must be
    	called first.

(See get_ehs.pro)

## GET_EL

[Previous Routine] [Next Routine] [List of Routines]

    FUNCTION:   get_el(t)
    INPUT:
        t: double,  seconds since 1970. If this time is a vector then the
    	routine will get all samples in between the two times in the
    	vector
    KEYWORDS:
    	advance:	advance to the next data point
    	index:		select data by sample index instead of by time.
    	times:		if non-zero, return an array of data times
    			corresponding to data samples.
    PURPOSE:   returns a 3d structure containing all data pertinent to a single
      eesa low 3d sample.  See "3D_STRUCTURE" for a more complete
      description of the structure.

    CREATED BY:	Peter Schroeder
    LAST MODIFIED: @(#)get_el.pro	1.29 99/05/06

    NOTES: The procedure "LOAD_3DP_DATA" must be
    	called first.

(See get_el.pro)

## GET_EL2

[Previous Routine] [Next Routine] [List of Routines]

    FUNCTION:   get_el2(t)
    INPUT:
        t: double,  seconds since 1970. If this time is a vector then the
           routine will get all samples in between the two times in the
           vector
    KEYWORDS:
           index:          select data by sample index instead of by time.
           times:          if non-zero, return an array of data times
                           corresponding to data samples.
    PURPOSE:   returns a 3d structure containing all data pertinent to a single
      eesa low or eesa low burst 3d sample.  See "3D_STRUCTURE" for a more complete
      description of the structure.

    CREATED BY:    Art Hull
    LAST MODIFIED: @(#)get_el2.pro	1.1 99/08/24

    NOTES: The procedure "LOAD_3DP_DATA" must be
           called first.

(See get_el2.pro)

## GET_ELB

[Previous Routine] [Next Routine] [List of Routines]

    FUNCTION:   get_elb(t)
    INPUT:
        t: double,  seconds since 1970. If this time is a vector then the
    	routine will get all samples in between the two times in the
    	vector
    KEYWORDS:
    	advance:	advance to the next data point
    	index:		select data by sample index instead of by time.
    	times:		if non-zero, return and array of data times
    			corresponding to data samples.
    PURPOSE:   returns a 3d structure containing all data pertinent to a single
      eesa low 3d sample.  See "3D_STRUCTURE" for a more complete
      description of the structure.

    CREATED BY:	Peter Schroeder
    LAST MODIFIED:	@(#)get_elb.pro	1.13 99/03/02

    NOTES: The procedure "LOAD_3DP_DATA" must be
    	called first.

(See get_elb.pro)

## GET_ELC

[Previous Routine] [Next Routine] [List of Routines]

    FUNCTION:   get_elc(t)
    INPUT:
        t: double,  seconds since 1970. If this time is a vector then the
    	routine will get all samples in between the two times in the
    	vector
    KEYWORDS:
    	advance:	advance to the next data point
    	index:		select data by sample index instead of by time.
    	times:		if non-zero, return an array of data times
    			corresponding to data samples.
    PURPOSE:   returns a 3d structure containing all data pertinent to a single
      eesa low cut 3d sample.  See "3D_STRUCTURE" for a more complete
      description of the structure.

    CREATED BY:	Peter Schroeder
    LAST MODIFIED: @(#)get_elc.pro	1.10 99/03/02

    NOTES: The procedure "LOAD_3DP_DATA" must be
    	called first.

(See get_elc.pro)

## GET_ELM

[Previous Routine] [Next Routine] [List of Routines]

    FUNCTION:   get_elm(t)
    INPUT:
        t: double,  seconds since 1970. If this time is a vector then the
    	routine will get all samples in between the two times in the
    	vector
    KEYWORDS:
    	advance:	advance to the next data point
    	index:		select data by sample index instead of by time.
    	times:		if non-zero, return and array of data times
    			corresponding to data samples.
    PURPOSE:   returns a 3d structure containing all data pertinent to a single
      eesa low 3d sample.  See "3D_STRUCTURE" for a more complete
      description of the structure.

    CREATED BY:	Peter Schroeder
    LAST MODIFIED:	@(#)get_elm.pro	1.6 99/03/02

    NOTES: The procedure "LOAD_3DP_DATA" must be
    	called first.

(See get_elm.pro)

## GET_EMOM

[Previous Routine] [Next Routine] [List of Routines]

    PROCEDURE:	get_emom
    PURPOSE:	Gets moment data for eesa, including velocity,density,and
    		temperature.
    INPUT:
    	none, but "LOAD_3DP_DATA" must be called 1st.
    KEYWORDS:
    	dens:	Optionally returns density directly as well as storing it.
    	temp:	Optionally returns temperature directly as well as storing it.
    	vx:	Optionally returns vx directly as well as storing it.
    	vy:	Optionally returns vy directly as well as storing it.
    	vz:	Optionally returns vz directly as well as storing it.
    	pe:	Optionally returns Pe directly as well as storing it.
    	qe:	Optionally returns Qe directly as well as storing it.

    CREATED BY:	Davin Larson
    LAST MODIFICATION:	@(#)get_emom.pro	1.9 97/09/08

(See get_emom.pro)

## GET_EMOM2

[Previous Routine] [Next Routine] [List of Routines]

    PROCEDURE:	get_emom2
    PURPOSE:
      Gets eesa moment structure.
    INPUT:
    	none, but "LOAD_3DP_DATA" must be called 1st.
    KEYWORDS:
       POLAR
       VTHERMAL
    CREATED BY:	Davin Larson
    FILE:  get_emom2.pro
    VERSION:  1.3
    LAST MODIFICATION:  97/11/14

(See get_emom2.pro)

## GET_EXCFG

[Previous Routine] [Next Routine] [List of Routines]

    FUNCTION:   get_excfg(t)
    INPUT:
        t: double,  seconds since 1970.
    KEYWORDS:
    	advance:	advance to the next data point
    	index:		select data by sample index instead of by time.
    	times:		if non-zero, return an array of data times
    			corresponding to data samples.
    PURPOSE:   returns an Eesa Extended Instrument Configuration data record.

    CREATED BY:	Peter Schroeder
    LAST MODIFIED: @(#)get_excfg.pro	1.1 99/04/19

    NOTES: The procedure "LOAD_3DP_DATA" must be
    	called first.

(See get_excfg.pro)

## GET_FPC

[Previous Routine] [Next Routine] [List of Routines]

    FUNCTION:   get_fpc(t)
    INPUT:
        t: double,  seconds since 1970. If this time is a vector than the
    	routine will get all samples in between the two times in the
    	vector
    KEYWORDS:
    	advance:	advance to the next data point
    	index:		select data by sample index instead of by time.
    	times:		if non-zero, return and array of data times
    			corresponding to data samples.
    PURPOSE:   returns a structure containing all data pertinent to a single
      correlator sample.  See the file 3dp_help.doc for a more complete
      description of the structure.

    CREATED BY:	Jonathan Loran
    LAST MODIFICATION:	@(#)get_fpc.pro	1.4 01/29/98

    NOTES: The procedure "LOAD_3DP_DATA" must be
    	called first.

(See get_fpc.pro)

## GET_FRAME_INFO

[Previous Routine] [Next Routine] [List of Routines]

    PROCEDURE: 	get_frame_info
    PURPOSE:
      Gets frame info data for WIND data files.
    INPUT:
      none, but "LOAD_3DP_DATA" must be called 1st.
    KEYWORDS:
      DATA:  named variable in which all data is returned.

    CREATED BY:	Davin Larson
    FILE:  get_eatod.pro
    VERSION:  1.4
    LAST MODIFICATION:  96/05/03

(See get_frame_info.pro)

## GET_FSPB

[Previous Routine] [Next Routine] [List of Routines]

    FUNCTION:   get_fspb(t)
    INPUT:
        t: double,  seconds since 1970. If this time is a vector than the
    	routine will get all samples in between the two times in the
    	vector
    KEYWORDS:
    	advance:
    	index:		select data by sample index instead of by time.
    	times:		if non-zero, return and array of data times
    			corresponding to data samples.
    PURPOSE:   returns  structure containing all data pertinent to a single
      foil burst spectra.  See the file 3dp_help.doc for a more complete
      description of the structure.

    CREATED BY:	Robert D. Campbell
    FILENAME:	get_fspb.pro
    VERSION:	1.4
    LAST MODIFICATION:	96/04/09

    NOTES: The procedure "LOAD_3DP_DATA" must be
    	called first.

(See get_fspb.pro)

## GET_FSPC

[Previous Routine] [Next Routine] [List of Routines]

    FUNCTION:   get_fspc(t)
    INPUT:
        t: double,  seconds since 1970. If this time is a vector than the
    	routine will get all samples in between the two times in the
    	vector
    KEYWORDS:
    	advance:
    	index:		select data by sample index instead of by time.
    	times:		if non-zero, return and array of data times
    			corresponding to data samples.
    PURPOSE:   returns  structure containing all data pertinent to a single
      foil spectra.  See the file 3dp_help.doc for a more complete
      description of the structure.

    CREATED BY:	Robert D. Campbell
    FILENAME:	get_fspc.pro
    VERSION:	1.8
    LAST MODIFICATION:	99/03/02

    NOTES: The procedure "LOAD_3DP_DATA" must be
    	called first.

(See get_fspc.pro)

## GET_FT6T

[Previous Routine] [Next Routine] [List of Routines]

    FUNCTION:   get_ft6t
    INPUT:
        t: double,  seconds since 1970. If this time is a vector than the
       routine will get all samples in between the two times in the
       vector
    KEYWORDS:
       advance:
    PURPOSE:
    	 for omniazimuuth average flux if electrons, for survey plots
    	from SST foil+thick 3d data
    	data from 402x packets
    	produces array (FT6) for tplot

    CREATED BY:    Robert D. Campbell
    FILENAME:  get_ft6t.pro
    VERSION:   1.2
    LAST MODIFICATION: 95/10/06

    NOTES: The procedure "LOAD_3DP_DATA" must be
       called first.

(See get_ft6t.pro)

## GET_HKP

[Previous Routine] [Next Routine] [List of Routines]

    PROCEDURE: 	get_hkp
    PURPOSE:
        Gets housekeeping data for eesa and pesa;
    INPUT:
    	none, but "LOAD_3DP_DATA" must be called 1st.

    CREATED BY:	Davin Larson
    LAST MODIFICATION:	@(#)get_hkp.pro	1.16 01/06/06

(See get_hkp.pro)

## GET_LATEST_DATES

[Previous Routine] [Next Routine] [List of Routines]

    PROCEDURE:	get_latest_dates
    PURPOSE:	look at wi_lz_3dp_files.new and see what dates the
           files in it have
    		This is useful because you can call this from a procedure
    		like "MAKE_PLOT" to do something
    		with the latest data.
    INPUTS:	none
    KEYWORDS:	none

    CREATED BY:	Jasper Halekas
    LAST MODIFICATION:	@(#)get_latest_dates.pro	1.4 95/10/06

(See get_latest_dates.pro)

## GET_MCFG

[Previous Routine] [Next Routine] [List of Routines]

    FUNCTION:   get_mcfg(t)
    INPUT:
        t: double,  seconds since 1970.
    KEYWORDS:
    	advance:	advance to the next data point
    	index:		select data by sample index instead of by time.
    	times:		if non-zero, return an array of data times
    			corresponding to data samples.
    PURPOSE:   returns a SST Instrument Configuration data record.

    CREATED BY:	Peter Schroeder
    LAST MODIFIED: @(#)get_mcfg.pro	1.1 99/04/19

    NOTES: The procedure "LOAD_3DP_DATA" must be
    	called first.

(See get_mcfg.pro)

## GET_OSPB

[Previous Routine] [Next Routine] [List of Routines]

    FUNCTION:   get_ospb(t)
    INPUT:
        t: double,  seconds since 1970. If this time is a vector than the
    	routine will get all samples in between the two times in the
    	vector
    KEYWORDS:
    	advance:
    	index:		select data by sample index instead of by time.
    	times:		if non-zero, return and array of data times
    			corresponding to data samples.
    PURPOSE:   returns a structure containing all data pertinent to a single
      open burst spectra.  See the file 3dp_help.doc for a more complete
      description of the structure.

    CREATED BY:	Robert D. Campbell
    FILENAME:	get_ospb.pro
    VERSION:	1.4
    LAST MODIFICATION:	96/04/09

    NOTES: The procedure "LOAD_3DP_DATA" must be
    	called first.

(See get_ospb.pro)

## GET_OSPC

[Previous Routine] [Next Routine] [List of Routines]

    FUNCTION:   get_ospc(t)
    INPUT:
        t: double,  seconds since 1970. If this time is a vector than the
    	routine will get all samples in between the two times in the
    	vector
    KEYWORDS:
    	advance:
    	index:		select data by sample index instead of by time.
    	times:		if non-zero, return and array of data times
    			corresponding to data samples.
    PURPOSE:   returns a structure containing all data pertinent to a single
      open spectra.  See the file 3dp_help.doc for a more complete
      description of the structure.

    CREATED BY:	Robert D. Campbell
    FILENAME:	get_ospc.pro
    VERSION:	1.8
    LAST MODIFICATION:	99/03/02

    NOTES: The procedure "LOAD_3DP_DATA" must be
    	called first.

(See get_ospc.pro)

## GET_OT6T

[Previous Routine] [Next Routine] [List of Routines]

    FUNCTION:   get_ot6t
    INPUT:
        t: double,  seconds since 1970. If this time is a vector than the
       routine will get all samples in between the two times in the
       vector
    KEYWORDS:
       advance:
    PURPOSE:
    	 for omniazimuuth average flux if electrons, for survey plots
    	from SST open+thick 3d data
    	data from 402x packets
    	produces array (OT6) for tplot

    CREATED BY:    Robert D. Campbell
    FILENAME:  get_ot6t.pro
    VERSION:   1.2
    LAST MODIFICATION: 95/10/06

    NOTES: The procedure "LOAD_3DP_DATA" must be
       called first.

(See get_ot6t.pro)

## GET_PADFLUX

[Previous Routine] [Next Routine] [List of Routines]

    PROCEDURE:	get_padflux,source,symm_dir
    PURPOSE:	Calculates flux from eesa_L and mfi data.  You are expected to
    		have loaded these already using
    		"GET_MFI".
    INPUT:
    	source:	(string) source of 3d data (ie. 'el')
           symm_dir: (string) handle of symmetry direction data (ie. 'Bexp')
    KEYWORDS:
    	units:	units to convert to
    	bins:	bins to sum over

    CREATED BY:	Davin Larson
    LAST MODIFICATION:	@(#)get_padflux.pro	1.9 02/04/17

(See get_padflux.pro)

## GET_PCFG

[Previous Routine] [Next Routine] [List of Routines]

    FUNCTION:   get_pcfg(t)
    INPUT:
        t: double,  seconds since 1970.
    KEYWORDS:
    	advance:	advance to the next data point
    	index:		select data by sample index instead of by time.
    	times:		if non-zero, return an array of data times
    			corresponding to data samples.
    PURPOSE:   returns a Pesa Instrument Configuration data record.

    CREATED BY:	Peter Schroeder
    LAST MODIFIED: @(#)get_pcfg.pro	1.1 99/04/19

    NOTES: The procedure "LOAD_3DP_DATA" must be
    	called first.

(See get_pcfg.pro)

## GET_PH

[Previous Routine] [Next Routine] [List of Routines]

    FUNCTION:   get_ph(t)
    PURPOSE:
      Returns a 3d structure containing all data pertinent to a single pesa high 3d sample.
      See "3D_STRUCTURE" for a more complete
      description of the structure.

    INPUT:
        t: double,  seconds since 1970. If this time is a vector then the
    	routine will get all samples in between the two times in the
    	vector
    KEYWORDS:
    	advance:	advance to the next data point
    	index:		select data by sample index instead of by time.
    	times:		if non-zero, return and array of data times
    			corresponding to data samples.
    CREATED BY:	Frank Marcoline from Davin Larson's get_##.pro routines.
    LAST MODIFICATION:       @(#)get_ph.pro	1.32 99/05/03

    NOTES: The procedure "LOAD_3DP_DATA" must be
    	called first.

(See get_ph.pro)

## GET_PH2

[Previous Routine] [Next Routine] [List of Routines]

    FUNCTION:   get_ph2(t)
    PURPOSE:
      Returns a 3d structure containing all data pertinent to a single pesa high
      or pesa high burst 3d sample.
      See "3D_STRUCTURE" for a more complete
      description of the structure.

    INPUT:
        t: double,  seconds since 1970. If this time is a vector then the
           routine will get all samples in between the two times in the
           vector
    KEYWORDS:
           index:          select data by sample index instead of by time.
           times:          if non-zero, return and array of data times
                           corresponding to data samples.
    CREATED BY:    Art Hull
    LAST MODIFICATION:       @(#)get_ph2.pro	1.1 99/08/24

    NOTES: The procedure "LOAD_3DP_DATA" must be
           called first.

(See get_ph2.pro)

## GET_PH30

[Previous Routine] [Next Routine] [List of Routines]

    FUNCTION:   get_ph30(t)
    PURPOSE:
    	Get a 30 energy step ph structure containing the center (sunward) bins.
    INPUT:
        t: double,  seconds since 1970. If this time is a vector then the
    	routine will get all samples in between the two times in the
    	vector
    KEYWORDS:
    	advance:	advance to the next data point
    	index:		select data by sample index instead of by time.
    	times:		if non-zero, return and array of data times
    			corresponding to data samples.
    CREATED BY:	Frank Marcoline from Davin Larson's get_##.pro routines.
    LAST MODIFICATION:       @(#)get_ph30.pro	1.4 99/03/02

    NOTES: The procedure "LOAD_3DP_DATA" must be
    	called first.

(See get_ph30.pro)

## GET_PHB

[Previous Routine] [Next Routine] [List of Routines]

    FUNCTION:   get_phb(t)
    PURPOSE:
      Returns a 3d structure containing all data pertinent to a single pesa high
      burst 3d sample.
      See "3D_STRUCTURE" for a more complete
      description of the structure.

    INPUT:
        t: double,  seconds since 1970. If this time is a vector then the
    	routine will get all samples in between the two times in the
    	vector
    KEYWORDS:
    	advance:	advance to the next data point
    	index:		select data by sample index instead of by time.
    	times:		if non-zero, return and array of data times
    			corresponding to data samples.
    CREATED BY:	Peter Schroeder
    LAST MODIFICATION:       @(#)get_phb.pro	1.16 99/05/03

    NOTES: The procedure "LOAD_3DP_DATA" must be
    	called first.

(See get_phb.pro)

## GET_PHB_MAPCODE

[Previous Routine] [Next Routine] [List of Routines]

    NAME:                  get_phb_mapcode
    PURPOSE:
                           get the current mapcode for phb
                           see map3d.c for definitions of mapcodes
                           typically get_ph_mapcode will only be called from other get_ph* routines
    CALLING SEQUENCE:      type=get_ph_ph_type(t,advance=advance,index=index,preset=preset)
    INPUTS:                t: double or dblarr(2) time
    KEYWORD PARAMETERS:    ADVANCE: get the mapcode for the next ph packet
    			INDEX:   get the mapcode for the ph packet with index INDEX
    			OPTIONS: options array decides how the packet is chosen:
    				IF OPTIONS(1) GE  0, get packet by index
    				IF OPTIONS(1) EQ -1, get packet by time
    			PRESET:  If set: t, advance, and index are preset
    				and no changes to these variables will be made
    OUTPUTS:               At the moment there are only two possible valid outputs
                           1: MAP11b, or 2: MAP11d  (constants defined in map3d.h)
    COMMON BLOCKS:         wind_com
    EXAMPLE:               load_3dp_data,'1995-09-28',24
    			map0 = get_phb_mapcode(index=0)
    			map1 = get_phb_mapcode(str_to_time('1995-09-28/20'))
    			print,'Map0: ',map0,',    Map1: ',map1,format='(a,z,a,z)'
    		   -->  Map0:     D4A4,    Map1:     D4FE
    			;on 9/28/95 the telemetry rate changed from S2x to S1x
    			;See: http://sprg.ssl.berkeley.edu/wind3dp/wi_3dp_log
    CREATED BY:            Peter Schroeder

(See get_phb_mapcode.pro)

## GET_PH_MAPCODE

[Previous Routine] [Next Routine] [List of Routines]

    NAME:                  get_ph_mapcode
    PURPOSE:
                           get the current mapcode for ph
                           see map3d.c for definitions of mapcodes
                           typically get_ph_mapcode will only be called from other get_ph* routines
    CALLING SEQUENCE:      type=get_ph_ph_type(t,advance=advance,index=index,preset=preset)
    INPUTS:                t: double or dblarr(2) time
    KEYWORD PARAMETERS:    ADVANCE: get the mapcode for the next ph packet
    			INDEX:   get the mapcode for the ph packet with index INDEX
    			OPTIONS: options array decides how the packet is chosen:
    				IF OPTIONS(1) GE  0, get packet by index
    				IF OPTIONS(1) EQ -1, get packet by time
    			PRESET:  If set: t, advance, and index are preset
    				and no changes to these variables will be made
    OUTPUTS:               At the moment there are only two possible valid outputs
                           1: MAP11b, or 2: MAP11d  (constants defined in map3d.h)
    COMMON BLOCKS:         wind_com
    EXAMPLE:               load_3dp_data,'1995-09-28',24
    			map0 = get_ph_mapcode(index=0)
    			map1 = get_ph_mapcode(str_to_time('1995-09-28/20'))
    			print,'Map0: ',map0,',    Map1: ',map1,format='(a,z,a,z)'
    		   -->  Map0:     D4A4,    Map1:     D4FE
    			;on 9/28/95 the telemetry rate changed from S2x to S1x
    			;See: http://sprg.ssl.berkeley.edu/wind3dp/wi_3dp_log
    CREATED BY:            Frank Marcoline

(See get_ph_mapcode.pro)

## GET_PL

[Previous Routine] [Next Routine] [List of Routines]

    FUNCTION:   get_pl(t)
    INPUT:
        t: double,  seconds since 1970. If this time is a vector then the
    	routine will get all samples in between the two times in the
    	vector
    KEYWORDS:
    	advance:	advance to the next data point
    	index:		select data by sample index instead of by time.
    	times:		if non-zero, return and array of data times
    			corresponding to data samples.
    PURPOSE:   returns a 3d structure containing all data pertinent to a single
      pesa low 3d sample.  See "3D_STRUCTURE" for a more complete
      description of the structure.

    CREATED BY:	Davin Larson
    LAST MODIFICATION:  @(#)get_pl.pro	1.24 99/04/27

    NOTES: The procedure "LOAD_3DP_DATA" must be
    	called first.

(See get_pl.pro)

## GET_PL2

[Previous Routine] [Next Routine] [List of Routines]

    FUNCTION:   get_pl2(t)
    INPUT:
        t: double,  seconds since 1970. If this time is a vector then the
           routine will get all samples in between the two times in the
           vector
    KEYWORDS:
           index:          select data by sample index instead of by time.
           times:          if non-zero, return and array of data times
                           corresponding to data samples.
    PURPOSE:   returns a 3d structure containing all data pertinent to a single
      pesa low or pesa low burst 3d sample.  See "3D_STRUCTURE" for a more complete
      description of the structure.

    CREATED BY:    Art Hull
    LAST MODIFICATION:  @(#)get_pl2.pro	1.1 99/08/24

    NOTES: The procedure "LOAD_3DP_DATA" must be
           called first.

(See get_pl2.pro)

## GET_PLB

[Previous Routine] [Next Routine] [List of Routines]

    FUNCTION:   get_plb(t)
    INPUT:
        t: double,  seconds since 1970. If this time is a vector then the
    	routine will get all samples in between the two times in the
    	vector
    KEYWORDS:
    	advance:	advance to the next data point
    	index:		select data by sample index instead of by time.
    	times:		if non-zero, return and array of data times
    			corresponding to data samples.
    PURPOSE:   returns a 3d structure containing all data pertinent to a single
      pesa low 3d sample.  See "3D_STRUCTURE" for a more complete
      description of the structure.

    CREATED BY:	Peter Schroeder
    LAST MODIFICATION:  @(#)get_plb.pro	1.17 99/04/27

    NOTES: The procedure "LOAD_3DP_DATA" must be
    	called first.

(See get_plb.pro)

## GET_PMOM

[Previous Routine] [Next Routine] [List of Routines]

    PROCEDURE:	get_pmom
    PURPOSE:	Gets moment data for pesa, including velocity,density,and
    		temperature.
    INPUT:
    	none, but "LOAD_3DP_DATA" must be called first.
    KEYWORDS:
       NONE.
    CREATED BY:	Davin Larson
    FILE:  get_pmom.pro
    VERSION:  1.13
    LAST MODIFICATION:  97/09/08

(See get_pmom.pro)

## GET_PMOM2

[Previous Routine] [Next Routine] [List of Routines]

    PROCEDURE:	get_pmom2
    PURPOSE:
      Gets pesa moment structure.
    INPUT:
    	none, but "LOAD_3DP_DATA" must be called 1st.
    KEYWORDS:
       POLAR
       VTHERMAL
    CREATED BY:	Davin Larson
    FILE:  get_pmom2.pro
    VERSION:  1.4
    LAST MODIFICATION:  02/11/01

(See get_pmom2.pro)

## GET_SDOTB

[Previous Routine] [Next Routine] [List of Routines]

    PROCEDURE:	get_sdotb
    PURPOSE:
    INPUT:		none
    KEYWORDS:	none
    CREATED BY:	Davin Larson
    LAST MODIFICATION:	@(#)get_sdotb.pro	1.3 95/08/24

(See get_sdotb.pro)

## GET_SF

[Previous Routine] [Next Routine] [List of Routines]

    FUNCTION:   get_sf(t)
    INPUT:
        t: double,  seconds since 1970. If this time is a vector then the
    	routine will get all samples in between the two times in the
    	vector
    KEYWORDS:
    	chanmode:	if set, load only channels that are read out for
    			the selected packet.
    	index:		select data by sample index instead of by time.
    	times:		if non-zero, return and array of data times
    			corresponding to data samples.
    PURPOSE:   returns a 3d structure containing all data pertinent to a single
      SST Foil sample.  See "3D_STRUCTURE" for a more complete
      description of the structure.

    CREATED BY:	Peter Schroeder
    LAST MODIFIED:	@(#)get_sf.pro	1.28 99/03/02

    NOTES: The procedure "LOAD_3DP_DATA" must be
    	called first.

(See get_sf.pro)

## GET_SFB

[Previous Routine] [Next Routine] [List of Routines]

    FUNCTION:   get_sfb(t)
    INPUT:
        t: double,  seconds since 1970. If this time is a vector then the
    	routine will get all samples in between the two times in the
    	vector
    KEYWORDS:
    	index:		select data by sample index instead of by time.
    	times:		if non-zero, return and array of data times
    			corresponding to data samples.
    PURPOSE:   returns a 3d structure containing all data pertinent to a single
      SST Foil burst sample.  See "3D_STRUCTURE" for a more complete
      description of the structure.

    CREATED BY:	Peter Schroeder
    LAST MODIFIED:	%W% %E%

    NOTES: The procedure "LOAD_3DP_DATA" must be
    	called first.

(See get_sfb.pro)

## GET_SFT

[Previous Routine] [Next Routine] [List of Routines]

    FUNCTION:   get_sft(t)
    INPUT:
        t: double,  seconds since 1970. If this time is a vector then the
    	routine will get all samples in between the two times in the
    	vector
    KEYWORDS:
    	chanmode:	if set, load only channels that are read out for
    			the selected packet.
    	index:		select data by sample index instead of by time.
    	times:		if non-zero, return and array of data times
    			corresponding to data samples.
    PURPOSE:   returns a 3d structure containing all data pertinent to a single
      SST Foil sample.  See "3D_STRUCTURE" for a more complete
      description of the structure.

    CREATED BY:	Peter Schroeder
    LAST MODIFIED:	@(#)get_sft.pro	1.10 99/03/02

    NOTES: The procedure "LOAD_3DP_DATA" must be
    	called first.

(See get_sft.pro)

## GET_SO

[Previous Routine] [Next Routine] [List of Routines]

    FUNCTION:   get_so(t)
    INPUT:
        t: double,  seconds since 1970. If this time is a vector then the
    	routine will get all samples in between the two times in the
    	vector
    KEYWORDS:
           chanmode:       if set, load only channels that are read out for
                           the selected packet.
    	index:		select data by sample index instead of by time.
    	times:		if non-zero, return and array of data times
    			corresponding to data samples.
    PURPOSE:   returns a 3d structure containing all data pertinent to a single
      SST Open sample.  See "3D_STRUCTURE" for a more complete
      description of the structure.

    CREATED BY:	Peter Schroeder
    LAST MODIFIED:	@(#)get_so.pro	1.21 99/03/02

    NOTES: The procedure "LOAD_3DP_DATA" must be
    	called first.

(See get_so.pro)

## GET_SOB

[Previous Routine] [Next Routine] [List of Routines]

    FUNCTION:   get_sob(t)
    INPUT:
        t: double,  seconds since 1970. If this time is a vector then the
    	routine will get all samples in between the two times in the
    	vector
    KEYWORDS:
    	index:		select data by sample index instead of by time.
    	times:		if non-zero, return and array of data times
    			corresponding to data samples.
    PURPOSE:   returns a 3d structure containing all data pertinent to a single
      SST Open Burst sample.  See "3D_STRUCTURE" for a more complete
      description of the structure.

    CREATED BY:	Peter Schroeder
    LAST MODIFIED:	@(#)get_sob.pro	1.8 99/03/02

    NOTES: The procedure "LOAD_3DP_DATA" must be
    	called first.

(See get_sob.pro)

## GET_SOT

[Previous Routine] [Next Routine] [List of Routines]

    FUNCTION:   get_sot(t)
    INPUT:
        t: double,  seconds since 1970. If this time is a vector then the
    	routine will get all samples in between the two times in the
    	vector
    KEYWORDS:
    	chanmode:	if set, load only channels that are read out for
    			the selected packet.
    	index:		select data by sample index instead of by time.
    	times:		if non-zero, return and array of data times
    			corresponding to data samples.
    PURPOSE:   returns a 3d structure containing all data pertinent to a single
      SST Open sample.  See "3D_STRUCTURE" for a more complete
      description of the structure.

    CREATED BY:	Peter Schroeder
    LAST MODIFIED:	@(#)get_sot.pro	1.8 99/03/02

    NOTES: The procedure "LOAD_3DP_DATA" must be
    	called first.

(See get_sot.pro)

## GET_SPEC

[Previous Routine] [Next Routine] [List of Routines]

    PROCEDURE:	get_spec
    PURPOSE:
      Creates "TPLOT" variable by summing 3D data over selected angle bins.

    INPUT:		data_str, a string(either 'eh','el','ph','pl','sf',or 'so' at
    		this point) telling which data to get.

    KEYWORDS:	bins: a keyword telling which bins to sum over
    		gap_time: time gap big enough to signify a data gap (def 200)
    		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.
    		KEV: If set, energy array and energy labels are put in keV.
    		     The default is to put energy in eV.

    CREATED BY:	Jasper Halekas
    FILE:  get_spec.pro
    VERSION:  1.48
    LAST MODIFICATION:  02/04/17
    MOD HISTORY:
       95/10/5 by REE (added bkg subtraction)
       96/4/9 by JML now use index feature of get_* to walk through the data
       96/5/6  Mods plus clean up.

    NOTES:	  "LOAD_3DP_DATA" must be called first to load up WIND data.

(See get_spec.pro)

## GET_TSPC

[Previous Routine] [Next Routine] [List of Routines]

    FUNCTION:   get_tspc(t)
    INPUT:
        t: double,  seconds since 1970. If this time is a vector than the
    	routine will get all samples in between the two times in the
    	vector
    KEYWORDS:
    	advance:
    	index:		select data by sample index instead of by time.
    	times:		if non-zero, return and array of data times
    			corresponding to data samples.
    PURPOSE:   returns a  structure containing all data pertinent to a single
      f+t & o+t spectra.  See the file 3dp_help.doc for a more complete
      description of the structure.

    CREATED BY:	Robert D. Campbell
    LAST MODIFICATION:	%W% %E%

    NOTES: The procedure "LOAD_3DP_DATA" must be
    	called first.

(See get_tspc.pro)

## GET_WIND_TIMES

[Previous Routine] [Next Routine] [List of Routines]

     FUNCTION:	get_wind_times

     PURPOSE: 	To get an array of all the times loaded in memory for a
    		given data type.

     INPUTS:	STRING data type.

     OUTPUTS:	array of time tags if successful, else 0D

     MODIFICATION HISTORY: Written 1995/09/22 By J. M. Loran

(See get_wind_times.pro)

## HELP_3DP

[Previous Routine] [Next Routine] [List of Routines]

    PROCEDURE:	help_3dp
    PURPOSE:	Calls netscape and brings up our on_line help.  One of the pages
    		accessed by this on_line help provides documentation on all of
    		our procedures and is produced by"MAKEHELP"
    INPUT:		none
    KEYWORDS:
    	MOSAIC:	if set uses mosaic instead of netscape

    CREATED BY:	Jasper Halekas
    FILE:   help_3dp.pro
    VERSION:  1.7
    LAST MODIFICATION: 02/04/17

(See help_3dp.pro)

## INIT_WIND_LIB

[Previous Routine] [Next Routine] [List of Routines]

    PROCEDURE:  init_wind_lib

    PURPOSE:
       Initializes common block variables for the WIND 3DP library.
       There is no reason for the typical user to execute this routine as it is
       automatically called from "LOAD_3DP_DATA".  However it can be used to
       overide the default directories and/or libraries.

    RESTRICTIONS:
       This procedure is operating system dependent!  (UNIX only)
       This procedure expects to find two environment variables:
         WIND_DATA_DIR: the directory containing the master file: 'wi_lz_3dp_files'
            please see the file help_3dp.html for information on creating this
            file.
         IDL_3DP_DIR: the directory containing the source code and the sub-
             directory/file:  lib/wind_lib.so

    KEYWORDS:  (used to overide defaults.)
      WLIB:  (string)  full pathname of shared object code for wind data
         extraction library.   Default is $IDL_3DP_DIR/lib/wind_lib.so
      MASTFILE: (string)  full pathname of the 3DP master data file.
         default is: $WIND_DATA_DIR/wi_lz_3dp_files

    CREATED BY:	Davin Larson
    LAST MODIFICATION:	@(#)init_wind_lib.pro	1.12 02/04/18

(See init_wind_lib.pro)

## LOAD_3DP_DATA

[Previous Routine] [Next Routine] [List of Routines]

    PROCEDURE load_3dp_data, time,  delta_time,quality=quality

    PURPOSE:
      Opens and loads into memory the 3DP LZ data file(s) within the given time
      range.
      This must be called prior to any data retrieval!

    INPUTS:   (optional,  prompted if not provided)
      time:   start time.string of the form: 'yy-mm-dd/hh:mm:ss'
      deltat; int,float or double:  number of hours of data to load
      quality; set bits to determine level of packet quality.
    	    the following bits will allow packets with these possible
    	    problems through the decommutator filter:
    		1: frame contains some fill data
    		2: the following packet is invalid
    		4: packet contains fill data
    	    default is quality = 0 (most conservative option)

    CREATED BY:	Davin Larson
    LAST MODIFICATION:	@(#)load_3dp_data.pro	1.20 02/11/05

(See load_3dp_data.pro)

## MAKEHELP

[Previous Routine] [Next Routine] [List of Routines]

    BATCH FILE:	makehelp
    NAME:
           makehelp
    PURPOSE:
    	Uses "MK_HTML_HELP2" to create an html help file
           called  3dp_ref_man.html.  "HELP_3DP" will call
           up a browser and open our on_line help facility, which
           provides a link to the page generated by this procedure.
    INPUT:		none
    KEYWORDS:	N/A

    CREATED BY:	Jasper Halekas
    LAST MODIFICATION:	@(#)makehelp.pro	1.25   99/04/22

(See makehelp.pro)

## MAKE_PLOT

[Previous Routine] [Next Routine] [List of Routines]

    PROCEDURE:	make_plot (batchfile)
    PURPOSE:	makes summary plots daily when called by make_sum_plots script
    INPUT:		none
    KEYWORDS:	none

    CREATED BY:	Jasper Halekas
    LAST MODIFICATION:	@(#)make_plot.pro	1.19 01/06/06

(See make_plot.pro)

## PLOT_ORBIT

[Previous Routine] [Next Routine] [List of Routines]

    PROCEDURE:    plot_orbit, data_name
    PURPOSE:   To do an xyplot of orbital or other data
    INPUT:      String associated with spacecraft position data quantity.
          Default is 'GSE_pos_def'.  (see "get_orbit")
    KEYWORDS:
       ZPLOT:    will produce an x-z plot, rather than x-y
       BOW:      structure that determines bow shock parameters.
       TLABEL:   Draws a label for each time value specified.
       FREQ:     if set will draw a star every freq days
       INIT_FREQ:    first date to label. (date string: yy-mm-dd)
       DATE_LAB: if set will label a date every date_lab days
       INIT_DATE_LAB:  first date to start labeling. (date string: yy-mm-dd)
       LIMITS:   A limit structure that defines plot limits.
              (see "TPLOT/help_list.html#OPTIONS">OPTIONS", "XLIM" or "YLIM")
       TRANGE:   Two element vector of time values giving the time range.
              (see "TPLOT/help_list.html#GETTIME">GETTIME")
       DAT3D:   A data structure that contains some of the following:
            magf:   3 components of magnetic field.
            sc_pos: 3 components of spacecraft position.
            vsw:    3 components of solar wind velocity.

    Modified by: Peter Schroeder	97-5-21
    Written by: Davin Larson    95-9-12
    Modified from xyplot.pro by Jasper Halekas.
    FILE: plot_orbit.pro
    VERSION:  1.18
    LAST MODIFICATION: 02/04/17

(See plot_orbit.pro)

## START3DP

[Previous Routine] [Next Routine] [List of Routines]

    WIND 3D Plasma startup procedure.
    Calling procedure:
    @start3dp
    PURPOSE:  Initializes 3DP code.

    CREATED BY:	Davin Larson
    LAST MODIFICATION:	@(#)start3dp.pro	1.10 97/02/10

(See start3dp.pro)

## WIND_COM

[Previous Routine] [List of Routines]

    COMMON BLOCK:	wind_com
    PURPOSE:	Common block for wind procedures

    CREATED BY:	Davin Larson
    LAST MODIFICATION:	@(#)wind_com.pro	1.6 02/11/01

(See wind_com.pro)