Extended IDL Help

This page was created by the IDL library routine mk_html_help. For more information on this routine, refer to the IDL Online Help Navigator or type:

     ? mk_html_help

at the IDL command line prompt.

Last modified: Fri Feb 2 17:45:24 2001.


List of Routines


Routine Descriptions

CATEGORY

[Next Routine] [List of Routines]
 Project     : SOHO - CDS     
                   
 Name        : CATEGORY
               
 Purpose     : List procedure/function names and categories.
               
 Explanation : Creates a list of all .PRO files and then searches them for
               the standard CDS header and extracts the Name and Category 
               fields.  The resultant one-line documentation is printed to
               the screen or to the file "category.doc".
               
 Use         : IDL> category [,file_spec, /hard, /path, list=list]
               IDL> category, path='userlib
    
 Inputs      : None
               
 Opt. Inputs : file_spec   -  specification of the files to be searched.
                              If omitted, the current directory is used.
               
 Outputs     : The information can be printed to the screen or to the default
               output file "category.doc" (or both).
               
 Opt. Outputs: None
               
 Keywords    : hard    -  specifies that output is to be stored in file
                          category.doc
               path    -  if present (/path or path=1) use current IDL path 
                          (!path) as the search path but select only the "cds"
                          directories, otherwise use any directory whose name
                          contains the string specified by path.

               quiet   -  if specified, do not print to screen.

               list    -  if present, the list of one-liners is returned
                          in a string array.

 Calls       : None
               
 Restrictions: When the /path option is requested, only directories containing
               the letters "cds" will be used.  The VMS option is also very
               fragile in using the path directories and is likely not
               to work if the path contains symbols and libraries etc.
               
 Side effects: None
               
 Category    : Utilities, Documentation, Manual
               
 Prev. Hist. : None

 Written     : Based on PURPOSE, C D Pike,  RAL,  23-Jun-1993
               
 Modified    : 

 Version     : Version 1,  21-Sep-1994

