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

Last modified: Thu Apr 22 14:59:11 1999.

# Directory Listing of Routines

# general/key_param/

- CDF_ATTR_EXISTS
  determines if a specified CDF file has an attribute with a specified name
- CDF_INFO
  Returns a structure with useful information about a CDF file.
- CDF_VAR_EXISTS
  determines if a specified CDF file has a variable with a specified name
- LOAD_DST
  loads DST data from a DST text file
- LOAD_GE_MGF
  loads GEOTAIL MAGNETOMETER Experiment key parameter data for "tplot".
- LOAD_HKP_MFI
  Creates TPLOT magnetic field variables from 3DP housekeeping data.
- LOAD_I8_MAG
  loads IMP-8 magnetometer key parameter data for "tplot".
- LOAD_I8_PLA
  loads IMP-8 Plasma Experiment key parameter data for "tplot".
- LOAD_IG_PCI
  loads INTERBALL Ground key parameter data for "tplot".
- LOAD_KP
  Loads Kp and ap data from a text file
- LOAD_PO_PWI
  Loads Polar Plasma Wave Instrument key parameter data into "tplot" variables.
- LOAD_SO_CEL
  loads SOHO CEL key parameter data for "tplot".
- LOAD_SO_CST
  loads SOHO CST key parameter data for "tplot".
- LOAD_SO_ERN
  loads SOHO ERN key parameter data for "tplot".
- LOAD_WI_3DP
  loads WIND 3D Plasma Experiment key parameter data for "tplot".
- LOAD_WI_EHPD
  loads WIND 3D Plasma Experiment key parameter data for "tplot".
- LOAD_WI_EHSP_3DP
  loads WIND 3D Plasma Experiment key parameter data for "tplot".
- LOAD_WI_ELM2
  loads WIND 3D Plasma Experiment key parameter data for "tplot".
- LOAD_WI_ELPD2
  loads WIND 3D Plasma Experiment key parameter data for "tplot".
- LOAD_WI_ELPD_3DP
  loads WIND 3D Plasma Experiment key parameter data for "tplot".
- LOAD_WI_ELSP_3DP
  loads WIND 3D Plasma Experiment key parameter data for "tplot".
- LOAD_WI_EM_3DP
  loads WIND 3D Plasma Experiment key parameter data for "tplot".
- LOAD_WI_EPA
  loads WIND Energetic Particle Analyser key parameter data for "tplot".
- LOAD_WI_FRM_3DP
  loads WIND 3D Plasma Experiment key parameter data for "tplot".
- LOAD_WI_H0_MFI
  loads WIND MAGNETOMETER high resolution data for "tplot".
- LOAD_WI_HKP_3DP
  loads WIND 3D Plasma Experiment key parameter data for "tplot".
- LOAD_WI_MFI
  loads WIND MAGNETOMETER Experiment key parameter data for "tplot".
- LOAD_WI_OR
  loads WIND 3D Plasma Experiment orbit data for "tplot".
- LOAD_WI_PHSP_3DP
  loads WIND 3D Plasma Experiment key parameter data for "tplot".
- LOAD_WI_PLSP_3DP
  loads WIND 3D Plasma Experiment key parameter data for "tplot".
- LOAD_WI_PM_3DP
  loads WIND 3D Plasma Experiment key parameter data for "tplot".
- LOAD_WI_SFPD
  loads WIND 3D Plasma Experiment key parameter data for "tplot".
- LOAD_WI_SFSP_3DP
  loads WIND 3D Plasma Experiment key parameter data for "tplot".
- LOAD_WI_SOSP_3DP
  loads WIND 3D Plasma Experiment key parameter data for "tplot".
- LOAD_WI_SP_MFI
  loads WIND MAGNETOMETER 3 second data for "tplot".
- LOAD_WI_SWE
  loads WIND Solar Wind Experiment key parameter data for "tplot".
- LOAD_WI_WAV
  loads WIND WAVES Experiment key parameter data for "tplot".
- LOADALLCDF
  Loads selected CDF file variables into a data structure.
- LOADCDF2
  Loads one type of data from specified cdf file.
- LOADCDFSTR
  loads data from specified cdf file into a structure.
- MAKE_CDF_INDEX
  Creates an index file for CDF files.
- MAKECDF
  Creates a CDF file given an array of structures
- MAKECDF2
  Creates a CDF file from a structure of arrays
- PB5_TO_TIME
- PRINT_CDF_INFO

# Routine Descriptions

## CDF_ATTR_EXISTS