(See .//category.pro)


CDSLOC

[Previous Routine] [Next Routine] [List of Routines]
 Project     : SOHO - CDS     
                   
 Name        : CDSLOC
               
 Purpose     : Locate any file name in /cs tree with specified string.
               
 Explanation : Issues a find command to locate any files in the /cs tree
               whose names contain the given string. 
               
 Use         : IDL> cdsloc, string [, result, /quiet]
    
 Inputs      : string - any string to be searched for.
               
 Opt. Inputs : None
               
 Outputs     : result - string array containing full file name specification.
               
 Opt. Outputs: None
               
 Keywords    : quiet - if specified, result is not output to terminal.

 Calls       : None

 Common      : None
               
 Restrictions: None
               
 Side effects: None
               
 Category    : Help
               
 Prev. Hist. : None

 Written     : C D Pike, RAL, 21-Jun-94
               
 Modified    : 

 Version     : Version 1, 21-Jun-94

(See .//cdsloc.pro)


CHECK_CONFLICT

[Previous Routine] [Next Routine] [List of Routines]
 Project     : SOHO - CDS     
                   
 Name        : CHECK_CONFLICT
               
 Purpose     : To check any conflict of IDL procedure/function names.
               
 Explanation : All .pro file names in the CDS IDL path are checked for 
               duplicate names.
               
 Use         : check_conflict, list [,/quiet, /full]
    
 Inputs      : None
               
 Opt. Inputs : None
               
 Outputs     : None 
               
 Opt. Outputs: list  -  contains a list of any duplicates found.  
               
 Keywords    : quiet - if present results are not output on terminal (except
                       if /full is given, that overrides /quiet for the extra
                       information.

               full  - if present, complete information (ie the result
                       of running PURPOSE on each duplicate file is written
                       to the screen.

 Calls       : PURPOSE
               FIND_DUP
               REMCHAR
               
 Restrictions: None
               
 Side effects: None
               
 Category    : Doc
               
 Prev. Hist. : None

 Written     : C D Pike, RAL, 12-Nov-93
               
 Modified    : 

 Version     : Version 1, 12-Nov-93

(See .//check_conflict.pro)


CHKARG

[Previous Routine] [Next Routine] [List of Routines]
 Project     : SOHO - CDS

 Name        : 
	CHKARG
 Purpose     : 
	Determine calling arguments of procedure or function.
 Explanation : 
	Determines the calling arguments of an IDL procedure or function.  Used
	by SCANPATH, but can also be called separately.
 Use         : 
	CHKARG  [, NAME ]
 Inputs      : 
	None required.
 Opt. Inputs : 
	NAME	= Name of procedure to check arguments of.  If not passed, then
		  it will be prompted for.
 Outputs     : 
	The arguments of the procedure are printed to the screen.
 Opt. Outputs: 
       name  = name of routine
	proc  = string array with lines of procedure 
       lname = libr/direc location of procedure
       found = 1/0 if file is found/not found
 Keywords    : 
	PATH  = optional directory/library search path.  Same format
		and semantics as !PATH.  If omitted, !PATH is used.
 Calls       : 
	DATATYPE, GET_LIB, GET_MOD, GET_PROC, LOC_FILE
 Common      : 
	None.
 Restrictions: 
       Cannot access built-in IDL procedures
 Side effects: 
	None.
 Category    : 
	Documentation, Online_help.
 Prev. Hist. : 
       Written DMZ (ARC) Oct 1990
       Converted to version 2 (DMZ Jul'92)
 Written     : 
	D. Zarro, GSFC/SDAC, October 1990.
 Modified    : 
	Version 1, William Thompson, GSFC, 23 April 1993.
		Incorporated into CDS library.
       Version 2, Dominic Zarro, GSFC, 1 August 1994.
               Cleaned up
       Version 3, Dominic Zarro (GSFC) 21 September 1994.
                  added checks for blank lines in documentation
 Version     : 
	Version 3, 21 September 1994.

(See .//chkarg.pro)


DHELP

[Previous Routine] [Next Routine] [List of Routines]
 PROJECT:
       SOHO - SUMER

 NAME:
       DHELP

 PURPOSE: 
       Diagnostic HELP (activated only when DEBUG reaches DLEVEL)

 EXPLANATION:
       This routine acts similarly to the HELP command, except that
       it is activated only when the environment variable DEBUG is
       set to be equal to or greater than the debugging level set by
       DLEVEL (default to 1).  It is useful for debugging.  
       
 CALLING SEQUENCE: 
       DHELP, [,/structure] v1 [, v2, ...] [,dlevel=dlevel]

 INPUTS:
       V1, V2, ... - List of variables to be passed to the HELP command

 OPTIONAL INPUTS: 
       None.

 OUTPUTS:
       All input variables are printed out on the screen

 OPTIONAL OUTPUTS:
       None.

 KEYWORD PARAMETERS: 
       STRUCTURE - Set this keyword to show strcuture
       DLEVEL    - An integer indicating the debugging level; defaults to 1

 CALLS:
       None.

 COMMON BLOCKS:
       None.

 RESTRICTIONS: 
       Can be activated only when the environment variable DEBUG (indicating 
          the debugging level) is set to an integer which is equal to
          or greater than DLEVEL
       Can print out a maximum of 20 variables (depending on how many
          is listed in the code)

 SIDE EFFECTS:
       None.

 CATEGORY:
       
 PREVIOUS HISTORY:
       Written March 20, 1995, Liyun Wang, GSFC/ARC

 MODIFICATION HISTORY:
       Version 1, Liyun Wang, GSFC/ARC, March 20, 1995

 VERSION:
       Version 1, March 20, 1995

(See .//dhelp.pro)


DOC

[Previous Routine] [Next Routine] [List of Routines]
 Project     : SOHO - CDS

 Name        : 
	DOC
 Purpose     : 
	Obsolete -- use XDOC instead
 Explanation : 
	This routine exists merely to maintain backwards compatibility.  The
	routine XDOC is now the preferred name to use.  It was changed because
	it was found that DOC is commonly used as an environment variable or
	logical name, and this would cause IDL to not be able to find the DOC
	routine.
 Use         : 
	DOC		;For prompting.
	DOC, NAME	;Extract documentation for procedure NAME.
 Inputs      : 
	None required.
 Opt. Inputs : 
	NAME = String containing the name of the procedure.
 Outputs     : 
	None.
 Opt. Outputs: 
	None.
 Keywords    : 
       RESET	= If set, then clear out procedures from memory.  Only useful
		  when using a display that supports widgets.
 Calls       : 
	XDOC
 Common      : 
	None.
 Restrictions: 
	None.
 Side effects: 
	None.
 Category    : 
	Documentation, Online_help.
 Prev. Hist. : 
       W. Thompson and D. Zarro (ARC/GSFC)
 Written     : 
	William Thompson, GSFC, 1992.
 Modified    : 
	Version 1, William Thompson, GSFC, 23 April 1993.
		Changed test for widgets and incorporated into CDS library.
	Version 2, William Thompson, GSFC, 24 June 1993.
		Added ON_ERROR statement to correct problem on VMS machines.
       Version 3, Dominic Zarro, GSFC, 1 August 1994.
               Changed name from DOC to XDOC and added keyword-inheritance
               to inherit keywords from SCANPATH.
 Version     : 
	Version 3, 1 August 1994.

(See .//doc.pro)


DOC_MENU

[Previous Routine] [Next Routine] [List of Routines]
 Project     : SOHO - CDS

 Name        : 
	DOC_MENU
 Purpose     : 
	Extract documentation template of one or more procedures.
 Explanation : 
	If NAME is not passed, then this procedure will first display a list of
	the directories in !PATH, and ask for the user to select one.  Then a
	list of procedures in the selected directory are displayed, and the
	user is again asked to select one of them.  Finally, the routine
	DOC_LIB_xxx, where xxx represents the operating system, is called to
	display the documentation in the file between the lines containing the
	characters ";+" and ";-".

	VMS text libraries can also be searched by this routine.

	If a file named "aaareadme.txt" is also found in the selected
	directory, then this can be selected as the topic "*INFO*".

 Use         : 
	DOC_MENU	;For prompting.
	DOC_MENU, NAME	;Extract documentation for procedure NAME using
			the current !PATH.
 Inputs      : 
	None required.
 Opt. Inputs : 
	NAME	= String containing the name of the procedure.  Under Unix,
		  NAME may be "*" for all modules.

	If NAME is not passed, then DOC_MENU will go into an interactive
	mode to prompt the user for the directory or library to search, and
	then for the routine to get information on.
	
 Outputs     : 
	Documentation is sent to the standard output unless /PRINT
	is specified.
 Opt. Outputs: 
	None.
 Keywords    : 
	PRINT = Keyword parameter which, if set to 1, sends output
		of DOC_MENU to the default printer. Under Unix, if PRINT
		is a string, it is a shell command used for output with
		its standard input set to the documentation
		(i.e. PRINT="cat > junk")

 Unix KEYWORDS
	DIRECTORY = directory to search.  If omitted, use  current directory
		and !PATH.
	MULTI = flag to allow printing of more than one file if the module
		exists in more than one directory in the path + the current
		directory.

 VMS KEYWORDS
	FILE - If present and non-zero, the output is left in the file
		userlib.doc, in the current directory.
	PATH = optional directory/library search path.  Same format
		and semantics as !PATH.  If omitted, !PATH is used.

 Calls       : 
	PATH_EXPAND, GETTOK, LOC_FILE, HAVE_WINDOWS
 Common      : 
	None.
 Restrictions: 
	The DIRECTORY and MULTI keywords are ignored under VMS. The
	FILE and PATH keywords are ignored under Unix.
 Side effects: 
	Output is produced on terminal or printer.
 Category    : 
	Documentation, Online_help.
 Prev. Hist. : 
	Written, DMS, Sept, 1982.
	Added library param, Jul 1987.
	Unix version, DMS, Feb, 1988.
	New VMS version, DMS, Dec. 1989
	Wrapper procedure to call the correct version
		under Unix and VMS, AB, Jan 1990
       Added support for DOS, SNG, Dec, 1990
	Added interactive capabilities, William Thompson, July 1991.
	Renamed to DOC_MENU, William Thompson, 1992.
 Written     : 
	D. Stern, RSI, September 1982.
 Modified    : 
	Version 1, William Thompson, GSFC, 23 April 1993.
		Changed test for windows and incorporated into CDS library.
	Version 2, William Thompson, GSFC, 27 April 1993.
		Restored support for versions of IDL previous to 2.4.0.
	Version 3, William Thompson, GSFC, 7 May 1993.
		Added IDL for Windows compatibility.
	Version 4, William Thompson, GSFC, 24 September 1993.
		Changed EXPAND_PATH to PATH_EXPAND
 Version     : 
	Version 3, 24 September 1993.

(See .//doc_menu.pro)


DPRINT

[Previous Routine] [Next Routine] [List of Routines]
 PROJECT:
       SOHO - CDS/SUMER

 NAME:
       DPRINT

 PURPOSE: 
       Diagnostic PRINT (activated only when DEBUG reaches DLEVEL)

 EXPLANATION:
       This routine acts similarly to the PRINT command, except that
       it is activated only when the environment variable DEBUG is
       set to be equal to or greater than the debugging level set by
       DLEVEL (default to 1).  It is useful for debugging.  

 CALLING SEQUENCE: 
       DPRINT, v1 [,v2 ...] [,format=format] [,dlevel=dlevel]

 INPUTS:
       V1, V2, ... - List of variables to be printed out.

 OPTIONAL INPUTS: 
       None.

 OUTPUTS:
       All input variables are printed out on the screen (or the
       given unit)

 OPTIONAL OUTPUTS:
       FORMAT - Output format to be used
       UNIT   - Output unit through which the variables are printed. If 
                missing, the standard output (i.e., your terminal) is used.

 KEYWORD PARAMETERS: 
       DLEVEL - An integer indicating the debugging level; defaults to 1

 CALLS:
       DATATYPE

 COMMON BLOCKS:
       None.

 RESTRICTIONS: 
       Can be activated only when the environment variable DEBUG (indicating 
          the debugging level) is set to an integer which is equal to
          or greater than DLEVEL
       Can print out a maximum of 20 variables (depending on how many
          is listed in the code)

 SIDE EFFECTS:
       None.

 CATEGORY:
       Utility, miscellaneous

 PREVIOUS HISTORY:
       Written March 18, 1995, Liyun Wang, GSFC/ARC

 MODIFICATION HISTORY:
       Version 1, Liyun Wang, GSFC/ARC, March 18, 1995

 VERSION:
       Version 1, March 18, 1995

(See .//dprint.pro)


FILL_CATEGORY

[Previous Routine] [Next Routine] [List of Routines]
 Project     : SOHO - CDS     
                   
 Name        : FILL_CATEGORY
               
 Purpose     : Load save file with current categories 
               
 Explanation : Uses the CATEGORY routine to create a list of
               relevant names and categories and then stores then in
               $CDS_INFO/categories.save for later retrieval by TFTD with
               the CAT keyword.
               
 Use         : IDL>  fill_category [,/prog]
    
 Inputs      : None 
               
 Opt. Inputs : None
               
 Outputs     : Save file created in /cs
               
 Opt. Outputs: None
               
 Keywords    : PROG - if present fill tables for 'programmers' routines.

 Calls       : PURPOSE

 Common      : None
               
 Restrictions: None
               
 Side effects: None
               
 Category    : Util, help
               
 Prev. Hist. : None

 Written     : C D Pike, RAL, 20-Sep-94 
               
 Modified    : 

 Version     : Version 1, 20-Sep-94

(See .//fill_category.pro)


FILL_TFTD

[Previous Routine] [Next Routine] [List of Routines]
 Project     : SOHO - CDS     
                   
 Name        : FILL_TFTD
               
 Purpose     : Load save file with current one-liners 
               
 Explanation : Uses the PURPOSE routine to create a list of
               relevant one-liners and then stores then in
               $CDS_INFO/1liners.save for later retrieval by TFTD.
               
 Use         : IDL>  fill_tftd [,/prog]
    
 Inputs      : None 
               
 Opt. Inputs : None
               
 Outputs     : Save file created in /cs
               
 Opt. Outputs: None
               
 Keywords    : PROG - if present fill tables for 'programmers' routines.

 Calls       : PURPOSE

 Common      : None
               
 Restrictions: None
               
 Side effects: None
               
 Category    : Util, help
               
 Prev. Hist. : None

 Written     : C D Pike, RAL, 13-May-94 
               
 Modified    : Change storage directory of save file, CDP, 20-May-1994
               To include list of intrinsic routines. CDP, 25-May-95
               Add PROG keyword.  CDP, 13-Jun-94
               Take account of new directory structure. CDP, 21-Jun-94
               Add database directories.  CDP, 22-Jul-94
               Add ql_disp directory to user lists. CDP, 14-Sep-94
               Added specific routines in the planning
               directories.   CDP, 11-Jan-95
               Add wavelength calibration routines.  CDP, 30-Jan-95
               Add user telemetry calibration programs.  CDP, 3-Feb-95
               Add /xdr to save file.  CDP, 3-Apr-95

 Version     : Version 11, 3-Apr-95

(See .//fill_tftd.pro)


GET_LIB

[Previous Routine] [Next Routine] [List of Routines]
 Project     : SOHO - CDS

 Name        : 
	GET_LIB()
 Purpose     : 
	Place elements of !PATH into a string array..
 Explanation : 
	Place library and directory elements of !PATH into a string array.
	Used by SCANPATH.
 Use         : 
	Result = GET_LIB()
	Result = GET_LIB( PATH )
 Inputs      : 
	None required.
 Opt. Inputs : 
       PATH = Path name (default is !path).
 Outputs     : 
	Function result is a string array of path elements.
 Opt. Outputs: 
	None.
 Keywords    : 
	None.
 Calls       : 
	PATH_EXPAND, GETTOK
 Common      : 
	None.
 Restrictions: 
	None.
 Side effects: 
	None.
 Category    : 
	Documentation, Online_help.
 Prev. Hist. : 
       Written DMZ (ARC) April 1991
	William Thompson, Dec 1991, modified to be compatible with UNIX, and
				    with VMS logical names.  Also, to be
				    compatible with changes in SCANPATH
 Written     : 
	D. Zarro, GSFC/SDAC, April 1991.
 Modified    : 
	Version 1, William Thompson, GSFC, 23 April 1993.
		Incorporated into CDS library.
	Version 2, William Thompson, GSFC, 7 May 1993.
		Added IDL for Windows compatibility.
	Version 3, William Thompson, GSFC, 24 September 1993.
		Changed EXPAND_PATH to PATH_EXPAND.
       Version 3.1, Dominic Zarro, GSFC, 1 August 1994.
               Added check for current directory in path.
 Version     : 
	Version 3.1, 1 August 1994.

(See .//get_lib.pro)


GET_MOD

[Previous Routine] [Next Routine] [List of Routines]
 Project     : SOHO - CDS

 Name        : 
	GET_MOD()
 Purpose     : 
	Extract list of procedure modules.
 Explanation : 
	Extract list of procedure modules from a library or directory.  Used by
	SCANPATH.
 Use         : 
	Result = GET_MOD(LIB)
 Inputs      : 
	LIB  = Library or directory name.
 Opt. Inputs : 

 Outputs     : 
	Result of function is a string array with each module name.
 Opt. Outputs: 
	None.
 Keywords    : 
	None.
 Calls       : 
	BREAK_FILE, LOC_FILE
 Common      : 
	None.
 Restrictions: 
	None.
 Side effects: 
	None.
 Category    : 
	Documentation, Online_help.
 Prev. Hist. : 
       Written DMZ (ARC) May 1991
	William Thompson, Dec 1991, modified to be compatible with UNIX.
       DMZ (DEC'92), fixed bug in FINDFILE with long argument lists.
 Written     : 
	D. Zarro, GSFC/SDAC, May 1991.
 Modified    : 
	Version 1, William Thompson, GSFC, 23 April 1993.
		Incorporated into CDS library.
	Version 2, William Thompson, GSFC, 16 June 1993.
		Changed strategy used for text libraries--more robust.
		Added IDL for Windows compatibility.
       Version 3, Dominic Zarro, GSFC, 1 August 1994.
               Changed something, but can't remember what it was
       Version 3.1, Dominic Zarro, GSFC, 1 August 1994.
               Replace spawning of 'ls' by call to LOC_FILE
 Version     : 
	Version 3.1, 1 August 1994.

(See .//get_mod.pro)


GET_PROC

[Previous Routine] [Next Routine] [List of Routines]
 Project     : SOHO - CDS

 Name        : 
	GET_PROC()
 Purpose     : 
	Extract procedure from a library or directory.  
 Explanation : 
	This procedure is used by the SCANPATH routine to extract a procedure
	from a VMS text library, or from a directory.
 Use         : 
	Result = GET_PROC(LIB,NAME,TEXT=TEXT, 
			/SEARCH,/LINOS,/BUFFER)
 Inputs      : 
	LIB	= Library name.
	NAME	= Procedure name.
 Opt. Inputs : 
	None.
 Outputs     : 
	The output of the function is a string array with each element being a
	line of code.
 Opt. Outputs: 
	None.
 Keywords    : 
	TEXT 	= Search string.
	SEARCH  = Logical switch to decide whether to search for string in
		  variable TEXT
 UNUSABLE KEYWORDS -- code is in place but modifications to DOC.PRO
		       are needed to pass /LINOS or BUFFER=[n1,n2]
       LINOS   = added line number option
	BUFFER  = 2 element vector indicating display n1 lines before search 
		  string and n2 lines after search string. Only valid if
		  /SEARCH is set
 Calls       : 
	LOC_FILE
 Common      : 
	None.
 Restrictions: 
	None.
 Side effects: 
	None.
 Category    : 
	Documentation, Online_help.
 Prev. Hist. : 
       Written DMZ (ARC) May 1991.
	Modified WTT (ARC) Dec 1991, to support UNIX.
       Modified DMZ (ARC) Jul 1992, to speed reading and add extract keyword
       Modified EEE (HSTX) Oct 1992, 1) to find all occurrences of ;+/;_
       			      2) to search for input string
       			      3) to allow BUFFER keyword 
 Written     : 
	D. Zarro, GSFC/SDAC, May 1991.
 Modified    : 
	Version 1, William Thompson, GSFC, 23 April 1993.
		Incorporated into CDS library.
	Version 2, William Thompson, GSFC, 16 June 1993.
		Added IDL for Windows compatibility.
		Modified to avoid conflict with SERTS function named FIND.
       Version 3, Dominic Zarro, GSFC, 1 August 1994.
               Corrected bug in reading from common block 
       Version 3.1, Dominic Zarro (GSFC) 22 August 1994.
               Removed spawning and replace by call to RD_ASCII
       Version 4, Dominic Zarro (GSFC) 22 September 1994.
               Removed lower/upper case forcing if filenames
               (who put that there? - not me)
 Version     : 
	Version 4, 22 September 1994.

(See .//get_proc.pro)


IDL_ROUTINE

[Previous Routine] [Next Routine] [List of Routines]
 PROJECT:
       SOHO - CDS

 NAME:
       IDL_ROUTINE

 PURPOSE:
       Create a string array of names of all IDL internal routines

 EXPLANATION:
       Called by WHICH (version 3)

 CALLING SEQUENCE:
       IDL_ROUTINE, routine_names

 INPUTS:
       None.

 OPTIONAL INPUTS:
       None.

 OUTPUTS:
       ROUTINE_NAMES -- A string array containing names of all IDL internal
                        routines

 OPTIONAL OUTPUTS:
       None.

 KEYWORD PARAMETERS:
       None.

 CALLS:
       CONCAT_DIR, DELVARX

 COMMON BLOCKS:
       None.

 RESTRICTIONS:
       A text file named 'idl.routines' must be present in a directory of
       IDL's !path.

 SIDE EFFECTS:
       None.

 CATEGORY:

 PREVIOUS HISTORY:
       Written September 21, 1994, by Liyun Wang, GSFC/ARC

 MODIFICATION HISTORY:

 VERSION:
       Version 1, September 21, 1994

(See .//idl_routine.pro)


PATH_EXPAND

[Previous Routine] [Next Routine] [List of Routines]
 Project     : SOHO - CDS

 Name        : 
	PATH_EXPAND
 Purpose     : 
	Expands VMS logical names in a search path.
 Explanation : 
	Expands any logical names in an IDL search PATH (e.g. !PATH) into the
	directories defined by that logical name.   *** VMS only. ***
 Use         : 
	Result = PATH_EXPAND(PATH)
 Inputs      : 
	PATH = Valid IDL search path, e.g. !PATH.
 Opt. Inputs : 
	None.
 Outputs     : 
	The result of the function is a string containing a modified search
	path with the logical names expanded.
 Opt. Outputs: 
	None.
 Keywords    : 
	None.
 Calls       : 
	GETTOK
 Common      : 
	None.
 Restrictions: 
	The variable PATH must be in the proper format for !PATH.
 Side effects: 
	None.
 Category    : 
	Documentation, Online_help.
 Prev. Hist. : 
	William Thompson
 Written     : 
	William Thompson, GSFC, 1992.
 Modified    : 
	Version 1, William Thompson, GSFC, 23 April 1993.
		Incorporated into CDS library.
	Version 2, William Thompson, GSFC, 24 September 1993.
		Renamed to PATH_EXPAND so as to not conflict with IDL v3.1
		internal routine called EXPAND_PATH.
 Version     : 
	Version 2, 24 September 1993.

(See .//path_expand.pro)


PEEK

[Previous Routine] [Next Routine] [List of Routines]
 PROJECT:
       SOHO - CDS

 NAME:
       PEEK

 PURPOSE:
       Search and print IDL routine.

 EXPLANATION:

 CALLING SEQUENCE:
       PEEK, doc_name

 INPUTS:
       DOC_NAME -- String scalar, name of the IDL routine

 OPTIONAL INPUTS:
       None.

 OUTPUTS:
       None.

 OPTIONAL OUTPUTS:
       None.

 KEYWORD PARAMETERS:
       EXTRACT - If set, extract the document to current directory

 CALLS:
       CONCAT_DIR, GET_MOD, GREP

 COMMON BLOCKS:
       None.

 RESTRICTIONS:
       Under VMS, if a paging command is to be used (rather than the default
       "TYPE/PAGE" command), it has to be defined as a symbol with name
       "page" and can take one argument.

 SIDE EFFECTS:
       None.

 CATEGORY:
       Utility/Help

 PREVIOUS HISTORY:
       Written September 27, 1994, by Liyun Wang, GSFC/ARC

 MODIFICATION HISTORY:
      Liyun Wang, GSFC/ARC, October 5, 1994
         Current directory also gets searched now.
       Version 2, Liyun Wang, GSFC/ARC, December 6, 1994
          Added the EXTRACT keyword
       Version 3, Liyun Wang, GSFC/ARC, December 15, 1994
          Made it work on VMS system
       Version 4, Liyun Wang, GSFC/ARC, December 29, 1994
          Use the environment variable (or symbol name under VMS) PAGE,
             if defined, as the paging command  

 VERSION:
       Version 4, December 29, 1994

(See .//peek.pro)


PURPOSE

[Previous Routine] [Next Routine] [List of Routines]
 Project     : SOHO - CDS     
                   
 Name        : PURPOSE
               
 Purpose     : List procedure/function names and purposes.
               
 Explanation : Creates a list of all .PRO files and then searches them for
               the standard CDS header and extracts the Name and Purpose 
               fields.  The resultant one-line documentation is printed to
               the screen or to the file "purpose.doc".
               
 Use         : IDL> purpose [,file_spec, /hard, /path, list=list]
               IDL> purpose, path='userlib
    
 Inputs      : None
               
 Opt. Inputs : file_spec   -  specification of the files to be searched.
                              If omitted, the current directory is used.
               
 Outputs     : The information can be printed to the screen or to the default
               output file "purpose.doc" (or both).
               
 Opt. Outputs: None
               
 Keywords    : hard    -  specifies that output is to be stored in file
                          purpose.doc
               path    -  if present (/path or path=1) use current IDL path 
                          (!path) as the search path but select only the "cds"
                          directories, otherwise use any directory whose name
                          contains the string specified by path.

               quiet   -  if specified, do not print to screen.

               list    -  if present, the list of one-liners is returned
                          in a string array.

 Calls       : None
               
 Restrictions: When the /path option is requested, only directories containing
               the letters "cds" will be used.  The VMS option is also very
               fragile in using the path directories and is likely not
               to work if the path contains symbols and libraries etc.
               
 Side effects: None
               
 Category    : Utilities, Documentation, Manual
               
 Prev. Hist. : None

 Written     : C D Pike,  RAL,  23-Jun-1993
               
 Modified    : To include output variable LIST and keyword QUIET.
                                                        CDP, 12-Nov-93
               To detect uppercase NAME and PURPOSE for compatibility with
               IDL userlib routines.   CDP, 5-May-94
            
               Include more flexible path specification, CDP, 13-May-94

               Make search for Name and Purpose more robust, CDP, 25-May-94
               Back to only read 10 lines from ;+.  CDP, 17-Jun-94
               Improve handling of no files/directory present when path
               specified.  CDP, 21-Jun-94

 Version     : Version 7,  21-Jun-1994

(See .//purpose.pro)


RD_ASCII

[Previous Routine] [Next Routine] [List of Routines]
 Project     :	SOHO - CDS

 Name        :	RD_ASCII

 Purpose     : Read sequential ASCII file

 Explanation :

 Use         : output = rd_ascii(file)

 Inputs      : file = string file name

 Opt. Inputs : None.

 Outputs     : output = string array with ASCII text

 Opt. Outputs: None.

 Keywords    : None.

 Calls       : FSTAT

 Common      : None.

 Restrictions: None.

 Side effects: None.

 Category    : I/O

 Prev. Hist. : None.

 Written     :	Version 1.0, DMZ (ARC) August 22 1994

 Modified    : Version 1.1, DMZ (ARC/GSFC) October 29 1994
               Fixed potential bug in irec

 Version     : 1.1 

(See .//rd_ascii.pro)


SCANPATH

[Previous Routine] [Next Routine] [List of Routines]
 Project     : SDAC

 Name        : 
	SCANPATH
 Purpose     : 
	Widget prog. for reading documentation within IDL procedures
 Explanation : 
	Widget-based routine to read in the documentation from IDL procedures
	in the search path.  Optionally, reads in the entire procedure.
 Use         : 
	SCANPATH  [, NAME ]
 Inputs      : 
	None required.
 Opt. Inputs : 
       NAME:           Name of procedure to search and document
 Outputs     : 
	None.
 Opt. Outputs: 
       PROC:           String array with the text of the latest saved procedure
 Keywords    : 
       RESET:          Clear out previous procedures from memory
	FONT:     	Optional font to use in the base widget.  Note that the
			font is a function of the computer or terminal
			providing the X-windows display server, not the host
			computer for the IDL application.
       NOSPLIT:        If set, then do not split procedure text base into 
                       a separate base
       PC:             If set, then put directory list widget in separate column
       LAST:           Restore last procedure in memory
                       
 Buttons     : 
	QUIT:		Exits SCANPATH.
	PRINT:		Prints selected procedure.
	DOC ONLY / ALL:	Toggles between showing only the documentation from a
			file (the part between the "+" and "-" lines), and
			the entire file.
       EXTRACT         Extract and copy procedure from library and/or directory
                       to current working directory with ".txt" extension.
 Env. Vars.  : 
	IDL_PRINT_TEXT:	Environment variable (VMS: logical name) which contains
			the print command to be used in printing files.
	XDOC_FONT:	Optional font to use in the text widget.  Note that the
			font is a function of the computer or terminal
			providing the X-windows display server, not the host
			computer for the IDL application.
       XDOC_ONLY       If set to 1, then make DOC only the default

 Calls       : 
	CONCAT_DIR, GET_LIB, GET_MOD, GET_PROC, LOC_FILE
 Common      : 
	Uses the common blocks defined in SP_COMMON.
 Restrictions: 
	Needs X-windows and widgets support (MOTIF or OPENLOOK).
 Side effects: 
	If "ALL" is selected to read in the entire file, then memory problems
	may arise when reading very large procedure files.
 Category    : 
	Documentation, Online_help.
 Prev. Hist. : 
	Written May'91 by DMZ (ARC).
	Modified Dec 91 by WTT (ARC) to support UNIX, and add the following
		features:
			- Search current directory, as well as !PATH
			- Allow for files "aaareadme.txt" containing more
			  general information to also be searched.
			- Only save last five procedures in memory.
			- Add "documentation only" button.
			- Use environment variable IDL_PRINT_TEXT
			- Change extensions ".SCL", ".MOD" to "._SCL", "._MOD".
       Modified Jan'92 by DMZ (ARC) to sense screen size and autosize widgets
	Modified Feb'92 by WTT (ARC) to use SCANPATH_FONT environment variable.
	Modified Feb'92 by DMZ (ARC) to include a message window
	Modified Mar'92 by DMZ (ARC) to enable remote printing of files
       Modified Jul'92 by DMZ (ARC) to improve DOC_ONLY switch and add EXTRACT button
       Modified Oct'92 by DMZ (ARC) to accept procedure name as input
       Modified Dec'92 by EEE (HSTX) to accept search strings
       Modified Mar'93 by DMZ (ARC) to handle "~" in UNIX directory names
                                    and print modules from VMS text libraries
 Written     : 
	D. Zarro, GSFC/SDAC, May 1991.
 Modified    : 
	Version 1, William Thompson, GSFC, 23 April 1993.
		Renamed SCANPATH_COM to SP_COMMON for DOS compatibility,
		changed line defining YSZ, and incorporated into CDS library.
	Version 2, William Thompson, GSFC, 18 June 1993.
		Added IDL for Windows compatibility.
		Changed size of widgets to better fit in IDL for Windows.
		Split columns into two widget windows to make better use of
               space.
	Version 2.1 Dominic Zarro, GSFC, 21 July 1993.
		Made procedure and search text widgets independent bases.
       Version 3, Dominic Zarro, GSFC, 1 August 1994.
               Cleaned up and added check for XDOC_ONLY environment variable.
               Changed SCANPATH_FONT to XDOC_FONT for procedure text widget
       Version 3.1, Dominic Zarro, GSFC, 16 August 1994.
               Added /NOSPLIT keyword.
               Fixed /FONT so that original font is restored on exit.
               (This keyword overrides the value of XDOC_FONT)
       Version 3.2, Zarro, GSFC, 24 August 1994.
               Fixed bug where XMANAGER was being called twice.
               Excised PC keyword
       Version 3.3, Zarro, GSFC, 3 September 1994.
               Fixed another potential bug when XMANAGER was being
               called twice during search. 
       Version 4, Zarro, GSFC, 18 September 1994.
               Put back /PC. If set, then the directory list widget appears
               in a second column (rather than in a third row, where
               it usually falls off the screen). 
       Version 4.1, Zarro, GSFC, 19 September 1994.
               Removed forcing of procedure names to lowercase.
               Converted PROC keyword to argument to enable transfer
               back to XDOC
       Version 5, Zarro, GSFC, 10 October 1994.
               Changed search text function to search file function.
               Added STRIP_DOC function.
       Version 5.1, Zarro, GSFC, 22 October 1994.
               Added LAST keyword to restore last save procedure
       Version 5.2, Zarro, GSFC, 12 December 1994.
               Fixed potential bug in FIND logic -- should only arise
               in 1 in 22 million cases.
  Version:
	Version 5.2, 12 December 1994.

(See .//scanpath.pro)


SEXIST

[Previous Routine] [Next Routine] [List of Routines]
 Project     :	SDAC

 Name        :	SEXIST

 Purpose     :	To See if variable Exists

 Explanation :	So obvious, that explaining it will take more
               lines than the code.

 Use         :	A=SEXIST(VAR)

 Inputs      :	VAR = variable name

 Opt. Inputs : None.

 Outputs     :	1/0 if variable exists or not

 Opt. Outputs:	None.

 Keywords    :	None.

 Calls       :	None.

 Common      :	None.

 Restrictions:	None.

 Side effects:	None.

 Category    :	Useful stuff

 Prev. Hist. :	None.

 Written     :	Dominic Zarro (ARC)

 Version     :	Version 1.0, 18 September 1993

(See .//sexist.pro)


SP_COMMON

[Previous Routine] [Next Routine] [List of Routines]
 Project     : SOHO - CDS

 Name        : SP_COMMON

 Purpose     : Contains common blocks used by SCANPATH.

 Explanation : This is not a procedure as such, but contains the common blocks
		used by SCANPATH and associated routines.

 Common      : Contains the common blocks SCANPATH, LIB_STUFF and PROCB.

 Category    : Documentation, Online_help.

 Prev. Hist. : See SCANPATH.

 Written     : D. Zarro, GSFC/SDAC, 1993.

 Modified    : Version 1, William Thompson, GSFC, 23 April 1993.
			Renamed to SP_COMMON for DOS compatibility, and
			incorporated into CDS library.
               Version 2, Dominic Zarro, GSFC, 1 August 1994.
                       Added additional common block (DEVICE) and
                       extended common block SCANPATH to accomodate
                       the new independent procedure widget base
               Version 2.1, Dominic Zarro, GSFC, 3 September 1994.
                       Added SEARCH common block
 Version     : Version 2.1, 1 August 1993.

(See .//sp_common.pro)


STRIP_ARG

[Previous Routine] [Next Routine] [List of Routines]
 Name        : STRIP_ARG

 Purpose     : Strip argument and keyword calls from an IDL program.

 Explanation : 

 Use         : STRIP_ARG,PROC

 Inputs      : 
	        PROC = string array with text of program.

 Outputs     : 
	        None.

 Category    : Documentation, Online_help.

 Written     : Dominic Zarro, ARC, 10 October 1994.

(See .//strip_arg.pro)


STRIP_DOC

[Previous Routine] [Next Routine] [List of Routines]
 Name        : STRIP_DOC

 Purpose     : Strip internal documentation from an IDL program.

 Explanation : 

 Use         : DOC=STRIP_DOC(ARRAY)

 Inputs      : 
	        ARRAY = string array with text of program.

 Outputs     : 
	        DOC = string array with documentation part.

 Category    : Documentation, Online_help.

 Written     : Dominic Zarro, ARC, 10 October 1994.

(See .//strip_doc.pro)


TEST_OPEN

[Previous Routine] [Next Routine] [List of Routines]
 Project     : SOHO - CDS

 Name        : TEST_OPEN

 Purpose     : Test open a file to determine existence and/or write access

 Explanation :
       Uses OPENR or OPENW (if /WRITE is set) to return status of
       input file. If input file is not given, then TEST_OPEN will
       test if the current directory is writeable.
 Use         : 
	OK=TEST_OPEN(FILE)             ;test for existence
	OK=TEST_OPEN(FILE,/WRITE)      ;test for write access
 Inputs      : 
	FILE  = file to test
 Opt. Inputs : 
	NAME = String containing the name of the procedure.
 Outputs     : 
	OK   = logical 1 for existence and readable
                   or 0 for nonexistent and/or not writeable (if /WRITE)
 Opt. Outputs: 
	None.
 Keywords    : 
       WRITE = If set, then test for write access.
 Calls       : 
	None
 Common      : 
	None.
 Restrictions: 
	None.
 Side effects: 
	None.
 Category    : 
	Utilities, Operating_system.
 Written     : 
	Dominic Zarro, GSFC, 1993.
 Version     : 
	Version 1, 1 August 1993.

(See .//test_open.pro)


TFTD

[Previous Routine] [Next Routine] [List of Routines]
 Project     : SOHO - CDS     
                   
 Name        : TFTD
               
 Purpose     : Search for a string in header documentation.
               
 Explanation : From a previously created and saved list of one-liners
               from the IDL userlib and CDS trees the routine selects 
               up to 50 at random and prints them.  This routine is run at 
               IDL startup as part of a user-education drive.
               
 Use         : IDL> tftd [,'search_string', lines=lines, /prog, cat=cat]
    
 Inputs      : None 
               
 Opt. Inputs : search_string  -  if given only routine names or one-line
                                 documentation containing that string will
                                 be presented. If present, all matches are
                                 output and the LINES keyword is ignored.

                                 The default search is effectively wild-carded
                                 to search for '*string*'.  If however a
                                 wildcard is used explicitly at the end of
                                 the search string, eg 'FITS*' then only those
                                 entries beginning with the supplied
                                 characters will be located. The /NAME
                                 keyword is then redundant.

               
 Outputs     : Listing to screen or printer
               
 Opt. Outputs: None
               
 Keywords    : lines - specifies the number of one-liners to output
                       (limit of 50 is imposed)

               prog  - use programmer routines only

               cat   - if specified, only routines having the supplied
                       string in the CATEGORY header section will be
                       listed.  If cat has the value '?' then a list
                       of possible categories is printed.

               name  - if set, search is conducted within the name only
                       of the program - not the explanation.

 Calls       : None

 Common      : None
               
 Restrictions: Only userlib and CDS trees used at the moment.
               
 Side effects: User awareness increased. Authors of routines with 
               non-standard documentation embarrassed (hopefully).
               
 Category    : Doc, help
               
 Prev. Hist. : None

 Written     : C D Pike, RAL, 5-May-94
               
 Modified    : Look for save file in CDS_INFO, CDP, 20-May-1994
               Add prog keyword.  CDP, 13-Jun-94
               Make LINES a keyword and string search the only parameter.
                                  CDP, 14-Sep-94
               To include category option.  CDP, 20-Sep-94
               Added /NAME keyword and explicit wildcard.  CDP, 14-Feb-95

 Version     : Version 6, 14-Feb-95

(See .//tftd.pro)


WHICH

[Previous Routine] [Next Routine] [List of Routines]
 PROJECT:
       SOHO - CDS

 NAME:
       WHICH

 PURPOSE:
       Search for and print file or routine in IDL !path

 EXPLANATION:
       Use to find where IDL finds a program file, and, if
	multiple definitions exist, which is loaded (the first
	one). Splits path into all different directories,
	searches for a file with the given NAME + '.PRO'.

 CALLING SEQUENCE:
       WHICH, NAME

 INPUTS:
       NAME - Name of the routine to search for (string scalar).

 OPTIONAL INPUTS:
       None.

 OUTPUTS:
       None.

 OPTIONAL OUTPUTS:
       None.

 KEYWORD PARAMETERS:
       ALL    - Report all occurrences if set. Usually WHICH reports the
                first occurrence of a found routine (which is to be
                executed by IDL). WHICH can take a while, especially on
                VMS system, to search through all directories (and text
                libraries on VMS system) if ALL is set. ALL is
                automatically set if SEARCH is set.
       SEARCH - Turn on the search mode, if set, that would match any
                given string pattern found in the path.

 CALLS:
       CONCAT_DIR, STR_CHOP, GREP

 COMMON BLOCKS:
       WHICH -- Mainly for speeding things up

 RESTRICTIONS:
       None.

 SIDE EFFECTS:
       None.

 CATEGORY:
       General utility

 PREVIOUS HISTORY:
       Written Stein Vidar Haugan, 1993

 MODIFICATION HISTORY:
       19 May, 1994, SVHH, Doc. added
	21 May, 1994, SVHH, Version 2, with on_error,2 and 'Use:'
       Liyun Wang, GSFC/ARC, September 20, 1994
          Added IDL internal routine checkings.
       Liyun Wang, GSFC/ARC, October 5, 1994
          Current directory also gets searched now
       Version 3, Liyun Wang, GSFC/ARC, December 16, 1994
          Made it capable of finding files in text libraries on VMS system
          Added the ALL keyword
       Version 4, Liyun Wang, GSFC/ARC, January 23, 1995
          Added the SEARCH keyword
       Version 5, Liyun Wang, GSFC/ARC, January 24, 1995
          Used an undocumented IDL function routine ROUTINE_NAMES to get IDL
             intrinsic routine names.

 VERSION:
       Version 5, January 24, 1995

(See .//which.pro)


XDOC

[Previous Routine] [List of Routines]
 Project     : SDAC

 Name        : 
	XDOC
 Purpose     : 
	Front end to online documentation software.
 Explanation : 
	Provides online documentation for IDL procedures found in the IDL
	search path.  This procedure decides whether the graphics device
	supports widgets, in which case it calls SCANPATH; otherwise it calls
	DOC_MENU.
 Use         : 
	XDOC		;For prompting.
	XDOC, NAME	;Extract documentation for procedure NAME.
 Inputs      : 
	None required.
 Opt. Inputs : 
	NAME = String containing the name of the procedure.
 Outputs     : 
	PROC = string array with latest selected procedure text.
 Opt. Outputs: 
	None.
 Keywords    : 
       See SCANPATH
 Calls       : 
	DOC_MENU, SCANPATH, HAVE_WIDGETS
 Common      : 
	None.
 Restrictions: 
	None.
 Side effects: 
	None.
 Category    : 
	Documentation, Online_help.
 Written     : 
	Dominic Zarro, (ARC/GSFC), 1991.
 Modified    : 
	Version 1, William Thompson, GSFC, 23 April 1993.
		Changed test for widgets and incorporated into CDS library.
	Version 2, William Thompson, GSFC, 24 June 1993.
		Added ON_ERROR statement to correct problem on VMS machines.
       Version 3, Dominic Zarro, (ARC/GSFC), 1 August 1994.
               Changed name from DOC to XDOC and added keyword-inheritance
               to inherit keywords from SCANPATH.
       Version 3.1, Dominic Zarro (ARC/GSFC), 18 September 1994.
               Added PROC argument to return text of last selected procedure.
       Version 3.2, Dominic Zarro (ARC/GSFC), 12 December 1994.
               Added check for IDL release version.
 Version     : 
	Version 3.2, 12 December 1994.

(See .//xdoc.pro)