[Next Routine] [List of Routines]

     FUNCTION: cdf_attr_exists, cdf, attrname

     PURPOSE:
         determines if a specified CDF file has an attribute with a specified name

     INPUTS:
         cdf:
             either the cdf_id of an open CDF file, or the name of a CDF file
         attrname:
             name of the attribute to be asked about

     KEYWORDS:
         scope:
             if set, return the scope of the attribute (if it is present). The scope
             may be either of the strings 'GLOBAL_SCOPE' or 'VARIABLE_SCOPE'.
             The value of this variable is only meaningful if the return value is 1.

     OUTPUTS:
         return value is 1 if yes, 0 if no

     CREATED BY: Vince Saba

     LAST MODIFICATION: @(#)cdf_attr_exists.pro	1.1 98/04/14

(See cdf_attr_exists.pro)

## CDF_INFO

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

    NAME:  cdf_info
    FUNCTION:   cdf_info(id)
    PURPOSE:
      Returns a structure with useful information about a CDF file.
      In particular the number of file records is returned in this structure.
    INPUT:
    	id:	CDF file ID.
    CREATED BY:	Davin Larson
    LAST MODIFIED:	@(#)cdf_info.pro	1.3 98/08/07

(See cdf_info.pro)

## CDF_VAR_EXISTS

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

     FUNCTION: cdf_var_exists, cdf, varname

     PURPOSE:
         determines if a specified CDF file has a variable with a specified name

     INPUTS:
         cdf:
             either the cdf_id of an open CDF file, or the name of a CDF file
         attrname:
             name of the variable to be asked about

     KEYWORDS:

     OUTPUTS:
         return value is 1 if yes, 0 if no

     CREATED BY: Vince Saba

     LAST MODIFICATION: @(#)cdf_var_exists.pro	1.1 98/04/14

(See cdf_var_exists.pro)

## LOADALLCDF

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

    PROCEDURE: loadallcdf
    PURPOSE:
      Loads selected CDF file variables into a data structure.
      VARYing data is returned through the keyword: DATA.
      NOVARY data is returned through the keyword:  NOVARDATA.
    KEYWORDS:  (all keywords are optional)
      FILENAMES:   string (array); full pathname of file(s) to be loaded.
         (INDEXFILE, ENVIRONVAR, MASTERFILE and TIME_RANGE are ignored
         if this is set.)

      MASTERFILE:  Full Pathname of indexfile. (INDEXFILE and ENVIRONVAR are
         ignored if this is set)

      INDEXFILE:   File name (without path) of indexfile. This file should be
         located in the directory given by ENVIRONVAR.  If not given then
         "PICKFILE" is used to select an index file. see "MAKE_CDF_INDEX" for
         information on producing this file.
      ENVIRONVAR:  Name of environment variable containing directory of indexfiles
         (default is 'CDF_INDEX_DIR')

      TIME_RANGE:  Two element vector specifying time range (default is to use
         trange_full; see "TPLOT/help.html#TIMESPAN">TIMESPAN" or "GET_TIMESPAN" for more info)

      CDFNAMES:    Names of CDF variables to be loaded. (string array)
      TAGNAMES:	String array of structure tag names.
      DATA:        Named variable that data is returned in.
      RESOLUTION:	Resolution in seconds to be returned.

      NOVARNAMES:  Names of 'novary' variables to be loaded
      NOVARDATA:   Named variable that 'novary' data is returned in.

      TPLOT_NAME:  "TPLOT" string name. If set then a tplot variable is created.
         Individual elements can be referred to as 'NAME.ELEMENT'
      CARR_FILE:	Load Carrington rotation files.

    SEE ALSO:
      "loadcdf","LOADCDFSTR","MAKECDF","MAKE_CDF_INDEX","GET_FILE_NAMES","
    VERSION:  98/11/03  loadallcdf.pro  1.21
    Created by Davin Larson,  August 1996

(See loadallcdf.pro)

## LOADCDF2

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

    PROCEDURE:	loadcdf2
    PURPOSE:
       Loads one type of data from specified cdf file.
    INPUT:
    	CDF_file:	the file to load data from  (or the id of an open file)
    	CDF_var:	the variable to load
    	x:		the variable to load data into

    KEYWORDS:
    	zvar:	 	must be set if variable to be loaded is a zvariable.
           append:         appends data to the end of x instead of overwriting it.
           nrecs:          number of records to be read.
    	no_shift:	if set, do not perform dimen_shift to data.
    	rec_start:	CDF record number to begin reading.

    CREATED BY:	Jim Byrnes, heavily modified by Davin Larson (was loadcdf)
    MODIFICATIONS:
      96-6-26  added APPEND keyword
    LAST MODIFICATION:	@(#)loadcdf2.pro	1.5 98/08/13

(See loadcdf2.pro)

## LOADCDFSTR

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

    PROCEDURE:	loadcdfstr
    PURPOSE:
      loads data from specified cdf file into a structure.
    INPUT:
    	x:		A named variable to return the structure in
    	novardata:	A named variable to return the non-varying
    			data.

    KEYWORDS:
           FILENAMES:  [array of] CDF filename[s].  (or file id's)
    	PATH:	    CDF file path.
           VARNAMES:   [array of] CDF variable name[s] to be loaded.
    	NOVARNAMES: [array of] CDF non-varying field names.
           TAGNAMES:   optional array of structure tag names.
    	RESOLUTION: resolution to return in seconds.
    	APPEND:     if set, append data to the end of x.
           TIME:     If set, will create tag TIME using the Epoch variable.
    SEE ALSO:
      "LOADCDF2", "LOADALLCDF", "PRINT_CDF_INFO","MAKE_CDF_INDEX"

    CREATED BY:	Davin Larson
    MODIFICATIONS:
    LAST MODIFICATION:	@(#)loadcdfstr.pro	1.17 98/08/13

(See loadcdfstr.pro)

## LOAD_DST

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

    PROCEDURE:	load_dst
    PURPOSE:
       loads DST data from a DST text file

    INPUTS:
      none, but will call "TPLOT/help.html#TIMESPAN">TIMESPAN" if time_range is not already set.

    KEYWORDS:
      time_range:	2 element vector specifying the time range.

    CREATED BY:	Peter Schroeder
    LAST MODIFIED: @(#)load_dst.pro	1.4 99/01/14

(See load_dst.pro)

## LOAD_GE_MGF

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

    PROCEDURE:	load_ge_mgf
    PURPOSE:
       loads GEOTAIL MAGNETOMETER Experiment key parameter data for "TPLOT".

    INPUTS:
      none, but will call "TPLOT/help.html#TIMESPAN">TIMESPAN" if time range is not already set.
    KEYWORDS:
      POLAR:       Also computes the B field in polar coordinates.
      TIME_RANGE:  2 element vector specifying the time range
      DATA:        Data returned in this named variable
    RESTRICTIONS:
      This routine expects to find the master file: 'ge_k0_mgf_files'
      in the directory specified by the environment variable: 'CDF_DATA_DIR'
      See "MAKE_CDF_INDEX" for more info.
    SEE ALSO:
      "MAKE_CDF_INDEX","loadcdf","LOADCDFSTR","LOADALLCDF"

    CREATED BY:	Davin Larson
    FILE:  load_ge_mgf.pro
    LAST MODIFICATION: 98/08/07

(See load_ge_mgf.pro)

## LOAD_HKP_MFI

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

    PROCEDURE:	load_hkp_mfi
    PURPOSE:
    	Creates TPLOT magnetic field variables from 3DP housekeeping data.
    	To be used when key parameter file is not available.
    INPUTS:
    	none
    KEYWORDS:
    	none
    NOTES:
    	3DP housekeeping data gives direction of magnetic field only.  A
    	magnitude of 1 is assumed to create these variables.
    CREATED BY:	Peter Schroeder
    LAST MODIFIED:	%W% %E%

(See load_hkp_mfi.pro)

## LOAD_I8_MAG

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

    PROCEDURE:	load_i8_mag
    PURPOSE:
       loads IMP-8 magnetometer key parameter data for "TPLOT".

    INPUTS:	none, but will call "TPLOT/help.html#TIMESPAN">TIMESPAN" if time
    		range is not already set.
    KEYWORDS:
      TIME_RANGE:  2 element vector specifying the time range
      DATA:	returns data structure
    RESTRICTIONS:
      This routine expects to find the master file: 'i8_k0_mag_files'
      In the directory specified by the environment variable: 'CDF_DATA_DIR'
      See "MAKE_CDF_INDEX" for more info.

    SEE ALSO:
      "MAKE_CDF_INDEX","loadcdf","LOADCDFSTR","LOADALLCDF"

    CREATED BY:	Davin Larson
    FILE:  load_i8_mag.pro
    LAST MODIFICATION: 98/08/11

(See load_i8_mag.pro)

## LOAD_I8_PLA

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

    PROCEDURE:	load_i8_pla
    PURPOSE:
       loads IMP-8 Plasma Experiment key parameter data for "TPLOT".

    INPUTS:	none, but will call "TPLOT/help.html#TIMESPAN">TIMESPAN" if time
    		range is not already set.
    KEYWORDS:
      TIME_RANGE:  2 element vector specifying the time range
      DATA:	returns data structure
    RESTRICTIONS:
      This routine expects to find the master file: 'i8_k0_pla_files'
      In the directory specified by the environment variable: 'CDF_DATA_DIR'
      See "MAKE_CDF_INDEX" for more info.

    SEE ALSO:
      "MAKE_CDF_INDEX","loadcdf","LOADCDFSTR","LOADALLCDF"

    CREATED BY:	Davin Larson
    FILE:  load_i8_pla.pro
    LAST MODIFICATION: 98/08/11

(See load_i8_pla.pro)

## LOAD_IG_PCI

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

    PROCEDURE:	load_ig_pci
    PURPOSE:
       loads INTERBALL Ground key parameter data for "TPLOT".

    INPUTS:	none, but will call "TPLOT/help.html#TIMESPAN">TIMESPAN" if time
    		range is not already set.
    KEYWORDS:
      TIME_RANGE:  2 element vector specifying the time range
    SEE ALSO:
      "MAKE_CDF_INDEX"

    CREATED BY:	Davin Larson
    FILE:  load_wi_epa.pro
    LAST MODIFICATION: 96/08/23

(See load_ig_pci.pro)

## LOAD_KP

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

    PROCEDURE:	load_kp
    PURPOSE:
       Loads Kp and ap data from a text file
       Variables stored include:
    	Kp: Kp index (multiplied by 10)
    	ap: ap index
    	Sol_Rot_Num: Bartels Solar Rotation Number
    	Sol_Rot_Day: Number of day within Bartels 27-day cycle
    	Kp_Sum: Sum of the eight Kp indices for the day
    	ap_Mean: Mean of the eight ap indices for the day
    	Cp: Cp or Planetary Daily Character Figure
    	C9: Conversion of Cp to the 0-9 range
    	Sunspot_Number: International Sunspot Number
    	Solar_Radio_Flux: Ottawa 10.7-cm Solar Radio Flux Adjusted to 1 AU
    	Flux_Qualifier: "0" indicates flux required no adjustment.
    		"1" indicates flux required adjustment for burst
    		in progress at time of measurement.  "2" indicates a flux
    		approximated by either interpolation or extrapolation.
    		"3" indicates no observation.

    INPUTS:
      none, but will call "TPLOT/help.html#TIMESPAN">TIMESPAN" if time_range is not already set.

    KEYWORDS:
      time_range:	2 element vector specifying the time range.

    CREATED BY:	Peter Schroeder
    LAST MODIFIED: @(#)load_kp.pro	1.1 99/01/14

(See load_kp.pro)

## LOAD_PO_PWI

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

    PROCEDURE:	load_po_pwi
    PURPOSE:
      Loads Polar Plasma Wave Instrument key parameter data into "TPLOT" variables.

    INPUTS:
       none, but will call "TPLOT/help.html#TIMESPAN">TIMESPAN" if time range is not already set.
    KEYWORDS:
      DATA:        Raw data can be returned through this named variable.
      TIME_RANGE:  2 element vector specifying the time range

    SEE ALSO:
      "MAKE_CDF_INDEX","loadcdf","LOADCDFSTR","LOADALLCDF"

    CREATED BY:	Davin Larson
    FILE:  load_po_pwi.pro
    LAST MODIFICATION: 98/08/11

(See load_po_pwi.pro)

## LOAD_SO_CEL

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

    PROCEDURE:	load_so_cel
    PURPOSE:
       loads SOHO CEL key parameter data for "TPLOT".

    INPUTS:	none, but will call "TPLOT/help.html#TIMESPAN">TIMESPAN" if time
    		range is not already set.
    KEYWORDS:
      TIME_RANGE:  2 element vector specifying the time range
      MASTERFILE:  (string) full filename of master index file

    CREATED BY:	Davin Larson
    FILE:  load_so_cel.pro
    LAST MODIFICATION: 98/08/11

(See load_so_cel.pro)

## LOAD_SO_CST

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

    PROCEDURE:	load_so_cst
    PURPOSE:
       loads SOHO CST key parameter data for "TPLOT".

    INPUTS:	none, but will call "TPLOT/help.html#TIMESPAN">TIMESPAN" if time
    		range is not already set.
    KEYWORDS:
      TIME_RANGE:  2 element vector specifying the time range

    CREATED BY:	Davin Larson
    FILE:  load_so_cst.pro
    LAST MODIFICATION: 97/11/20

(See load_so_cst.pro)

## LOAD_SO_ERN

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

    PROCEDURE:	load_so_ern
    PURPOSE:
       loads SOHO ERN key parameter data for "TPLOT".

    INPUTS:
      none, but will call "TPLOT/help.html#TIMESPAN">TIMESPAN" if time_range is not already set.
    KEYWORDS:
      TIME_RANGE:  2 element vector specifying the time range
    SEE ALSO:
      "MAKE_CDF_INDEX","loadcdf","LOADCDFSTR","LOADALLCDF"

    CREATED BY:	Davin Larson
    FILE:  load_so_ern.pro
    LAST MODIFICATION: 96/09/27

(See load_so_ern.pro)

## LOAD_WI_3DP

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

    PROCEDURE:	load_wi_3dp
    PURPOSE:
       loads WIND 3D Plasma Experiment key parameter data for "TPLOT".

    INPUTS:
      none, but will call "TPLOT/help.html#TIMESPAN">TIMESPAN" if time_range is not already set.
    KEYWORDS:
      DATA:        Raw data can be returned through this named variable.
      NVDATA:	Raw non-varying data can be returned through this variable.
      POLAR:       Computes polar coordinates if set.
      TIME_RANGE:  2 element vector specifying the time range.
      VTHERMAL:	if nonzero, calculates ion thermal velocities.
      RESOLUTION:	Returns data at a given time resolution.  In seconds.
      MASTERFILE:	(String) full filename of master file.
    SEE ALSO:
      "MAKE_CDF_INDEX","loadcdf","LOADCDFSTR","LOADALLCDF"

    CREATED BY:	Davin Larson
    FILE:  load_wi_3dp.pro
    LAST MODIFICATION: 98/08/11

(See load_wi_3dp.pro)

## LOAD_WI_EHPD

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

    PROCEDURE:	load_wi_ehpd
    PURPOSE:
       loads WIND 3D Plasma Experiment key parameter data for "TPLOT".

    INPUTS:
      none, but will call "TPLOT/help.html#TIMESPAN">TIMESPAN" if time_range is not already set.
    KEYWORDS:
      DATA:        Raw data can be returned through this named variable.
      NVDATA:	Raw non-varying data can be returned through this variable.
      TIME_RANGE:  2 element vector specifying the time range.
      MASTERFILE:  (string) full file name to the master file.
      RESOLUTION:  number of seconds resolution to return.
      PREFIX:	Prefix for TPLOT variables created.  Default is 'ehpd'

    SEE ALSO:
      "MAKE_CDF_INDEX","loadcdf","LOADCDFSTR","LOADALLCDF"

    CREATED BY:	Davin Larson
    FILE:  load_wi_ehpd.pro
    LAST MODIFICATION: 98/08/11

(See load_wi_ehpd.pro)

## LOAD_WI_EHSP_3DP

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

    PROCEDURE:	load_wi_ehsp_3dp
    PURPOSE:
       loads WIND 3D Plasma Experiment key parameter data for "TPLOT".

    INPUTS:
      none, but will call "TPLOT/help.html#TIMESPAN">TIMESPAN" if time_range is not already set.
    KEYWORDS:
      DATA:        Raw data can be returned through this named variable.
      NVDATA:	Raw non-varying data can be returned through this variable.
      TIME_RANGE:  2 element vector specifying the time range.
      MASTERFILE:	(string) full filename of master file.
      PREFIX:	Prefix for tplot variables. Default is 'ehsp'
      RESOLUTION:	Resolution to be returned in seconds.
    SEE ALSO:
      "MAKE_CDF_INDEX","loadcdf","LOADCDFSTR","LOADALLCDF"

    CREATED BY:	Davin Larson
    FILE:  load_wi_ehsp_3dp.pro
    LAST MODIFICATION: 98/08/12

(See load_wi_ehsp_3dp.pro)

## LOAD_WI_ELM2

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

    PROCEDURE:	load_wi_elm2
    PURPOSE:
       loads WIND 3D Plasma Experiment key parameter data for "TPLOT".

    INPUTS:
      none, but will call "TPLOT/help.html#TIMESPAN">TIMESPAN" if time_range is not already set.
    KEYWORDS:
      DATA:        Raw data can be returned through this named variable.
      NVDATA:	Raw non-varying data can be returned through this variable.
      TIME_RANGE:  2 element vector specifying the time range.
      MASTERFILE:  (string) full file name to the master file.
      RESOLUTION:  number of seconds resolution to return.
      PREFIX:	Prefix for TPLOT variables created.  Default is 'el_mom'

    SEE ALSO:
      "MAKE_CDF_INDEX","loadcdf","LOADCDFSTR","LOADALLCDF"

    CREATED BY:	Peter Schroeder
    LAST MODIFIED: @(#)load_wi_elm2.pro	1.2 98/08/12

(See load_wi_elm2.pro)

## LOAD_WI_ELPD2

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

    PROCEDURE:	load_wi_elpd_3dp
    PURPOSE:
       loads WIND 3D Plasma Experiment key parameter data for "TPLOT".

    INPUTS:
      none, but will call "TPLOT/help.html#TIMESPAN">TIMESPAN" if time_range is not already set.
    KEYWORDS:
      DATA:        Raw data can be returned through this named variable.
      TIME_RANGE:  2 element vector specifying the time range
    RESTRICTIONS:
      This routine expects to find the master file: 'wi_elsp_3dp_files'
      In the directory specified by the environment variable: 'CDF_INDEX_DIR'
      See "MAKE_CDF_INDEX" for more info.
    SEE ALSO:
      "MAKE_CDF_INDEX","loadcdf","LOADCDFSTR","LOADALLCDF"

    CREATED BY:	Davin Larson
    FILE:  load_wi_elpd2.pro
    LAST MODIFICATION: 98/10/21

(See load_wi_elpd2.pro)

## LOAD_WI_ELPD_3DP

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

    PROCEDURE:	load_wi_elpd_3dp
    PURPOSE:
       loads WIND 3D Plasma Experiment key parameter data for "TPLOT".

    INPUTS:
      none, but will call "TPLOT/help.html#TIMESPAN">TIMESPAN" if time_range is not already set.
    KEYWORDS:
      DATA:        Raw data can be returned through this named variable.
      NVDATA:	Raw non-varying data can be returned through this variable.
      TIME_RANGE:  2 element vector specifying the time range.
      NO_PLOT:	Suppresses the display of the summary plot.
      MASTERFILE:	(string) full filename of master file.
      PREFIX:	(string) prefix for returned TPLOT variables.  Default is
    		'elpd'
      RESOLUTION:	Resolution to return in seconds.
    SEE ALSO:
      "MAKE_CDF_INDEX","loadcdf","LOADCDFSTR","LOADALLCDF"

    CREATED BY:	Davin Larson
    FILE:  load_wi_elpd_3dp.pro
    LAST MODIFICATION: 98/08/12

(See load_wi_elpd_3dp.pro)

## LOAD_WI_ELSP_3DP

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

    PROCEDURE:	load_wi_elsp_3dp
    PURPOSE:
       loads WIND 3D Plasma Experiment key parameter data for "TPLOT".

    INPUTS:
      none, but will call "TPLOT/help.html#TIMESPAN">TIMESPAN" if time_range is not already set.
    KEYWORDS:
      DATA:        Raw data can be returned through this named variable.
      NVDATA:	Raw non-varying data can be returned through this variable.
      TIME_RANGE:  2 element vector specifying the time range.
      MASTERFILE:  (string) full file name to the master file.
      PREFIX:	Prefix for TPLOT variables created.  Default is 'elsp'
    SEE ALSO:
      "MAKE_CDF_INDEX","loadcdf","LOADCDFSTR","LOADALLCDF"

    CREATED BY:	Davin Larson
    FILE:  load_wi_elsp_3dp.pro
    LAST MODIFICATION: 98/08/12

(See load_wi_elsp_3dp.pro)

## LOAD_WI_EM_3DP

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

    PROCEDURE:	load_wi_em_3dp
    PURPOSE:
       loads WIND 3D Plasma Experiment key parameter data for "TPLOT".

    INPUTS:
      none, but will call "TPLOT/help.html#TIMESPAN">TIMESPAN" if time_range is not already set.
    KEYWORDS:
      DATA:        Raw data can be returned through this named variable.
      NVDATA:	Raw non-varying data can be returned through this variable.
      TIME_RANGE:  2 element vector specifying the time range.
      MASTERFILE:  (string) full file name to the master file.
      PREFIX:	Prefix for TPLOT variables created.  Default is 'wi_em_'
      POLAR:	If nonzero, compute velocities in polar coordinates.
    SEE ALSO:
      "MAKE_CDF_INDEX","loadcdf","LOADCDFSTR","LOADALLCDF"

    CREATED BY:	Davin Larson
    FILE:  load_wi_em_3dp.pro
    LAST MODIFICATION: 98/08/12

(See load_wi_em_3dp.pro)

## LOAD_WI_EPA

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

    PROCEDURE:	load_wi_epa
    PURPOSE:
       loads WIND Energetic Particle Analyser key parameter data for "TPLOT".

    INPUTS:	none, but will call "TPLOT/help.html#TIMESPAN">TIMESPAN" if time
    		range is not already set.
    KEYWORDS:
    		none
    SEE ALSO:
      "MAKE_CDF_INDEX"

    CREATED BY:	Davin Larson
    FILE:  load_wi_epa.pro
    LAST MODIFICATION: 98/08/12

(See load_wi_epa.pro)

## LOAD_WI_FRM_3DP

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

    PROCEDURE:	load_wi_frm_3dp
    PURPOSE:
       loads WIND 3D Plasma Experiment key parameter data for "TPLOT".

    INPUTS:
      none, but will call "TPLOT/help.html#TIMESPAN">TIMESPAN" if time_range is not already set.
    KEYWORDS:
      DATA:        Raw data can be returned through this named variable.
      NVDATA:	Raw non-varying data can be returned through this variable.
      TIME_RANGE:  2 element vector specifying the time range.
      MASTERFILE:  (string) full file name to the master file.
      PREFIX:	Prefix for TPLOT variables created.  Default is 'wi_frm'
    SEE ALSO:
      "MAKE_CDF_INDEX","loadcdf","LOADCDFSTR","LOADALLCDF"

    CREATED BY:	Peter Schroeder
    FILE:  load_wi_frm_3dp.pro
    LAST MODIFICATION: 97/02/26

(See load_wi_frm_3dp.pro)

## LOAD_WI_H0_MFI

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

    PROCEDURE:	load_wi_h0_mfi
    PURPOSE:
       loads WIND MAGNETOMETER high resolution data for "TPLOT".

    INPUTS:	none, but will call "TPLOT/help.html#TIMESPAN">TIMESPAN" if time
    		range is not already set.
    KEYWORDS:
      TIME_RANGE:  2 element vector specifying the time range
      POLAR:       Also computes the B field in polar coordinates.
      DATA:        Data returned in this named variable.
      HOUR:	Load hourly averages instead of 3 second data.
      MINUTE:	Load 60 second averages instead of 3 second data.
      NODATA:	Returns 0 if data exists for time range, otherwise returns 1.
      GSM:		If set, GSM data is retrieved.
      PREFIX:	(string) prefix for tplot variables.  Default is 'wi_'
      NAME:	(string) name for tplot variables. Default is 'wi_Bh'
      RESOLUTION:	Resolution to return in seconds.
      MASTERFILE:	(string) full filename of master file.
    SEE ALSO:
      "MAKE_CDF_INDEX","loadcdf","LOADCDFSTR","LOADALLCDF"

    CREATED BY:	Peter Schroeder
    LAST MODIFIED:	@(#)load_wi_h0_mfi.pro	1.3 98/08/12

(See load_wi_h0_mfi.pro)

## LOAD_WI_HKP_3DP

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

    PROCEDURE:	load_wi_hkp_3dp
    PURPOSE:
       loads WIND 3D Plasma Experiment key parameter data for "TPLOT".

    INPUTS:
      none, but will call "TPLOT/help.html#TIMESPAN">TIMESPAN" if time_range is not already set.
    KEYWORDS:
      DATA:        Raw data can be returned through this named variable.
      NVDATA:	Raw non-varying data can be returned through this variable.
      TIME_RANGE:  2 element vector specifying the time range.
      MASTERFILE:  (string) full file name to the master file.
      RESOLUTION:  number of seconds resolution to return.
      PREFIX:	Prefix for TPLOT variables created.  Default is 'wi_hkp'
    SEE ALSO:
      "MAKE_CDF_INDEX","loadcdf","LOADCDFSTR","LOADALLCDF"

    CREATED BY:	Peter Schroeder
    LAST MODIFIED:	@(#)load_wi_hkp_3dp.pro	1.3 98/08/12

(See load_wi_hkp_3dp.pro)

## LOAD_WI_MFI

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

    PROCEDURE:	load_wi_mfi
    PURPOSE:
       loads WIND MAGNETOMETER Experiment key parameter data for "TPLOT".

    INPUTS:	none, but will call "TPLOT/help.html#TIMESPAN">TIMESPAN" if time
    		range is not already set.
    KEYWORDS:
      DATA:        Raw data can be returned through this named variable.
      NVDATA:	Raw non-varying data can be returned through this variable.
      TIME_RANGE:  2 element vector specifying the time range.
      MASTERFILE:  (string) full file name to the master file.
      RESOLUTION:  number of seconds resolution to return.
      PREFIX:	Prefix for TPLOT variables created.  Default is 'wi_'
      POLAR:       Also computes the B field in polar coordinates.
    SEE ALSO:
      "MAKE_CDF_INDEX","loadcdf","LOADCDFSTR","LOADALLCDF"

    CREATED BY:	Davin Larson
    FILE:  load_wi_mfi.pro
    LAST MODIFICATION: 98/08/12

(See load_wi_mfi.pro)

## LOAD_WI_OR

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

    PROCEDURE:	load_wi_or
    PURPOSE:
       loads WIND 3D Plasma Experiment orbit data for "TPLOT".
    INPUTS:
      none, but will call "TPLOT/help.html#TIMESPAN">TIMESPAN" if time_range is not already set.
    KEYWORDS:
      DATA:        Raw data can be returned through this named variable.
      TIME_RANGE:  2 element vector specifying the time range.
      RESOLUTION:  number of seconds resolution to return.
      POLAR:       Computes polar coordinates if set.
      PRE:		If set, use predicted (pre) data.
      NODATA:	Returns 1 if no data available.
      HEC:		If set, retrieve HEC data.
      VAR_LAB:	Return polar data and use as var_labels in tplot.
      GSM:		If set, retrieve GSM data.
      LAT:		If set, retrieve LAT data.
    SEE ALSO:
      "MAKE_CDF_INDEX","loadcdf","LOADCDFSTR","LOADALLCDF"

    CREATED BY:	Davin Larson
    FILE:  load_wi_or.pro
    LAST MODIFICATION: 98/11/12

(See load_wi_or.pro)

## LOAD_WI_PHSP_3DP

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

    PROCEDURE:	load_wi_phsp_3dp
    PURPOSE:
       loads WIND 3D Plasma Experiment key parameter data for "TPLOT".

    INPUTS:
      none, but will call "TPLOT/help.html#TIMESPAN">TIMESPAN" if time_range is not already set.
    KEYWORDS:
      DATA:        Raw data can be returned through this named variable.
      NVDATA:	Raw non-varying data can be returned through this variable.
      TIME_RANGE:  2 element vector specifying the time range.
      MASTERFILE:  (string) full file name to the master file.
      PREFIX:	Prefix for TPLOT variables created.  Default is 'phsp'
    SEE ALSO:
      "loadcdf","LOADCDFSTR","LOADALLCDF"

    CREATED BY:	Peter Schroeder
    LAST MODIFICATION: @(#)load_wi_phsp_3dp.pro	1.3 99/02/17

(See load_wi_phsp_3dp.pro)

## LOAD_WI_PLSP_3DP

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

    PROCEDURE:	load_wi_plsp_3dp
    PURPOSE:
       loads WIND 3D Plasma Experiment key parameter data for "TPLOT".

    INPUTS:
      none, but will call "TPLOT/help.html#TIMESPAN">TIMESPAN" if time_range is not already set.
    KEYWORDS:
      DATA:        Raw data can be returned through this named variable.
      NVDATA:	Raw non-varying data can be returned through this variable.
      TIME_RANGE:  2 element vector specifying the time range.
      MASTERFILE:  (string) full file name to the master file.
      RESOLUTION:  number of seconds resolution to return.
      PREFIX:	Prefix for TPLOT variables created.  Default is 'plsp'
      MOMENT:	Load PESA Low moment data.
    SEE ALSO:
      "MAKE_CDF_INDEX","loadcdf","LOADCDFSTR","LOADALLCDF"

    CREATED BY:	Davin Larson
    LAST MODIFICATION: @(#)load_wi_plsp_3dp.pro	1.4 98/08/12

(See load_wi_plsp_3dp.pro)

## LOAD_WI_PM_3DP

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

    PROCEDURE:	load_wi_pm_3dp
    PURPOSE:
       loads WIND 3D Plasma Experiment key parameter data for "TPLOT".

    INPUTS:
      none, but will call "TPLOT/help.html#TIMESPAN">TIMESPAN" if time_range is not already set.
    KEYWORDS:
      DATA:        Raw data can be returned through this named variable.
      NVDATA:	Raw non-varying data can be returned through this variable.
      TIME_RANGE:  2 element vector specifying the time range.
      MASTERFILE:  (string) full file name to the master file.
      RESOLUTION:  number of seconds resolution to return.
      PREFIX:	Prefix for TPLOT variables created.  Default is 'wi_pm_'
      POLAR:       Computes polar coordinates if set.
      VTHERMAL:	If set, calculates and stores thermal velocity.
    SEE ALSO:
      "MAKE_CDF_INDEX","loadcdf","LOADCDFSTR","LOADALLCDF"

    CREATED BY:	Davin Larson
    FILE:  load_wi_pm_3dp.pro
    LAST MODIFICATION: 98/08/12

(See load_wi_pm_3dp.pro)

## LOAD_WI_SFPD

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

    PROCEDURE:	load_wi_sfpd
    PURPOSE:
       loads WIND 3D Plasma Experiment key parameter data for "TPLOT".

    INPUTS:
      none, but will call "TPLOT/help.html#TIMESPAN">TIMESPAN" if time_range is not already set.
    KEYWORDS:
      DATA:        Raw data can be returned through this named variable.
      NVDATA:	Raw non-varying data can be returned through this variable.
      TIME_RANGE:  2 element vector specifying the time range.
      MASTERFILE:  (string) full file name to the master file.
      RESOLUTION:  number of seconds resolution to return.
      PREFIX:	Prefix for TPLOT variables created.  Default is 'sfpd'
    SEE ALSO:
      "MAKE_CDF_INDEX","loadcdf","LOADCDFSTR","LOADALLCDF"

    CREATED BY:	Davin Larson
    FILE:  load_wi_sfpd.pro
    LAST MODIFICATION: 98/08/12

(See load_wi_sfpd.pro)

## LOAD_WI_SFSP_3DP

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

    PROCEDURE:	load_wi_sfsp_3dp
    PURPOSE:
       loads WIND 3D Plasma Experiment key parameter data for "TPLOT".

    INPUTS:
      none, but will call "TPLOT/help.html#TIMESPAN">TIMESPAN" if time_range is not already set.
    KEYWORDS:
      DATA:        Raw data can be returned through this named variable.
      NVDATA:	Raw non-varying data can be returned through this variable.
      TIME_RANGE:  2 element vector specifying the time range.
      MASTERFILE:  (string) full file name to the master file.
      RESOLUTION:  number of seconds resolution to return.
      PREFIX:	Prefix for TPLOT variables created.  Default is 'sfsp'
    SEE ALSO:
      "MAKE_CDF_INDEX","loadcdf","LOADCDFSTR","LOADALLCDF"

    CREATED BY:	Davin Larson
    FILE:  load_wi_sfsp_3dp.pro
    LAST MODIFICATION: 98/08/12

(See load_wi_sfsp_3dp.pro)

## LOAD_WI_SOSP_3DP

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

    PROCEDURE:	load_wi_sosp_3dp
    PURPOSE:
       loads WIND 3D Plasma Experiment key parameter data for "TPLOT".

    INPUTS:
      none, but will call "TPLOT/help.html#TIMESPAN">TIMESPAN" if time_range is not already set.
    KEYWORDS:
      DATA:        Raw data can be returned through this named variable.
      NVDATA:	Raw non-varying data can be returned through this variable.
      TIME_RANGE:  2 element vector specifying the time range.
      MASTERFILE:  (string) full file name to the master file.
      RESOLUTION:  number of seconds resolution to return.
      PREFIX:	Prefix for TPLOT variables created.  Default is 'sosp'
    SEE ALSO:
      "loadcdf","LOADCDFSTR","LOADALLCDF"

    CREATED BY:	Peter Schroeder
    FILE:  load_wi_sosp_3dp.pro
    LAST MODIFICATION: 98/08/12

(See load_wi_sosp_3dp.pro)

## LOAD_WI_SP_MFI

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

    PROCEDURE:	load_wi_sp_mfi
    PURPOSE:
       loads WIND MAGNETOMETER 3 second data for "TPLOT".

    INPUTS:	none, but will call "TPLOT/help.html#TIMESPAN">TIMESPAN" if time
    		range is not already set.
    KEYWORDS:
      TIME_RANGE:  2 element vector specifying the time range
      POLAR:       Also computes the B field in polar coordinates.
      DATA:        Data returned in this named variable.
      NODATA:	Returns 0 if data exists for time range, otherwise returns 1.
      GSM:		If set, GSM data is retrieved.
      PREFIX:	(string) prefix for tplot variables.  Default is 'wi_'
      NAME:	(string) name for tplot variables. Default is 'wi_B3'
      RESOLUTION:	Resolution to return in seconds.
      MASTERFILE:	(string) full filename of master file.
    SEE ALSO:
      "MAKE_CDF_INDEX","loadcdf","LOADCDFSTR","LOADALLCDF"

    CREATED BY:	Davin Larson
    FILE:  load_wi_sp_mfi.pro
    VERSION: 1.13
    LAST MODIFICATION: 98/08/12

(See load_wi_sp_mfi.pro)

## LOAD_WI_SWE

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

    PROCEDURE:	load_wi_swe
    PURPOSE:
       loads WIND Solar Wind Experiment key parameter data for "TPLOT".

    INPUTS:	none, but will call "TPLOT/help.html#TIMESPAN">TIMESPAN" if time
    		range is not already set.
    KEYWORDS:
      DATA:        Raw data can be returned through this named variable.
      TIME_RANGE:  2 element vector specifying the time range.
      MASTERFILE:  (string) full file name to the master file.
      POLAR:	If set, calculate and store velocity in polar
    		coordinates.
    SEE ALSO:
      "MAKE_CDF_INDEX","loadcdf","LOADCDFSTR","LOADALLCDF"

    CREATED BY:	Davin Larson
    FILE:  load_wi_swe.pro
    LAST MODIFICATION: 98/08/12

(See load_wi_swe.pro)

## LOAD_WI_WAV

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

    PROCEDURE:	load_wi_wav
    PURPOSE:
       loads WIND WAVES Experiment key parameter data for "TPLOT".

    INPUTS:	none, but will call "TPLOT/help.html#TIMESPAN">TIMESPAN" if time
    		range is not already set.
    KEYWORDS:
      DATA:        Raw data can be returned through this named variable.
      NVDATA:	Raw non-varying data can be returned through this variable.
      TIME_RANGE:  2 element vector specifying the time range.
      MASTERFILE:  (string) full file name to the master file.
      RESOLUTION:  number of seconds resolution to return.
      NE_FILTER:	Name of electron density variable to be used as filter.
      MOON:	Load moon position data.
      SOLAR:	Load solar data.
    SEE ALSO:
      "MAKE_CDF_INDEX","loadcdf","LOADCDFSTR","LOADALLCDF"

    CREATED BY:	Davin Larson
    FILE:  load_wi_wav.pro
    LAST MODIFICATION: 98/08/12

(See load_wi_wav.pro)

## MAKECDF

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

     PROCEDURE:
         makecdf, datavary, datanovary=datanovary, filename=filename, status=status, $
             gattributes=gattr, vattributes=vattr, tagsvary=tagsvary, $
    	  tagsnovary=tagsnovary, overwrite=overwrite

     PURPOSE:
         Creates a CDF file given an array of structures

     KEYWORDS:
         filename:
             Name of file to be created.
         datanovary:
             a structure containing the time invariant data to be written to CDF (like
             array descriptors).
         tagsvary:
             array of strings that will be used as the CDF variable names for the values
             stored in the datavary structure.  Default CDF variable names are the names
             of the tags of the datavary structure.
             Note that, since IDL internally capitalizes all variable and tag names,
             the CDF variable names will be all caps in the default, so the tagsvary
             keyword should generally be used to control capitalization of the CDF variable
             names.
         tagsnovary:
             array of strings that will be used as the CDF variable names for the values
             stored in the datanovary structure.  Default CDF variable names are the names
             of the tags of the datanovary structure.
             Note that, since IDL internally capitalizes all variable and tag names,
             the CDF variable names will be all caps in the default, so the tagsnovary
             keyword should generally be used to control capitalization of the CDF variable
             names.
         gattributes:
             a structure specifying the names, entry numbers, and values of the global
             CDF attributes that will be written to the CDF file.
             The tagnames of the gattributes structure are actually dummy placeholders
             which are not used (but must all be unique, or course).
             The value of each field is a struture containing three fields, 'name',
             which contains the name of the attribute, 'entry', which contains the entry
             number (many attributes contain just a single entry, generally just entry 0,
             and some contain several entries, generally entries 0,1,2,3, etc), and
             'value' which contains the value of the attribute for the specified entry.
             (see the example below)
         vattributes:
             a structure specifying, for each CDF variable that has variable attributes,
             the names and values of the variable CDF attributes that will be written to
             the CDF file.  The tagnames of the vattributes structure are actually dummy
             placeholders and are not used.  The values of the fields of the vattributes
             structure should each be a structure, with a 'varname' field containing the
             name of a CDF variable, and an 'attrlist' field which contains a structure
             containing the set of attribute names and values for the specified variable.
             (see the example below)
         overwrite:
             if set, overwrite any existing CDF file with the specified name (default
             is to not overwrite any such existing file).
         status:
             status is 0 on successful return, nonzero on unsuccessful return.
             A routine that calls makecdf should in general use the status keyword parameter
             and verify that the CDF write has completed successfully.

     INPUT:
         datavary:
             an array of structures containing the time variant data to be written to CDF.
             Each element of the array is a structure containing the values for one time.
             Datavary must have a tag named 'time' that contains the time in seconds since
             01-01-1970/00:00:00 UT.  An additional CDF variable named 'Epoch', of type
             CDF_EPOCH, will be written to the CDF, and will be computed from 'time'.

     EXAMPLE:
         To make a CDF file named 'foo.cdf' containing tplot variables 'el_0' and 'el_high',
         and with two global attributes, named 'foo' (with one entry with value 'bar') and
         'goo' (with two entries, one with value 1.0, and one with value 2.0),
         and with two variable attributes, 'VALIDMIN' and 'VALIDMAX', with VALIDMIN for el_0
         to be set to 1.0, and VALIDMAX of el_0 to be set to 2.0, and VALIDMIN of el_high to
         be set to 1.0 and VALIDMAX of el_high to be set to 2.0,
         give the following IDL commands:

             > make_cdf_structs, ['el_0', 'el_high'], datavary, datanovary
             > gattr = {foo0: {name:'foo', entry:0, value:'bar'}, $
                        goo0: {name:'goo', entry:0, value:1.0  }, $
                        goo1: {name:'goo', entry:1, value:2.0  }}
             > vattr_el_0    = {VALIDMIN:1.0, VALIDMAX:2.0}
             > vattr_el_high = {VALIDMIN:1.0, VALIDMAX:2.0}
             > vattr = {el_0:    {varname:'el_0',    attrlist:vattr_el_0},  $
                        el_high: {varname:'el_high', attrlist:vattr_el_high}}
             > makecdf, file='foo', datavary, datanovary=datanovary, $
                   tagsvary=['time', 'el_0', 'el_high'], tagsnovary=['el_0_en', 'el_high_pa'], $
                   gattr=gattr, vattr=vattr

         Note that, in the above specification of vattr, the names of the CDF variables (el_0
         and el_high in this example), appear to be repeated in two places each.  The first
         occurrence of each, in the tagname, is actually just an unused dummy, and the second
         occurrence of each, in the string value of varname, is the CDF variable name.  This
         is because IDL variable names and tag names can't be used to specify the more general
         strings that CDF variable names can have.  Similarly with gattr.

         The resulting CDF file will contain an Epoch variable (computed from the time),
         a time variable (taken by default from the 'x' component of the first named tplot
         variable, but specifiable otherwise by the 'times' keyword to 'make_cdf_structs'),
         and, for each tplot variable named in the argument list to 'make_cdf_structs', the
         'y' component, with a name taken from 'tagsvary', and the 'v' component, with a
         name taken from 'tagsnovary'.
         Thus the CDF file from the above commands will contain the CDF variables
             Epoch:
                 This is of type CDF_EPOCH, and is calculated from the time variable below
             time:
                 by default, the 'x' tag from the tplot variable 'el_0'
             el_0:
                 the 'y' tag from the tplot variable 'el_0'
             el_high:
                 the 'y' tag from the tplot variable 'el_high'
             el_0_en:
                 the 'v' tag from the tplot variable 'el_0'
             el_high_pa:
                 the 'v' tag from the tplot variable 'el_high'

     SEE ALSO:
         "loadcdf", "LOADCDFSTR"
         "make_cdf_structs.pro", "strarr_to_arrstr.pro"

     VERSION: @(#)makecdf.pro	1.6 08/13/98

(See makecdf.pro)

## MAKECDF2

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

     PROCEDURE:
         makecdf2, data, sktfile=sktfile, cdffile=cdffile, $
             gattributes=gattr, vattributes=vattr, overwrite=overwrite, $
    	  status=status, verbose=verbose

     PURPOSE:
         Creates a CDF file from a structure of arrays

     INPUT:
         data:
         (this sounds complicated to describe, but see the EXAMPLE below)
             The structure containing the data to write out to CDF.
             The 'data' structure will contain exactly one field for each variable that
             is to be written to the output CDF (with the exception that additional
             variables 'Epoch' and 'Time_PB5' will be written to the CDF file, if they
             have been specified in the skeleton file input via the 'sktfile' keyword
             parameter).
             Each field of the 'data' structure is itself a structure containing exactly
             4 fields, named 'name', 'value', 'recvary', and 'fill'.
             The 'name' field of the n-th field of 'data' should be the name of the n-th
             CDF variable in the output CDF file.  The 'value' field of the n-th field of
             'data' should be an array containing the values of the n-th variable (the
             i-th element of the array is the value at the i-th time).  The 'recvary'
             field of the n-th field of 'data' should be 1 if the n-th variable is time
             varying and 'recvary' should be 0 if the n-th variable is time invariant.
             Time invariant variables are generally things like various kinds of array
             descriptors that don't depend on the time.  The 'fill' field of the n-th field
             of 'data' should be 1 if the variable should have its values overwritten with
             ISTP standard FILLVAL's for all times for which data are missing or invalid,
             as specified by the values of the 'quality_flag' variable, otherwise, 'fill'
             should be zero.

             NOTE: the first field of the 'data' structure must contain the time values
             in seconds since 01-01-1970/00:00:00 UT.

             NOTE: all of the time variant variable arrays in the 'data' structure must
             be based on the exact same time array (that set of times given in the first
             field of the 'data' structure).  If you have a set of arrays to write out
             to CDF which are not all based on the same time array, you must first do
             the appropriate interpolations to generate a set of arrays that are all
             based on the same time array.  See the routine 'time_align.pro' for one
             simple way to do this with tplot variables.

     KEYWORDS:
         sktfile:
             name of the skeleton file that is to be used to specify the global attributes
             and their values, variable attributes and their values, and variable types and
             sizes.  The value used for this parameter should not include any '.skt' suffix.
         cdffile:
             Name of CDF file to be created.  Do not include any '.cdf' suffix.
         gattributes:
             FIX
         vattributes:
             FIX
         overwrite:
             if set, overwrite any existing CDF file with the specified name (default
             is to not overwrite any such existing file).
         status:
             status is 0 on successful return, nonzero on unsuccessful return.
             A routine that calls makecdf2 should in general use the status keyword parameter
             and verify that the CDF write has completed successfully.
         verbose:
    	  if set, display diagnostic messages.  Useful for debugging.

     EXAMPLE:
         Consider making a CDF file of the FAST EESA summary data, as is done by the IDL
         routine 'fast_e_summary.pro'.  Assume that an appropriate skeleton file named
         'fa_k0_ees_template.skt' has been created, containing the appropriate variable
         definitions and the appropriate global and variable scope attributes and their
         values.  Assume that all the standard data necessary has been stored with
         'store_data' in IDL.

         Then to make the CDF file named 'fa_k0_ees.cdf'containing the variables 'unix_time',
         'el_0', 'el_90', 'el_180', 'el_en', 'el_low', 'el_low_pa', 'el_high',
         'el_high_pa', 'JEe', and 'Je', you could give the following IDL commands:

             > get_data, 'el_0',     data=el_0
             > get_data, 'el_90',    data=el_90
             > get_data, 'el_180',   data=el_180
             > get_data, 'el_low',   data=el_low
             > get_data, 'el_high',  data=el_high
             > get_data, 'JEe',      data=JEe
             > get_data, 'Je',       data=Je
             >
             > data = {unix_time:  {name:'unix_time',  value:el_0.x,    recvary:1, fill:0}, $
             >         el_0:       {name:'el_0',       value:el_0.y,    recvary:1, fill:1}, $
             >         el_90:      {name:'el_90',      value:el_90.y,   recvary:1, fill:1}, $
             >         el_180:     {name:'el_180',     value:el_180.y,  recvary:1, fill:1}, $
             >         el_en:      {name:'el_en',      value:el_0.v,    recvary:1, fill:1}, $
             >         el_low:     {name:'el_low',     value:el_low.y,  recvary:1, fill:1}, $
             >         el_low_pa:  {name:'el_low_pa',  value:el_low.v,  recvary:1, fill:1}, $
             >         el_high:    {name:'el_high',    value:el_high.y, recvary:1, fill:1}, $
             >         el_high_pa: {name:'el_high_pa', value:el_high.v, recvary:1, fill:1}, $
             >         JEe:        {name:'JEe',        value:JEe.y,     recvary:1, fill:1}, $
             >         Je:         {name:'Je',         value:Je.y,      recvary:1, fill:1}}
             >
             > makecdf2, data, sktfile='fa_k0_ees_template', $
                   cdffile='fa_k0_ees', status=status, /overwrite
             > if status ne 0 then begin
             >     message, /info, 'makecdf2 failed.'
             >     return
             > endif

         Note that in the above, the name of the field containing time was named 'unix_time',
         and not 'time'.  In general, CDF variables can be named anything you want, but there
         are a few special exceptions.
         IF A CDF CONTAINS AN 'EPOCH' VARIABLE, THE FOLLOWING VARIABLE NAMES SHOULD NOT BE
         USED:  TIME, YEAR, MONTH, DAY, HOUR, MINUTE, SECOND, MSEC, IYEAR, IMONTH, IDAY,
         IHOUR, IMINUTE, ISECOND, IMSEC.  THIS IS BECAUSE MANY STANDARD CDF ANALYSIS TOOLS
         USE THESE NAMES FOR SPECIFIC PURPOSES.  This is because of certain assumptions
         made by various software tools developed by CDHF.

     SEE ALSO:
         "time_align"

     VERSION: @(#)makecdf2.pro	1.2 98/08/13

(See makecdf2.pro)

## MAKE_CDF_INDEX

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

    NAME:
      make_cdf_index
    PROCEDURE:
      make_cdf_index,  [pattern]
    PURPOSE:
      Creates an index file for CDF files.
      The index file will have one line for each CDF file found.
      Each line contains the start time, end time and filename
      with the following format:
    YYYY-MM-DD/hh:mm:ss  YYYY-MM-DD/hh:mm:ss   fullpathname.cdf
      CDF files may be distributed over many directories or disks.

    INPUT:
      pattern:  (string) file pattern, default is:  '*.cdf'
    KEYWORDS:
      DATA_DIREC  (string) data directory(s)
      INDEX_FILENAME:  (string) Name of index file to be created.
      NO_DUPLICATES:   Set to 1 if duplicate days are to be ignored.
    SEE ALSO:
      "MAKECDF","loadcdf","LOADCDFSTR","LOADALLCDF",
    CREATED BY:
      Davin Larson,  August 1996
    VERSION:
      97/11/20  make_cdf_index.pro  1.4

(See make_cdf_index.pro)

## PB5_TO_TIME

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

    WARNING!!! This Function is OBSOLETE try not to use it...
    FUNCTION: pb5_to_time
    INPUT: pb5 array from cdf files (especially kpd files)
    OUTPUT:  double array,  seconds since 1970

    SEE ALSO: 	"PRINT_CDF_INFO",
    		"loadcdf"

    CREATED BY: 	Davin Larson
    LAST MODIFICATION:	@(#)pb5_to_time.pro	1.5 95/10/18

(See pb5_to_time.pro)

## PRINT_CDF_INFO

[Previous Routine] [List of Routines]

    PROCEDURE: 	print_cdf_info
    PURPOSE:	prints information about a specified cdf file
    INPUT:
    	filename:	The name of the file for which info is desired.
    KEYWORDS:
    	none

    CREATED BY:	unknown
    LAST MODIFICATION: 	@(#)print_cdf_info.pro	1.10 96/12/02

(See print_cdf_info.pro)