parab $SSW/soho/cds/idl/sci/data_anal/ql/line_fit/parab.pro
[Previous] [Next]
 Project     : SOHO - CDS     
                   
 Name        : parab
               
 Purpose     : fit a parabola to a given line profile
               
 Explanation : uses IDL-procedure poly_fit to fit a parabola to
		the points in the line profile
               
 Use         : IDL>a = parab(x,y,p1,p2,back,a)
    
 Inputs      : x-array, y-array, first pixel in lineprofile,
		last pixel in line profile, background value
               
 Opt. Inputs : None
               
 Outputs     : Coeffissients of fitted parabola
               
 Opt. Outputs: a
               
 Keywords    : ?

 Calls       : ***
	POLY_FIT
 Common      : None
               
 Restrictions: None
               
 Side effects: None
               
 Category    : Line fitting
               
 Prev. Hist. : None

 Written     : Nils Brynildsen, ITA, UiO, 12-Apr.-1994
               
 Modified    : Version 1.0 Nils Brynildsen, 12-Apr.-1994

 Version     : Version 1.0, 1-July-1994


parse_atime [2] $SSW/soho/mdi/idl_old/gen/utplot/parse_atime.pro
[Previous] [Next]
 parse_atime parses a time in any of the allowed formats and returns 
 year, month, day, hour, minutes, and/or seconds depending on
 which keyword parameters are passed.  If the keyword STRING is set, 
 the values are returned as strings, otherwise as numbers.

 Kim Tolbert
 3/5/92

 Mod 1/11/94 by AKT to allow any kind of time as input (previously required
 an ASCII time), and call anytim instead of atime.
 CALLS:
 CALLED BY
	BAT_MERGE, DO_ALANSLIST, DO_EVENTLISTS, DO_QLARCHIVE, FILELIST, FLARE_F_NAME
	GETFLARE, HXRFITS_EXT1, HXRFITS_EXT2, HXRFITS_HEAD, MAIN_HTML, PLOTBATSE_QL
	PROCESS_SLLD_DBASE, QLPRINT, QL_ORBIT_PLOT, QL_PLOTTER, READQUAL, RESTORE_QLOOK
	SAVE_DCDATA, TWIDGET, WRITE_FDB, cp_catwidget, gfits_ext1, gfits_ext2, gfits_files
	gfits_head, mksort


parse_lines [2] $SSW/soho/mdi/idl_old/gen/util/parse_lines.pro
[Previous] [Next]
NAME:
	parse_lines
PURPOSE:
	To take a string (or an array of strings) and to 
	reformat it so that a given string is no longer than
	a given value.  Breaks are done at with space
SAMPLE CALLING SEQUENCE:
	mat = parse_lines(input, ncpl)
	mat = parse_lines(mat0, 50)
INPUT:
	input	- The string (or string array)
	ncpl	- number of characters per line
OUTPUT:
	returns a string array with maximum length of "ncpl"
 CALLS: ***
	ARR2STR [1], Arr2Str [2]
 CALLED BY:
	doc1liners, timeline
HISTORY:
	Written 1996 by M.Morrison
	 6-Nov-96 (MDM) - Added documentation header


path_data [2] $SSW/soho/mdi/idl_old/gen/ys_util/path_data.pro
[Previous] [Next]
   Name: path_data

   Purpose: return the path to on-line reformatted data files 

   Input Parmeters:
      module 	- reformatted file name or pattern

   Optional Keyword Parameters:
      nopath - if set, only return the module names (no path info)
      nopro  - if set, all file types in path matching module are returned
      multi  - if set, all occurences are returned (default is first)
      bydir  - if set, match is against pathname not module name

   Output Parameters: function returns full path specification 
      count - number of matches found
	
   Calling Sequence: 
	refiles=path_data(module [,count , /nopath , /bydir 

   Category:
      system, swmaint, util, gen

   Method - first call, reads generic file $DIR_GEN_SETUP/data/datamap.genx
	     into a common block - once common is established, finding module
	     is via. table lookup.  File is generated via mk_mapfile,/data.

   History: slf, 8-Aug-92
	     slf, 18-nov-92 - altered path_sw to path_data(force some keywords)
			      (change common block name and map input file)
	     slf, 22-sep-93 - read from site/setupd/datamap
  
 CALLS: ***
	CONCAT_DIR [1], CONCAT_DIR [2], CONCAT_DIR [3], UNIQ [1], UNIQ [2], UNIQ [3]
	concat_dir [4], restgen [1], restgen [2], str_replace [1], str_replace [2]
   Restrictions: wild cards not yet handled properly


PATH_LIB [2] $SSW/soho/mdi/idl_old/gen/ys_util/path_lib.pro
[Previous] [Next]
 NAME:
	PATH_LIB
 PURPOSE:
	Extract the path of one or more procedures.
 CATEGORY:
	
 CALLING SEQUENCE:
	path = path_lib()	; For prompting.
	path = path_lib(name)   ; Find full path for procedure Name using
				  the current !PATH.
 INPUTS:
	Name = string containing the name of the procedure.
	Under Unix, Name may be "*" for all modules.
	
 KEYWORDS:
 Unix KEYWORDS:
	DIRECTORY = directory to search.  If omitted, use  current directory
		and !PATH.
	MULTI = flag to allow the return of more than one pathname if the module
		exists in more than one directory in the path + the current
		directory.
       NOPRO = If present and set, then ".pro" is not appended to name.
 VMS KEYWORDS:
	None.

 OUTPUTS:
	The path name is returned as a string array.
 CALLS: ***
	PATH_LIB_UNIX [1], PATH_LIB_UNIX [2]
 CALLED BY:
	check_log [1], check_log [2], doc_library2 [1], doc_library2 [2]
	pr_path_lib [1], pr_path_lib [2], rd_soup, run_dsnfil, ys_contrib [1]
	ys_contrib [2]
 COMMON BLOCKS:
	None.
 SIDE EFFECTS:
	None.
 RESTRICTIONS:
	Nothing happens under VMS, except a warning message is printed.
 MODIFICATION HISTORY:
	Written, J. R. Lemen, 2-mar-92


PATH_LIB_UNIX [2] $SSW/soho/mdi/idl_old/gen/ys_util/path_lib_unix.pro
[Previous] [Next]
 NAME:
	PATH_LIB_UNIX
 PURPOSE:
	Extract the path of one or more procedures.
 CATEGORY:
	
 CALLING SEQUENCE:
	path = path_lib_unix()	; For prompting.
	path = path_lib_unix(name)	; Find full path for procedure Name
					; using the current !PATH.
 INPUTS:
	Name = string containing the name of the procedure or "*" for all.
	
 OPTIONAL INPUT PARAMETERS:
	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.
       NOPRO =	If present and set, then ".pro" is not appended to name.
 OUTPUTS:
	The routine returns one or more paths as a string array.
 CALLED BY:
	PATH_LIB [1], PATH_LIB [2]
 COMMON BLOCKS:
	None.
 SIDE EFFECTS:
	None.
 RESTRICTIONS:
	??
 PROCEDURE:
	Straightforward.
 MODIFICATION HISTORY:
	Written, 2-mar-92, J. R. Lemen


path_sw [1] $SSW/soho/mdi/idl_old/gen/ys_util/path_sw.pro
[Previous] [Next]
   Name: path_sw

   Purpose: return the path to on-line software using mapfile contents

   Input Parmeters:
      module 	- software module name or substring (.pro file, script, etc)

   Optional Keyword Parameters:
      nopath - if set, only return the module names (no path info)
      nopro  - if set, all file types in path matching module are returned
      multi  - if set, all occurences are returned (default is first)
               (this should be enhanced to use !path to determine order)
      readfile - force reading of file and regeneration of common block
      swdirs - if set, return $ys directories (ignore module, if present)

   Output Parameters: function returns full path specification 
      count - number of matches found
	
   Calling Sequence: 
	fullpath=path_sw(module [,count , /nopath , multi, /nopro])

   Category:
      system, swmaint, util, gen

   Method - on first call, reads generic file $DIR_GEN_SETUP/data/swmap.genx
	     into a common block - once common is established, finding module
	     is via. table lookup

 CALLS: ***
	CONCAT_DIR [1], CONCAT_DIR [2], CONCAT_DIR [3], RD_GENX, UNIQ [1], UNIQ [2]
	UNIQ [3], concat_dir [4], str_replace [1], str_replace [2], wc_where [1]
	wc_where [2]
 CALLED BY:
	add_pro [1], add_pro [2], fastdoc [1], fastdoc [2], oneline_event [1]
	oneline_event [2], sw2tree [1], sw2tree [2], ucon_check
   History: slf, 8-Aug-92
	     slf, 7-Jan-93	use DIR_GEN_SETUPD (=DIR_GEN_SETUP/data)
            			call wc_where to find pattern match
	     slf, 29-jan-93	use rd_genx instead of restgen (faster)
  


path_ucon $SSW/soho/mdi/idl_old/gen/ys_util/pathfix.pro
[Previous] [Next]
   Name: path_ucon

   Purpose: remove elements from !path or restore original !path
   
 CALLS: ***
	ARR2STR [1], Arr2Str [2], STR2ARR [1], STR2ARR [2], pathfix, rem_elem [1]
	rem_elem [2], wc_where [1], wc_where [2]
   History:
      14-Apr-1994 (SLF) Written (originally to dynamically remove ucon areas)
       1-Feb-1995 (SLF) added quiet keyword and function


pattern1 [1] $SSW/soho/lasco/idl/las-c2/pattern1.pro
[Previous] [Next]
pro pattern1,ima1,ima2,ima3,ima4,difres
;; by M.B :LAS  21/01/94  extract & display the pattern of ccd
 CALLS:
 CALLED BY
	FILTMEDIAN


pattern1 [2] $SSW/soho/lasco/idl/las-c2/pattern1.pro
[Previous] [Next]
pro pattern2,difres1,difres2,difres_out
;; by M.B   :LAS 21/01/94  magnify the pattern (shunt aleatory peaks) & give
;;                         the signal/noise ratio
 CALLS:
 CALLED BY
	FILTMEDIAN


PB_INVERTER $SSW/soho/lasco/idl/polariz/pbinverter/pb_inverter.pro
[Previous] [Next]
 NAME:
       PB_INVERTER

 PURPOSE:
       This program takes a calibrated pB image and returns the density
       using a Van de Hulst inversion.  A polynomial fit to the pB data
	of the form r^(-n), where n is user-defined, is inverted to get
	electron density.  Either single radial profiles or the entire
 	360 degrees in latitude can be processed.

 CATEGORY:
       Data analysis

 CALLING SEQUENCE:
       PB_INVERTER [,filename]


 OPTIONAL INPUTS:
       Filename: Enter the calibrated pB filename.  Default is to prompt
		user for filename

 OUTPUTS:
	Displays pB image, pB profiles, and calculated density profiles

 OPTIONAL OUTPUTS:
       Density data save in filenames as follows:
		pbne_YYYYMMDD_HHMM_Cx.sav;	where x is the telescope
		or
		pbne_YYYYMMDD_HHMM_Cx_aaa.sav;	where aaa is position angle

 CALLS: ***
	BASEWIDGET_EVENT, CNVRT2POLAR, COMMON_BLOCK_DEFINITIONS, CURVEFIT, DATATYPE [1]
	DATATYPE [2], DATATYPE [3], DISTARR, DOPLOTS, ELIMINATE_FCORONA, FCORPOL_KL, FCOR_KL
	GETRPW, GET_SOLAR_RADIUS, GET_SUN_CENTER [1], GET_SUN_CENTER [2]
	GET_SUN_CENTER [3], IPEXPANSION, LASCO_FITSHDR2STRUCT, LASCO_READFITS [1]
	LASCO_READFITS [2], LOADIMG, MLO_FITSHDR2STRUCT, NE_FROM_PB, SAVEPBNE, SIGN
	STR2UTC [1], STR2UTC [2], STR2UTC [3], SXPAR [1], SXPAR [2], SXPAR [3], UTC2YYMMDD
	VARIANCE, VDH_INVERSION, XLOADCT [1], XLOADCT [2], XLOADCT [3], XMANAGER, ps_setup
 COMMON BLOCKS:
       Programconstants:
	Simconstants:
	Widgetvars:
	Ipexpansionarg:


 PROCEDURE:
	The default is to look for pB files in the directory specified by
	the environment variable POLDIR

 EXAMPLE:
	pb_inverter

 MODIFICATION HISTORY:
       Written by:     R. Howard and A. Hayes
       various up to Nov 9, 2001 by D.A. Biesecker
		Modified so that the order of the polynomial fit and
		the width of the angular binnin can be set in the widget.
		Also modified to display the PA as the cursor is moved
		Many other mods which I've forgotted about.
       July 25, 2005   RA Howard  corrected error with Mk4 Header
                                  added simpb to the saveset
                                  added capability to set the max height in inversion

       @(#)pb_inverter.pro	1.2  07/25/05	LASCO IDL LIBRARY


PCL [2] $SSW/soho/mdi/idl_old/gen/ssw_lib/pcl.pro
[Previous] [Next]
 Project     : SOHO - CDS

 Name        : 
	PCL
 Purpose     : 
	Sets graphics device to HP LaserJet PCL file.
 Explanation : 
	This procedure sets the system variables needed to write HP LaserJet
	PCL plot files.  The plot is done in landscape mode, using most of the
	paper.

	SETPLOT is called to save and set the system variables, and DEVICE is
	called to set the plot window size and orientation, and to open the
	file.

	If the plot file is already open, then calling PCL without any
	parameters or keywords allows the user to write into the already opened
	file, in the same mode as before.

 Use         : 
	PCL  [, FILENAME ]

	PCL				;Open PCL plot file
	   ... plotting commands ...	;Create plot
	PCLPLOT				;Close & plot file, reset to prev. dev.
	   or
	PCLCLOSE			;Close w/o printing,  "    "   "    "

 Inputs      : 
	None required.
 Opt. Inputs : 
	FILENAME - Name of PCL plot file to be opened.  If not passed, and no
		   filename was previously passed, "idl.pcl" is assumed.
 Outputs     : 
	A message is printed to the screen.
 Opt. Outputs: 
	None.
 Keywords    : 
	LANDSCAPE = If set, then plotting is done in LANDSCAPE mode (default).
	PORTRAIT  = If set, then plotting is done in PORTRAIT mode.  PORTRAIT
		    takes precedent over LANDSCAPE.
 Calls       : ***
	FORM_FILENAME [1], FORM_FILENAME [2], SETPLOT [1], SETPLOT [2]
 CALLED BY:
	TVPRINT
 Common      : 
	PCL_FILE which contains PCL_FILENAME, the name of the plotting file,
	and LAST_DEVICE, which is the name of the previous graphics device.
 
	Also calls SETPLOT, which uses common block PLOTFILE.
 
 Restrictions: 
	Only the routines PCLPLOT and PCLCLOSE can be used to close the PCL
	plot file.  It is best if the routines TEK, REGIS, etc. (i.e. those
	routines that use SETPLOT) are used to change the plotting device.

	In general, the SERTS graphics devices routines use the special system
	variables !BCOLOR and !ASPECT.  These system variables are defined in
	the procedure DEVICELIB.  It is suggested that the command DEVICELIB be
	placed in the user's IDL_STARTUP file.

 Side effects: 
	If the FILENAME parameter, or either the LANDSCAPE or PORTRAIT
	keywords, is passed then DEVICE is called to open a new file.  Any
	previously opened PCL plot file would be closed.
 
	If a new file is opened, then the DEVICE routine is called with the
	/LANDSCAPE or /PORTRAIT switch to set the size and orientation of the
	plot window.
 
	If not the first time this routine is called, then system variables
	that affect plotting are reset to previous values.  If it is the first 
	time the routine is called, !FANCY is set to 1.

	In UNIX, if a new file is opened with the same name as an existing
	file, then the old file is lost.
 
 Category    : 
	Utilities, Devices.
 Prev. Hist. : 
	None.
 Written     : 
	William Thompson, GSFC, 15 June 1993.
 Modified    : 
	Version 1, William Thompson, GSFC, 15 June 1993.
		Based on QMS.PRO
 Version     : 
	Version 1, 15 June 1993.


PCLCLOSE [2] $SSW/soho/mdi/idl_old/gen/ssw_lib/pclclose.pro
[Previous] [Next]
 Project     : SOHO - CDS

 Name        : 
	PCLCLOSE
 Purpose     : 
	Close an HP LaserJet PCL plot file, reset graphics device.
 Explanation : 
	The currently opened HP LaserJet PCL plot file is closed, and the
	graphics device is reset to what was used previously.
 Use         : 
	PCLCLOSE

	PCL				;Open PCL plot file
	   ... plotting commands ...	;Create plot
	PCLPLOT				;Close & plot file, reset to prev. dev.
	   or
	PCLCLOSE			;Close w/o printing,  "    "   "    "

 Inputs      : 
	None.
 Opt. Inputs : 
	None.
 Outputs     : 
	A message is printed to the screen.
 Opt. Outputs: 
	None.
 Keywords    : 
	None.
 Calls       : ***
	SETPLOT [1], SETPLOT [2], TRIM
 CALLED BY:
	TVPRINT
 Common      : 
	PCL_FILE which contains PCL_FILENAME, the name of the plotting file,
	and LAST_DEVICE, which is the name of the previous graphics device.
 Restrictions: 
	In general, the SERTS graphics devices routines use the special system
	variables !BCOLOR and !ASPECT.  These system variables are defined in
	the procedure DEVICELIB.  It is suggested that the command DEVICELIB be
	placed in the user's IDL_STARTUP file.

 Side effects: 
	The previous plotting device is reset.
 Category    : 
	Utilities, Devices.
 Prev. Hist. : 
	None.
 Written     : 
	William Thompson, GSFC, 15 June 1993.
 Modified    : 
	Version 1, William Thompson, GSFC, 15 June 1993.
		Based on QMCLOSE.PRO.
 Version     : 
	Version 1, 15 June 1993.


PCLPLOT [2] $SSW/soho/mdi/idl_old/gen/ssw_lib/pclplot.pro
[Previous] [Next]
 Project     : SOHO - CDS

 Name        : 
	PCLPLOT
 Purpose     : 
	Print an HP LaserJet PCL plot file, reset graphics device.
 Explanation : 
	Sends a PCL plot file generated by IDL to the HP LaserJet PCL laser
	printer.  The default queue is defined by the logical name/environment
	variable HPLASER.  The graphics device is reset to what was used
	previously.
 Use         : 
	PCLPLOT  [, FILE ]  [, /DELETE ]

	PCL				;Open PCL plot file
	   ... plotting commands ...	;Create plot
	PCLPLOT				;Close & plot file, reset to prev. dev.
	   or
	PCLCLOSE			;Close w/o printing,  "    "   "    "

 Inputs      : 
	None required.
 Opt. Inputs : 
	The default filename is either taken from the last call to the PCL
	routine, or is "idl.pcl".

	A filename other than the default can be passed in one of three ways:

		Explicitly:		e.g. PCLPLOT,'graph.pcl'
		By number (VMS)		e.g. PCLPLOT,3   for "idl.pcl;3"
		All versions (VMS)	e.g. PCLPLOT,'*' for "idl.pcl;*"
		All ".pcl" files (UNIX)	e.g. PCLPLOT,'*' for "*.pcl"
 Outputs     : 
	A message is printed to the screen.
 Opt. Outputs: 
	None.
 Keywords    : 
	DELETE	= If set, then file is deleted after printing.
	QUEUE	= Name of printer queue to be used in printing the file.
	COMMAND	= (Unix only.)  Command to be used to send the plot file to the
		  printer.  If not passed, then the environment variable
		  PRINTCOM is checked.  If neither of these is set, then the
		  standard command "lpr" is used.
 Calls       : 
	SETPLOT [1], SETPLOT [2]
 CALLED BY:
	TVPRINT
 Common      : 
	PCL_FILE which contains PCL_FILENAME, the name of the plotting file,
	and LAST_DEVICE, which is the name of the previous graphics device.
 Restrictions: 
	The requested plot file must exist.

	In general, the SERTS graphics devices routines use the special system
	variables !BCOLOR and !ASPECT.  These system variables are defined in
	the procedure DEVICELIB.  It is suggested that the command DEVICELIB be
	placed in the user's IDL_STARTUP file.

 Side effects: 
	The plot file is queued on the printer HPLASER.  Also, any files
	"idl.pcl" that may be open will be closed.  The previous plotting
	device is reset.
 Category    : 
	Utilities, Devices.
 Prev. Hist. : 
	None.
 Written     : 
	William Thompson, GSFC, 15 June 1993.
 Modified    : 
	Version 1, William Thompson, GSFC, 15 June 1993.
		Based on QMPLOT.PRO.
	Version 2, William Thompson, GSFC, 8 June 1994
		Added keyword COMMAND
 Version     : 
	Version 2, 8 June 1994.


PCURSOR [2] $SSW/soho/lasco/idl/las-c2/simcircle.pro
[Previous] [Next]
 NAME:
       PCURSOR.PRO
 PURPOSE:
       Plot cursor position on display and
       put the pixels coordinates selected with the
       cursor in a table that can be readed.
 CATEGORY:
       array manipulation
 CALLING SEQUENCE:
       PCURSOR,IMA,TAB_NAME
 INPUTS: 
    		IMA	    : IMAGE INPUT
 KEYWORD PARAMETERS:
                                   None
 OUTPUTS:
  		TAB_NAME    : table des  coordonnees des points selectionnes		
	
 CALLS: ***
	CIRCCNTR, PCIRCLE, RDPIX, ROUND1, SIMCIRCLE
 CALLED BY:
	round1var
 COMMON BLOCKS:
       None.
 SIDE EFFECTS:
       None
 RESTRICTIONS:

 PROCEDURE:
       Straightforward.
 MODIFICATION HISTORY:
       Written by JP.L & M.B  v.1.0       : LAS  01/27/94


perf_vwbin $SSW/soho/mdi/idl/cal/perf_vwbin.pro
[Previous] [Next]
NAME:
	perf_vwbin
PURPOSE:
	Given a VWBIN list (or file name) and an input image, make
	the VWBIN output
SAMPLE CALLING SEQUENCE:
	out = perf_vwbin(list_file, rawimg)
	out = perf_vwbin('/mdisw/dbase/ops/lists/list_vwbin_6007.fits', img)
	out = perf_vwbin(list, img)
INPUTS:
	list_file- The VWBIN list as dumped from memory or the file containing
		   the list
	rawimg	- The image to simulate the VWBIN process on.  It must be
		  1024x1024.
 CALLS: ***
	RFITS [1], RFITS [2], RFITS [3], data_type [1], data_type [2]
HISTORY:
	Written 27-Jun-96 by M.Morrison (using chkvwimg.pro as starting point)
	10-Jul-96 (MDM) - Changed the instruction which makes the output
			  an integer from LONG to FLOOR (because of funny
			  truncation of negative numbers)
				IDL> help,floor(-.6)
				<Expression>    LONG      =           -1
				IDL> help,long(-.6) 
				<Expression>    LONG      =            0


PHOTOCAL $SSW/soho/lasco/idl/reduce/photocal.pro
[Previous] [Next]
 NAME:				PHOTOCAL

 PURPOSE:			Performs the Level 1 photometric calibration of
				an image from digital counts to mean solar 
				brightness units

 CATEGORY:			REDUCTION

 CALLING SEQUENCE:		Result = PHOTOCAL (X,Hx,Cal,Stray,Vig,Dark,Hnew)

 INPUTS:			X = Input uncalibrated image
				Hx = Header structure for X
				Cal = Photometric Calibration Structure
				Stray = Stray Light Calibration Structure
				Vig = Vignetting Calibration Structure
				Dark = Dark Image Calibration Structure

 OUTPUTS:			Result = Calibrated image
				Hnew = New FITS header

 CALLS: ***
	FXADDPAR [1], FXADDPAR [2], FXPAR [1], FXPAR [2]
 COMMON BLOCKS:

 SIDE EFFECTS:

 RESTRICTIONS:

 PROCEDURE:

     The LASCO calibration images will be derived from flat field images
     through each filter / polarizer at several known brightness levels and
     for several exposure times.  The flat field images also contain 
     information about the vignetting function, but this information will be
     backed out of the flat fields to create the calibration images used
     here.  A dark field image will be used to subtract off any dark
     counts for that exposure time and to correct for any electronic
     bias that is introduced.

     The CCD response is linear.  However, there may be non-linearity due
     to the shutter opening and closing times.  This gives the following 
     formula to convert a raw image, in counts, to a calibrated image, in 
     photometric units.

     B  =  ( cal.B1 + cal.slope * ( xd - DN1 ) * ( cal.e1 / exptime ) )
           *  vig.img   -  stray.img

     DN1 = cal.img1 + ( ( cal.img3 - cal.img1 ) ) / ( cal.e3 - cal.e1 ) ) 
                       * ( exptime - cal.e1 )

     xd  = x - dark1

     dark1 = dark.img1 + ( (dark.img2 - dark.img1) ) / (dark.e2 - dark.e1) )
                          * ( exptime - dark.e1 )

     where,
           cal.e1    = exposure time for reference image #1
           cal.B1    = brightness level of reference image #1
           cal.slope = slope to convert DN to MSB for exposure e1
           x         = observed image in counts (DN)
           hx        = FITS header associated with image, x
           exptime   = current exposure time (in FITS header)
           DN1       = reference image at current exposure time
           dark1     = dark field image at current exposure time
           xd        = observed image in counts with dark field subtracted
           stray.img = stray light image
           vig.img   = vignetting correction image
                       The vignetting correction is the reciprocal of the 
                       function in the range of [0,1] except that close to 
                       the occulting disk where the function is close to 0, 
                       the correction might be set to 0, rather than permit 
                       the very large correction.
           hnew      = FITS header associated with calibrated image

     cal is an idl structure containing the following elements

           version   = version identification (string)
           date      = date generated (string)
           start     = start date and time when valid (UTC string)
           end       = end date and time when valid (UTC string)
           teles     = telescope (integer)
           tel_conf  = telescope configuration (integer)
           cam_conf  = camera configuration (integer)
           e1        = exposure time at reference image #1 (float)
           e2        = exposure time at reference image #2 (float)
                       (must be equal to e1)
           e3        = exposure time at reference image #3 (float)
           B1        = brightness level of reference image #1 (float)
           B2        = brightness level of reference image #2 (float)
           B3        = brightness level of reference image #3 (float)
                       (must be equal to B1)
           img1      = reference image #1 (integer image) dark subtracted
           img2      = reference image #2 (integer image) dark subtracted
           img3      = reference image #3 (integer image) dark subtracted
           slope     = slope of linear conversion (MSB/DN) (float image)

     dark is an idl structure containing the following elements

           version   = version identification (string)
           date      = date generated (string)
           start     = start date and time when valid (UTC string)
           end       = end date and time when valid (UTC string)
           teles     = telescope (integer)
           tel_conf  = telescope configuration (integer)
           cam_conf  = camera configuration (integer)
           e1        = exposure time at reference image #1 (float)
           e2        = exposure time at reference image #2 (float)
           img1      = reference image #1 (integer image) dark subtracted
           img2      = reference image #2 (integer image) dark subtracted

     stray is an idl structure containing the following elements

           version   = version identification (string)
           date      = date generated (string)
           start     = start date and time when valid (UTC string)
           end       = end date and time when valid (UTC string)
           teles     = telescope (integer)
           tel_conf  = telescope configuration (integer)
           cam_conf  = camera configuration (integer)
           img       = stray light image (float image)

     vig is an idl structure containing the following elements

           version   = version identification (string)
           date      = date generated (string)
           start     = start date and time when valid (UTC string)
           end       = end date and time when valid (UTC string)
           teles     = telescope (integer)
           tel_conf  = telescope configuration (integer)
           cam_conf  = camera configuration (integer)
           img       = vignetting correction image (float image)


 MODIFICATION HISTORY:
     Written R.A. Howard, Naval Research Lab, 23 Apr 1993
         Version 1
                 2   RAH, 12 Nov 1994 additional comments
                 3   RAH, 3 Oct 1995 added sub image capability
                                     header is in fits format
                                     adding dark image correction
                 4   RAH, 15 Nov 1995 added additional HISTORY to header

       @(#)photocal.pro	1.1 04 Apr 1996 LASCO IDL LIBRARY


PICK_LINE $SSW/soho/cds/idl/sci/data_anal/ql/ql_disp/pick_line.pro
[Previous] [Next]
 Project     : SOHO - CDS     
                   
 Name        : PICK_LINE()
               
 Purpose     : Pick lines from Kelly's line list
               
 Explanation : Kelly's line list (or part of it) is searched, and a 
		display pops up with the lines that were within a 
		range around the given wavelength (default +/- 0.5 Angstrom).

		This is really a whole suite of procedures.
               
 Use         : Result = PICK_LINE(WAVELENGTH)
    
 Inputs      : WAVELENGTH
               
 Opt. Inputs : None.
               
 Outputs     : Returns a structure with the information in the line list
               
 Opt. Outputs: None.
               
 Keywords    : DELTA : Specifies the size of the area to be searched, 
			around the given wavelength.

 		PICK : 	Set to force a selection before the routine
			returns.

 Calls       : ***
	ANA_CONFIG, ANA_TERM, ATOM_LINE_HEADING, Bell, CDSLOG, CDSNOTIFY, CHOP_CHAR
	CONCAT_DIR [1], CONCAT_DIR [2], CONCAT_DIR [3], DATATYPE [1], DATATYPE [2]
	DATATYPE [3], DISP_LINE, IEEE_TO_HOST [1], IEEE_TO_HOST [2], IEEE_TO_HOST [3]
	IEEE_TO_HOST [4], ISDIGIT, LOOKUP_LINE, NOTIN_KELLY, PARSE_LINE, PICK_LINE_EVENT
	PUT_TOKENS, RD_SERTS, ROMAN_LITERAL, SERTS_FILTER, SUBCONFIG, TRIM, XMANAGER
	concat_dir [4]
 CALLED BY:
	GDSPSPEC, NDSPSPEC
 Common      : Pick_line
               
 Restrictions: Needs $CDS_ATOMIC/kelly_lines.dat and kelly_lines.ix
               
 Side effects: Xmanager...
               
 Category    : CDS QL
               
 Prev. Hist. : None.

 Written     : SVHH, March 1994
               
 Modified    : SVHH, 27 April 1994
			Added calls to HOST_TO_IEEE and vice versa,
			as well as the VMS /BLOCK keyword to OPENR
			for platform independence.
			Lower-cased the second character of two-character
			element names.
		SVHH, 16 May 1994
			Added reference to $CDS_ATOMIC and CONCAT_DIR

		SVHH, 11 November 1994
			Version 2.0 -- Using Widget_DRAW's for the
			display for compatibility with IDL v 3.6
			and for speedup.

               CDP, 24-Mar-95  Update data file names to be specific to Kelly

 Version     : Version 3, 24-Mar-95


PICKCOLOR $SSW/soho/lasco/idl/dfanning/pickcolor.pro
[Previous] [Next]
 NAME:
       PICKCOLOR

 PURPOSE:

       A modal dialog widget allowing the user to select
       the RGB color triple specifying a color. The return
       value of the function is the color triple specifying the
       color or the "name" of the color if the NAME keyword is set.

 AUTHOR:
       FANNING SOFTWARE CONSULTING:
       David Fanning, Ph.D.
       1645 Sheely Drive
       Fort Collins, CO 80526 USA
       Phone: 970-221-0438
       E-mail: davidf@dfanning.com
       Coyote's Guide to IDL Programming: http://www.dfanning.com

 CATEGORY:

       Graphics, Color Specification. See related program FSC_COLOR.

 CALLING SEQUENCE:

       color = PickColor(colorindex)

 RETURN VALUE:

       The return value of the function is a 1-by-3 array containing
       the values of the color triple that specifies the selected color.
       The color can be loaded, for example, in any color index:

           color = PickColor(240)
           TVLCT, color, 240

       The return value is the original color triple if the user
       selects the CANCEL button.

       IF the NAMES keyword is set, the return value of the function is
       the "name" of the selected color. This would be appropriate for
       passing to the FSC_COLOR program, for example.

 OPTIONAL INPUT POSITIONAL PARAMETERS:

       COLORINDEX: The color index of the color to be changed. If not
              specified the color index !D.Table_Size - 2 is used.
              The Current Color and the Color Sliders are set to the
              values of the color at this color index.

 OPTIONAL INPUT KEYWORD PARAMETERS:

       GROUP_LEADER: The group leader for this widget program. This
              keyword is required for MODAL operation. If not supplied
              the program is a BLOCKING widget. Be adviced, however, that
              the program will NOT work if called from a blocking widget
              program, unless a GROUP_LEADER is supplied.

       NAMES: Set this keyword to return the "name" of the selected color
              rather than its color triple.

       STARTINDEX: 88 pre-determined colors are loaded The STARTINDEX
              is the index in the color table where these 88 colors will
              be loaded. By default, it is !D.Table_Size - 89.

       TITLE: The title on the program's top-level base. By default the
              title is "Pick a Color".

 OPTIONAL INPUT KEYWORD PARAMETERS:

       CANCEL: A keyword that is set to 1 if the CANCEL button is selected
              and to 0 otherwise.

 CALLS: ***
	FSC_COLOR [1], FSC_COLOR [2], PICKCOLOR_BUTTONS, PICKCOLOR_CENTERTLB
	PICKCOLOR_SELECT_COLOR, PICKCOLOR_SLIDERS, XMANAGER
 CALLED BY:
	FSC_SURFACE
 COMMON BLOCKS:

       None.

 SIDE EFFECTS:

       88 pre-determined colors are loaded in the color table.
       In addition, the color index at COLORINDEX is modified while
       the program is on the display. When the program exits, the
       entry color table is restored. Thus, on 8-bit displays there
       might be some color effects in graphics windows while PICKCOLOR
       is on the display. Changes in the color table are not noticable
       on 16-bit and 24-bit displays.

 EXAMPLE:

       To specify a color for a plot in color decomposition OFF mode:

          Device, Decomposed=0
          !P.Color = !P.Color < (!D.Table_Size - 1)
          color = PickColor(!P.Color, Cancel=cancelled)
          IF NOT cancelled THEN BEGIN
              TVLCT, color, !P.Color
              Plot, data
          ENDIF

       To specify a color for a plot in color decomposition ON mode:

          Device, Decomposed=1
          color = PickColor(Cancel=cancelled)
          !P.Color = Color24(color)
          IF NOT cancelled THEN Plot, data

        To obtain the name of the selected color to pass to GetColor:

          selectedColor = PickColor(/Name)
          axisColor = FSC_Color(selectedColor, !D.Table_Size-4)

 MODIFICATION HISTORY:
       Written by: David Fanning, 28 Oct 99.
       Added NAME keyword. 18 March 2000, DWF.
       Fixed a small bug when choosing a colorindex less than !D.Table_Size-17. 20 April 2000. DWF.
       Added actual color names to label when NAMES keyword selected. 12 May 2000. DWF.
       Modified to use 88 colors and FSC_COLOR instead of 16 colors and GETCOLOR. 4 Dec 2000. DWF.


PICKCOLORNAME $SSW/soho/lasco/idl/dfanning/pickcolorname.pro
[Previous] [Next]
 NAME:
       PICKCOLORNAME

 PURPOSE:

       The purpose of this program is to provide a blocking
       or modal widget interface for selecting a color "name".
       The program uses colors familiar to the FSC_COLOR program,
       and is often used to select a color name for passing to FSC_COLOR.

 AUTHOR:

       FANNING SOFTWARE CONSULTING:
       David Fanning, Ph.D.
       1645 Sheely Drive
       Fort Collins, CO 80526 USA
       Phone: 970-221-0438
       E-mail: davidf@dfanning.com
       Coyote's Guide to IDL Programming: http://www.dfanning.com

 CATEGORY:

       Graphics, Color Specification.

 CALLING SEQUENCE:

       colorName = PickColorName(startColorName)

 OPTIONAL INPUT PARAMETERS:
       startColorName: A string with the "name" of the color. Valid names
           depend on program variables, but typically include these colors:

              Black       Pink
              Magenta     Aqua
              Cyan        SkyBlue
              Yellow      Beige
              Green       Charcoal
              Red         Gray
              Blue        Orchid
              Navy        White

       The color WHITE is used if this parameter is absent.

 INPUT KEYWORD PARAMETERS:

       BOTTOM: The colors used in the program must be loaded somewhere
           in the color table. This keyword indicates where the colors
           start loading. By default BOTTOM is set equal to !D.Table_Size-NCOLORS-1.

       COLUMNS: Set this keyword to the number of columns the colors should
           be arranged in.

       FILENAME: The string name of an ASCII file that can be opened to read in
           color values and color names. There should be one color per row
           in the file. Please be sure there are no blank lines in the file.
           The format of each row should be:

              redValue  greenValue  blueValue  colorName

           Color values should be between 0 and 255. Any kind of white-space
           separation (blank characters, commas, or tabs) are allowed. The color
           name should be a string, but it should NOT be in quotes. A typical
           entry into the file would look like this:

               255   255   0   Yellow

       GROUP_LEADER: This identifies a group leader if the program is called
           from within a widget program. Note that this keyword MUST be provided
           if you want to guarantee modal widget functionality. (If you don't know
           what this means, believe me, you WANT to use this keyword, always.)

       INDEX: This keyword identifies a color table index where the selected color
           is to be loaded when the program exits. The default behavior is to restore
           the input color table and NOT load a color.

       TITLE: This keyword accepts a string value for the window title. The default
           is "Select a Color".

 OUTPUT KEYWORD PARAMETERS:

       CANCEL: On exit, this keyword value is set to 0 if the user selected
           the ACCEPT button. IF the user selected the CANCEL button, or
           closed the window in any other way, this keyword value is set to 1.

 CALLS: ***
	ERROR_MESSAGE, GET_SCREEN_SIZE, PICKCOLORNAME_BUTTONS, PICKCOLORNAME_CENTERTLB
	PICKCOLORNAME_COUNT_ROWS, PICKCOLORNAME_RGB_TO_24BIT
	PICKCOLORNAME_SELECT_COLOR, XMANAGER
 CALLED BY:
	FSC_COLOR [1], FSC_COLOR [2]
 COMMON BLOCKS:

       None.

 SIDE EFFECTS:

       Colors are loaded in the current color table. The input color table
       is restored when the program exits. This will only be noticable on
       8-bit displays. The startColorName is returned if the user cancels
       or destroys the widget before a selection is made. Users should
       check the CANCEL flag before using the returned color.

 EXAMPLE:

       To call the program from the IDL comamnd line:

         IDL> color = PickColorName("red") & Print, color

       To call the program from within a widget program:

         color = PickColorName("red", Group_Leader=event.top) & Print, color

 MODIFICATION HISTORY:

       Written by: David Fanning, 31 August 2000.
       Modified program to read colors from a file and to use more
         colors on 24-bit platforms. 16 October 2000. DWF.
       Added the COLUMNS keyword. 16 October 2000. DWF.
       Fixed a small problem with mapping a modal widget. 2 Jan 2001. DWF


PICKFILE2 $SSW/soho/sumer/idl/newtki/st_sumer/pickfile2.pro
[Previous] [Next]
 NAME:
       PICKFILE2

 PURPOSE:
       This function allows the user to interactively pick a file.  A file
       selection tool with a graphical user interface is created.  Files
       can be selected from the current directory or other directories.

 CATEGORY:
       Widgets.

 CALLING SEQUENCE:
       Result = PICKFILE()

 KEYWORD PARAMETERS:

       FILE:   A string value for setting the initial value of the
               selection. Useful if there is a default file

       GET_PATH: Set to a named variable. Returns the path at the
               time of selection.

       GROUP:  The widget ID of the widget that calls PICKFILE.  When this
               ID is specified, a death of the caller results in the death of
               the PICKFILE widget application.

       READ:   Set this keyword to make the title of the PICKFILE window
               "Select File to Read".

       WRITE:  Set this keyword to make the title of the PICKFILE window
               "Select File to Write".

       PATH:   The initial path to select files from.  If this keyword is
               not set, the current directory is used.

       FILTER: A string value for filtering the files in the file list.  This
               keyword is used to reduce the number of files to choose from.
               The user can modify the filter unless the FIX_FILTER keyword
               is set.  Example filter values might be "*.pro" or "*.dat".

       FIX_FILTER: When this keyword is set, only files that satisfy the
               filter can be selected.  The user has no ability to modify
               the filter and the filter is not shown.

       TITLE:  A scalar string to be used for the window title.  If it is
               not specified, the default title is "Select File"

       NOCONFIRM: Return immediately upon selection of a file.  The default
               behavior is to display the selection and then return the
               file when the user uses the "ok" button.

       MUST_EXIST: When set, only files that actually exist can be selected.

       FONT:   Name of font used for list widgets showing directories and
               files
 
 OUTPUTS:
       PICKFILE returns a string that contains the name of the file selected.
       If no file is selected, PICKFILE returns a null string.

 CALLED BY:
	ST_SUMER, TKI_SCL2OBJgroupgroup, XTKI
 COMMON BLOCKS:
       PICKER: COMMON block that maintains state for the widget.

 SIDE EFFECTS:
       This function initiates the XMANAGER if it is not already running.

 RESTRICTIONS:
       This routine is known to work on Suns (OPEN LOOK), MIPS, RS/6000,
       DEC Ultrix, HP/700, VAX/VMS and SGI machines.

       Only one instance of the PICKFILE widget can be running at one time.

       PICKFILE does not recognize symbolic links to other files in UNIX.

 PROCEDURE:
       Create and register the widget and then exit, returning the filename
       that was picked.

 EXAMPLE:
       Create a PICKFILE widget that lets users select only files with
       the extensions 'pro' and 'dat'.  Use the 'Select File to Read' title
       and store the name of the selected file in the variable F.  Enter:

               F = PICKFILE(/READ, FILTER = '*.pro *.dat')

 MODIFICATION HISTORY:
       Written by:     Steve Richards, April, 1991
       July, 1991      Added a FILTER keyword to allow users
                       to select files with a given extension or
                       extensions.
       August, 1991    Fixed bugs caused by differences between
                       spawned ls commands on different machines.
       September, 1991 Made Myfindfile so only one pass was
                       necessary to find files and directories.
       3/92 - ACY      Corrected initialization of dirsave, change spawn
                       command to "ls -lL" and added case for links
                       add NOCONFIRM keyword for auto exiting on selection
       8/92 - SMR      Rewrote pickfile as a compound widget.
       10/92 - SMR     Fixed a bug where extremely large file namess didn't
                       show up properly in the file list or as return
                       values.
       12/92 - JWG     Add better machine dependency code
       1/93 - JWG      Added FILE, GET_PATH keywords.
       1/93 - TAC      Added Windows Common dialog pickfile code
       2/93 - SMR      Fixed the documentation example for multiple extensions
       1/94 - KDB      If directory had no execute permission on Unix
                       platforms, CD fails and causes error. Added check
                       for this. Increased spawn speed by using /sh for unix.
                       Added -a switch to ls so that all files can be found
                       on unix machines.
       2/94 - KDB	Values passed to CD cannot end in a '\' on DOS
			platforms. Program would crash if the PATH keyword
			was supplied a value that ended with a "\". Added
		        a check for this.
	3/94 - BMH	Deleted the reference here to OS_PICKFILE for the
			Unix platforms and created an IDL routine to
			to call the Mac and Windows specific OS_PICKFILE
			routines.  This solved the saving and restoring on
	 		different platforms problem.
	4/94 - KDB      The vms call to lib$findfile in valid_dir was
		        commented out. This caused errors when path was
			changed by user. Uncommented. In Valid_Dir, with
			vms the type of directory specification was not
		        checked (directory can be a path or a filename):
			Fixed this. In dirlist section of event handler,
		        a "[-]" would get trimmed to "" and cause error:
			Fixed.
	8/94 - ACY      Change the spawn command in getdirs to send error
			output to /dev/null.
	12/94 - DJE	Fix the FIX_FILTER option for the MacOS.
       11/96 - LYW     Modified from pickfile.pro (v.1.11, 1995/04/13)
                       Added keyword FONT
                       Made two list widgets wide enough to display directory
                          and file names properly


FUNCTION valid_dir, dir
  WIDGET_CONTROL, /HOUR
  CASE !VERSION.OS OF

  'vms': BEGIN
            CD, current = here   ; get pwd

       ; VMS directories can be files, NAME.DIR, or paths DEVICE:[NAME.NAME].
       ; If the "[]" method is used, tack on a wildcard spec (*.*), otherwise
       ; the value of dir is a filename and it can remain the same.

            if(strpos(dir,']') gt -1)then dir = dir + "*.*"
            context = 0L
            resultant = STRING(BYTARR(256)+32B)

       ; See if either Name.dir file exists in the current directory or
       ; if a path specified see if there is any files in that dir.
       ; Use vms LIB$ routines via Call External

            result = CALL_EXTERNAL("LIBRTL", "LIB$FIND_FILE", dir, resultant,$
		 context, here, 0L, 0L, 0L, VALUE = [0, 0, 0, 0, 1, 1, 1])
            toss = CALL_EXTERNAL("LIBRTL", "LIB$FIND_FILE_END", context)

            RETURN, (result EQ 65537)
         END
  'Win32': BEGIN
            RETURN,1    ; Hook into common dialogs for windows
                        ; when this really works.
         END
  ELSE:  BEGIN
      ; Can't CD to a directory unless the user has execute permission.
      ; Use the unix command test to check this. Have to use sh5 on ultrix
      ; Test sets the shell status variable and echo prints it out. This is
      ; then captured by spawn and placed in result

   if(!version.os ne 'ultrix')then $
     spawn, ['test -d "'+dir +'" -a -x "'+dir+'" ; echo $?'], result, /sh $
   else $
     spawn, ['/bin/sh5 -c "test -d '''+dir+''' -a -x '''+dir+''' ";echo $?'], $
            result, /sh

        return, (not fix(result(0)) )  ;convert result to int and NOT it.

      END
  ENDCASE
END


PICKFILES $SSW/soho/lasco/idl/display/pickfiles.pro
[Previous] [Next]
 Project     : SOHO - LASCO/EIT

 Name	      : PICKFILES

 Purpose     : 
       This function allows the user to interactively pick a files.  A files
       selection tool with a graphical user interface is created.  Files
       can be selected from the current directory or other directories.

 Category    : Widgets

 Explanation : 

 Use         : result = pickfiles()

 CALLED BY:
	WLISTER, WLOAD, WTIME_HEIGHT
 Examples    : result = pickfiles()

 Inputs      : 

 Opt. Inputs : 

 Outputs     : 
       PICKFILES returns a string array that contains the names of the files selected.
       If no file(s) is selected, PICKFILES returns a null string.

 Opt. Outputs:

 Keywords    : 

       FILTER: A string value for filtering the files in the file list.
               The user can modify the default filter value: "*.fts *.mvi". 

       PATH:   The initial path to select files from.  If this keyword is
               not set, the current directory is used.

 CALLS: ***
	CHK_DIR [1], CHK_DIR [2], PICKFILE, PICKFILES_EVENT, WMESSAGE [1], WMESSAGE [2]
	WRT_ASC, XMANAGER, XREGISTERED, XVAREDIT
 Common      :

 Restrictions: None.

 Side effects: None.

 History     :  16-feb-1996,Borut Podlipnik, MPAe,Written

 Contact     : BP, borut@lasco1.mpae.gwdg.de


PICKFILES2 $SSW/soho/lasco/idl/inout/pickfiles2.pro
[Previous] [Next]
 Project     : SOHO - LASCO/EIT
                   
 Name        : PICKFILES2
               
 Purpose     : Widget tool to allow user to pick multiple files.
               
 Use         : files = PICKFILES2(FILES=files, FILTER=filter, PATH=path)
    
 Inputs      : None.
               
 Outputs     : STRARR containing names of files selected, or '' (empty string)
		if none selected.
               
 Keywords    : 
       FILES:  A string array containing file choices to diplay.

       PATH:   The initial path to select files from.  If this keyword is
               not set, the current directory is used.

       FILTER: A string value for filtering the files in the file list.  This
               keyword is used to reduce the number of files to choose from.
               Example filter values might be "*.fits" or "*.pro".


 CALLS: ***
	PICKFILES2_EVENT, XMANAGER, XMENU [1], XMENU [2]
 Common      : PICKFILES2_COMMON
               
 Restrictions: None.
               
 Side effects: None.
               
 Category    : Widgets.
               
 Prev. Hist. : None.

 Written     : Scott Paswaters, NRL, Feb. 1996.
               
 Modified    : 

 Version     : 

	@(#)pickfiles2.pro	1.1 10/05/96 LASCO IDL LIBRARY


PICKFITS $SSW/soho/cds/idl/util/misc/pickfits.pro
[Previous] [Next]
 Project     : SOHO - CDS     
                   
 Name        : PICKFITS
               
 Purpose     : Browse/search lfitslist.txt to find CDS/SUMER fits files.
               
 Explanation : CDS (SUMER: see below) fits file names don't tell you much
               about their content, but there may be an lfitslist.txt file
               generated by CFITSLIST with more information on each file in
               your home directory ($HOME) or in the $CDS_FITS_DATA
               directory.

               This program enables the user to search the lfitslist.txt file
               for the files of interest, and an to allow users to simply
               click on a line with an interesting fits file to read it in
               through readcdsfits.

               If no parameter is supplied for storage of the QLDS, a
               version of DSP_MENU will be started for each selected fits 
               file. The data can be retrieved by the

               IDL> @recover

               procedure after termination of all widget applications.

               lfitslist.txt contains a lot of information taken from the
               fits files, but not all the information has to be displayed at
               the same time.  The user may choose what information should be
               displayed/searched by setting the environment variable
               "CDS_PICKFITS_FIELDS". This environment variable should
               be a string consisting of a series of FIELD names with
               a colon as a separator. The possible field names are 
               shown in the field selection menu 

               It is also possible for the user to change the list of fields
               to be displayed by (de)selecting from the FIELD selection
               menu. Doing so will alter the contents of
               "CDS_PICKFITS_FIELDS".

               The search is done by specifying a search string, either
               through the FIND keyword, or interactively.  The search string
               is a sequence of texts separated by the operators '&','|', and
               '$'.

               The search string "active&nis" contains the search texts
               "active" and "nis", and will select for display only those
               lines in lfitslist.txt that contain these texts.

               "active|nis" will select lines with either "active"
               or "nis".

               "16/03|17/03$NIS" will select lines with (EITHER "16/03" OR
               "17/03") AND "nis".
               
               Parentheses are not allowed in the search, but with one AND
               operator with high precedence (&) and one with low precedence
               ($), there should be little need for them.
               
               SUMER OPTION

               Although originally written to cope with CDS fits file
               lists, pickfits will also work with SUMER fits file lists
               generated by SFITSLIST, by setting the /SUMER keyword.

               In that case, pickfits looks for the file sfitslist.txt in
               $HOME,$SUM_FITS_DATA (or sys$login,$sum_fits_data for
               VMS). The FIELDS to be displayed will be taken from the
               environment variable SUM_PICKFITS_FIELDS, and altering the
               selection of fields in the FIELDS menu will set the value of
               this environment variable.

               Reading SUMER fits files is done quite differently from
               reading CDS fits files, but the two methods are now converging
               somewhat. When the SUMER option is set, pickfits expects to
               have *two* ouput parameters, index and data. Pickfits calls
               rd_sumer,filename,index,data to read SUMER fits files, and
               returns the results in the two pickfits parameters.

 Use         : PICKFITS [,QLDS]
               PICKFITS,INDEX,DATA ;; For SUMER mode
    
 Inputs      : QLDS : A named variable that will contain
                      the selected fits file on exit. Not used
                      with the /SUMER option.
                      
                      If a parameter is not given, it is assumed that
                      the user wants to start a copy of dsp_menu for
                      each selected fits file.

 Opt. Inputs : 
               
 Outputs     : QLDS contains the result of readcdsfits for the
               selected fits file.
               
 Opt. Outputs: None.
               
 Keywords    : FIND : An initial search string. May contain logical
                      operators.

               TEST_FILE : Set to anything to make PICKFITS test whether it
                           can find a list of fits files. Pickfits will
                           return promptly with TEST_FILE =/= '' if a file
                           has been found.
 
               FIRST, 
               LAST : Search texts (simple, no operators) that define
                      the first and last entry to be displayed in the list.

               NEWFILE : Force reading of the lfitslist.txt file (don't use
                         any cached version). This is seldom necessary to
                         specify, since the file will be read from disk
                         whenever the size changes.

               DIR : A string with the name of the directory where the
                     lfitslist.txt file is located. Default value is
                     "$CDS_FITS_DATA" (or "$SUM_FITS_DATA" if the /SUMER
                     flag is set), and then "$HOME"

               SUMER : Set to specify browsing of sumer data. 

               GROUP : Group leader - the death of the group leader causes
                       the death of pickfits

               MODAL : Modal, use whenever you need data returned to the
                       caller.
               
 Calls       : ***
	DATATYPE [1], DATATYPE [2], DATATYPE [3], DEFAULT, FILE_EXIST [2], FINDFONT
	FIND_WITH_DEF [1], FIND_WITH_DEF [2], FIND_WITH_DEF [3], GET_DFONT [1]
	GET_DFONT [2], PARCHECK, PICKFILE, PICKFITS_EVENT, PICKFITS_FIND
	PICKFITS_FITSREAD, PICKFITS_RD_FILE, QLDS_REPORT, QLMGR, RD_ASCII [1]
	RD_ASCII [2], READCDSFITS, STRPAD, STR_SEP, TEXT_MATCH, TRIM, TYP, XACK, XMANAGER, XPDMENU
	XREGISTERED, dsp_menu, file_exist [1], file_exist [3], rd_sumer [1], rd_sumer [2]
 CALLED BY:
	dsp_menu
 Common      : PICKFITS_RD_FILE_CACHE: Contains the ascii file cache.

               PICKFITS_PRIVATE: Contains the processed lists, some
                                 widget_id's etc.
               
 Restrictions: The program expects to find a file named "lfitslist.txt",
               or "sfitslist.txt" for SUMER, in $HOME (sys$login) or
               $CDS_FITS_DATA or $SUM_FITS_DATA or the directory
               specified through the DIR keyword.

               For the moment the text print option is not VMS-compatible.
               The SUMER option is not very well tested.
               
 Side effects: Alters the environment variables {SUM|CDS}_PICKFITS_FIELDS
               
 Category    : CDS_Utility
               
 Prev. Hist. : 

 Written     : Stein Vidar H. Haugan, UiO, 22 March 1996
               
 Modified    : Version 4, 29 March 1996
                          Changed HI/LOW to FIRSTTEXT/LASTTEXT.
               Version 5, 18 April 1996
                          Changed file format to a "generic" type,
                          added use of CDS_PICKFITS_FIELDS to control
                          what fields to include. "fitslist" -> "lfitslist".
               Version 6, 22 April 1996
                          Changed handling of returns from get_dfont.
                          lfitslist.txt file is read when the size changes.
                          Using find_with_def instead of concat_dir
                          when locating the lfitslist.txt file due to
                          Bill's multi-path announcement.
               Version 7, 29 April 1996
                          Tested SUMER option, added support for 
                          both SUM_PICKFITS_FIELDS and CDS_PICKFITS_FIELDS.
                          Even tested it does work on VMS.
                          Dropping out empty columns in the display.
               Version 8, 3 May 1996
                          Added possibility for starting multiple
                          DSP_MENUs. Almost sensible recovery of QLDS'es.
                          Some odd segmentation faults experienced.
               Version 9, 18 June 1996
                          Made not finding the list file print error and
                          return, instead of dumping. Added keyword group
                          that avoids modal operation, and changed the way
                          recovery of displayed data is handled.
               Version 10, 20 June 1996
                          Using XREGISTERED to avoid more than one copy.
               Version 11, 6 August 1996
                          Modified SUMER mode to use rd_sumer, added modal
                          keyword.
               Version 12, 3 October 1996
                          Added TEST_FILE option.
               Version 13, 12 May 1997
                          Removed .fits extension added to file name, letting
                          readcdsfits take care of it (to find compressed
                          files). Testing for errors returned by readcdsfits.
               Version 14, 5 June 1997
                          Added /NOKEEP switch in dsp_menu to counter IDLv5
                          change in widget handling.
               Version 15, 4 August 1997
                          Renamed STATUS=>ERRMSG keyword in readcdsfits.
                          
 Version     : 15, 4 August 1997


PIX2WAVE $SSW/soho/cds/idl/sci/cal/vds/wave/pix2wave.pro
[Previous] [Next]
 Project     : SOHO - CDS     
                   
 Name        : PIX2WAVE
               
 Purpose     : Calculate CDS wavelength given a detector pixel location.
               
 Explanation : Uses dummy transformations to translate a pixel value to a
               wavelength for any of the CDS's six spectral regions. To be
               updated when the wavelength calibration is known.
               
 Use         : IDL> lambda = pix2wave(spectrum [,pixel, slit=slit])
    
 Inputs      : spectrum  - the spectrum identifier (string).  Only the first
                           and last characters are used to identify the
                           spectrum so inputs such as NIS1 and N1 are
                           equivalent.  Valid entries are NIS1, NIS2, GIS1,
                           GIS2, GIS3, GIS4 (and their abbreviations).
               
 Opt. Inputs : pixel     - the pixel value to translate.  If not supplied the
                           wavelengths for the extreme pixels are returned.
                           The input can be an array.
               
 Outputs     : The function value returned is the corresponding wavelength.
               A value of -1 is returned for an error condition.
               
 Opt. Outputs: None
               
 Keywords    : Limit   - If input pixel is out of range, then return the
                         appropriate wavelength limit.
		NoLimit - If input pixel is out of range, then return a value
                         anyway.
               Slit    - specifies the slit to cater for slit dependence
               Throwaway - do not retain input pixel numbers intact

 Calls       : ***
	Bell, DATATYPE [1], DATATYPE [2], DATATYPE [3], LOAD_WAVECAL, TRIM
 CALLED BY:
	AN_NIMCP, AN_NIMCP_1_2, AN_NIMCP_AVG, CDS_CORR_GRADIENT, CDS_TILT_COR
	CFIT_ERRDEMO, CF_765LG, CF_770LG, CF_GIS1A, CF_GIS1B, CF_GIS1C, CF_GIS2A [1], CF_GIS4A
	CF_GIS4B, CF_GIS4C, DEMO_4TH_PIX, DISPLAY_CDS_BURNIN, DISPLAY_GIS_WIN
	DISPLAY_NIMCP, GDSPSPEC, GET_AVGSPEC, GHOST_BUSTER, GHOST_INFO, GHOST_PLOT_ONE
	GHOST_PLOT_SAMPLE, GIS_CALIB_AREA, GIS_CALIB_LONGSLIT, GIS_DUMMY, GIS_IN_WINDOW
	GT_BIMAGE, GT_DIMENSION, GT_LAMBDA, GT_WAVEBAND, GT_WLIMITS, MK_CDS_ANALYSIS
	MK_RASTER, MONO_SPEC, NDSPSPEC, NIS_AVG_SPECT_DEMO, NIS_CALIB, NIS_PIX_ANALYSE
	QCALIB, SEL_LINE_MENU, SHOW_SLIT6, TP_DISP_IEF, TP_DRAW_VWIN, TP_EDIT_TABLE
	TP_PLOT_GIS, VDS_DUMMY, WHICH_GIS_BAND, WHICH_NIS_BAND, WRITE_CIF
 Restrictions: Only dummy transformations at present
               
 Side effects: None
               
 Category    : Calibration, GDS, VDS, Wavelength
               
 Prev. Hist. : None

 Written     : C D Pike, RAL, 28-May-1993
               
 Modified    : Update VDS constants, CDP, 18-Nov-93
               Include Limit keyword, CDP, 2-Feb-94
               Updated wavelength ranges.  CDP, 30-Jan-95
		Version 5, William Thompson, GSFC, 1 March 1995
			Added keyword NOLIMIT
               Version 6, Incorporate results of first calibration from
                          s54r00 by BJIB.  27-Feb-96
               Version 7, Rewrite to use common block communication with
                          LOAD_WAVECAL.  CDP, 11-mar-96
               Version 8, Make NIS quadratic.  CDP, 23-Jul-96
               Version 9, Various updates suggested by SVVH. Float return
                          and economise calculation.                 
		Version 10, 19-Jan-2000, William Thompson, GSFC
			Allow SPECTRUM to be an array

 Version     : Version 10, 19-Jan-2000


PIXELS_2_DATA $SSW/soho/cds/idl/sci/data_anal/ql/serts/pixels_2_data.pro
[Previous] [Next]
 Project     : SOHO - CDS     
                   
 Name        : PIXELS_2_DATA()
               
 Purpose     : Convert pixel --> data coordinates for SERTS image routines
               
 Explanation : Uses the data stored for each SERTS window to calculate
		from a pixel number/address to the corresponding
		X/Y data coordinate.
               
 Use         : DATA_X = PIXELS_2_DATA(SERTSW,X_PIXEL_NO)
    
 Inputs      : SERTSW : A structure as returned by GET_SERTSW()

		X_PIXEL_NO: 
			(or Y_PIXEL_NO) the pixel number(s) to
			calculate the corresponding data coordinate for.
               
 Opt. Inputs : None.
               
 Outputs     : Return value.
               
 Opt. Outputs: None.
               
 Keywords    : Y : 	Set to mark that it's the Y pixel no. that is
			supplied, and to return the Y data coordinate.

 Calls       : ***
	GET_TV_SCALE, SET_SERTSW
 Common      : None.
               
 Restrictions: There must exist a data coordinate system for the
		given SERTS window.
               
 Side effects: ALTERS the current SERTS window, also !P,!X,... etc.
               
 Category    :
               
 Prev. Hist. : None.

 Written     : SV Hagfors Haugan, December -93
               
 Modified    : Never.

 Version     : 1.0


PIXELS_2_DEVICE $SSW/soho/cds/idl/sci/data_anal/ql/serts/pixels_2_device.pro
[Previous] [Next]
 Project     : SOHO - CDS     
                   
 Name        : PIXELS_2_DEVICE()
               
 Purpose     : Convert pixel --> device coords for SERTS image routines
               
 Explanation : Uses the data stored for each SERTS window to calculate
		from a pixel number/address to the corresponding
		X/Y device coordinate.
               
 Use         : DEVICE_X = PIXELS_2_DEVICE(SERTSW,X_PIXEL_NO)
    
 Inputs      : SERTSW : A structure as returned by GET_SERTSW()

		X_PIXEL_NO: 
			(or Y_PIXEL_NO) the pixel number(s) to
			calculate the corresponding device coordinate for.
               
 Opt. Inputs : None.
               
 Outputs     : Return value.
               
 Opt. Outputs: None.
               
 Keywords    : Y : 	Set to mark that it's the Y pixel no. that is
			supplied, and to return the Y device coordinate.

 Calls       : ***
	GET_TV_SCALE, SET_SERTSW
 Common      : None.
               
 Restrictions: There must exist a data coordinate system for the
		given SERTS window.
               
 Side effects: ALTERS the current SERTS window, also !P,!X,... etc.
               
 Category    :
               
 Prev. Hist. : None.

 Written     : SV Hagfors Haugan, December -93
               
 Modified    : Never.

 Version     : 1.0


PIXPOS $SSW/soho/sumer/idl/contrib/germerott/sumer_head/pixpos.pro
[Previous] [Next]
 PROJECT:
       SOHO - SUMER

 NAME:
       PIXPOS()

 PURPOSE: 
       Return Reference Pixel

 CATEGORY:
       RAW processing
 
 EXPLANATION:
       PIXPOS takes the 2 bytes from position 20,21 of
       SUMER binary Image Header and converts them to
       INTEGER. If the Reference Pixel Value is greater
       than 2653 the function substracts this offset for
       the Detector B from the values.

 SYNTAX: 
       Result = pixpos(header [,/original])

 CALLED BY:
	FF_GC, FF_ODDEVEN, MAKE_FF
 EXAMPLES:
       
 INPUTS:
       header - BYTARR(92) Image Header

 OPTIONAL INPUTS: 
       None.

 OUTPUTS:
       INTEGER ARRAY(n) with the Reference Pixel Values

 OPTIONAL OUTPUTS:
       None.

 KEYWORDS: 
       original - Reference Pixel is like in Header for Detector B

 COMMON:
       None.

 RESTRICTIONS: 
       None.

 SIDE EFFECTS:
       None.

 HISTORY:
       Version 1, October 7, 1996, Dietmar Germerott, MAPE Lindau. Written

 CONTACT:
       Dietmar Germerott, MAPE Lindau (germerott@linax1.mpae.gwdg.de)


pl_monitor_center $SSW/soho/mdi/idl/egse/pl_monitor_center.pro
[Previous] [Next]
NAME:
	pl_monitor_center
PURPOSE:
	To plot the center of the sun versus time
SAMPLE CALLING SEQUENCE:
	pl_monitor_center
	pl_monitor_center, '/md80/log/history/monitor_center.thermal
 CALLS: ***
	UTPLOT [1], UTPLOT [2], UTPLOT [3], UTPLOT [4], UTPLOT [5], UTPLOT [6]
	anytim2ints [1], anytim2ints [2], int2secarr [1], int2secarr [2], plottime [1]
	plottime [2], pprint [1], pprint [2], rd_tfile [1], rd_tfile [2]
HISTORY:
	Written 14-Feb-96 by M.Morrison
	 8-Apr-96 (MDM) - Modified to read the new column SeqID
			- Added OBSID keyword input for screening what to plot
			- Changed screening radius from 490 to 470 pixels
			- Added TIMERANGE option and only set to the expanded
			  plot range for IDL versions less than 4.0


PLAN_XCAT_SUMM $SSW/soho/cds/idl/util/ops/planning/plan_xcat_summ.pro
[Previous] [Next]
 Project     :	SOHO - CDS

 Name        :	PLAN_XCAT_SUMM

 Purpose     :	Prints out a summary of the plan for maintaining XCAT

 Category    :	Class4, Planning

 Explanation :	Prints out a summary of the CDS detailed science plan that can
		be used to help maintain the XCAT catalog.  Only those
		parameters that FITSGEN may have trouble determining are
		printed out.

 Syntax      :	PLAN_XCAT_SUMM, TSTART, TEND

 CALLED BY:
	MK_CDS_PLAN
 Examples    :	PLAN_XCAT_SUMM, '1996/10/10', '1996/10/11'

 Inputs      :	TSTART	= The start date/time of the period to print out the
			  summary of.  Can be in any CDS time format.
		TEND	= The end date/time.

 Opt. Inputs :	None.

 Outputs     :	The summary is written to the temporary file plan_xcat_summ.txt
		in the user's home directory.

 Opt. Outputs:	None.

 Keywords    :	ERRMSG    = If defined and passed, then any error messages 
                           will be returned to the user in this parameter 
                           rather than being printed to the screen.  If no
                           errors are encountered, then a null string is
                           returned.  In order to use this feature, the 
                           string ERRMSG must be defined first, e.g.,

                                ERRMSG = ''
                                PLAN_XCAT_SUMM, ERRMSG=ERRMSG, ...
                                IF ERRMSG NE '' THEN ...

 Calls       : ***
	ANYTIM2TAI, CONCAT_DIR [1], CONCAT_DIR [2], CONCAT_DIR [3], DELVARX [1]
	DELVARX [2], DELVARX [3], DELVARX [4], GET_RASTER, GET_STUDY, TAI2UTC, TRIM, XANSWER
	XPRINT [1], XPRINT [2], XPRINT [3], XPRINT [4], XPRINT [5], concat_dir [4]
	delvarx [5]
 Common      :	None.

 Restrictions:	None.

 Side effects:	None.

 Prev. Hist. :	None.

 History     :	Version 1, 17-Jan-1997, William Thompson, GSFC
		Version 2, 28-Jul-1997, William Thompson, GSFC
			Added keyword ERRMSG
			Allow file to be saved instead of printed.
		Version 3, 10-Aug-1997, William Thompson, GSFC
			Rearranged output.
			Added STUDY_ID, STUDYVAR, OBS_PROG, GSET_ID.
			Don't print ZONE_ID unless GIS study.
		Version 4, 19-Mar-1999, William Thompson, GSFC
			Step through ALT and FLAG databases as well

 Contact     :	WTHOMPSON


PLOT_ALL [1] $SSW/soho/mdi/idl_old/gen/ys_util/plot_all.pro
[Previous] [Next]
 NAME: PLOT_ALL

 PURPOSE: plot and overplot 2D array

 INPUT:
	
 CALLING SEQUENCE:  plot_all, [xvec,] data
 KEYWORD PARAMETERS:
	Normal - switch, true to normalize all plots
	Labels - string array for line labels
	Log    - switch for Log Y axis
	Pad    - y padding as percentage of yrange
	Title  - main plot title (ignored if OPLOT set)
	Which  - integer vector of n elements for desired vectors
		 0:no plot, 1:plot

 SIDE EFFECTS: plot to currently selected graphics device



 HISTORY:
		Written by S.L.Freeland, 5/21/91


plot_arc [2] $SSW/soho/mdi/idl_old/gen/ys_util/plot_arc.pro
[Previous] [Next]
NAME:
	plot_arc
PURPOSE:
	To allow a user to mark an arc on an image and the intensity
	along that arc will be plotted
SAMPLE CALLING SEQUENCE:
	plot_arc, index, image
	plot_arc, 0, gbo_image, /sample
	plot_arc, index, image, width, bin=bin
	plot_arc, index(1), data(*,*,1), 10, bin=4, /use_poly
	plot_arc, index(1), data(*,*,1), /enhance
RESTRICTIONS:
	The image must be re-displayed to insure that the user is marking
	the image in the proper location and proper scaling.
INPUT:
	image	- The image for which the curve wants to be plotted
OPTIONAL INPUT:
	width	- The width in original pixels of the curve.
		  (ie: the number of lines to add together)
		  This is the width of the channel for which to get
		  the light curve.
 CALLS: ***
	DEFROI [1], DEFROI [2], DERIV, PAUSE [1], POLY, POLY_FIT, SPLINE, TVPLOT, WDEF [1]
	WDEF [2], deriv_arr [1], deriv_arr [2], enhancer, gt_res, pause [2], plottime [1]
	plottime [2]
OPTIONAL KEYWORD INPUT:
	bin	- The rebinning factor.
		  If not passed, it will be set to whatever it takes
		  to make the image be 512 in the x direction.
	use_spline - If set, then use the SPLINE method for smoothing
		  the curve (Default is to use SPLINE)
	use_poly - If set, then use the POLYNOMIAL FIT method for smoothing
		  the curve (Default is to use SPLINE)
	ndeg	- The polynomial degree to be used for the fits.  If
		  not passed, it will use 4th degree polynomial.
	enhance - If you wish to use the function ENHANCE for displaying
		  the image, then pass the index in for the image being
		  displayed.
	sample	- If set, then use /SAMPLE option within REBIN instead
		  of interpolate (which is the default)
OPTIONAL KEYWORD OUTPUT:
	xlcur	- The x-array for the light curve array (relative units
		  of full resolution pixels)
	lcur	- The light curve array.  The units are the same as whatever
		  is being passed in, independent of BIN or WIDTH.  
		       Prior to 21-Jul-94, the units were:
		  (whatever was passed in) * (bin factor) * (width).
METHOD:
	DEFROI is used to mark the points on the image to make the
	arc.  The default is to make a polynomial fit to the x and
	y positions separately (as a function of the distance down
	the arc). 
HISTORY:
	Written 21-Oct-93 by M.Morrison
	15-Nov-93 (MDM) - Changed the calling sequence (to index,data)
			- Added ENHANCE and SAMPLE options (as per LWA program)
	 9-Jun-94 (MDM) - Modified to not crash when passing in a 1024x512
			  image (make bin = 0.5 for that case).
			- Corrected a bug for cases when bin = 0.5.
 V2.0	21-Jul-94 (MDM) - Corrected to not use the ENHANCED data for the
			  arc signal (when /enhance was set)
			- Corrected to normalize for the width and binning used,
			  so that units are in the same units as what is passed
			  in.
			- Added documentation information
 V2.1	25-Jul-94 (MDM) - Added /RESTORE to DEFROI call


PLOT_CDS_CRAYS $SSW/soho/cds/idl/sci/engineering/plot_cds_crays.pro
[Previous] [Next]
 Project     : SOHO - CDS     
                   
 Name        : PLOT_CDS_CRAYS
               
 Purpose     : Demonstrates counts of cosmic rays detected by CDS
               
 Explanation : Spectral atlas data (NISAT_S) is obtained twice a week as
               part of the CDS synoptic studies.  Full spectral data are
               extracted and 10 exposures are made at 2" X-steps.  These
               data were cleaned using the CDS_CLEAN_SPIKE routine and a record
               kept of how many pixels were determined to have been affected
               by cosmic ray hits.   The results are plotted against time. 
               The circled data derive from longer exposure (usually 300 secs
               as opposed to the normal 50 sec) versions of the study.  It is
               not clear why the majority of them should show a reduced cr count
               except possibly that in the shorter exposures some the lower signal
               to noise ratio leads to some 'genuine' data pixels being labelled
               as cosmic-ray-affected.
               
 Use         : IDL> plot_cds_crays
    
 Inputs      : None
               
 Opt. Inputs : None
               
 Outputs     : None
               
 Opt. Outputs: None
               
 Keywords    : None

 Calls       : ***
	CIRCLE_SYM, CONCAT_DIR [1], CONCAT_DIR [2], CONCAT_DIR [3], OUTPLOT [1]
	OUTPLOT [2], OUTPLOT [3], STR2UTC [1], STR2UTC [2], STR2UTC [3], UTPLOT [1]
	UTPLOT [2], UTPLOT [3], UTPLOT [4], UTPLOT [5], UTPLOT [6], concat_dir [4]
 Common      : None
               
 Restrictions: None
               
 Side effects: None
               
 Category    : Engineering
               
 Prev. Hist. : None

 Written     : C D Pike, RAL, 12-Sep-97 
               
 Modified    : 

 Version     : Version 1, 12-Sep-97


PLOT_CDS_POINT [1] $SSW/soho/cds/idl/util/ops/planning/plot_cds_point.pro
[Previous] [Next]
 Project     : SOHO - CDS

 Name        : PLOT_CDS_POINT

 Purpose     : Plot CDS pointings on latest EIT image

 Category    : planning

 Explanation : Latest EIT image read from SUMMARY_DATA or PRIVATE_DATA

 Syntax      : IDL> plot_cds_point,tstart,tend

 Inputs      : TSTART = plot start time [def=current date]

 Opt. Inputs : TEND = plot end time [def = 24 hour window]


 Keywords    : ASRUN = plot actual pointing based on CATALOG
               FILE  = FITS file for image [if EIT not wanted]
               MAP   = map image [if FILE or EIT not wanted]
               WAVE  = EIT wavelength 304/195/284/171 [def=304]
               QUIET = switch off message outputs
               EXCLUDE = study acronyms to exclude, e.g [SYNOP, FULLCCD]
               DEF_EXCLUDE = exclude default studies (engineering, SYNOP)
               NOENG = exclude engineering studies 
               GIF = GIF output filename [def= cds_point_datecode.gif]
               GSIZE = [nx,ny] dimensions of GIF image [def=512,512]
               BACK = # of days backward to check for EIT
               ROTATE = solar rotate pointings to image time
               NAR  = oplot NOAA AR labels
               LAST = reuse last base image
               LIMB = set to plot a limb
               GRID = grid size in degrees
               NOIMG = set to not plot image (just limb)
               CHARSIZE = size of NOAA AR labels [def=1.5]

 CALLS: ***
	BREAK_FILE [1], BREAK_FILE [2], BREAK_FILE [3], CONCAT_DIR [1], CONCAT_DIR [2]
	CONCAT_DIR [3], DATATYPE [1], DATATYPE [2], DATATYPE [3], DATE_CODE, DO_EIT_MAP
	DO_EIT_SCALING, DPRINT, ESPAWN, EXIST, FITS2MAP [1], FITS2MAP [2], GET_RECENT_EIT
	HAVE_PROC, IDL_RELEASE, IS_STRING, LOAD_EIT_COLOR, MK_24BIT, OPLOT_NAR [1]
	OPLOT_NAR [2], PLOT_HELIO [1], PLOT_HELIO [2], PLOT_MAP, RD_CDS_POINT
	READ_EIT_FILE, SMART_WINDOW, TEST_DIR, TRIM, VALID_MAP, WRITE_GIF, break_file [4]
	concat_dir [4], curdir [1], curdir [2], get_def_times
 CALLED BY:
	UPDATE_CDS_TARGETS, plot_ssw_fov
 History     : Written, 20-May-1998,  D.M. Zarro.
             : Modified, 30-Nov-1999, Zarro (SM&A/GSFC) - add /LIMB
             : Added JPEG/PNG support, 24 Oct 2000, Zarro (EIT/GSFC)
             : Added CHMOD g+w to output graphics files, 20 June 2001, 
                 Zarro (EIT/GSFC)
             : Added CHARSIZE keyword, 8 Dec 2001, Zarro (L3-Com/GSFC)
             : changed EIT fron half to full res images, 15 Mar 2002, Zarro (L3-Com/GSFC)

 Contact     : DZARRO@SOLAR.STANFORD.EDU


PLOT_CDS_POINT [2] $SSW/soho/gen/idl/plan/science/plot_cds_point.pro
[Previous] [Next]
 Project     : SOHO - CDS

 Name        : PLOT_CDS_POINT

 Purpose     : Plot CDS pointings on latest EIT image

 Category    : planning

 Explanation : Latest EIT image read from SUMMARY_DATA or PRIVATE_DATA

 Syntax      : IDL> plot_cds_point,tstart,tend

 Inputs      : TSTART = plot start time [def=current date]

 Opt. Inputs : TEND = plot end time [def = 24 hour window]

 Keywords    : ASRUN = plot actual pointing based on CATALOG
               FILE  = FITS file for image [if EIT not wanted]
               MAP   = map image [if FILE or EIT not wanted]
               WAVE  = EIT wavelength 304/195/284/171 [def=304]
               QUIET = switch off message outputs
               EXCLUDE = study acronyms to exclude, e.g [SYNOP, FULLCCD]
               DEF_EXCLUDE = exclude default studies (engineering, SYNOP)
               NOENG = exclude engineering studies 
               GIF = GIF output filename [def= cds_point_datecode.gif]
               GSIZE = [nx,ny] dimensions of GIF image [def=512,512]
               BACK = # of days backward to check for EIT
               ROTATE = solar rotate pointings to image time
               NAR  = oplot NOAA AR labels
               LAST = reuse last base image
               LIMB = set to plot a limb
               GRID = grid size in degrees
               NOIMG = set to not plot image (just limb)
               CHARSIZE = size of NOAA AR labels [def=1.5]

 CALLS: ***
	BREAK_FILE [1], BREAK_FILE [2], BREAK_FILE [3], CONCAT_DIR [1], CONCAT_DIR [2]
	CONCAT_DIR [3], DATATYPE [1], DATATYPE [2], DATATYPE [3], DATE_CODE, DO_EIT_MAP
	DO_EIT_SCALING, DPRINT, ESPAWN, EXIST, FITS2MAP [1], FITS2MAP [2], GET_RECENT_EIT
	HAVE_PROC, IDL_RELEASE, IS_STRING, LOAD_EIT_COLOR, MK_24BIT, OPLOT_NAR [1]
	OPLOT_NAR [2], PLOT_HELIO [1], PLOT_HELIO [2], PLOT_MAP, RD_CDS_POINT
	READ_EIT_FILE, SMART_WINDOW, TEST_DIR, TRIM, VALID_MAP, WRITE_GIF, break_file [4]
	concat_dir [4], curdir [1], curdir [2], get_def_times
 CALLED BY:
	UPDATE_CDS_TARGETS, plot_ssw_fov
 History     : Written, 20-May-1998,  D.M. Zarro.
             : Modified, 30-Nov-1999, Zarro (SM&A/GSFC) - add /LIMB
             : Added JPEG/PNG support, 24 Oct 2000, Zarro (EIT/GSFC)
             : Added CHMOD g+w to output graphics files, 20 June 2001, 
                 Zarro (EIT/GSFC)
             : Added CHARSIZE keyword, 8 Dec 2001, Zarro (L3-Com/GSFC)
             : Changed EIT from half to full res images, 15 Mar 2002, Zarro (L3-Com/GSFC
             : Modified to search EIT QL archive, 22 Aug 2006, Zarro (ADNET/GSFC)

 Contact     : DZARRO@SOLAR.STANFORD.EDU


PLOT_CMDTIMES $SSW/soho/gen/idl/plan/science/plot_cmdtimes.pro
[Previous] [Next]
 Project     :	SOHO - CDS/SUMER

 Name        :	PLOT_CMDTIMES

 Purpose     :	Plots commanding times on science plan.

 Explanation :	

 Use         :	PLOT_CMDTIMES, T1, T2, ROW

 Inputs      :	T1 = Array containing the beginning times of each commanding
                    schedule period, in hours
		T2 = Array containing the end times, in hours.
               ROW = row in which to plot [def=0]

 Opt. Inputs :	None.

 Outputs     :	None.

 Opt. Outputs:	None.

 Keywords    :	COLOR - Index of color to be used for plotting

 Calls       :	None.
 Common      :	None.

 Restrictions:	PLAN_FRAME must be called first.

 Side effects:	None.

 Category    :	Planning, Science.

 Prev. Hist. :	None.

 Written     :	Liyun Wang, GSFC/ARC, April 18, 1995

 Modified    :	Version 1, Liyun Wang, GSFC/ARC, April 18, 1995
		Version 2, William Thompson, GSFC, 8 April 1998
			Changed !D.N_COLORS to !D.TABLE_SIZE for 24-bit displays

 Version     : Version 2, 8 April 1998


PLOT_DELTAT $SSW/soho/cds/idl/sci/data_handling/soho/cds/plot_deltat.pro
[Previous] [Next]
 Project     : SOHO - CDS     
                   
 Name        : PLOT_DELTAT
               
 Purpose     : Plot the time interval between exposures in a raster.
               
 Explanation : Extracts the time interval from a CDS data structure (or
               FITS file) and plot the interval between the start of 
               exposures in a raster.
               
 Use         : IDL> plot_deltat, a [, exps, expe, maxdt=maxdt, mindt=mindt]
    
 Inputs      : a    - a valid CDS data structure or FITS file name.
               
 Opt. Inputs : exps - the start exposure to plot
               expe - the last exposure to plot
               
 Outputs     : Just plots the results.
               
 Opt. Outputs: None
               
 Keywords    : MINDT  -  minimum plot value for time difference
               MAXDT  -  maximum plot value for time difference

 Calls       : ***
	AUXREAD, CAL_AUXREAD, CIRCLE_SYM, CONCAT_DIR [1], CONCAT_DIR [2], CONCAT_DIR [3]
	DATATYPE [1], DATATYPE [2], DATATYPE [3], FILE_EXIST [2], FMT_VECT, FXBCLOSE [1]
	FXBCLOSE [2], FXBOPEN [1], FXBOPEN [2], FXBOPEN [3], FXPAR [1], FXPAR [2], QLMGR
	concat_dir [4], file_exist [1], file_exist [3]
 Common      : None
               
 Restrictions: For reading calibration FITS files. Searches user directory
               and then CDS_CAL_FITS.
               
 Side effects: None
               
 Category    : Util
               
 Prev. Hist. : None

 Written     : C D Pike, RAL, 24-may-94
               
 Modified    : To use lower level routines, CDP, 25-May-94
               To include min max plot range, CDP, 8-Jun-94
               Include cal/ops test and fix tag name bug.  CDP, 15-Jun-94
               New tag names in non-calibration QLDS, SVHH, 4-Oct-95

 Version     : Version 5, 4-Oct-1995


PLOT_DEX $SSW/soho/cds/idl/util/ops/database/plot_dex.pro
[Previous] [Next]
 Project     : SOHO - CDS     
                   
 Name        : PLOT_DEX
               
 Purpose     : Plot the actual dew to be used in observation.
               
 Explanation : Plots the data extraction windows used in a raster for
               illustrative purposes.  It can be used to check the windows 
               re-calculated by UPDATE_DEX to show the actual windows to 
               be used.
               
 Use         : IDL> plot_dex, dw_str, /hard, /soft 
    
 Inputs      : dw_str  - a valid data structure as returned by GET_DATAWIN.
                   
 Opt. Inputs : None
               
 Outputs     : Just plots the results.
               
 Opt. Outputs: None
               
 Keywords    : hard - plot only VDS hardware windows
               soft - plot only the true data extraction windows

 Calls       : ***
	DATATYPE [1], DATATYPE [2], DATATYPE [3], FILL_BOX
 Common      : None
               
 Restrictions: None
               
 Side effects: None
               
 Category    : Planning, technical
               
 Prev. Hist. : Based om tp_plot_dew.

 Written     : C D Pike, RAL, 15-Feb-96
               
 Modified    : Version 2, Check validity of input.  CDP, 15-Mar-96

 Version     : Version 2, 15-Mar-96


PLOT_DSN_27 $SSW/soho/gen/idl/plan/science/plot_dsn_27.pro
[Previous] [Next]
 Project     :	SOHO - CDS

 Name        :	PLOT_DSN_27

 Purpose     :	Plot a series of rectangles representing DSN-27 passes.

 Explanation : Plot a series of rectangles on the planning timeline 
		representing DSN-27 passes.  If there is enough room in the
		retangle, then add a descriptive label to it.

 Use         :	PLOT_DSN_27, row, t1, t2

 Inputs      :	row	Row number in the planning timeline display in which
			to plot the rectangles representing the DSN-27 passes.

		t1	Array contianing the starting location of each pass
			along the timeline in the DATA coordinate system.

		t2	Array contianing the ending location of each pass
			along the timeline in the DATA coordinate system. 

 Opt. Inputs : None.

 Outputs     :	None.

 Opt. Outputs:	None.

 Keywords    : None.

 CALLS: ***
	RECTSTRIPE
 CALLED BY:
	PLOT_RESOURCE
 Common      :	None.

 Restrictions:	None.

 Side effects:	Plots rectangles representing DSN-27 passes to the current
		display window.

 Category    :	Planning

 Prev. Hist. :	None.

 Written     :	Ronald Yurow (EITI)

 Modified:   : Ronald Yurow, EITI, October 5, 2001
                  Initial Release

 Version     :	Version 1, October 5, 2001


plot_eit_area $SSW/soho/eit/idl/obsolete/plot_eit_area.pro
[Previous] [Next]
NAME: 
   plot_eit_area
PURPOSE:
   Plot the EIT effective area vs wavelength
CALLING SEQUENCE:
  plot_eit_area		; Will read the era*genx file
  plot_eit_area, area		; area = data structure (in/out)
  plot_eit_area,/hc		; For PostScript output
  plot_eit_area,/one		; On one wavelength scale

  plot_eit_area will produce a four panel plot (unless the /one)
  option is specified.  Use the /open, /entrance, /ccd switches
  to specify which filter wheel case to use (default = /open)
INPUTS:
  None are required.
OPTIONAL INPUT/OUTPUT:
  area		- Data structure from era*.genx
		  If area is undefined, will be read from the
		  era*genx file.
  filein	- By default, the EIT effective area file is read:
		    concat_dir('SSW_EIT_RESPONSE','era*.genx')
		  Use filein='your_file_name' to override the default.
OPTIONAL INPUT KEYWORDS:
  /one		- If set, put all four sectors on one graph.
  /linear	- If set, plot the ordinance on a linear scale (def. is log)

  /open	- If set, plot the open filterwheel case
  /entrance	- If set, plot the entrance filterwheel case
  /ccd		- If set, plot the ccd filterwheel case
  (None)	- If open, entrance and ccd area all 0, plot all cases.

  /notime	- If set, don't put the time on the PostScript plot.
  /hc		- If set, send to the PostScript printer
  /noprint	- If both /hc and /noprint are set, create PostScript file 
		  but do not print it.
 CALLS: ***
	clearplot [1], clearplot [2], eit_eff_area, eit_witness, gt_EITfilter
	gt_EITsector, pprint [1], pprint [2]
HISTORY:
  12-Jun-95, J. R. Lemen (LPARL), Written.


plot_eit_entrance $SSW/soho/eit/idl/obsolete/plot_eit_entrance.pro
[Previous] [Next]
 NAME: 
   plot_eit_entrance
 PURPOSE:
   Plot the comparison between computed EIT entrance filter
   and Jean-Pierre Delaboudiniere measured values.
 CALLING SEQUENCE:
   plot_eit_entrance
   plot_eit_entrance,/hc	; Send to the PostScript printer
 CALLS: ***
	ERRPLOT [1], ERRPLOT [2], clearplot [1], clearplot [2], eit_eff_area, pprint [1]
	pprint [2]
 HISTORY:
   10-Jun-95, J. R. Lemen (LPARL), Written.


plot_eit_filters $SSW/soho/eit/idl/obsolete/plot_eit_filters.pro
[Previous] [Next]
 NAME:
  plot_eit_filters
 PURPOSE:
  Plot the transmissions of the EIT filters
 CALLING SEQUENCE:
  plot_eit_filters
  plot_eit_filters,filters		; filters is a data structure
 INPUTS:
   None are required.
 OPTIONAL INPUT/OUTPUT:
   filters	- Data structure written to era*genx
		  If filters is undefined, plot_eit_filters
		  will read the era*genx file to obtain filters.
   filein	- By default, the EIT effective area file is read:
		    concat_dir('SSW_EIT_RESPONSE','era*.genx')
		  Use filein='your_file_name' to override the default.
 OPTIONAL INPUT KEYWORDS:
   /notime	- If set, don't put the time on the PostScript plot.
   /hc		- If set, send to the PostScript printer
   /noprint	- If /hc and /noprint are set, create but don't print 
		  PostScript file.
 CALLS: ***
	REVERSE, clearplot [1], clearplot [2], eit_eff_area, pprint [1], pprint [2]
	tag_index [1], tag_index [2]
 MODIFICATION HISTORY:
 10-Jun-95, J. R. Lemen (LPARL), Written.


plot_eit_flux $SSW/soho/eit/idl/obsolete/plot_eit_flux.pro
[Previous] [Next]
NAME:
  plot_eit_flux
PURPOSE
  Plot the EIT response curves
CALLING SEQUENCE:
  plot_eit_flux
  plot_eit_flux, /hc		; To make hardcopy
INPUTS:
  None.
OPTIONAL INPUT KEYWORDS:
  /open	- Set to plot the Filter wheel Open case
  /entrance	- Set to plot the Filter wheel entrance-like case
  /ccd		- Set to plot the Filter wheel CCD-like case
		  (if none of these are specified, all will be plotted).
  ccd_gain	- The assumed CCD_gain in e-/DN
  /noverbose	- If set, suppress informational messages.
  /hc		- If set, send plot to PostScript printer
  filein	- To specify explicitly the ere*genx file
		  containing the EIT response curves.
OUTPUTS:
  None.
CALLS: ***
	BREAK_FILE [1], BREAK_FILE [2], BREAK_FILE [3], CONCAT_DIR [1], CONCAT_DIR [2]
	CONCAT_DIR [3], break_file [4], clearplot [1], clearplot [2], concat_dir [4]
	gt_EITfilter, gt_EITsector, pprint [1], pprint [2], restgen [1], restgen [2]
	tbeep [1], tbeep [2], tbeep [3]
HISTORY:
  12-jun-95, J. R. Lemen (LPARL), Written.  
               test version  -- just reads the ere*genx file directly.


plot_eit_mirror $SSW/soho/eit/idl/obsolete/plot_eit_mirror.pro
[Previous] [Next]
 NAME:
   plot_eit_mirror
 PURPOSE:
   Plot the EIT mirror reflectivity
 CALLING SEQUENCE:
   plot_eit_mirror, mirror
   plot_eit_mirror, code=2, /notime, /hc, yra=[1.e-6,.1]
   plot_eit_mirror, /extend_range, filein=filein
 OPTIONAL INPUT/OUTPUT:
   mirror	- Data structure from the EIT effective area file (era*genx)
		  If mirror is not defined, the era*genx file will be read.
   filein	- By default the EIT effective area file is read:
		    concat_dir('SSW_EIT_RESPONSE','era*.genx')
		  Use filein='your_file_name' to override the default.
 OPTIONAL INPUT KEYWORDS:
   code	0: Plot measurements and model
   		1: Plot ratio of model/measurements
   		2: Same as 0, but also over plot corrected model (Default)
   extend_range If set, extend the wavelength ranges by +/- 50 A
   notime	- If set, do not put the time on the plot
   yrange	- Vector of length 2 equal to desired min and max y-axis range
   /hc		- If set, send to PostScript printer
   /noprint    - If both /hc and /noprint are set, create PostScript file
		  but do not print it
   /noverbose	- Don't give the explanations when running.
 CALLS: ***
	DSPLINE, MORE [1], MORE [2], clearplot [1], clearplot [2], eit_eff_area, eit_witness
	gt_EITsector, pprint [1], pprint [2], tag_index [1], tag_index [2]
 HISTORY:
  10-Jun-95, J. R. Lemen (LPARL), Written.


plot_eit_response $SSW/soho/eit/idl/obsolete/plot_eit_response.pro
[Previous] [Next]
NAME:
  plot_eit_response
PURPOSE:
  Plot the various EIT response parameters
CALLING SEQUENCE:
  .run plot_eit_response
HISTORY:
  10-Jun-95, J. R. Lemen (LPARL), Written.


PLOT_EXP_FACTOR $SSW/soho/lasco/idl/expfac/plot_exp_factor.pro
[Previous] [Next]
 NAME:
	PLOT_EXP_FACTOR

 PURPOSE:
	This procedure reads all the files for the given date range
	and plots the exposure time factors

 CATEGORY:
	EXP_FAC

 CALLING SEQUENCE:
	PLOT_EXP_FACTOR,Tel,Dtea

 INPUTS:
	Tel:	The telesope designation (string):  c1, c2, c3, c4/eit
		The default is all three LASCO telescopes.
	Dtea:	Gives the date to be processed in one of the following formats:
			YYMMDD,	6 character string
			YYYY/MM/DD, 10 character string
			CDS Date Structure
			Long Word of the modified julian date

 OPTIONAL INPUTS:
	Dteb:	Gives the final date to be processed in the same format as DteA

 KEYWORD PARAMETERS:
	PS:	If set then the plot is sent to the printer, else it is sent to the current
		graphics device

 OUTPUTS:
	None.

 CALLS: ***
	DATATYPE [1], DATATYPE [2], DATATYPE [3], GET_UTC, READ_EXP_FACTOR, STDEV
	STR2UTC [1], STR2UTC [2], STR2UTC [3], UTC2YYMMDD, UTPLOT [1], UTPLOT [2]
	UTPLOT [3], UTPLOT [4], UTPLOT [5], UTPLOT [6], ps_setup
 RESTRICTIONS:

 PROCEDURE:

 EXAMPLE:

 MODIFICATION HISTORY:
 	Written by:	R.A. Howard, NRL, 10/7/97

 @(#)plot_exp_factor.pro	1.2 10/07/97 :LASCO IDL LIBRARY


PLOT_EXPINT $SSW/soho/cds/idl/sci/data_handling/soho/cds/plot_expint.pro
[Previous] [Next]
 Project     : SOHO - CDS     
                   
 Name        : PLOT_EXPINT
               
 Purpose     : Plots exposure intervals for a CDS raster.
               
 Explanation : The interval between exposures in a CDS raster can vary
               from exposure to exposure.  This routine plots the interval
               for easy checking.
               
 Use         : IDL> plot_expint, qlds [,interval]
    
 Inputs      : qlds  - The standard CDS data structure.
               
 Opt. Inputs : None
               
 Outputs     : None
               
 Opt. Outputs: interval  -  inter-exposure times in seconds
               
 Keywords    : yrange - override the default plotting Y axis range
               ut     - plot interval against UT not exposure number

 Calls       : ***
	AVERAGE, CIRCLE_SYM, EXT_RANGE, FMT_VECT, GT_START, LAST_ITEM, N_DIMENSIONS, REVERSE
	STDEV, STR2UTC [1], STR2UTC [2], STR2UTC [3], TAI2UTC, UTC2TAI, UTPLOT [1], UTPLOT [2]
	UTPLOT [3], UTPLOT [4], UTPLOT [5], UTPLOT [6]
 Common      : None
               
 Restrictions: None
               
 Side effects: None
               
 Category    : Data analysis
               
 Prev. Hist. : None

 Written     : C D Pike, RAL, 9-Feb-97
               
 Modified    : Add average/stdev interval printout. CDP, 19-Oct-99  

 Version     : Version 2, 19-Oct-99


plot_expos_hist $SSW/soho/mdi/idl/ops/plot_expos_hist.pro
[Previous] [Next]
NAME:
	plot_expos_hist
PURPOSE:
	To plot the histogram of exposure durations for a given time span
SAMPLE CALLING SEQUENCE:
	plot_expos_hist, '1-feb','2-feb
	plot_expos_hist, '1-feb','2-feb',/hc
 CALLS: ***
	fmt_tim [1], fmt_tim [2], plot_hist [1], plot_hist [2], plottime [1], plottime [2]
	pprint [1], pprint [2], seq_frame_info
 CALLED BY:
	pr_seq_frame_info
HISTORY:
	Written 19-Mar-96 by M.Morrison
V1.1	17-May-96 (MDM) - Added xtitle switch to plot_hist


plot_fft $SSW/soho/mdi/idl/cal/plot_fft.pro
[Previous] [Next]
NAME:
	plot_fft
PURPOSE:
	To plot facilitate generic plotting of an fft
SAMPLE CALLILNG SEQUENCE:
	plot_fft, timarr, data

	quick_hkplot,'23-apr 20:00','24-apr 24:00',style=3,info=info
	plot_fft, info.mdi.daytime, info.mdi.value(*,0),ytit='Oven temperature (mtopts4)',/xtype,xrange=[1e-4,.1],step=7.5

	plot_fft, timarr, data, out, ff2, freq
INPUTS:
	timarr	- time array in seconds (OR) time structure array
	data	- The data array
OUTPUTS:
	out	- abs(ff2(1:n2/2))^2
	ff2	- The FFT results (complex)
	freq	- The frequency array (which goes with "out")
 CALLS: ***
	INTERPOL, STDEV, UTPLOT [1], UTPLOT [2], UTPLOT [3], UTPLOT [4], UTPLOT [5]
	UTPLOT [6], data_type [1], data_type [2], deriv_arr [1], deriv_arr [2]
	int2secarr [1], int2secarr [2], plottime [1], plottime [2], plottimes [1]
	plottimes [2], pprint [1], pprint [2]
 CALLED BY:
	jitter_gif_xyimg
OPTIONAL KEYWORD INPUT:
	period	- Plot versus the period, not the frequency
	smoo	- Smooth the FFT spectra by this value
	ytit	- The raw data plot Y axis label
	hc	- Make a hardcopy
	step	- The sample frequency (default is to find the minimum
		  separation)
	tit	- Main title
	xrange	- The FFT frequency (or period) range to plot
	yrange	- The FFT amplitude to plot
	xtype	- xtype=0 will make X axis linear (default is log)
	ytype	- ytype=0 will make Y axis linear (default is log)
	mark_freq- A list of frequencies to mark on the plot
	mark_period- A list of periods to mark on the plot
	random	- Instead of interpolating across missing data, insert
		  random samples of the input data to fill the gap
HISTORY:
	Written 25-Apr-96 by M.Morrison
V2.1	25-Apr-96 (MDM) - Added /HC option
			- changed FFT plot symbol to 10
V2.2	25-Apr-96 (MDM) - Added passing in list of periods or freq to mark
			- Made LOG/LOG the default
V2.3	16-Dec-96 (MDM) - Made the FINDGENs into DINDGENs
V2.4	17-Dec-96 (MDM) - Added /RANDOM option
			- Added documentation header


PLOT_FRAME $SSW/soho/gen/idl/plan/science/plot_frame.pro
[Previous] [Next]
 Project     :	SOHO - CDS

 Name        :	PLOT_FRAME

 Purpose     :	Plots frame for science planning tool.

 Explanation :	This routine is used by the science planning tool to plot the
		frame within which the plan will be drawn.

 Use         :	PLOT_FRAME, T1, T2

 Inputs      :	T1, T2	= The beginning and end time of the plot, in hours.

 Opt. Inputs :	None.

 Outputs     :	None.

 Opt. Outputs:	None.

 Keywords    :	CHARSIZE = The character size for the text labels.  If not
			   passed, then determined from !P.CHARSIZE.

		XTITLE	 = An optional ASCII string to be the X-axis title.

		LOCAL	 = If set, then also show the local time across the top
			   of the figure.  It is assumed that T1 and T2 are in
			   UTC.

               YLABELS  = ylabels to go with each row


 Calls       : ***
	BLANK, EXIST, LOCAL_DIFF
 Common      :	None.

 Restrictions:	None.

 Side effects:	None.

 Category    :	Planning, Science.

 Prev. Hist. :	None.

 Written     :	William Thompson, GSFC, 15 July 1993.

 Modified    :	Version 1, William Thompson, GSFC, 15 July 1993.
		Version 2, William Thompson, GSFC, 28 March 1994.
			Changed label to "CDS-details".
		Version 3, Elaine Einfalt, GSFC (HSTX), Apr 94.
			Added optional XTITLE keyword.
		Version 4, William Thompson, GSFC, 2 November 1994
			Added LOCAL keyword
               Version 5, Zarro, GSFC, 20 February 1994
                       Added YLABELS
               Version 6, Liyun Wang, GSFC/ARC, June 22, 1995
                       Made ticklength appear the same for both axes 
                          regardless of aspect ratio of the window
               Version 7, Liyun Wang, GSFC/ARC, January 16, 1996
                       Fixed problem of X, Y labels appearing
                          different when plot in PS format
 Version     :	Version 7


plot_hist [2] $SSW/soho/mdi/idl_old/gen/ys_util/plot_hist.pro
[Previous] [Next]
NAME:
	plot_hist
PURPOSE:
	To plot a histogram with a properly labeled X axis.
SAMPLE CALLING SEQUENCE:
	plot_hist, img
	plot_hist, img, x, h
	plot_hist, img, bin=0.1
	plot_hist, img, xrange=xrange, yrange=yrange, tit=tit
INPUT:
	data	- The data to perform the historam on
OUTPUT:
	x	- The x axis for the plotting
	h	- The histogram
OPTIONAL KEYWORD INPUTS:
	bin	- The bin size to use (default is 1)
	xrange	- The x plotting range
	yrange	- The y plotting range
	tit	- The title
	log	- If set, then plot the y axis in log form
 CALLED BY:
	plot_expos_hist
HISTORY:
	Written Apr-95 by M.Morrison
	18-May-95 (MDM) - Added /LOG switch
			- Plot such that the minimum occurance is 0.1
	 7-Jul-95 (MDM) - Fixed the plot so that min occurance is 0.1
	27-Nov-95 (LWA) - Added noerase, linestyle, charsize  keywords.
	 8-Nov-96 (MDM) - Merged 27-Nov-95 changes with the ones below:
		17-May-96 (MDM) - Added xtitle
		11-Sep-96 (MDM) - Added ROUND when creating "data0"
	 8-Nov-96 (MDM) - Added "oplot" option


PLOT_HK_TIME $SSW/soho/lasco/idl/packets/plot_hk_time.pro
[Previous] [Next]
 NAME:
	PLOT_HK_TIME

 PURPOSE:
	This procedure plots the difference between LASCO HK time and S/C time.

 CATEGORY:
	LASCO PACKETS

 CALLING SEQUENCE:
	PLOT_HK_TIME,Dte

 INPUTS:
	Dte:	A string giving the date to be plotted, YYMMDD.

 OPTIONAL INPUTS:
	None
	
 KEYWORD PARAMETERS:
	None

 OUTPUTS:
	None

 OPTIONAL OUTPUTS:
	None

 CALLED BY:
	PLOT_TIME_DIFFS
 COMMON BLOCKS:
	None

 SIDE EFFECTS:
	None

 RESTRICTIONS:
	None

 PROCEDURE:
	This procedure finds the time stamp put on by the S/C and the time
	stamp put on by TCE in housekeeping packet #1 (8869).  It forms
	the difference in the TAI values (seconds) and plots the difference
	along the Y-axis against the S/C time along the X-axis.

 EXAMPLE:
	To form the plot:

		PLOT_HK_TIME, '960530'

 MODIFICATION HISTORY:
 	Written by:	RA Howard, 2 June 1996

	@(#)plot_hk_time.pro	1.1 01/23/98 LASCO IDL LIBRARY


PLOT_HKLZ $SSW/soho/lasco/idl/packets/plot_hklz.pro
[Previous] [Next]
 Jan 1998
 Ed Esfandiari - first version.
                 This pro uses level-0 housekeeping files to plot various
                 temperatures and voltages. It is based on plot_temps,
                 plot_bs_pes, plot_ccd_temps, and plot_lev_volt pros.

 Jan 28 1998 AEE Added xzoom option.

 Sep 14 1998 AEE Added 21 Motor Encoder Positions from Hk2.

 Oct 19 1998 AEE Corrected DN plot for BS and PES.

 Dec 22 1998 AEE added y-axes rescale option.

 Dec 23 1998 AEE made y-axes rescale more precise.

 Jan 26 1999 AEE Fixed for Y2K problem.

 Sep 08 1999 AEE Fixed code to handle days with no/bad packets.

 Jun 29 2000 AEE Added psym option and corrected start/stop dates display.

 Jul 28 2000 AEE Added code to crate the gif files using white backgrounds.

 NAME:
       PLOT_HKLZ

 PURPOSE:
        This subroutine plots various temperatures and voltages of LEB, 
        C1, C2, C3, and EIT for a day (or range of days) using the level-0
        housekeeping datafiles. between 1 to 9 plots can be displayed at
        the same time with the options of saving them to a gif file or
        printing them to a printer of choice.

 CALLING SEQUENCE:
        PLOT_HKLZ

 INPUTS:
        None

 OUTPUTS:
        None

 @(#)plot_hklz.pro	1.2 03/03/98 :LASCO IDL LIBRARY
 CALLS:


PLOT_HT $SSW/soho/lasco/idl/movie/plot_ht.pro
[Previous] [Next]
 NAME:
	PLOT_HT

 PURPOSE:
	This procedure is used to display height-time curves. It reads in a
       height-time file created by one of the movie programs and generates
       a plot.

 CATEGORY:
	MOVIE

 CALLING SEQUENCE:
	PLOT_HT

 INPUTS:

 OPTIONAL INPUT PARAMETERS:
	Filename:	If filename is present then it is used immediately

 OUTPUTS:
	A plot is generated on the screen, and optionally a print file is
	generated of the form idlplot.psnnn, where nnn is a sequential
	number.

 OPTIONAL OUTPUT PARAMETERS:

 CALLS: ***
	CW_FIELD, DO_PLOT, HT_PLOT, HT_PRINT, HT_READ, HT_SAVE, OUTPLOT [1], OUTPLOT [2]
	OUTPLOT [3], PA_PLOT, PICKFILE, PLOT_HT_EV, POLY, POLY_FIT, STR2UTC [1], STR2UTC [2]
	STR2UTC [3], STR_SEP, TAI2UTC, UTC2STR, UTC2TAI, UTPLOT [1], UTPLOT [2], UTPLOT [3]
	UTPLOT [4], UTPLOT [5], UTPLOT [6], XMANAGER, XREGISTERED, ps_setup
 COMMON BLOCKS:
	com_xplot_ht

 SIDE EFFECTS:
	Initiates the XMANAGER if it is not already running.

 RESTRICTIONS:

 PROCEDURE:
	The various widgets are set up and registered.  The user selects the
	height-time file to be processed.  The file is read in and the data
	points plotted.  The user is then able to fit the data to polynomial
	functions of degree 1,2, or 3.  The plot can be printed.  The speeds
	can be saved to a file.

 MODIFICATION HISTORY:
 	Written by:	Scott Hawley, NRL Summer Student, June 1996
	Version 2	RA Howard, NRL, Modified plot calls to use utplot
	15 Oct 96	RAH, widgetized
       27 Oct 96       RAH, Corrected overplots of interpolated values
                            Set new window number before plotting
       08 Nov 96       RAH, Corrected situation if called without argument
       10 Nov 96       RAH, Corrected Acceleration = 2*fit_coeff
       11 Nov 96       RAH, Added plot of position angles
	25 Jun 02	NBR, Put in obsolete notice.

	@(#)plot_ht.pro	1.7 06/25/02 LASCO IDL LIBRARY


PLOT_LASCO_SPECTRA $SSW/soho/lasco/idl/data_anal/plot_lasco_spectra.pro
[Previous] [Next]
 NAME:
	PLOT_LASCO_SPECTRA

 PURPOSE:
	This procedure plots the LASCO filter spectral data

 CATEGORY
	CALIBRATION

 CALLING SEQUENCE:
	PLOT_LASCO_SPECTRA,Tel

 INPUTS:
	Tel:	string containing the telescope: 'c1','c2','c3'

 KEYWORD PARAMETERS:
	SINGLE:	If set then a single plot is made.  The default is
		to plot all of the spectra.

 OUTPUTS:
	Generates a plot

 CALLS: ***
	READ_LASCO_SPECTRA
 MODIFICATION HISTORY:
	Written by R.A. Howard, NRL

 @(#)plot_lasco_spectra.pro	1.1 07/31/97 :NRL Solar Physics


plot_lcur [2] $SSW/soho/mdi/idl_old/gen/ys_util/plot_lcur.pro
[Previous] [Next]
NAME:
	plot_lcur
PURPOSE:
	Plot a light curve and allow the user to blowup
	on certain areas.  It returns the subscripts of
	the last selected region.
CALLING SEQUENCE:
	ss = plot_lcur(roadmap, roadmap.sxs1)
	ss = plot_lcur(roadmap, /nodata, qblowup=qblowup)
	ss = plot_lcur(index, gt_sum_l(index), plotr=a, title=title)
	ss = plot_lcur(index, gt_sum_l(index), /nohard)
INPUT:
	struct	- the structure that holds the .time and .day fields
		  If struct is a floating point array, and ref_time is
		  not passed in, then PLOT will be used instead of UTPLOT
	array	- the array to be plotted
OPTIONAL INPUT:
	ref_time- The reference time to use with UTPLOT.  If it is 
		  undefined, then struct(0) is used.  Must be in form of
		  a structure (.time, .day fields) (?)
 CALLS: ***
	BOX_CURSOR, PLOT_VLINE, UTPLOT [1], UTPLOT [2], UTPLOT [3], UTPLOT [4], UTPLOT [5]
	UTPLOT [6], data_type [1], data_type [2], int2secarr [1], int2secarr [2]
	pprint [1], pprint [2]
 CALLED BY:
	BORN_AGAIN, HXT_TEEM, SXSPC, box_sxthxt_fsp, choose_interval, get_bcs
	goes_reducer [1], hxt_hs_bgd, hxtbox_fsp, plot_fem, plot_trav [1], plot_trav [2]
	plot_trav [3], ploty [1], ploty [2], rd_wbs_pha [1], rd_wbs_pha [2], show_obs4
	soup_obs2, sxtbox_fsp
OPTIONAL KEYWORD INPUT:
	noplot	- If set, do not plot any data, but allow the user
		  to select a starting and ending time to be blown
		  up (used for cases where the data to be plotted is
		  more complex)
	psym	- the plotting symbol used.  Default is 1 (a + sign)
	title	- A title string for the plot
	nohard	- If set, do not allow or display the hardcopy capabiltiy
	nomultiset - If set, do not allow multiple selection
	extra1	- A string with a description to be used for the lower left
		  box/right button key option
	nowhere	- If set, then do not do a "where" to find the subscripts
		  of the selected times.  It is used in conjunction with
		  the /NOPLOT option and the XSEL value is passed back
		  to be used by the calling routine
OPTIONAL KEYWORD OUTPUT:
	qblowup	- used with the /noplot option.  Tells the calling
		  procedure that the user wants a blowup of the 
		  selected area.
	plotr	- Returns the min and max subscripts of the input 
		  vector that were used for the last plot (refresh of
		  the screen).  This allows a programmer to plot light
		  curves for the extracted datasets AND for a larger
		  region that goes beyond the extracted datasets.
		  Bob Bentley requested this capability
	multiset- If the user wants to select multiple start and end times,
		  using the middle button on the left box, the resulting
		  matrix of 2xN subscripts will be returned, where the
		  (0,*) is the starting subscript and (1,*) is the end.
		  Using the reset option will clear the accumulated 
		  marks.
	qhard	- used with the /noplot option.  Tells the calling
		  procedure that the user wants a hardcopy of the 
		  selected area.
	qhard	- used with the /noplot option.  Tells the calling
		  procedure that the user wants to reset to the full
		  range.
	qextra1	- if bottom left box/right button was select, return
		  true
	xsel	- the x data coordinates selected.
	ysel	- the y data coordinates selected.
RESTRICTIONS:
	Only works on workstations that have a puck to allow the
	CURSOR function to work.
HISTORY:
	Written 4-Mar-92 by M.Morrison
	20-Mar-92 (MDM) - Added "plotr" and "title" options
			- Also added hard copy capability
	20-Mar-92 (MDM) - Added the "multiset" option
	29-Apr-92 (MDM) - Removed the /DELETE command from hardcopy
			  option
	29-Apr-92 (MDM) - Added "qhard" and "qreset" option
	 2-May-92 (MDM) - Added "extra1" and "qextra1" options as
			  well as "xsel" and "ysel" option
	 5-May-92 (MDM) - Changed "extra" option to use box_cursor
			  to mark the box to select
			- Added "nomultiset" option
	26-May-92 (MDM) - Expanded to work with TEK plotting device
	29-May-92 (MDM) - Added "ynozero"
	 9-Jun-92 (MDM) - Adjusted so that an floating array can be passed in
			  as the X parameter (previously it had to be a structure)
	14-Jul-93 (MDM) - Added SYMSIZE
	25-Jul-94 (MDM) - Moved the print statement for the instructions outside
			  of the loop
	10-Mar-95 (MDM) - Modified to accept a floating point array as "x" input
			  and to simply plot "x" versus "y" if REF_TIME is not
			  passed in (ie: not to call UTPLOT)


plot_loi_mmad $SSW/soho/mdi/idl/ops/plot_loi_mmad.pro
[Previous] [Next]
NAME:
	plot_loi_mmad
PURPOSE:
	To plot the LOI-V and LOI-C data
SAMPLE CALLING SEQUENCE:
	plot_loi_mmad, sttim, entim
	plot_loi_mmad, '2-oct','4-oct',tim_c, data_c, tim_v, data_v
 CALLS: ***
	ISVALID [1], ISVALID [2], ISVALID [3], MARK_ALT_TIMES, NO_DATA_NOTICE, RD_LOI_MMAD
	STDEV, UTPLOT [1], UTPLOT [2], UTPLOT [3], UTPLOT [4], UTPLOT [5], UTPLOT [6]
	anytim2ints [1], anytim2ints [2], avoid_spikes [1], avoid_spikes [2]
	fmt_tim [1], fmt_tim [2], plottime [1], plottime [2], pprint [1], pprint [2]
	ut_time [1], ut_time [2]
HISTORY:
	Written Oct-96 by M.Morrison
	16-Oct-96 (MDM) - Modified to plot the last 48 hours if no
			  times are passed in
	14-Oct-98 (CED) - Fixed crash condition when no LOI data were present.
			  Updated to Version 2.0


plot_loi_summary [1] $SSW/soho/mdi/idl/ops/plot_loi_summary.pro
[Previous] [Next]
NAME:
	plot_loi_summary
PURPOSE:
	To plot the LOI-V and LOI-C data
SAMPLE CALLING SEQUENCE:
	plot_loi_summary, sttim, entim
	plot_loi_summary, '2-oct','4-oct',tim_c, data_c, tim_v, data_v
 CALLS: ***
	CONCAT_DIR [1], CONCAT_DIR [2], CONCAT_DIR [3], LOADCT, MEAN, NO_DATA_NOTICE
	OUTPLOT [1], OUTPLOT [2], OUTPLOT [3], RD_LOI_SUMMARY, SSW_FILE_DELETE, STDDEV
	UTPLOT [1], UTPLOT [2], UTPLOT [3], UTPLOT [4], UTPLOT [5], UTPLOT [6]
	anytim2ints [1], anytim2ints [2], avoid_spikes [1], avoid_spikes [2]
	concat_dir [4], fmt_tim [1], fmt_tim [2], plottime [1], plottime [2], rd_tfile [1]
	rd_tfile [2], tv2 [1], tv2 [2], ut_time [1], ut_time [2], zbuff2file [1]
	zbuff2file [2]
HISTORY:
	Written Dec-99 by R. Bush
	Combines plot_loi_mmad and the qplot function of rd_loi_mmad
 Apr 02 - modified plot titles


plot_loi_summary [2] $SSW/soho/mdi/idl/test/plot_loi_summary.pro
[Previous] [Next]
NAME:
	plot_loi_summary
PURPOSE:
	To plot the LOI-V and LOI-C data
SAMPLE CALLING SEQUENCE:
	plot_loi_summary, sttim, entim
	plot_loi_summary, '2-oct','4-oct',tim_c, data_c, tim_v, data_v
 CALLS: ***
	CONCAT_DIR [1], CONCAT_DIR [2], CONCAT_DIR [3], LOADCT, MEAN, NO_DATA_NOTICE
	OUTPLOT [1], OUTPLOT [2], OUTPLOT [3], RD_LOI_SUMMARY, SSW_FILE_DELETE, STDDEV
	UTPLOT [1], UTPLOT [2], UTPLOT [3], UTPLOT [4], UTPLOT [5], UTPLOT [6]
	anytim2ints [1], anytim2ints [2], avoid_spikes [1], avoid_spikes [2]
	concat_dir [4], fmt_tim [1], fmt_tim [2], plottime [1], plottime [2], rd_tfile [1]
	rd_tfile [2], tv2 [1], tv2 [2], ut_time [1], ut_time [2], zbuff2file [1]
	zbuff2file [2]
HISTORY:
	Written Dec-99 by R. Bush
	Combines plot_loi_mmad and the qplot function of rd_loi_mmad


PLOT_MONEXP_STD $SSW/soho/lasco/idl/expfac/plot_monexp_std.pro
[Previous] [Next]

 NAME:
	PLOT_MONEXP_STD

 PURPOSE:
         This procedure reads in the output data file from MONITOR-EXP.PRO,
         and makes standard plots

 CATEGORY:
         DATA_ANAL

 CALLING SEQUENCE:

         PLOT_MONEXP_STD,Tel,Dtea,Dteb

 INPUTS:
         Tel:	String giving the telesope name, eg. 'c1'
         Dtea:	String giving the starting date, eg, '960601'
         Dteb:	String giving the ending date, eg, '960607'

 KEYWORD PARAMETERS:
         PS:	If set, create a postscript file

 OUTPUTS:
         None

 CALLS: ***
	GET_MONEXP_DATA, OFFSET_BIAS, READ_MONEXP_DATA, STR_UNIQUE, TVERASE, UTC2STR
	UTPLOT [1], UTPLOT [2], UTPLOT [3], UTPLOT [4], UTPLOT [5], UTPLOT [6], ps_setup
 SIDE EFFECTS:
         Generates plot files

 RESTRICTIONS:
        NONE

 PROCEDURE:


 MODIFICATION HISTORY:
         

	@(#)plot_monexp_std.pro	1.2 09/26/97 LASCO IDL LIBRARY


plot_nar [1] $SSW/soho/mdi/idl_old/gen/ys_util/plot_nar.pro
[Previous] [Next]
NAME:
	plot_nar
PURPOSE:
	To plot positions of NOAA Active Regions on a heliocentric
	grid
CALLING SEQUENCE:
	plot_nar, roadmap(i)
	plot_nar, index(i)
	plot_nar, '30-oct-91'
INPUT:
       ref_item - The reference time to which all feature coordinates
	  will be differentially rotated before plotting on the grid.
	  Form can be:
	    (1) structure with a .time and .day field,
	    (2) standard 7-element external representation,
	 or (3) a string of the format "hh:mm dd-mmm-yy"
	 If no date is entered, the current date is used.
	 The year is not required, but if entered should be
	 of the form 1-Oct-91 style.  The date should be entered
	 in string style with date first.
OPTIONAL INPUT:
	st_item - The start time to search NOAA active region list for
	  regions.  If not passed, only the time entries nearest to
	  REF_ITEM are plotted.
	en_item - The end time to search NOAA active region list for
	  regions.  If not passed, the NOAA data base is searched for
	  entries between ST_ITEM and REF_ITEM.
 CALLS: ***
	ADDTIME [1], ADDTIME [2], DIFF_ROT [1], DIFF_ROT [2], DRAW_GRID [1], DRAW_GRID [2]
	DRAW_GRID [3], DR_PHOTO [1], DR_PHOTO [2], DR_PHOTO [3], RD_NAR, S2C [1], S2C [2]
	SXT_GRID [1], SXT_GRID [2], SXT_GRID [3], WDEF [1], WDEF [2], anytim2ex [1]
	anytim2ex [2], fmt_tim [1], fmt_tim [2], font_size [1], font_size [2]
	get_rb0p [1], get_rb0p [2], gt_corner_cmd, gt_or_expnum, gt_res, gt_shape_cmd
	int2secarr [1], int2secarr [2], pprint [1], pprint [2], restsys [1], restsys [2]
	savesys [1], savesys [2], sxt_cen [1], sxt_cen [2], uniqo [1], uniqo [2]
 CALLED BY:
	fl_sxtobsnar [1], fl_sxtobsnar [2], lastsfd [1], lastsfd [2], lastspd
	mk_sun_mosaic, xspr [1], xspr [2]
OPTIONAL KEYWORD INPUT:
	hc	- If set, write the results to a temporary file, print
		  it and delete it.
OUTPUT:
HISTORY:
	Written 26-Mar-93 by G. L. Slater
               10-may-93 (slf) added pfi_color, pfi_lstyle keywords
		 1-Jun-93 (MDM) Added correction for the placement of the SXT
				PFI window.
		21-jun-93 (gal) quick bug fix for case where frontpts are
				undefined [e.g. frontpts=where(x_coord ge 0)].
		14-Jul-93 (MDM) Added draw_grid common block
		16-Oct-93 (MDM) Removed call to GET_SUNCENTER and replaced with
				a call to SXT_CEN
                3-Jul-94 (SLF) Fix bug in pfi resolution, only do 'uniq' pfis
				since pfi code is slow
                4-Jul-94 (SLF) use gt_corner_cmd
		14-Jul-94 (SLF) Clean up, allow z-buffer, use savesys,restsys
		18-Jul-94 (SLF) do uniq pfi outside this routine

QUESTIONS, PROBLEMS, THINGS TO DO:
	- Properly position window at creation, using screen size


PLOT_OBE_TIME $SSW/soho/lasco/idl/packets/plot_obe_time.pro
[Previous] [Next]
 NAME:
	PLOT_OBE_TIME

 PURPOSE:
	This procedure plots the difference between LASCO OBE time and S/C time.

 CATEGORY:
	LASCO PACKETS

 CALLING SEQUENCE:
	PLOT_OBE_TIME,Dte

 INPUTS:
	Dte:	A string giving the date to be plotted, YYMMDD.

 OPTIONAL INPUTS:
	None
	
 KEYWORD PARAMETERS:
	None

 OUTPUTS:
	None

 OPTIONAL OUTPUTS:
	None

 CALLED BY:
	PLOT_TIME_DIFFS
 COMMON BLOCKS:
	None

 SIDE EFFECTS:
	None

 RESTRICTIONS:
	None

 PROCEDURE:
	This procedure finds the time stamp put on by the S/C in the first
	HK packet saved each hour and the time stamp put on by OBE in the 
	first science packet saved each hour.  It forms the difference in 
	the TAI values (seconds) and plots the difference along the Y-axis 
	against the S/C time along the X-axis.

 EXAMPLE:
	To plot the difference in times:

		PLOT_OBE_TIME, '960530'

 MODIFICATION HISTORY:
 	Written by:	RA Howard, 2 June 1996

	@(#)plot_obe_time.pro	1.1 01/23/98 LASCO IDL LIBRARY


plot_pzt_corr $SSW/soho/mdi/idl/ops/plot_pzt_corr.pro
[Previous] [Next]
NAME:
	plot_pzt_corr
PURPOSE:
	To plot the pointing correction applied by the ISS PZT mirrors
SAMPLE CALLING SEQUENCE:
	plot_pzt_corr, '1-jun', '2-jun'
	plot_pzt_corr, '1-may', '6-jun', every=500
	plot_pzt_corr, sttim, entim, /clean
	plot_pzt_corr, sttim, entim, /clean, thresh=1
	plot_pzt_corr, sttim, entim, window_clean=2
INPUTS:
	sttim	- The starting time/date
	entim	- The ending time/date
 CALLS: ***
	PAUSE [1], SETPS, UTPLOT [1], UTPLOT [2], UTPLOT [3], UTPLOT [4], UTPLOT [5]
	UTPLOT [6], anytim2ints [1], anytim2ints [2], avoid_spikes [1], avoid_spikes [2]
	data_type [1], data_type [2], get_hk_info [1], get_hk_info [2], pause [2]
	plottime [1], plottime [2], pprint [1], pprint [2], ut_time [1], ut_time [2]
 CALLED BY:
	mon_health [1], mon_health [2], new_mon_health [1], new_mon_health [2]
OPTIONAL KEYWORD INPUT:
	clean	- De-spike the data (clean it up somewhat)
	every	- Only read every N data values
	window_clean - Remove +/- "N" data points around the detected
			spikes where N is "window_clean"
	prime30	- If set, only take data points which were sampled
		  during PRIME30 structure
	qdebug	- If set, then plot the scatter plot for PRIME30 option
HISTORY:
	Written 6-Jun-96 by M.Morrison
V1.1	12-Jun-96 (MDM) - Modified the labels
			- Added closed_loop, thresh, info and window_clean options
V1.2	28-Aug-96 (MDM) - Added PRIME30 option
V1.3	30-Aug-96 (MDM) - Added /HC option
	11-Sep-96 (MDM) - Added passing daytim,xoff,yoff out
V1.4	16-Dec-96 (MDM) - Added 


PLOT_RASTER $SSW/soho/cds/idl/sci/data_handling/soho/cds/plot_raster.pro
[Previous] [Next]
 Project     : SOHO - CDS     
                   
 Name        : PLOT_RASTER
               
 Purpose     : Plot the scan positions in a raster.
               
 Explanation : Plots the mirror postion array against the slit position
               array to demonstrate the raster performed.
               
 Use         : IDL> plot_raster, a 
    
 Inputs      : a    - a valid CDS data structure.
               
 Opt. Inputs : None
               
 Outputs     : Just plots the results.
               
 Opt. Outputs: None
               
 Keywords    : None

 Calls       : ***
	CIRCLE_SYM, EXT_RANGE, FMT_VECT, GT_MIRRPOS, GT_SLITPOS, GT_START, LABEL_SYMBOL, QLMGR
	STR2UTC [1], STR2UTC [2], STR2UTC [3], TRIM, UTC2TAI
 Common      : None
               
 Restrictions: None.
               
 Side effects: None
               
 Category    : Util
               
 Prev. Hist. : None

 Written     : C D Pike, RAL, 24-may-94
               
 Modified    : Use lower level routines to save time.  CDP, 25-may-94
               Insert cal/ops test, fix tag name bug.  CDP, 15-Jun-94
               To use ext_range. CDP, 23-Jun-94
               New tag names in non-calibration QLDS, SVHH, 4-Oct-95
               Update plot.  CDP, 22-Nov-96
               Trap bad mirror/slit values.  CDP, 3-Dec-96

 Version     : Version 7, 03-Dec-96


PLOT_RESOURCE $SSW/soho/gen/idl/plan/science/plot_resource.pro
[Previous] [Next]
 PROJECT:
       SOHO - CDS/SUMER

 NAME:
       PLOT_RESOURCE

 PURPOSE:
       Plots any of given resource item on the resource row

 CATEGORY:
       Planning, Science

 EXPLANATION:
       This routine plots any of the resource items on the science
       plan display. Currently, DSN contact times, commanding times
       (throughput RCR), and delayed commanding times (payload_reserved)
       should be plotted on the same row; Other resources should be
       plotted on the other row.

 SYNTAX:
       plot_resource, resource, startdis, row

 INPUTS:
       RESOURCE - Array of structure that has at least the following
                  tags:
          RES_NAME   - Resource type (name of resource item)
          START_TIME - The beginning times of the resource item, in TAI
          END_TIME   - The end times of the resource item, in TAI

       STARTDIS - Start time of the display, in any CDS time format

 OPTIONAL INPUTS:
       None.

 OUTPUTS:
       None.

 OPTIONAL OUTPUTS:
       None.

 KEYWORDS:
       ROW      - row number in which the item is plotted (default: 0)
       COLOR    - Index of color to be used for plotting (not used for DSN)
       CHARSIZE - The character size for the text labels.  If not
                  passed, then determined from !P.CHARSIZE.

 CALLS: ***
	ANYTIM2UTC [1], ANYTIM2UTC [2], DPRINT, PLOT_DSN_27, PLOT_SUPPORT, TAG_EXIST [1]
	TAG_EXIST [2], UTC2TAI
 CALLED BY:
	PLOT_SPLAN
 COMMON:
       None.

 RESTRICTIONS:
       PLOT_FRAME must be called first.

 SIDE EFFECTS:
       None.

 HISTORY:
       Version 1, August 2, 1995, Liyun Wang, GSFC/ARC. Written
       Version 2, August 14, 1995, Liyun Wang, GSFC/ARC
          Changed positional parameter ROW to keyword parameter
       Version 3, November 10, 1995, Liyun Wang, GSFC/ARC
          Changed so that a fixed of %5 distance of top subrow and
             bottom subrow to the edge of the row is reserved
	Version 4, William Thompson, GSFC, 8 April 1998
		Changed !D.N_COLORS to !D.TABLE_SIZE for 24-bit displays
	Version 5, Ron Yurow, EITI, 5 October 2001
		Added code to call PLOT_DSN_27 to plot DSN 27 passes.

 CONTACT:
       Liyun Wang, GSFC/ARC (Liyun.Wang.1@gsfc.nasa.gov)


PLOT_SCI_TLM $SSW/soho/cds/idl/sci/engineering/plot_sci_tlm.pro
[Previous] [Next]
 Project     : SOHO - CDS     
                   
 Name        : PLOT_SCI_TLM
               
 Purpose     : Demonstrates science content of CDS telemetry
               
 Explanation : 
               
 Use         : IDL> plot_sci_tlm, timerange=timerange
    
 Inputs      : None
               
 Opt. Inputs : None
               
 Outputs     : None
               
 Opt. Outputs: None
               
 Keywords    : TIMERANGE - specify 2-element strarr

 Calls       : ***
	CDS_UTPLOT, CIRCLE_SYM, CONCAT_DIR [1], CONCAT_DIR [2], CONCAT_DIR [3], LAST_ITEM
	STR2UTC [1], STR2UTC [2], STR2UTC [3], concat_dir [4]
 Common      : None
               
 Restrictions: None
               
 Side effects: None
               
 Category    : Engineering
               
 Prev. Hist. : None

 Written     : C D Pike, RAL, 26-Jul-96
               
 Modified    : 

 Version     : Version 1, 26-Jul-96


plot_shutter_perf $SSW/soho/mdi/idl/ops/plot_shutter_perf.pro
[Previous] [Next]
NAME:
	plot_shutter_perf
PURPOSE:
	To plot the pointing correction applied by the ISS PZT mirrors
SAMPLE CALLING SEQUENCE:
	plot_shutter_perf, '1-may', '6-jun', every=30
INPUTS:
	sttim	- The starting time/date
	entim	- The ending time/date
 CALLS: ***
	LOADCT, SSW_FILE_DELETE, UTPLOT [1], UTPLOT [2], UTPLOT [3], UTPLOT [4], UTPLOT [5]
	UTPLOT [6], anytim2ints [1], anytim2ints [2], avoid_spikes [1], avoid_spikes [2]
	data_type [1], data_type [2], fmt_tim [1], fmt_tim [2], get_hk_info [1]
	get_hk_info [2], plottime [1], plottime [2], tv2 [1], tv2 [2], ut_time [1]
	ut_time [2], zbuff2file [1], zbuff2file [2]
OPTIONAL KEYWORD INPUT:
	every	- Only read every N data values

HISTORY:
V1.0	23-May-2001 (RIB) - Based on plot_pzt_corr
V1.1	22-Jul-2003 (RIB) - Added avoid_spikes to remove bad points


PLOT_SLIT_OFFSETS $SSW/soho/cds/idl/sci/engineering/plot_slit_offsets.pro
[Previous] [Next]
 Project     : SOHO - CDS     
                   
 Name        : PLOT_SLIT_OFFSETS
               
 Purpose     : Demonstrates Y-pixel offsets for different slits.
               
 Explanation : Owing mainly to machining errors of the CDS plate
               the centres of the various slits are not co-aligned
               when each is at its home position.  This has the consequence
               that images taken with different slits will not be aligned
               spatially.  This plot demonstrates the current offsets thought
               to be applicable.
               
 Use         : IDL> plot_slit_offsets
    
 Inputs      : None
               
 Opt. Inputs : None
               
 Outputs     : None
               
 Opt. Outputs: None
               
 Keywords    : None

 Calls       : ***
	CIRCLE_SYM
 Common      : None
               
 Restrictions: None
               
 Side effects: None
               
 Category    : Engineering
               
 Prev. Hist. : None

 Written     : C D Pike, RAL, 12-Sep-97 
               
 Modified    : 

 Version     : Version 1, 12-Sep-97


PLOT_SPEC [2] $SSW/soho/cds/idl/sci/data_anal/ql/line_fit/plot_spec.pro
[Previous] [Next]
 Project     : SOHO - CDS     
                   
 Name        : PLOT_SPEC
               
 Purpose     : To display a single spectrum from a data cube with user
               selectable inputs.
               
 Explanation : The procedure takes a data structure (or fits file name) and
               lists a summary of the data available in it. It then offers
               the user a variety of options in order to specify the exact
               details of the spectrum required (eg. band or window, raster,
               det-y, and wavelength or pixel range).
               
 Use         : IDL> plot_spec,file_str
    
 Inputs      : file_str   -  either:-   the name of a CDS FITS file
                                 or:-   the name of a CDS data structure
                                (a data structure is the faster option!)
               
 Opt. Inputs : None
               
 Outputs     : None (just plots a spectrum in the default window)
               
 Opt. Outputs: None
               
 Keywords    : None

 Calls       : ***
	CONCAT_DIR [1], CONCAT_DIR [2], CONCAT_DIR [3], DATATYPE [1], DATATYPE [2]
	DATATYPE [3], DEV_PS, FILE_EXIST [2], GT_SPECTRUM, GT_WLIMITS, OUT_PS, QLMGR
	READCDSFITS, YDECODE, concat_dir [4], file_exist [1], file_exist [3]
 Common      : None
               
 Restrictions: None
               
 Side effects: None
               
 Category    : Data_handling, FITS
               
 Prev. Hist. : None

 Written     : B J Kellett, 15-Nov-95.
               
 Modified    : 

 Version     : Version 1, 15-Nov-95.


PLOT_SPLAN $SSW/soho/gen/idl/plan/science/plot_splan.pro
[Previous] [Next]
 Project     :	SOHO - CDS/SUMER

 Name        :	PLOT_SPLAN

 Purpose     :	Plot SOHO SCIENCE plan for a given date range.

 Explanation :

 Use         :	PLOT_SPLAN

 Inputs      :	

 Opt. Inputs : T1,T2 = range of date/time values to plot

 Outputs     :	None.

 Opt. Outputs:	None.

 Keywords    :
               OVER     = overlay on existing plot.
          	CHARSIZE = charsize for text labels.
               COLOR    = Instrument color structure whose tag names are
                          names of SOHO instruments. Values for those tags
                          correspond to color indices to be used for plotting
                          science plans for those instrument. If COLOR is not
                          passed in, color #1 will be used for all instrument
               WINDOW   = window index for output
               LOCAL    = LOCAL
               NOW      = plot current time
               PLAN_ITEMS = plan items to be plotted
               RES_ITEMS = resources (e.g., MDI, S/C Maneuver) to be plotted
               ROW_COLORS = row color array = [color1,color2...] up to NITEMS
                           (only useful for overriding COLOR)
               UCOLOR = color to highlight un-time-tagged entries
               DTYPE  = set for SOHO-DETAILED plan
               NOCOLOR = if set, then color is switched off

 CALLS: ***
	ANYTIM2TAI, DATATYPE [1], DATATYPE [2], DATATYPE [3], EXIST, GET_INST_COLOR
	GET_PLAN_ITIME, GET_SOHO_INST, GET_SOHO_ROLL, GET_UTC, GREP, MKLOG, PLOT_ITEM
	PLOT_RESOURCE, REVERSE, SMART_WINDOW, TAG_EXIST [1], TAG_EXIST [2], TAI2UTC, UTC2TAI
 CALLED BY:
	MK_CDS_PLAN, MK_PLAN_FORM, MK_PLAN_PLOT, MK_SOHO
 Common      :	MK_PLAN_SHARED

 Written     :	Dominic Zarro (ARC)

 Modified:   : Liyun Wang, GSFC/ARC, April 24, 1995
                  Added keyword ITEMS
               Liyun Wang, GSFC/ARC, April 25, 1995
                  Added keyword RESOURCES
               Zarro, GSFC/ARC, May 1, 1995
                  Changed SCI_OBJ to SCI_SPEC in CDS timeline plot
               Liyun Wang, GSFC/ARC, August 24, 1995
                  Plotted plan items color coded for each instrument
               Liyun Wang, GSFC/ARC, January 24, 1996
                  Fixed a bug that won't plot resources in the bottom row
               Liyun Wang, GSFC/ARC, March 1, 1996
                  Took out thick=1 restriction when plotting
                     day-boundary lines 
               Liyun Wang, GSFC/ARC, Liyun Wang, GSFC/ARC
                  Plotted XTITLE with a truncated 1-sec accuracy
               Liyun Wang, GSFC/ARC, Liyun Wang, GSFC/ARC
                  Change X title to VMS time format
               Zarro, GSFC/SAC, 1 August 1997
                  Added optional T1,T2 arguments
		Yurow, Ronald  EITI, 5 October 2001\
		   Added line to plot DSN 27 passes if DSN-27 resource
		   exists.
               Zarro (EER/GSFC), July 6, 2003 - added call to GET_SOHO_ROLL

 Version     :	Version 10, 5 October 2001


PLOT_STYLE $SSW/soho/sumer/idl/atest/plot_style.pro
[Previous] [Next]
  NAME : PLOT_STYLE
  
  PURPOSE : Select plot style
 
  INPUTS :
        STYLE     style number 
 
                 0 : default setting
                 1 : charsize =1.2 / charthick=2.
                     font = complex roman, ticklen=0.03
                     minor ticks :suppressed
                 2 : charsize =1.2 / charthick=2.
                     font = complex roman, ticklen=-0.03
                     minor ticks :suppressed, ticks :outward

 CALLED BY
	SUMER_TOOL


PLOT_SUBHTR $SSW/soho/lasco/idl/packets/plot_subhtr.pro
[Previous] [Next]
 NAME:
	PLOT_SUBHTR

 PURPOSE:
	This procedure plots the LASCO and EIT substitution heater status

 CATEGORY:
	LASCO PACKETS

 CALLING SEQUENCE:
	PLOT_SUBHTR,Svmhk1

 INPUTS:
	Svmhk1:	An array of the telemetry packets from SVMHK1.  It should
		have been read in using READ_TM_PACKETS with the NO_HDR
		switch set.

 KEYWORD PARAMETERS:
	SINGLE:	A parameter from 1 to 3, indicating the plot number.  The default
		is to plot all three plots too quickly to be of any use except
		if the output is going to the printer.

	NOCONVERT:	If set then don't convert the DN to engineering units
		The default is to do the conversion.

	SAVE:	A gif file will be written to the ftp directory on lasco6 for web access

	UTIME:	If set, then the UTC time get put into it.
	Relays:	If set, then the state of the relays get put into it.  It would be an
		integer array (npts,nplot)  where nplot is either 3, 2 or 5 depending upon
		how many relays are being plotted and npts is the number of samples.

 PROCEDURE:
	The TM files can be from DACS or from ECS.  At this point, there is no
	difference as long as the NO_HDR option was used in READ_TM_PACKET.

	The plots are:
		1	LASCO Nominal subsitition heater (along with GOLF and Virgo)
		2	EIT Nominal substitution heater (along with SUMER and CELIAS)
		3	LASCO and EIT redundant substitution heaters
		4	LASCO and EIT substitution heater relays settings
		5	LASCO and EIT substitution heater relays dutycycle

 CALLS: ***
	CNVRT_CURRENT, OBT2TAI, OUTPLOT [1], OUTPLOT [2], OUTPLOT [3], PICKFILE, TAI2UTC
	UTC2STR, UTC2TAI, UTC2YYMMDD, UTPLOT [1], UTPLOT [2], UTPLOT [3], UTPLOT [4]
	UTPLOT [5], UTPLOT [6], UTSTRING, WRITE_GIF
 EXAMPLE:
	To plot the first plot type of the LASCO substitution heater on the nominal side.
		PLOT_SUBHTR,svmhk1,single=1

 MODIFICATION HISTORY:
 	Written by:	R.A. Howard, 1994.
	Sep 17, 1998	RAH.  Modified for ECS and DACS usage.
	Sep 20, 1998	RAH.  Corrected the relay setting plots.  Added relay dutycycle plot
				Added relay plot.  Added save to gif option.  Added return of
				relay and utc arrays.
	Sep 22, 1998	RAH.  Added 11 point median filter to Plot type 5
	Sep 24, 1998	RAH.  Check of packet times, changed position of labels.

	@(#)plot_subhtr.pro	1.7 09/24/98 LASCO IDL LIBRARY


PLOT_SUPPORT $SSW/soho/gen/idl/plan/science/plot_support.pro
[Previous] [Next]
 Project     :	SOHO - CDS

 Name        :	PLOT_SUPPORT

 Purpose     :	Plots ground support times on science plan.

 Explanation :	This routine plots the times of available ground support at
		several places around the world in the appropriate space within
		the science plan display.  A line is drawn showing the range of
		times of daylight at various areas, with noon marked, and the
		title of the area displayed next to the line.

 Use         :	PLOT_SUPPORT, LABEL, T1, T2, ROW

 Inputs      :	LABEL	= Array containing the labels for the different ground
			  observatory areas, e.g.

				LABEL = ['Canaries','West U.S.','Hawaii'].

		T1	= Start time for each observatory area.
		T2	= End time for each observatory area.
               ROW     = row in which to plot data

 Opt. Inputs :	None.

 Outputs     :	None.

 Opt. Outputs:	None.

 Keywords    :	CHARSIZE = The character size for the text labels.  If not
			   passed, then determined from !P.CHARSIZE.
               COLOR = color to plot
		TN	= Time of local noon for each observatory area.

 Calls       : ***
	EXIST, UNIQ [1], UNIQ [2], UNIQ [3]
 CALLED BY:
	PLOT_RESOURCE
 Common      :	None.

 Restrictions:	All the input arrays must have the same number of dimensions.
		PLAN_FRAME must be called first.

 Side effects:	None.

 Category    :	Planning, Science.

 Prev. Hist. :	None.

 Written     :	William Thompson, GSFC, 15 July 1993.

 Modified    :	Version 1, William Thompson, GSFC, 15 July 1993.
             :	Version 2, Dominic Zarro GSFC, 29 June 1995.
                --changed name to PLOT_SUPPORT and added ROW argument
               Version 3, Liyun Wang, GSFC/ARC, August 4, 1995
                  Made Tn as an optional keyword
		Version 4, William Thompson, GSFC, 8 April 1998
			Changed !D.N_COLORS to !D.TABLE_SIZE for 24-bit displays

 Version     : Version 4, 8 April 1998


PLOT_TEMP_POS $SSW/soho/cds/idl/sci/engineering/plot_temp_pos.pro
[Previous] [Next]
 Project     : SOHO - CDS     
                   
 Name        : PLOT_TEMP_POS
               
 Purpose     : Demonstrates temperature dependence of NIS wavecal
               
 Explanation : 
               
 Use         : IDL> plot_temp_pos
    
 Inputs      : None
               
 Opt. Inputs : None
               
 Outputs     : None
               
 Opt. Outputs: None
               
 Keywords    : None

 Calls       : ***
	CDS_OUTPLOT, CDS_UTPLOT, CDS_UTSTRING, CIRCLE_SYM, CONCAT_DIR [1], CONCAT_DIR [2]
	CONCAT_DIR [3], STR2UTC [1], STR2UTC [2], STR2UTC [3], concat_dir [4]
 Common      : None
               
 Restrictions: None
               
 Side effects: None
               
 Category    : Engineering
               
 Prev. Hist. : None

 Written     : C D Pike, 11-Jul-96
               
 Modified    : Change utplot name.  CDP, 2-Oct-96
               Added velocity error bar.  CDP, 29-Oct-96

 Version     : Version 3, 29-Oct-96


plot_temps2 [1] $SSW/soho/lasco/idl/packets/plot_temps2.pro
[Previous] [Next]
 Procedure: plot_temps2,hk,timeint,single=single

     hk = array of all monitors from HK TLM stream generated by DACS 
     timeint = 2 word array giving the start and end times for the plot 
 

 CALLS: ***
	CNVRT_TEMPS, UTC2STR, UTPLOT [1], UTPLOT [2], UTPLOT [3], UTPLOT [4], UTPLOT [5]
	UTPLOT [6], getcputime, gethkn
 EXAMPLE:	 
    IDL> hk = readallhk('971022') or hk = readallhk('971022_1', /ecs)
    IDL> plot_temps2, hk or plot_temps2, hk, ['1997/10/22 16:00','1997/10/22 20:00']


 KEYWORD:
          single        plot
            0           all zones
            1           LEB PC 
            2           FP APZ
            3           C2 Th 1
            4           C2 Th 2
            5           C2 Th 3 
            6           C3 Th 1
            7           C3 Th 2
            8           Zone 1
            9           Zone 2
           10           Zone 3
           11           Zone 4
           12           Zone 5
           13           EIT Zone 6
           14           EIT Zone 7

 HISTORY:
 offset the beginning of HK before LASCO HK information begins 
 
  modified for byte version of hk

 VERSION:
 01/01/97 	S. Stezelberger -  adjusted yrange limits
 10/15/99   	D. Wang  - Added Eit Zone 6 and 7 and output var v

 @(#)plot_temps2.pro	1.2 10/15/99 : NRL LASCO IDL LIBRARY


plot_thetas im xc yc th HDRhdr INTRVALintrval RANGErange SDIRsdir ROOTroot SAVEsave PIXELSpixels OCCocc RSUNrsun OVERPLOToverplot YTITLEytitle XRANGExrange YRANGEyrange THICKNESSthickness $SSW/soho/lasco/idl/util/plot_thetas.pro
[Previous] [Next]
FUNCTION: plot_thetas, im, xc, yc, th, HDR=hdr, INTRVAL=intrval, RANGE=range, SDIR=sdir, ROOT=root, SAVE=save, PIXELS=pixels, OCC=occ, RSUN=rsun, OVERPLOT=overplot, YTITLE=ytitle, XRANGE=xrange, YRANGE=yrange, THICKNESS=thickness

 Purpose:
 generates values of plots starting at a given center for different thetas

 INPUTS:
  im:   	2D array
  xc, yc:	Center of plot in IDL pixels
  th:		(first) angle to plot

 KEYWORDS
  INTRVAL:	Interval of Thetas to test (ie, 2 means plot every other angle)
  HDR:		LASCO or EIT image header (structure)
  RANGE:	range of angles to test (Degrees). Default is 180.
  SDIR:		Directory to save plots in
  ROOT:		Identifier for plot filenames
  RSUN:	Label in units of solar radii from center (needs HDR set)
  START:	First angle to plot (default is 0, defined as right equator)
  OCC:		Use occulter center instead of sun center (if HDR is set)
  RMAX:	Length of each ray computed; default is sqrt(naxis1)/2
  OVERPLOT:	Use oplot instead of plot
  YTITLE:	Units of values in im (string)

 CALLS: ***
	GET_PROFILEM, GET_SEC_PIXEL, GET_SUN_CENTER [1], GET_SUN_CENTER [2]
	GET_SUN_CENTER [3], OCCLTR_CNTR, PLOT_THETAS, SOLAR_EPHEM, WRITE_GIF
 RESTRICTIONS:
  Must have window 0 for image and window 2 for plot open

 Written by N. Rich, NRL/Interferometrics

 Modified
  8/21/02, N. Rich - Make general rather than using header for center

 08/29/02 @(#)plot_thetas.pro	1.1


PLOT_TIME_DIFFS $SSW/soho/lasco/idl/packets/plot_time_diffs.pro
[Previous] [Next]
 NAME:
	PLOT_TIME_DIFFS

 PURPOSE:
	This procedure plots the time differences between LASCO HK time,
	S/C time and OBE time.

 CATEGORY:
	LASCO PACKETS

 CALLING SEQUENCE:
	PLOT_TIME_DIFFS,Dte

 INPUTS:
	Dte:	A string giving the date to be plotted, YYMMDD.

 OPTIONAL INPUTS:
	None
	
 KEYWORD PARAMETERS:
	None

 OUTPUTS:
	None

 OPTIONAL OUTPUTS:
	None

 CALLS: ***
	PLOT_HK_TIME, PLOT_OBE_TIME
 COMMON BLOCKS:
	None

 SIDE EFFECTS:
	None

 RESTRICTIONS:
	None

 PROCEDURE:
	This procedure uses the routines, PLOT_OBE_TIME, and PLOT_HK_TIME
	and puts the two plots onto a single page.

 EXAMPLE:
	To form the plots:

		PLOT_TIME_DIFFS, '960530'

 MODIFICATION HISTORY:
 	Written by:	RA Howard, 2 June 1996

	@(#)plot_time_diffs.pro	1.1 01/23/98 LASCO IDL LIBRARY


plot_trav [1] $SSW/soho/mdi/idl_old/gen/ys_util/plot_trav.pro
[Previous] [Next]
NAME:
	plot_trav
PURPOSE:
	To plot the travel plans for the SXT team at ISAS.  User has 
	ability to interactively expand the plot over a given time period.
CALLING SEQUENCE:
	plot_trav		;plot all sxt people, full time range
	plot_trav, /sxt		;plot all sxt people, full time range
	plot_trav, /bcs		;plot all bcs people, full time range
	plot_trav, '1-jan-91', '1-jan-92'	;all people for 1991
	plot_trav, /lparl_ops
	plot_trav, /noplot_n
	plot_trav, infil='travel_loren.txt'
	plot_trav, /dates
OPTIONAL INPUT:
	p_st_day- The starting day to plot.  If undefined, plot
		  from first day of data.
	p_en_day- The ending day to plot. If undefined, plot to
		  last day of data.
 CALLS: ***
	CLEAR_UTPLOT [1], CLEAR_UTPLOT [2], RD_TRAVEL, TRAV_ASSIGN_GRP, UNIQ [1], UNIQ [2]
	UNIQ [3], UTPLOT [1], UTPLOT [2], UTPLOT [3], UTPLOT [4], UTPLOT [5], UTPLOT [6]
	anytim2ex [1], anytim2ex [2], anytim2ints [1], anytim2ints [2], fmt_tim [1]
	fmt_tim [2], int2secarr [1], int2secarr [2], plot_lcur [1], plot_lcur [2]
	plottime [1], plottime [2], pprint [1], pprint [2]
 CALLED BY:
	quick_plottrav
OPTIONAL KEYWORD INPUT:
	trav_arr- The structure which holds the travel information.
		  If undefined, read the data
	lparl_ops- If set, only plot the key LPARL operations 
		  personnel.
	nozoom	- If set, do not allow interactive zooming 
	noplot_n- If set, do not plot a summary of the number of
		  personnel present at ISAS.
	sxt	- If set, use the SXT team file
	bcs	- If set, use the BCS team file
	infil	- Read the travel information from this file
	dates	- If set, print the starting and ending date of the travel
		  on the plots
	ops	- If set, plot the OPS people (LPARL plus Co-I)
	noclear - If set, do not call CLEAR_UTPLOT at the end of the routine
	apartments- If set, print the assigned apartment number.
	only_lparl - If set, only list LPARL or LTSC people
	nomark	- If set, don't mark the current time
HISTORY:
	Written 29-Apr-92 by M.Morrison
	22-Sep-92 (MDM) - Added /SXT and /BCS
			- Added /YEAR switch to UTPLOT call
	22-Feb-93 (MDM) - Added Bruner to /LPARL list
	 4-Mar-93 (MDM) - Added INFIL option
	17-Mar-93 (MDM) - Added DATES option
	 1-Apr-93 (MDM) - Added /OPS option
	12-Apr-93 (MDM) - Implemented the /NOPLOT_N option
			- Added /NOCLEAR option
	 4-May-93 (MDM) - Modified DATES option to print the proper ending date
			  of the travel.  It was off by one.
	22-Sep-93 (MDM) - Minor mod (tit=' ' for # people at isas plot)
	 2-Nov-93 (RDB) - Small correction of name alignment on y-axis; got rid of "0" at top
	 8-Nov-93 (MDM) - Added Handey and Alexander to OPS and LPARL listing
	 7-Feb-94 (MDM) - Changed calls to UTPLOT because of changes to UTPLOT
	 2-Jun-94 (GAL)	- Changed hardcopy calls to pprint from lprint.
	 8-Jun-94 (GAL) - Added apartments option and reorganized database.
	 3-Aug-94 (MDM) - Added /ONLY_LPARL option
        3-Aug-94 (GAL) - Added Weber to OPS and LPARL listings
	 8-Aug-94 (MDM) - Changed plot command to not use ytickname and to draw the
			  labels myself (since there are over 31)
	 3-Nov-94 (JRL) - Fixed tick label software. Added nomark keyword. Fixed overplotting
			  of y-axis by the year boundary markers.
       20-Feb-95 (JRL) - Added Shing to OPS and LPARL listings
	28-Sep-95 (GAL) - Added Serge to OPS and LPARL listings


PLOT_UTFRAME $SSW/soho/gen/idl/plan/science/plot_utframe.pro
[Previous] [Next]
 PROJECT:
       SOHO - CDS/SUMER

 NAME:
       PLOT_UTFRAME

 PURPOSE: 
       Plots frame for science planning tool

 CATEGORY:
       Planning, Science
 
 EXPLANATION:
       This routine is used by the science planning tool to plot the
	frame within which the plan will be drawn. Time marks are
	properly made.
       
 SYNTAX: 
       plot_utframe, t1, t2, basetime

 INPUTS:
       T1, T2	 - The beginning and end time of the plot, in hours
       BASETIME - Base time, in any CDS time format

 OPTIONAL INPUTS: 
       None.

 OUTPUTS:
       None.

 OPTIONAL OUTPUTS:
       None.

 KEYWORDS: 
       CHARSIZE - The character size for the text labels.  If not
		   passed, then determined from !P.CHARSIZE.
	XTITLE	 - An optional ASCII string to be the X-axis title.
	LOCAL	 - If set, then also show the local time across the top
		   of the figure.  It is assumed that T1 and T2 are in
		   UTC.
       YLABELS  - ylabels to go with each row

 CALLS: ***
	BLANK, EXIST, LOCAL_DIFF, MK_TIMETICK
 COMMON:
       None.

 RESTRICTIONS: 
       None.

 SIDE EFFECTS:
       None.

 HISTORY:
       Version 1, May 8, 1996, Liyun Wang, GSFC/ARC. Written
          Modified from PLOT_FRAME by William Thompson, GSFC
       Version 2, May 10, 1996, Liyun Wang, GSFC/ARC
          Plotted local time separately in the same way as UT

 CONTACT:
       Liyun Wang, GSFC/ARC (Liyun.Wang.1@gsfc.nasa.gov)


PLOT_VDS_BIAS $SSW/soho/cds/idl/sci/data_handling/soho/cds/plot_vds_bias.pro
[Previous] [Next]
 Project     : SOHO - CDS     
                   
 Name        : PLOT_VDS_BIAS
               
 Purpose     : Plot VDS CCD bias levels 
               
 Explanation : The VDS CCD is readout by more than one set of electronics.
               Each set has its own bias level and a knowledge of this
               value is needed for complete analysis of the data.  Normally,
               NIS rasters are designed to include bias window data.
               The values are stored in the QLDS read by READCDSFITS under
               the tag structure .BACKGROUND.  
               
 Use         : plot_vds_bias, qlds [,quad=quad, time=time, avg=avg]
    
 Inputs      : qlds - a valid QL data structure read in by readcdsfits
               
 Opt. Inputs : None
               
 Outputs     : None
               
 Opt. Outputs: None
               
 Keywords    : QUAD - an array to specify which quadrant backgrounds are to
                      be plotted.  Default is [1,2,3,4]

               TIME - if specified the values are plotted against time of the
                      exposure rather than exposure number.

               AVG  - returns average background per quadrant.

 Calls       : ***
	ANYTIM2UTC [1], ANYTIM2UTC [2], AVERAGE, BREAK_FILE [1], BREAK_FILE [2]
	BREAK_FILE [3], CDS_OUTPLOT, CDS_UTPLOT, CIRCLE_SYM, DATATYPE [1], DATATYPE [2]
	DATATYPE [3], EXT_RANGE, GT_START, LAST_ITEM, PLOT_ERR, TRIM, break_file [4]
 Common      : None
               
 Restrictions: None
               
 Side effects: None
               
 Category    : Data analysis
               
 Prev. Hist. : None

 Written     : C D Pike, RAL, 18-Mar-96
               
 Modified    : Enlarge axis labelling and add AVG keyword.    CDP, 12-Apr-96
               Add filename to plots.   CDP, 5-Aug-96
               Changed name to ..._bias.  CDP, 14-Aug-96
               Change utplot name.  CDP, 2-Oct-96

 Version     : Version 5, 2-Oct-96


PLOT_WINDOWS $SSW/soho/cds/idl/sci/data_handling/soho/cds/plot_windows.pro
[Previous] [Next]
 Project     : SOHO - CDS     
                   
 Name        : PLOT_WINDOWS
               
 Purpose     : Plot the data extraction windows in a raster.
               
 Explanation : Plots the data extraction windows used in a raster for
               illustrative purposes.  Can work from a CDS data structure
               or directly from a FITS file. The window plotted in is sized
               so that if the image data (VDS) are plotted in a window with
               xs=1024, the scale of the two plots will correspond approx.
               
 Use         : IDL> plot_window, file_str 
    
 Inputs      : file_str  - a valid CDS data structure or FITS file name.
               
 Opt. Inputs : None
               
 Outputs     : Just plots the results.
               
 Opt. Outputs: None
               
 Keywords    : TITLE - string to use as title to plot.

 Calls       : ***
	DATATYPE [1], DATATYPE [2], DATATYPE [3], FILL_BOX, GT_WLIMITS, PS_LONG [1]
	PS_LONG [2], PS_LONG [3]
 Common      : None
               
 Restrictions: For calibration FITS files. Looks in user directory and
               then CDS_CAL_FITS FOR FITS FILES.
               
 Side effects: None
               
 Category    : Util
               
 Prev. Hist. : None

 Written     : C D Pike, RAL, 27-may-94
               
 Modified    : 

 Version     : Version 1, 27-May-94


plot_xy $SSW/soho/lasco/idl/display/plot_xy.pro
[Previous] [Next]
 Project     : SOHO - LASCO

 Name        : 

 Purpose     : 

 Category    : 

 Explanation : 

 Syntax      : 

 CALLED BY:
	WPLOT, WPLOT1, WSAVE_PS [2], WSUNPROFILE
 Examples    : 

 Inputs      : None

 Opt. Inputs : None

 Outputs     : None

 Opt. Outputs: None

 Keywords    : None

 Common      : 

 Restrictions:                                  

 Side effects: Not known

 History     : Version 1, 02-Sep-1995, B Podlipnik. Written

 Contact     : BP, borut@lasco1.mpae.gwdg.de


plotiss $SSW/soho/mdi/idl/cal/plotiss.pro
[Previous] [Next]
NAME:
	plotiss
PURPOSE:
	To plot the MDI ISS calibration test results
 CALLS: ***
	plottime [1], plottime [2], pprint [1], pprint [2]
 CALLED BY:
	mdiiss
HISTORY:
	Written by D.Mathur? in 1993?
V2.0	26-Jun-95 (MDM) - Modified to display some ratio information
V2.2   12-Jul-95 (MDM) - Reversed the Open/Closed to be Closed/Open ratios
V2.3	14-Jul-95 (MDM) - Modified how hardcopy is printed (use PPRINT)


ploty [1] $SSW/soho/mdi/idl_old/gen/ys_util/ploty.pro
[Previous] [Next]
NAME:
	ploty
PURPOSE:
	To make a light curve plot of all instruments with the same time range
CALLING SEQUENCE:
	ploty, bcs, hxt, sxt, wbs
	ploty, bcs, w_h, sxtp, w_h
	ploty, brmap, hrmap, srmap, wrmap
	ploty, '8-may-92 15:00', '8-may-92 18:40'
	ploty, infil=infil
	ploty, infil=infil, xmin='15-nov-91 22:20', xmax='15-nov-91 22:45'
INPUT:
	bcs	- The BCS roadmap, index or observing log structure array
	hxt	- The HXT roadmap, index or observing log structure array
	sxt	- The SXT roadmap, index or observing log structure array
	wbs	- The WBS roadmap, index or observing log structure array
 CALLS: ***
	BREAK_FILE [1], BREAK_FILE [2], BREAK_FILE [3], CLEAR_UTPLOT [1]
	CLEAR_UTPLOT [2], CONCAT_DIR [1], CONCAT_DIR [2], CONCAT_DIR [3], GET_NBYTES
	LPRINT, Rd_Roadmap [2], UTPLOT [1], UTPLOT [2], UTPLOT [3], UTPLOT [4], UTPLOT [5]
	UTPLOT [6], anytim2ints [1], anytim2ints [2], break_file [4], concat_dir [4]
	gt_dp_mode [1], gt_dp_mode [2], gt_filta, gt_filtb, gt_hxs [1], gt_hxs [2], gt_rbmsd
	gt_sum_h [1], gt_sum_h [2], gt_sum_l [1], gt_sum_l [2], gt_sum_m2 [1]
	gt_sum_m2 [2], gt_sxs1 [1], gt_sxs1 [2], gt_total_cnts [1], gt_total_cnts [2]
	int2secarr [1], int2secarr [2], plot_lcur [1], plot_lcur [2], plottime [1]
	plottime [2], rd_obs, rd_roadmap [1], sxt_lcur
OPTIONAL KEYWORD INPUT:
	zoom	- Allow user to interactively zoom in on time range
	option	- FUTURE USE - different plotting items
	flare	- FUTURE USE - only plot flare portion of time range or data
	sxt_filt- Integer array of 2 filters to plot the light curve for.  Default
		  is filtb = 2,4 = thin aluminum and Be
		  Values 1-6 are filter B 1-6, and 11-16 are filter A 1-6
	infil	- input a sample file name, and it will read the
		  roadmaps for those files
	big	- If set and device is 'X' window, make it 900x900
	xmin	- The starting time to plot
	xmax	- The ending time to plot
	psym	- The IDL PLOT PSYM value to use
HISTORY:
	Written 7-Jul-92 by M.Morrison
Ver 1.1 6-Oct-92 (MDM) - Added CLEAR_UTPLOT call and modified header info.


PLT_STR [1] $SSW/soho/mdi/idl_old/gen/ys_util/plt_str.pro
[Previous] [Next]
 Name: PLT_STR 

 Purpose: Plot Structure Fields Against Subscript

 Input Parameters: Structure Type (Simple or Nested) 

 Optional Input:   Pmulti - copied into !p.multi for page formatting
		    up to 5 element array [erase, colums, rows,...]

 Keyword Parameter: All - If set, then all fields are plotted
			   Number of pages produced depends on pmulti
			   If not set, user is prompted (menu) for tag
 
 Calling Sequence: PLT_STR, structure [,pmulti=pmulti, /all]

 Example PLT_STR, structure, [0,4,5], /all
	   (plots all fields of structure, 20/page, 4col/5rows)
 	  
	  PLT_STR, structure 
	   (prompts user for tags and plots until user quits)

 Restrictions: Boring for non-structures 
	        (for that matter, pretty boring for structures, too)
		Note if ALL is set while running from X-Terminal and the
		Number of tags > then the single page plot total as set by
		pmulti, then plots are overwritten
		
 Method: Straightforward (recursive for nested tags)
  


pmm [2] $SSW/soho/mdi/idl_old/gen/ys_util/pmm.pro
[Previous] [Next]
NAME: pmm
PURPOSE: print min, max of given argument (up to ten arguments)
CATEGORY: analysis
CALLING SEQUENCE: pmm,blarch	;blarch = array, image, vector, etc...
                  pmm,blarch,/mm
INPUTS: blarch
OPTIONAL INPUT PARAMETERS: none
KEYWORD PARAMETERS: /help, /mm
OUTPUTS: prints min, max of blarch.  with mm set, return the min and max
          for it too, with mm=FLTARR(2,N) for N positional parameters.
 CALLS: ***
	DOC_LIBRARY
 CALLED BY:
	HSI_EVENTLIST_TEST, HSI_EVFILE_TEST, HSI_IMAGE_TEST [2]
	HSI_IMAGE_TEST__define, OBS_PLOT, READ_TRACE_FOV, VIEW_TRACE_MOSAIC, azi_calc
	azimuth_teem [2], fit_gcross, fudge_scale, hsi_count_rebin, rd_hk [1], rd_hk [2]
	ssw_build_trace, sxl2radiance, sxt_erg_per_dn
COMMON BLOCKS: none
SIDE EFFECTS: none
RESTRICTIONS: none
PROCEDURE: simple min, max call
MODIFICATION HISTORY: ANM 910507. Updated 911031. Doc'd DKL 930426


point_filter $SSW/soho/lasco/idl/data_anal/point_filter.pro
[Previous] [Next]
 
 NAME:
	point_filter

 PURPOSE:
	This procedure filters out the pixels which are brighter than
	the area in which they are found.

 CALLING SEQUENCE:
	point_filter,indata,bw,tol,niter,outdata,outpts

 INPUTS:
	indata  = 2-dim array of data to be filtered
	bw	= width of square filter box - must be ODD, recommended
		  value 5.
	tol	= scaling factor to controll how bright the point
		  is before being replaced, recommended value 7.
	niter	= number of time to repeat the process

 OUTPUTS:
	outdata = the filtered array
	outpts	= the value and location of the points removed from
		  the indata array.  outpts is an (n,3) array.
		  n is the number of points subtracted; ,0 is the data
		  value (indata - outdata) with pixel coordinates of
		  x=,1, and y=,2.
 CALLS: ***
	FILTER_IMAGE
 CALLED BY:
	EDITFRAME, MKMOVIEM, MK_IMG, POLARIZ_CALC, SHARPEN, WRUNMOVIE [2], XEDITFRAME
 PROCEDURE:
	Uses filter_image to calculate the mean, median, and variance
	over a square box of size bw.  For those point which differ from
       the mean by more than tol*standard deviation, replace the value
       with the median.  Finally, fill the outpoint array with the 
       subtracted values and pixel coordinates.

  MODIFICATION HISTORY:
	Written by Mike Andrews LASCO/NRL/HUGHES STX  12 Feb 1996.
       Modified by MDA 20 Mar 1996 to reduce memory requirement by
		reusing the hold array.
	Modified by MDA 26 Feb 97 to calculate x and y correctly.


pointing $SSW/soho/mdi/idl/cal/pointing.pro
[Previous] [Next]
NAME:
	pointing
CALLING SEQUENCE:
	ctr=pointing(img,res,threshold=thre,/hr)
INPUT:
	img:  2-dimensional image (= data to calculate center & radius of)
 CALLS: ***
	CURVEFIT, FUNCT, tbeep [1], tbeep [2], tbeep [3]
 CALLED BY:
	mdi_display, monitor_center [1]
OPTIONAL KEYWORD INPUT:
	threshold:  intensity value to use in defining circumference (limb);
		if not supplied, default of 15% of maximum value is used
	hr:  img is HR exposure, use appropriate first guess of radius..
OUTPUT:
	ctr:	fltarr(3) = [X-centercoord.,Y-centercoord.,radius] in pixels
	res (optional):  fltarr(count), where count=number of circumference 
		pixels = the fitresult to the circumference (ideally, for a 
		perfectly circularly symmetric image which has been perfectly 
		fitted, it's a sinusoid with ZERO amplitude...)
PURPOSE:
	calculates center coordinates and the radius of a circular
	image (filled disk) - typically a FD solar image from MDI
METHOD:
	- obtains circumference pixels defined by a given threshold
	  (intensity-)value
	- makes a "first guess" of coordinates & radius (WHERE THE DISK
	  IS ASSUMED TO FILL 95% OF THE FOV - OPTIMIZED FOR MDI FOR WHICH
	  THE METHOD IS PRETTY ROBUST) where the method depends on the 
	  severeness of an eventual off-center situation
	- using above guesses, fits a circle to the circumference pixels
	  with 'curvefit' (two iterations thereof)
EXTERNAL PROCEDURES NEEDED:
	uses curvefit (required function 'funct' is supplied in present file)

HISTORY:
       Written 1993 by I.Zayer
	??-Dec-96  (IZ) - improved "first guess" method to be more robust in
			  cases of extreme off-centering (made use of expected
			  solar radius in space to be fast)
			- added documentation..
	 7-Mar-96 (IZ) - put the Dec-96 mod version online
	 7-Mar-96 (MDM) - Corrected typo in header which caused routine to not
			  compile
	22-Apr-96 (IZ) - included HR option (keyword) / use floats throughout
	 4-Sep-96 (MDM) - Added CONTRAST_V option to allow finding of the
			  limb for high contrast images.  Needed for LOI-C
			  limb fitting (have to pass a value of 0.4)
			- Added /QSTOP


POINTING3 $SSW/soho/lasco/idl/astrometry/ephemeris/pointing3.pro
[Previous] [Next]
 PROJECT:
	SOHO - LASCO
 NAME:
	POINTING3

 PURPOSE:
       Widget interface to display LASCO pointing information.

 CATEGORY:
	Widgets.

 CALLING SEQUENCE:
	Pointing3

 INPUTS:

 OPTIONAL INPUTS:
	
 KEYWORD PARAMETERS:

 OUTPUTS:

 OPTIONAL OUTPUTS:

 CALLS: ***
	AD2XY, ANYTIM2UTC [1], ANYTIM2UTC [2], ARROW, CDS2JD, COCO_J2000, CW_BSELECTOR, EXTAST
	GET_ORBIT_CDF, POINT_EVENT, RD_CATALOG, SXPAR [1], SXPAR [2], SXPAR [3], TAI2UTC
	TVCIRCLE, UTC2TAI, XDISPLAYFILE [1], XDISPLAYFILE [2], XMANAGER, sohoephem
 COMMON BLOCKS:
	lasco.com, chandle.com

 SIDE EFFECTS:

 RESTRICTIONS:

 PROCEDURE:

 EXAMPLE:

 MODIFICATION HISTORY:
 	Written by:	Simon Plunkett, May 1995.
	November 1995: Major revision--adapted to use FITS keywords
		and do gnomonic projections. Got rid of (almost) all
		common blocks. SPP.
	December 1995: Included distortion effects in C2.
		       Tidied up format statements.
		       Made compatible with V1.0 of LASCO display
		       s/w. SPP.
	April 1996: Adapted to use SOHO orbit parameters from CDF
		    files. SPP.
	011219, NR - Fix second call to sohoephem

	12/19/01, @(#)pointing3.pro	1.2 - IDL LASCO NRL Library


polariz $SSW/soho/lasco/idl/polariz/polariz.pro
[Previous] [Next]
@(#)polariz.pro	1.8 03/05/01 - NRL IDL Library

PURPOSE: POLARIZ.PRO defines a^2, a0^2, and mu

 assumption: e1, e2, e3 in that order around the horizontal axis
further assumption e1 = -60, e2 = 0, e3 = +60

 KEYWORDS: /Diff = input images are differenced images, do not adjust for bias or exposure times

 HISTORY
  1 Feb 2000   DW - Modified for lack of C3 +0 filter 
  7 Jun 2000   DW - Added seqno and datatype input vars
 CALLS:
 CALLED BY
	do_polariz


POLARIZ_CALC $SSW/soho/lasco/idl/polariz/polariz_calc.pro
[Previous] [Next]
 NAME:
	POLARIZ_CALC

 PURPOSE:
	
	This function produces the Stoke I, Q, U and parameters derived
       from them such as polarization angle, pB 
       Vignetting , point filtering is also done here

 CATEGORY:
	Data Analysis

 CALLING SEQUENCE:

       POLARIZ_CALC,j0,j1,j2,j3,filter0,filter1,filter2,filter3,batch_mode,ptf,vig

 
	Result = FUNCTION_NAME(Parameter1, Parameter2, Foobar)

 INPUTS:
	j0:	Raw Clear image
	j1:	Raw -60 image
	j2:	Raw 0 image
	j3:	Raw +60 image
	filter0: Filter for j0
	filter1: Filter for j1
	filter2: Filter for j2
       batch_mode : flag for batch mode,true = 1
       ptf : flag for point filter mode,true = 1
       vig : flag for vignetting,true = 1

 OPTIONAL INPUTS:
	
 KEYWORD PARAMETERS:

	DIFF: for C1 observations that have already had straylight and the
             continum removed by differencing	
	

 OUTPUTS:

 OPTIONAL OUTPUTS:

 CALLS: ***
	C2_CALIBRATE, C3_CALIBRATE, FXPAR [1], FXPAR [2], GET_SOLAR_RADIUS
	GET_SUN_CENTER [1], GET_SUN_CENTER [2], GET_SUN_CENTER [3], MAKE_XINV
	OFFSET_BIAS, POLARIZ_CORR, POLARIZ_FILTER, c2_vig1, point_filter, polariz_rtan
 CALLED BY:
	polariz, polariz_display
 COMMON BLOCKS:
	POLARIZ_DATA: Output Stokes and other parameters are placed here 
	POLARIZ_RTAN: Output j in radial and tangential coord system are here

 SIDE EFFECTS:

 RESTRICTIONS:

 PROCEDURE:

 EXAMPLE:

 MODIFICATION HISTORY:
 	Written by:	Dennis Wang
	11 Feb 1999 - Mueller matrices	
        1 Feb 2000 - Move FIXC3ZERO calculations  - DW
       12 Oct 2000 - polariz_rtan call changed to add cmu
       02 Mar 2001 - Added B0 call to c2_calibrate and c3_calibrate

	@(#)polariz_calc.pro	1.8 03/05/01 LASCO IDL LIBRARY - D. Wang


polariz_display $SSW/soho/lasco/idl/polariz/polariz_display.pro
[Previous] [Next]
 NAME:			polariz_display

 PURPOSE:		Widget Interface for do_polariz

 CATEGORY:
 CALLING SEQUENCE:	
 INPUTS:		NONE
		

 OPTIONAL INPUTS:	

 OUTPUTS:
 OPTIONAL OUTPUT PARAMETERS:
 CALLS: ***
	C2_DISTORTION, C3_DISTORTION, CHECK_PERMISSION, CHOOSER, CONGRID [1], CONGRID [2]
	CONGRID [3], CW_PDMENU, DISPLAY_PARM, DRAW5_EVENT, DRAW6_EVENT, FXADDPAR [1]
	FXADDPAR [2], FXWRITE [1], FXWRITE [2], GET_SEC_PIXEL, GET_SOLAR_ROLL, HISTO
	LANDSCAPE_LAYOUT, PDMENU3_EVENT, POLARIZ_CALC, POLARIZ_HDR
	POLAR_DISPLAY_MAIN_EVENT, SHOW, SXPAR [1], SXPAR [2], SXPAR [3], XLOADCT [1]
	XLOADCT [2], XLOADCT [3], XMANAGER, ps_setup
 CALLED BY:
	do_polariz
 COMMON BLOCKS:        POLARIZ_DATA
 SIDE EFFECTS:
 RESTRICTIONS:
      Requires JULDAT and DAYCNV from the IDL ASTRON Library
 PROCEDURE:

 MODIFICATION HISTORY:
	WRITTEN BY:	Dennis Wang, Interferometrics/NRL, 1996
       29 Sep 97       - Save File header changes
                          1. Date-OBS and TIME-OBS are now the average of
                             3 individual DATE-OBS and TIME-OBS 
                          2. Added as comment Exposure times of all 3 exposures; 
                          3. Added as comment offset bias 
                          4. Added file permission check prior to writing file
       4 Oct 99        Added roll to position angle calculation
      27 Oct 99        Changed PICKFILE to DIALOG_PICKFILE for IDL5.x 
       1 Feb 00        Removed FIXC3ZERO in polariz_calc call - DW
      15 Aug 2000      Fixed NaN values in % Pol when field stop mask is used 
      12 Oct 2000      Added Non Tang Angle display to Pol Angle Button
      01 Mar 2001      Fixed Raw.Clr Button Case statement
                       Added B0 Displays

	@(#)polariz_display.pro	1.16 03/05/01 NRL LASCO IDL LIBRARY


polariz_rtan $SSW/soho/lasco/idl/polariz/polariz_rtan.pro
[Previous] [Next]
 PURPOSE: convert to tangential frame of reference

 CALLED BY:
	POLARIZ_CALC
 HISTORY:
 12 Oct 2000 - Added cmu array of angles for non tang angle - DW
 @(#)polariz_rtan.pro	1.2 03/06/01 - NRL IDL Library - D.Wang


POLM1M2 $SSW/soho/lasco/idl/las-c2/polm1m2.pro
[Previous] [Next]
 NAME: POLM1M2.PRO
 PURPOSE: make images of local means and of standard deviation for
          the Stokes parameters, the fractionnal polarization & direction of 
          polarization for the light of calib lamps after passing thru mirrors 
 CATEGORY: General tools high level routine
 CALLING SEQUENCE: polm1m2,I1p,I2p,I3p,kx,ky,P_moy,P_std,alpha_moy,alpha_std
 INPUTS: I1p                              image array of intensity with pol-60
         I2p                              image array of intensity with pol00
         I3p                              image array of intensity with pol+60
         kx                               step_size in x
         ky                               step_size in y
 OPTIONAL INPUT PARAMETERS:               None
 KEYWORD PARAMETERS:                      None
 OUTPUTS:P_moy                         mapping of local means for polarization
         P_std                         mapping of local sigmas for polarization
         alpha_moy                     mapping of local means for direction
         alpha_std                     mapping of local sigmas for direction
 OPTIONAL OUTPUT PARAMETERS:              None
 CALLS: ***
	MEAN_2D_FRM, MOY, pro_cal
 CALLED BY:
	MEAN_2D_FRM
 COMMON BLOCKS:                           None
 SIDE EFFECTS:                            None
 RESTRICTIONS:                            None
 PROCEDURE:
 MODIFICATION HISTORY:   defined by M.B 07/12/93

 SCCS variables for IDL use

 @(#)polm1m2.pro  1.0 07/12/93 :LAS


poly_diffim $SSW/soho/lasco/idl/exposure/poly_diffim.pro
[Previous] [Next]
 POLY_DIFFIM
	Multiple image differencer.

 Usage:
	poly_diffim, {dindex | dname=dname}

 Argument:
	dindex	int	input	The number of the subtrahend image.

 Keyword:
	dname	string	input	The name of the subtrahend image
				(which must be loaded).
	in_place ??	input	If set, then do the subtraction in
				place and overwrite the old image in
				memory.
	divide	int	input	Whether to subtract images (divide=0
				or unset), divide images (1) or divide
				and subtract 1 (2).
	cr_mask	??	input	If set, then attempt to use
				SIGMA_FILTER to remove cosmic rays.
	fix_sum	??	input	If set, then divide the input image by
				the onboard summing.

 CALLS: ***
	CHANDLE, LASCO_FITSHDR2STRUCT, SIGMA_FILTER, SXADDPAR [1], SXADDPAR [2]
	SXADDPAR [3], SXPAR [1], SXPAR [2], SXPAR [3], ghandle
 CALLED BY:
	w_poly_diffim
 Restrictions:
	The DINDEX argument and the DNAME keyword are exclusive. Only
	the currently selected images are processed (the subtrahend
	isn't processed whether or not it is selected).

 Effects:
	A set of difference images is generated and selected (the
	previously selected images are deselected.

 History:
	Original: 21/3/96; SJT
	Modify to cope with assorted summings: Nov 96; SJT


POLY_E $SSW/soho/lasco/idl/util/poly_e.pro
[Previous] [Next]
 NAME:
	POLY_E

 PURPOSE:
	Evaluate a polynomial function of a variable.

 CATEGORY:
	C1 - Operations on polynomials.

 CALLING SEQUENCE:
	Result = POLY_E(X,C,[E])

 INPUTS:
	X:	The variable.  This value can be a scalar, vector or array.

	C:	The vector of polynomial coefficients.  The degree of 
		of the polynomial is N_ELEMENTS(C) - 1.

	E: 	The vector of exponents.

 OUTPUTS:
	POLY_E returns a result equal to:
		 C(0) + c(1) * X + c(2)*x^2 + ...

 COMMON BLOCKS:
	None.

 SIDE EFFECTS:
	None.

 RESTRICTIONS:
	None.

 PROCEDURE:
	Straightforward.

 MODIFICATION HISTORY:
	Andrew Hayes	16 AUG 2000


POLY_SPEC $SSW/soho/cds/idl/sci/data_handling/soho/cds/poly_spec.pro
[Previous] [Next]
 Project     : SOHO - CDS     
                   
 Name        : POLY_SPEC()
               
 Purpose     : Averages spectra chosen graphically by user.
               
 Explanation : An image is created from the QLDS at a user-supplied wavelength
               (or range of wavelengths).  The user graphically selects
               the spectra to be averaged and the average is returned as the
               function value.
               
 Use         : IDL> spec = poly_spec(qlds,wave1 [,wave2, window=window])
    
 Inputs      : qlds  - the standard data structure as given by readcdsfits
               wave1 - the wavelength at which the displayed image is
                       extracted.  
              
 Opt. Inputs : wave2 - if supplied in addition to wave1, then the image
                       displayed is an integrated one from wave1-->wave2
               
 Outputs     : function returns the averaged, deselected spectra
               
 Opt. Outputs: None
               
 Keywords    : WINDOW - if supplied it overrides any wavelength information
                        given and the image is one integrated over the
                        complete window.  If the window is a wide one (in
                        pixels terms), this can take a while.

               TEST - for use in until sensible data become available.  This
                      routine still requires a valid QLDS as input but a
                      dummy image is substituted for display and cursor
                      interaction.

               LAMBDA - returns the averaged wavelength array.

               FULL    - if present the full spectral band is returned,
                        otherwise just the requested window.

               IMAGE  - returns the image used in the display.

 Calls       : ***
	ANYTIM2UTC [1], ANYTIM2UTC [2], CIRCLE_SYM, DIST, FMT_VECT, GET_IJ, GT_BIMAGE
	GT_MIMAGE, GT_SCANP, GT_SPECTRUM, GT_WAVEBAND, GT_WLIMITS, LOAD_WAVECAL, NINT [1]
	NINT [2], PLOT_IMAGE, PNT_LINE, SIGRANGE [1], SIGRANGE [2]
 Common      : None
               
 Restrictions: None
               
 Side effects: None
               
 Category    : Data analysis, spectral
               
 Prev. Hist. : None

 Written     : C D Pike, RAL, 07-Dec-95
               
 Modified    : Set -9999 as an illegal solar position and added INFO keyword.
                                                             CDP, 08-Jan-96
               Added lambda keyword.  CDP, 18-Jan-96
               Version 4, SVHH, 14 March 1996   Using LOAD_WAVECAL.
               Called gt_spectrum instead of gt_scanp for single pixel and
               return image used in keyword variable.    CDP, 26-Mar-96
           
               Fixed keyword bug, handled missing data.  CDP, 27-Apr-96

 Version     : Version 6, 27-Apr-96


POPUDP $SSW/soho/sumer/idl/contrib/germerott/sumer_head/popudp.pro
[Previous] [Next]
 PROJECT:
       SOHO - SUMER

 NAME:
       POPUDP()

 PURPOSE: 
       Return POP/UDP Number

 CATEGORY:
       
 
 EXPLANATION:
       
 SYNTAX: 
       Result = popudp()

 EXAMPLES:
       
 INPUTS:
       header - BYTARR(92) Image Header

 OPTIONAL INPUTS: 
       None.

 OUTPUTS:
       None.

 OPTIONAL OUTPUTS:
       None.

 KEYWORDS: 
       None.

 COMMON:
       None.

 RESTRICTIONS: 
       None.

 SIDE EFFECTS:
       None.

 HISTORY:
       Version 1, October 7, 1996, Dietmar Germerott, MAPE Lindau. Written

 CONTACT:
       Dietmar Germerott, MAPE Lindau (germerott@linax1.mpae.gwdg.de)


popup_help [1] $SSW/soho/lasco/idl/data_anal/popup_help.pro
[Previous] [Next]

 file POPUP_HELP.PRO - Creates a widget that displays a pop up message,
                      modifed from DMZ's acknowledge.pro -- LYW

 CALLS:
 CALLED BY
	Optional title of the message window, QUICK_LOOK


popup_help [2] $SSW/soho/lasco/idl/data_anal/popup_help.pro
[Previous] [Next]
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

 pro popup_help_event, event

 The event handler for PRO POP_HELP
  calls to  :  none
 CALLS: ***
	POPUP_HELP_EVENT, XMANAGER
 CALLED BY:
	Optional title of the message window, QUICK_LOOK
  common    :  none

  The only purpose of the routine is to kill the message window, 
     created by PRO POP_HELP, AFTER the user reads the message.
     The user clicks the "Dismiss" button to get here.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


positive [2] $SSW/soho/mdi/idl_old/gen/ys_util/positive.pro
[Previous] [Next]
   Name: positive

   Purpose: boolean - 1 (true) if positive - scaler/arrays ok

   Keyword Parameters:
      inval - switch, if set, invalid data returns 0 (false) not -1 (invalid)

   Calling Sequence:
      pos=positive(array [,/inval])
      
   Calling Example:
      if positive(scaler) then .. 	  ; scaler returns scaler for boolean
					  ; compare (assume arithmetic input)
      if positive(scaler,/inval) then... ; false if negative OR invalid input
					  ; type (string/structure/undefined)
 CALLED BY:
	html_highlight
   History:
      27-Apr-1993 (SLF)
   
   Restrictions:
      no strings/structures/undefined input please (returns -1)


pprint OBSOLETE See SPRINTPRO [2] $SSW/soho/mdi/idl/site/pprint_new.pro
[Previous] [Next]
NAME:
	pprint (OBSOLETE -- See SPRINT.PRO)
PURPOSE:
       Closes currently open hardcopy plot device (if necessary) and 
	sends the plot file to the appropriate device.
	This is the Unix Version of the routine.
CALLING SEQUENCE:
	pprint
	pprint, 'idl_save.ps'
OPTIONAL INPUTS:
	file	- if present, filename to print (default=idl.ps)
KEYWORD INPUTS:
       dev_que	- if set, device name or number (default=lp0)
	delete	- if set, delete file after spooling
	reset	- if set, sets plot to X before exit 
	color 	- if set, use color (device = lp1)
	banner	- if set, print banner page (default is no banner page)
			------ OBSOLETE - NOT USED BY SPRINT ------
	force_print - If set, then issue the print command even if the
		  plot device is not PS.
	node	- If set, the use an "rsh" and "cat" command to send 
		  the print command to the remote machine.
			------ OBSOLETE - NOT USED BY SPRINT ------
	qdebug	- If set, then print the spawn command
HISTORY:
	Starting point was "lprint.pro"	slf, 12/5/91
		slf, 1/22/92 - isass mods  
		mdm, 3/3/92 - Do not print anything if device is not PS
	12-Mar-92 (MDM) - Renamed to pprint
	21-aug-92 JRL, Fixed dev_que option.
	 6-feb-93 JRL, Fixed for use at LPARL
	 6-Oct-93 MDM,  Expanded to use "lp" queue if on flare machine
			Added /FORCE_PRINT
	 7-Oct-93 MDM,  Minor changes in the organization
			Added /QDEBUG option
	 9-Oct-93 MDM,  Removed ban option for printing to SGI
	28-Jan-94 MDM,  Added check for PRINTER enviroment variable
	15-Mar-94 MDM,  Added check for PRINTER_CMD environment variable
       28-Mar-94 SLF,  Change print command on SGI to:/usr/local/bin/lps20ps
	15-Apr-94 MDM,  Added check for PPRINT_NODE environment variable
	 3-May-94 MDM,  Added "-c" option for lp command to kodak from SXT
			so that the file is copied (spooled)
       16-feb-95 SLF,  fix lparl color queue name (and force_print)
       17-Feb-95 SLF,  ignore PRINTER if /color set
	27-Feb-95 MDM,  Removed "force_print=1"
	19-Sep-95 MDM,  Made it work with remote NODE and PRINTER_CMD together
	 4-Apr-96 MDM,  Added PRINTER_COLOR option and changed default printer
			to kodak for color
	15-Apr-97 MDM,  Gutted and modified to call SPRINT (SSW routine)


pprint [1] $SSW/soho/mdi/idl/site/pprint.pro
[Previous] [Next]
NAME:
	pprint
PURPOSE:
       Closes currently open hardcopy plot device (if necessary) and 
	sends the plot file to the appropriate device.
	This is the Unix Version of the routine.
CALLING SEQUENCE:
	pprint
	pprint, 'idl_save.ps'
OPTIONAL INPUTS:
	file	- if present, filename to print (default=idl.ps)
KEYWORD INPUTS:
       dev_que	- if set, device name or number (default=lp0)
	delete	- if set, delete file after spooling
	reset	- if set, sets plot to X before exit 
	color 	- if set, use color (device = lp1)
	banner	- if set, print banner page (default is no banner page)
	force_print - If set, then issue the print command even if the
		  plot device is not PS.
	node	- If set, the use an "rsh" and "cat" command to send 
		  the print command to the remote machine.
	qdebug	- If set, then print the spawn command
 CALLS: ***
	get_host [1], get_host [2], get_logenv [1], get_logenv [2], is_member [1]
	is_member [2]
 CALLED BY:
	BCS_BROWSE24, BSC_RASTER, DATAGET3_GRS, DATAGET3_HXS, DPRINT, FAXABLE_SFD
	FE25_BSC_TEMP, LZPLOT, MANY_DAYS, OBS_EVENT, PLOTBSD v306 IDL2, PR_CAN_PRELIM
	bsc_spec_plot [1], bsc_spec_plot [2], cal_fig_mich, cancel_dsn_fax, dataget_grs
	disp1focus [2], disp1focus_flt, disp_dt_genx, disp_focus, disp_gen [1]
	disp_gen [2], edac_summary, emi_plot [1], exp_scale min_exp max_exp [1]
	fig_summary, fit_bsc_plot, get_linearity sig e_min e_max, go_teem [1]
	go_teem [2], go_teem_nn, go_teem_t, goes_plot [1], goes_plot [2], goes_plot [3]
	goes_plot [4], goes_plot [5], goes_summary, hardcopy [1], hardcopy [2]
	help_vignette, img_summary [1], img_summary [2], ipcom, jitter_gif_xyimg
	lc_array1 formerly actonpro, lcur_image, ltc, mdidust, mdimrot, mdipdist, mdiprot
	monthly_summary, mplot_nar, pc_tplot_grs, pc_tplot_rbm, ph_eff_grs1, ph_eff_grs2
	ph_pow_grs1, ph_pow_grs2, photoland landscape vers of phototextpro
	photoport portrait vers of phototext, pl_dt_genx, pl_monitor_center
	plot_ar_pfi, plot_door_open, plot_eit_area, plot_eit_entrance, plot_eit_filters
	plot_eit_flux, plot_eit_mirror, plot_expos_hist, plot_fft, plot_fov [2], plot_gsn
	plot_img_cadence, plot_lcur [1], plot_lcur [2], plot_loi_mmad, plot_nar [1]
	plot_nar [2], plot_pzt_corr, plot_ssl, plot_therm_rs232a, plot_therm_rs232c
	plot_trav [1], plot_trav [2], plot_trav [3], plotbth v30 IDL2, plotiss
	pprint OBSOLETE  See SPRINTPRO [1], rd_so_at_ftr, read_ltc file, therm_plot
	xdisp_fits, xdisp_trace [1], xdisp_trace2, xdisp_trace3
HISTORY:
	Starting point was "lprint.pro"	slf, 12/5/91
		slf, 1/22/92 - isass mods  
		mdm, 3/3/92 - Do not print anything if device is not PS
	12-Mar-92 (MDM) - Renamed to pprint
	21-aug-92 JRL, Fixed dev_que option.
	 6-feb-93 JRL, Fixed for use at LPARL
	 6-Oct-93 MDM,  Expanded to use "lp" queue if on flare machine
			Added /FORCE_PRINT
	 7-Oct-93 MDM,  Minor changes in the organization
			Added /QDEBUG option
	 9-Oct-93 MDM,  Removed ban option for printing to SGI
	28-Jan-94 MDM,  Added check for PRINTER enviroment variable
	15-Mar-94 MDM,  Added check for PRINTER_CMD environment variable
       28-Mar-94 SLF,  Change print command on SGI to:/usr/local/bin/lps20ps
	15-Apr-94 MDM,  Added check for PPRINT_NODE environment variable
	 3-May-94 MDM,  Added "-c" option for lp command to kodak from SXT
			so that the file is copied (spooled)
       16-feb-95 SLF,  fix lparl color queue name (and force_print)
       17-Feb-95 SLF,  ignore PRINTER if /color set
	27-Feb-95 MDM,  Removed "force_print=1"
	19-Sep-95 MDM,  Made it work with remote NODE and PRINTER_CMD together
	 4-Apr-96 MDM,  Added PRINTER_COLOR option and changed default printer
			to kodak for color


pprint [2] $SSW/soho/mdi/idl/site/pprint_old.pro
[Previous] [Next]
NAME:
	pprint
PURPOSE:
       Closes currently open hardcopy plot device (if necessary) and 
	sends the plot file to the appropriate device.
	This is the Unix Version of the routine.
CALLING SEQUENCE:
	pprint
	pprint, 'idl_save.ps'
OPTIONAL INPUTS:
	file	- if present, filename to print (default=idl.ps)
KEYWORD INPUTS:
       dev_que	- if set, device name or number (default=lp0)
	delete	- if set, delete file after spooling
	reset	- if set, sets plot to X before exit 
	color 	- if set, use color (device = lp1)
	banner	- if set, print banner page (default is no banner page)
	force_print - If set, then issue the print command even if the
		  plot device is not PS.
	node	- If set, the use an "rsh" and "cat" command to send 
		  the print command to the remote machine.
	qdebug	- If set, then print the spawn command
 CALLED BY:
	BCS_BROWSE24, BSC_RASTER, DATAGET3_GRS, DATAGET3_HXS, DPRINT, FAXABLE_SFD
	FE25_BSC_TEMP, LZPLOT, MANY_DAYS, OBS_EVENT, PLOTBSD v306 IDL2, PR_CAN_PRELIM
	bsc_spec_plot [1], bsc_spec_plot [2], cal_fig_mich, cancel_dsn_fax, dataget_grs
	disp1focus [2], disp1focus_flt, disp_dt_genx, disp_focus, disp_gen [1]
	disp_gen [2], edac_summary, emi_plot [1], exp_scale min_exp max_exp [1]
	fig_summary, fit_bsc_plot, get_linearity sig e_min e_max, go_teem [1]
	go_teem [2], go_teem_nn, go_teem_t, goes_plot [1], goes_plot [2], goes_plot [3]
	goes_plot [4], goes_plot [5], goes_summary, hardcopy [1], hardcopy [2]
	help_vignette, img_summary [1], img_summary [2], ipcom, jitter_gif_xyimg
	lc_array1 formerly actonpro, lcur_image, ltc, mdidust, mdimrot, mdipdist, mdiprot
	monthly_summary, mplot_nar, pc_tplot_grs, pc_tplot_rbm, ph_eff_grs1, ph_eff_grs2
	ph_pow_grs1, ph_pow_grs2, photoland landscape vers of phototextpro
	photoport portrait vers of phototext, pl_dt_genx, pl_monitor_center
	plot_ar_pfi, plot_door_open, plot_eit_area, plot_eit_entrance, plot_eit_filters
	plot_eit_flux, plot_eit_mirror, plot_expos_hist, plot_fft, plot_fov [2], plot_gsn
	plot_img_cadence, plot_lcur [1], plot_lcur [2], plot_loi_mmad, plot_nar [1]
	plot_nar [2], plot_pzt_corr, plot_ssl, plot_therm_rs232a, plot_therm_rs232c
	plot_trav [1], plot_trav [2], plot_trav [3], plotbth v30 IDL2, plotiss
	pprint OBSOLETE  See SPRINTPRO [1], rd_so_at_ftr, read_ltc file, therm_plot
	xdisp_fits, xdisp_trace [1], xdisp_trace2, xdisp_trace3
HISTORY:
	Starting point was "lprint.pro"	slf, 12/5/91
		slf, 1/22/92 - isass mods  
		mdm, 3/3/92 - Do not print anything if device is not PS
	12-Mar-92 (MDM) - Renamed to pprint
	21-aug-92 JRL, Fixed dev_que option.
	 6-feb-93 JRL, Fixed for use at LPARL
	 6-Oct-93 MDM,  Expanded to use "lp" queue if on flare machine
			Added /FORCE_PRINT
	 7-Oct-93 MDM,  Minor changes in the organization
			Added /QDEBUG option
	 9-Oct-93 MDM,  Removed ban option for printing to SGI
	28-Jan-94 MDM,  Added check for PRINTER enviroment variable
	15-Mar-94 MDM,  Added check for PRINTER_CMD environment variable
       28-Mar-94 SLF,  Change print command on SGI to:/usr/local/bin/lps20ps
	15-Apr-94 MDM,  Added check for PPRINT_NODE environment variable
	 3-May-94 MDM,  Added "-c" option for lp command to kodak from SXT
			so that the file is copied (spooled)
       16-feb-95 SLF,  fix lparl color queue name (and force_print)
       17-Feb-95 SLF,  ignore PRINTER if /color set
	27-Feb-95 MDM,  Removed "force_print=1"
	19-Sep-95 MDM,  Made it work with remote NODE and PRINTER_CMD together
	 4-Apr-96 MDM,  Added PRINTER_COLOR option and changed default printer
			to kodak for color


PQLPROFILE $SSW/soho/cds/idl/sci/data_anal/ql/ql_disp/pqlprofile.pro
[Previous] [Next]
 Project     : SOHO - CDS     
                   
 Name        : PQLPROFILE
               
 Purpose     : General purpose profile-drawing kit.
               
 Explanation : Passing an event generated in a draw widget inside
		a stored plot region will cause a new widget to be 
		created, with a profile of the data in the original 
		region.
               
 Use         : PQLPROFILE,DATA

 Inputs      : DATA:	The data that is displayed in the plot region.

 Opt. Inputs : XSCALE (only for 1D data)
               
 Outputs     : None.
               
 Opt. Outputs: None.
               
 Keywords    : LENGTH: The length of the profiled region in pixels
			Default is 30 pixels

		VERTICAL: set to plot vertical profiles. No effect for 
			one-dimensional plots.

		AVERAGE = Number of pixels to average over (only for 2D data).
			No effect for one-dimensional plots.

		TITLE = title of the plot

		DATATITLE = the title to go on the axis showing the
			    data values.

		X/YTITLE = X/Y titles.
		SUBTITLE = subtitle (only for 1D data)

		X/YFORMAT = The format of the displayed X/Y position in the
			subtitle.

		X/Y_SIZE = size of plot window. Default X:500, Y:250

		OUTSIDE: Set to make the widget appear on the outside
			of the plot.

		CURSOR: Set to make the widget appear aligned with the
			plot cursor.

		EVENT:	A WIDGET_DRAW event structure generated in
			a widget_draw window. See restrictions.

		P_reg: The plot region ID (as returned by pfind())
			identifying which plot that is affected.

		CHANGE : Set to indicate that a change of the DATA 
			in the plot region has been made.
			If there is a profile widget for this plot
			region then this will update it's display
			and the markings. If not, nothing happens.
			If the data has not been changed, just 
			redisplayed, DATA need not be supplied.

		GROUP = Widget ID for the top level base that is to
			be group leader (zoom window dies upon death of
			the group leader).

		KILL: 	Set to kill any profile widget from the specified
			plot region
		
		ACTIVE: Set to a named variable to return 1 if there is
			a profile window for the specified plot region
	
		RESET:  Set to reset the common block

 Calls       : ***
	CDSNOTIFY, CDSPICKFILE, CDS_GAUSS, CMOUSE, CMOUSE_ACTION, CW_PSELECT, DATATYPE [1]
	DATATYPE [2], DATATYPE [3], PCONVERT, PFIND, POLY_FIT, PQLPROFILE_EVENT
	PQLP_CLEANUP, PQLP_PLOT, PQLP_PLOTBAR, PRESTORE, PS [1], PS [2], PSCLOSE [1]
	PSCLOSE [2], PSPLOT [1], PSPLOT [2], PSTORE, SETWINDOW [1], SETWINDOW [2]
	SINCE_VERSION [1], SINCE_VERSION [2], TLB_PLACE, TRIM, WIDG_HELP, XMANAGER
	XMENU [1], XMENU [2], XPDMENU
 CALLED BY:
	DSPEXP, DSPWAV, GDSPSPEC, NDSPSPEC, PTEST
 Common      : PQLPROFILE:
			Keeps track of plot region ID's for each PQLPROFILE
			window that has been generated.

 Restrictions: The !P/!D/!X/!Y system variables describing the image
		or plot axes must have been stored with PSTORE.
		The EVENT coordinates passed to the routine must be
		inside the CLIP region of the displayed window - if
		not - nothing happens.
		NOTE If XSCALE is not supplied, the routine assumes that 
		the data array is equispaced and fills the whole plot 
		region, i.e., plotting x versus y, the xrange must be 
		set to [min(x),max(x)], and xstyle must be set to 1


 Side effects: 
               
 Category    : Display, QuickLook
               
 Prev. Hist. : Written on the basis of the QuickLook Zoom routine.

 Written     : Stein Vidar Hagfors Haugan, Des. -93
               
 Modified    : SVHH, March 1994
			Length/vertical/average are not reset upon the next
			call.
		SVHH, Version 2, May 1994
			Using PSTORE/PRESTORE/PFIND instead of SERTS window
			routines. Profile of 1-D plots are now possible.
		SVHH, Version 3, 2 June 1994
			Added incremental positioning a la PQLZOOM
               PB, 10 July 1994
                      Added HELP functionality  and Line fit button
               PB,   Sept 21 - 94    Added Help using WIDG_HELP
		SVHH, 11-Dec-94, Added CMOUSE/CMOUSE_ACTION mouse
			control functionality, and zoom in/out buttons.
               Version 4, SVHH, 21-December-1995
                       Using histogram mode for plotting.
               Version 4.1, SVHH, 12-January-1996
                       Now converting !version.release to float before
                       using it.
               Version 4.2, P.B, 6-February-1996
                       Allows Gassian fit to profiles
               Version  4.3, P.B, 5-March-1996
                       Gaussian fit returns FWHM in Pixel and total
                       total counts in line. Changed yrange to add space
               Verison 5, SVHH, 17 November 1998
                       Fixed {WIDGET_DRAW} for IDL v 5
		Version 6, 29 January 1999, William Thompson, GSFC
			Fixed {WIDGET_DRAW} for IDL v 4
		Version 7, 5 January 2001, William Thompson, GSFC
			Fixed bug for versions 5.3 and 5.4

 Version     : Version 7, 5 January 2001


PQLZOOM $SSW/soho/cds/idl/sci/data_anal/ql/ql_disp/pqlzoom.pro
[Previous] [Next]
 Project     : SOHO - CDS     
                   
 Name        : PQLZOOM
               
 Purpose     : General purpose draw-window zoom.
               
 Explanation : Passing an event generated in a draw widget inside
		a stored plot region will cause a new widget to be 
		created, with a zoomed image taken from the originating 
		draw window. 
               
 Use         : PQLZOOM,DATA
    
 Inputs      : DATA:	The data that is displayed in the plot region.
               
 Opt. Inputs : None.
               
 Outputs     : None.
               
 Opt. Outputs: None.
               
 Keywords    : NOSCALE: Set to disable initial rescaling of
			the data before TV'ing.

		TITLE = title of the zoom plot window

		SUBTITLE = subtitle of zoom plot window.

		X/YTITLE = X/Y titles.

		XYSIZE = size of zoom window display. Default 220.

		MARGIN = Total margin (in device coord's) around the zoom
			plot window.

		ORIGIN = [x0,y0] The lower left corner (in device coord's)
			of the zoom plot window.

		EVENT =	A WIDGET_DRAW event structure generated in
			a widget_draw window.

		P_reg: The plot region ID (as returned by pfind())
			identifying which plot that is affected.

		CHANGE : Set to indicate that a change of the DATA 
			in the plot region has been made.
			If there is a profile widget for this plot
			region then this will update it's display
			and the markings. If not, nothing happens.
			If the data has not been changed, just 
			redisplayed, DATA need not be supplied.

		ZOOMFACT = Initial zoom factor 

		GROUP = Widget ID for the top level base that is to
			be group leader (zoom window dies upon death of
			the group leader).

		KILL: 	Set to kill any zoom widget from the specified
			plot region.

		ACTIVE: Set to a named variable to return 1 if there is
			a profile window for the specified plot region
	
		RESET:  Set to reset the common block.

 Calls       : ***
	CDSCONGRID, CDSNOTIFY, CLIPBOX, CMOUSE, CMOUSE_ACTION, DATATYPE [1], DATATYPE [2]
	DATATYPE [3], PCONVERT, PDZ_CLEANUP, PDZ_PLOTPOLY, PFIND, PQLZOOM_EVENT
	PQLZOOM_READPOS, PRESTORE, PSTORE, PZOOM_POSITION, SETWINDOW [1], SETWINDOW [2]
	SINCE_VERSION [1], SINCE_VERSION [2], TLB_PLACE, TRIM, WIDG_HELP, XMANAGER, XPDMENU
 CALLED BY:
	DSPEXP, DSPWAV, NDSPSPEC, PTEST
 Common      : PQLZOOM:
			Keeps track of window ID's for each PQLZOOM
			window that has been generated.
               
 Restrictions: The correct subwindow must have been selected..
               
 Side effects: 
               
 Category    : Display
               
 Prev. Hist. : None.

 Written     : Stein Vidar Hagfors Haugan
               
 Modified    : SVHH, 17 Nov. -- added setwindow call for non-
                                interference with Bill T. 
                                display routines
		SVHH, 19 Nov. -- Documentation brush-up
		SVHH, March 1994, Switched to pstore/prestore/pfind routines.
		SVHH, May/June 1994,
			Added plot axes and most keywords.
               PB,   28 Nov. -- added Read Cursor Position functionality,
				 Text_widget for output,
                                Plot to file/printer 
                                Default size increased to 220
               PB,   Sept 21 - 94    Added Help using WIDG_HELP
		SVHH, Nov 19 - 94 -- Made "Read position" report
			continuously when middle button is pressed down
			and fixed a POSITION keyword roundoff problem.
		SVHH, Dec 10 - 94 -- Added a calls to CMOUSE/CMOUSE_ACTION,
			and added x/y-format/units
               Version 3, SVHH, 17 November 1998
                       Fixed {WIDGET_DRAW} for IDL v 5
		Version 4, 29 January 1999, William Thompson, GSFC
			Fixed {WIDGET_DRAW} for IDL v 4
		Version 5, 20 December 1999, William Thompson, GSFC
			Fixed bug preventing compilation in IDL v5.3
		Version 6, 5 January 2001, William Thompson, GSFC
			Fixed bug for versions 5.3 and 5.4

 Version     : Version 6, 5 January 2001


PR_CAL_HDR $SSW/soho/cds/idl/sci/data_handling/i_o/fits/cds/pr_cal_hdr.pro
[Previous] [Next]
 Project     : SOHO - CDS     
                   
 Name        : PR_CAL_HDR
               
 Purpose     : Easy print of FITS file header.
               
 Explanation : FITS file header is read and printed out.
               
 Use         : IDL> pr_cal_hdr, file [,/hard]
    
 Inputs      : file  - FITS file name  (assumes current directory)
               
 Opt. Inputs : None
               
 Outputs     : None
               
 Opt. Outputs: None
               
 Keywords    : hard  - if present sent to a file and print it.

 Calls       : ***
	FXHREAD [1], FXHREAD [2], HPRINT [1], HPRINT [2]
 Common      : None
               
 Restrictions: None
               
 Side effects: None
               
 Category    : Data_handling, FITS, i_o
               
 Prev. Hist. : None

 Written     : CDP,  RAL, 4-Mar-94
               
 Modified    : 

 Version     : Version 1, 4-Mar-94


pr_dates_warm [1] $SSW/soho/mdi/idl_old/gen/ys_util/pr_dates_warm.pro
[Previous] [Next]
NAME:
	pr_dates_warm
PURPOSE:
	To list the dates that SXT CCD was warm
SAMPLE CALLING SEQUENCE:
	pr_dates_warm, ssl
	pr_dates_warm, ssl, outfil='dum.dum'
OPTIONAL INPUT/OUTPUT:
	ssl	- The SSL structure.  If undefined, it calls RD_SSL and
		  reads it.  It is an optional parameter since it takes so
		  long to read it, if you want to call the routine twice,
		  it won't have to re-read the SSL files.
 CALLS: ***
	gt_day [1], gt_day [2], gt_temp_ccd, rd_ssl
OPTIONAL KEYWORD INPUT:
	outfil	- An output file name
HISTORY
	Written 16-Dec-93 by M.Morrison
	22-Dec-93 (MDM) - Added guide option


pr_hk_info [1] $SSW/soho/mdi/idl/egse/pr_hk_info.pro
[Previous] [Next]
NAME:
	pr_hk_info
PURPOSE:
	To display information on the MDI Housekeeping mnemonics
SAMPLE CALLING SEQUENCE:
	pr_hk_info
	pr_hk_info, 'pr_hk_info.txt'
	pr_hk_info, outfil
INPUT:
	outfil	- Optional output file to write to
 CALLS: ***
	HK_SUMMARY_TYPE, bits [1], bits [2], convert_hk [1], convert_hk [2]
HISTORY:
 V1.0	Feb-94 by M.Morrison
 V2.0	15-Jul-94 (MDM) - Added information on mnemonic type (A, D, or R)
			- Added info on total number of bits of data
			- Added info on which HK summary file the info goes in
 V2.1	16-Jan-95 (MDM) - Added INFIL option
 V3.0	24-Jan-95 (MDM) - Added INSIM and LONG option
 V3.1	 6-Feb-95 (MDM) - Modified LONG option output format
       25-Apr-97 (SDW) - Added "sc3" 


pr_mdihk_trans [1] $SSW/soho/mdi/idl/ops/pr_mdihk_trans.pro
[Previous] [Next]
NAME:
	pr_mdihk_trans
PURPOSE:
	To log the times that a given mnemonic changes state
SAMPLE CALLING SEQUENCE:
	pr_mdihk_trans, sttim, entim, mnem
	pr_mdihk_trans, '6-Jun', '7-Jun', 'mksqrg3'
	pr_mdihk_trans,'18-jun 3:50','18-jun 4:20','mksqid',info=info,/hex
 CALLS: ***
	UNIQ [1], UNIQ [2], UNIQ [3], data_type [1], data_type [2], fmt_tim [1], fmt_tim [2]
	get_hk_info [1], get_hk_info [2], gt_day [1], gt_day [2], prstr [1], prstr [2]
	ut_time [1], ut_time [2]
HISTORY:
	Written 18-Jun-96 by M.Morrison
	15-Jul-96 (MDM) - Protect against a new condition
V1.1	16-Jun-97 (MDM) - Modified to print the last transition
V1.2	 3-Dec-98 (MDM) - Modified to print properly when data is BYTE type


pr_path [2] $SSW/soho/mdi/idl_old/gen/ys_util/pr_path.pro
[Previous] [Next]
NAME:
	pr_path
PURPOSE:
	Procedure to print the IDL !path variable (since it
	is so long for Yohkoh users and returns an error with
	the command "print,!path"
CALLING SEQUENCE:
	pr_path
	pr_path, path
OPTIONAL OUTPUT:
	path	- a string array of the directories in the path
 CALLS: ***
	STR2ARR [1], STR2ARR [2], prstr [1], prstr [2]
HISTORY:
	Written 17-Apr-92 by M.Morrison
	25-Apr-94 (MDM) - Removed "more-like" code and replace with PRSTR


pr_path_lib [2] $SSW/soho/mdi/idl_old/gen/ys_util/pr_path_lib.pro
[Previous] [Next]
 NAME:
   pr_path_lib
 PURPOSE:
   Print the path of a file in !path
   Calls path_lib() to do the work.
 CALLING SEQUENCE:
   pr_path_lib,'yodat'
   pr_path_lib,'gt_*'
 INPUTS:
   String containing search string
 OPTIONAL INPUT KEYWORDS:
   nopro	= Set to search for non *.pro files
   multi	= Multiple file search.  Default (unless name caontains
		  a * (wildcard) is search until first match.  Setting
		  multi will cause the search to continue through the
		  entire tree.
   directory	= directory to search.  If omitted, use the !path and
		  current directories.
 OPTIONAL OUTPUT KEYWORDS:
   out		= String vector of all cases found
 CALLS: ***
	DOC_LIBRARY, PATH_LIB [1], PATH_LIB [2]
 MODIFICATION HISTORY:
   30-apr-93, J. R. Lemen, Written


pr_seq_frame_info $SSW/soho/mdi/idl/ops/pr_seq_frame_info.pro
[Previous] [Next]
NAME:
	pr_seq_frame_info
PURPOSE:
	To display the per-frame information
SAMPLE CALLING SEQUENCE:
	pr_seq_frame_info,'31-mar','31-mar 1:00'
	pr_seq_frame_info, sttim, entim, mat, str, outfil='filename.txt'
	pr_seq_frame_info, inmat=mat
INPUT:
	sttim	- the starting time
	entim	- the ending time
OUTPUT:
	mat	- the 2-d array of the information from the HK data
	str	- the string array of the information being displayed
 CALLS: ***
	PAUSE [1], anytim2ints [1], anytim2ints [2], fmt_tim [1], fmt_tim [2], pause [2]
	plot_expos_hist, prstr [1], prstr [2], seq_frame_info, ut_time [1], ut_time [2]
OPTIONAL KEYWORD INPUT:
	quiet	- If set, don't display the data (pass it as output)
	qplot	- If set, plot the exposure duration data
	qcheck	- If set, display each instance where the exposure
		  falls in a predifined range
	inmat	- the 2-d array from the HK data (must pass "inhk" also)
	inhk	- the HK structure
	outfil	- the output file to write the info to
OPTIONAL KEYWORD OUTPUT:
	tit	- the title array (5 lines)
HISTORY:
	Written 1-Apr-96 by M.Morrison


pr_stats [2] $SSW/soho/mdi/idl_old/gen/util/pr_stats.pro
[Previous] [Next]
NAME:
	pr_stats
PURPOSE:
	To print the min/max/avg/dev for an array
	Optionally loop through one of the dimensions
	Returns a structure with what it had found
SAMPLE CALLING SEQUENCE:
	pr_stats, var
	pr_stats, var_3d_arr, 1
	pr_stats, var, dim, info
INPUT:
	var	- The variable to get the stats on
OPTIONAL INPUT
	dim	- The dimension to cycle through
OUTPUT:
	info	- A structure with tags
			.avg - holds the average
			.dev - holds the standard deviation
			.min - holds the minimum
			.max - holds the maximum
 CALLS: ***
	PR_STATS1, STDEV
HISTORY:
	Written 1996 by M.Morrison
	 6-Nov-96 (MDM) - Added documentation header


pr_status [2] $SSW/soho/mdi/idl_old/gen/ys_util/pr_status.pro
[Previous] [Next]
   Name: pr_status

   Purpose: print and/or return some status info
            (userid, hostid, idl version, local and uttime)

   Input Parameters:
      NONE:
   Output Parameters:
      text - formatted status info

   Keyword Parameters:
      noprint -    if set dont print to terminal
      idlcomment - if set, prepend comment chars ";" so text can be inserted in idljob
      idldoc     - same as idlcomment, with doc delimters added (;+  ;-)
      caller - string name of routine calling (adds a line to status info)
      header - string or string array of user info to prepend to status info
      
   Calling Examples:
     pr_status			   ; display to terminal
     pr_status,text, /noprint     ; return via text paramter
     pr_status,text, /idldoc	   ; prepend idl doc delimiters (;+...;...;-)
     pr_status,text, /idldoc, caller="ROUTINE" ; adds a line to status info
     pr_status,text, header=strarry ; user info to prepend
     pr_status,text, /idlcomment  ; prepend ";" for insertion into idl jobfiles
     (the above command returns the following...)
  -------------------------------------------
 | User Name: freeland                       |
 | Host Name: isass2.solar.isas.ac.jp        |
 | Directory: /usr/people/freeland/dev/batch |
 |                                           |
 | IDL Version: 3.5.1                        |
 | Host OS    : ultrix                       |
 | Host ARCH  : mipsel                       |
 |                                           |
 | Local Time:  1-OCT-94  15:12:34           |
 | UT Time   :  1-OCT-94  06:12:34           |
  -------------------------------------------

 CALLS: ***
	MORE [1], MORE [2], curdir [1], curdir [2], data_chk [1], data_chk [2], fmt_tim [1]
	fmt_tim [2], get_host [1], get_host [2], get_user [1], get_user [2], strjustify
	ut_time [1], ut_time [2]
 CALLED BY:
	eit_genx_cat, go_batch [1], go_batch [2], go_yo_prod_batch, killold [1]
	killold [2], laststat [1], laststat [2], map_env2dir, mk_pubydb, mk_sfc [1]
	mk_sfc [2], mk_ssc_batch [1], mk_ssc_batch [2], mo_job0, mo_job1, mostrip, pr_logenv
	pref_super, soon_catstat, ssw_check_contrib, ssw_conflicts, ssw_contrib_monitor
	ssw_start_rpcserver, ssw_swmap_bestof, ssw_swmap_info, sxt2file
   History:
      1-Oct-1994 (SLF)


pr_tim2week [2] $SSW/soho/mdi/idl_old/gen/ys_util/pr_tim2week.pro
[Previous] [Next]
 NAME:
   pr_tim2week
 PURPOSE:
   Print Yohkoh week ID for specified time
 CALLING SEQUENCE:
   pr_tim2week, index(0)
   pr_tim2week			; Current week ID
   pr_tim2week, /range		; Print start and stop dates
 OPTIONAL INPUTS:
   intime	= Time in any Yohkoh format
 OPTIONAL INPUT KEYWORDS:
   range	= If set, print the time range
 OPTIONAL OUTPUTS:
   t1, t2	= Time range of specified week(s)
 PROCEDURE:
   Calls anytim2weekid
   Short weeks (first and last week of the year) are flagged with a "*".
 CALLS: ***
	anytim2ints [1], anytim2ints [2], anytim2weekid [1], anytim2weekid [2]
	fmt_tim [1], fmt_tim [2]
   Note:  If the time of the data occurs near 00:00 UT on Sunday, then
          the Yohkoh data might be included in the previous week.
 MODIFICATION HISTORY:
   22-jan-94, J. R. Lemen, Written


pr_week2tim [2] $SSW/soho/mdi/idl_old/gen/ys_util/pr_week2tim.pro
[Previous] [Next]
 NAME:
   pr_week2tim
 PURPOSE:
   Print time range for specified Yohkoh week ID 
 CALLING SEQUENCE:
   pr_week2tim, '94_04a'	; Time range of week 4 of 1994
   pr_week2tim, 4		; Week 4 of current year
   pr_week2tim, 4, year=93	; Week 4 of 1993
   pr_week2tim, '94_04a', t1, t2 ; Return start and stop days
   pr_week2tim			; Range of the current week
 INPUT:
   week_id	= Yohkoh Week ID (string) - may be a vector
 OPTIONAL OUTPUTS:
   t1, t2	= Time range of specified week(s)
 CALLS: ***
	weekid2ex [1], weekid2ex [2], weekid2ex [3]
 CALLED BY:
	MK_ORB_WEEK, goes3sec_copy, mk_gev [1], mk_gev [2], mk_week_file [1]
	mk_week_file [2], pr_visible, selsis_week, sxt_plan
 PROCEDURE:
   Calls weekid2ex
   Short weeks (first and last week of the year) are flagged with a "*".
 MODIFICATION HISTORY:
   22-jan-94, J. R. Lemen, Written


prcols [2] $SSW/soho/mdi/idl_old/gen/ys_util/prcol.pro
[Previous] [Next]
   Name: prcols

   Purpose: print up to 10 array parameters in aligned columns w/optional header

   Input Parameters:
      up to 10 arrays - number of elements must match

   Keyword Paramters:
      right/left/center - specify alignment/justification (see strjustify)
      box - if set, draw box the whole thing (see strjustify)
      header - optional header string to align with data - comma or blank delimited string will
               (number of fields should match array sizes)
      noprint - switch - if set, dont print to terminal (output via OUTARR keyword)
      coldelim=coldelim - if string, delimiter to insert between columns 
                          if number, number of blanks to insert between cols (def=2 blanks)
      outarr - the aligned text array

   Method: call strjustify, execute

 CALLS: ***
	MORE [1], MORE [2], PRCOL, STR2ARR [1], STR2ARR [2], data_chk [1], data_chk [2]
	strjustify
   History:
      11-sep-1995 (SLF) - provide terminal front end to strjustify


PRED_PROG_NUM $SSW/soho/cds/idl/util/ops/database/pred_prog_num.pro
[Previous] [Next]
 Project     :	SOHO - CDS

 Name        :	PRED_PROG_NUM()

 Purpose     :	Predict the study counter for a given date/time.

 Category    :	Class3, CDS, Planning

 Explanation :	Looks up the information in the SCI_DETAILS planning database,
		and uses it to predict what the study counter will be for a
		given date/time.  The predicted numbers are also optionally
		stored in the planning database.

 Syntax      :	Result = PRED_PROG_NUM( [TIME] )

 Examples    :	PRINT, PRED_PROG_NUM()
		PRINT, PRED_PROG_NUM('5-June-1997 12:30')

 Inputs      :	None required.

 Opt. Inputs :	TIME	= A date/time value, in any CDS format.  If omitted,
			  then the current time is used.

 Outputs     :	The result of the function is the predicted program number.  If
		unsuccessful, then 0 will be returned.

 Opt. Outputs:	None.

 Keywords    :	MOD_PLAN = If set, then predicted study counters are also
			   stored in the planning database, if one has write
			   privilege there.

		ERRMSG = If defined and passed, then any error messages will be
			 returned to the user in this parameter rather than
			 depending on the MESSAGE routine in IDL.  If no errors
			 are encountered, then a null string is returned.  In
			 order to use this feature, ERRMSG must be defined
			 first, e.g.

				ERRMSG = ''
				Result = PRED_PROG_NUM( ERRMSG=ERRMSG, ... )
				IF ERRMSG NE '' THEN ...

 Calls       : ***
	ANYTIM2TAI, GET_UTC, LIST_DETAIL, MOD_DETAIL, PRIV_ZDBASE, UTC2TAI
 Common      :	None.

 Restrictions:	There are several factors which could affect the accuracy of
		this prediction.  First of all, it depends on the accuracy of
		FITSGEN in associating the telemetry with the science plan.
		This process is fairly robust, but occasionally makes mistakes.
		Second, the prediction can also be thrown off if the science
		plan has been changed since the last time the instrument was
		commanded, as sometimes happens during the recovery from an
		instrument crash.  It's best to add a safety margin to the
		result of this function.

 Side effects:	None.

 Prev. Hist. :	None.

 History     :	Version 1, 05-Jun-1997, William Thompson, GSFC

 Contact     :	WTHOMPSON


preparation $SSW/soho/sumer/idl/contrib/bocchialini/fullsun/preparation.pro
[Previous] [Next]


    chaine=strpos(filename(i),'S_')
    year='19'+strmid(filename(i),chaine+2,2) 
    month='/'+strmid(filename(i),chaine+4,2) 
    day='/'+strmid(filename(i),chaine+6,2)   
    date(i)=year+month+day
    print,'date: ',date(i)


heure du debut des obs. en secondes
    initialtime(i)=float(strmid(filename(i),chaine+9,2))*3600.+$   
                float(strmid(filename(i),chaine+11,2))*60. + $      
                float(strmid(filename(i),chaine+14,2))              
print,'initialtime',initialtime(i)

    q1=fix(i*(vertic/8.))
    for w=0,horiz-2 do begin
        for k=0,(vertic/8.-2) do begin
            new_temps(w,q1+k)=initialtime(i)+ temporary(temps(w*fac,j1+k*18))
            new_temps(horiz-1,q1+k)=$
                    initialtime(i)+temporary(temps(r(3)-1,j1+k*18))
        endfor
        new_temps(w,q1+vertic/8.-1)=initialtime(i)+temporary(temps(w*fac,j2)) ;en secondes
        new_temps(horiz-1,q1+vertic/8.-1)=$
                   initialtime(i)+temporary(temps(r(3)-1,j2))
    endfor
endfor

    tt=strarr(horiz,vertic) ;construit a partir de new_temps qui est exprime en secondes
    heure=fix(new_temps/3600.)
    minu=fix((new_temps-heure*3600.)/60.)
    sec=fix(new_temps-heure*3600.-minu*60.)
    secc=tt
    minuc=tt
    heurec=tt
    datetab=tt

groumpf=fix(vertic/8.)
for i=0,raster-1 do begin
    for qq=groumpf*i,groumpf*i+vertic/8.-1 do datetab(*,qq)=date(i)
endfor

for jj=0,horiz-1 do begin 
  for kk=0,vertic-1 do begin


    if heure(jj,kk) le 9 then begin
     heurec(jj,kk)='0'+string(strcompress(heure(jj,kk),/remove_all))
    endif   

    if heure(jj,kk) ge 10 then begin
     heurec(jj,kk)=string(strcompress(heure(jj,kk),/remove_all))
    endif

    if heure(jj,kk) eq 24 then begin
       heurec(jj,kk)='00'
       datetab(jj,kk)= strmid(datetab(jj,kk),0,9)+$
         string(strcompress((fix(strmid(datetab(jj,kk),9,1))+1),/remove_all))
    endif

    if sec(jj,kk) le 9 then begin
       secc(jj,kk)='0'+string(strcompress(sec(jj,kk),/remove_all))
    endif

    if sec(jj,kk) ge 10 then secc(jj,kk)=string(strcompress(sec(jj,kk),/remove_all))


    if minu(jj,kk) le 9 then minuc(jj,kk)='0'+string(strcompress(minu(jj,kk),/remove_all))
    if minu(jj,kk) ge 10 then minuc(jj,kk)=string(strcompress(minu(jj,kk),/remove_all))
    
  endfor
endfor


for i=0,raster-1 do begin
    tt=temporary(datetab+' '+heurec+':'+minuc+':'+secc) 
endfor

for h=0,horiz-1 do begin
    for v=0,vertic-1 do begin
        if strlen(tt(h,v)) ne 19 then tt(h,v)=tt(h-1,v)
    endfor
endfor

new_temps=temporary(tt)
+++++++++++++++++++++++++++++++++++++

  for i=0,vertic-1 do begin
      for j=0,horiz-1 do printf,22,new_temps(j,i)
  endfor
close,22

    tt=0

++++++++++++++++++++ LA REFERENCE TEMPORELLE ++++++++++++++++++++++++++    

      reference=fltarr(fente)
      reference(0:fente-1)=initialtime(3)+temps(0,fente*3:fente*3+fente-1) ;debut du 4eme raster 
                                                 ;sur toute sa hauteur
      heure=fix(reference/3600.)
      minu=fix((reference-heure*3600.)/60.)
      sec=fix(reference-heure*3600.-minu*60.)
      secc=tt
      minuc=tt
      heurec=tt
      dateref=strarr(fente)
      for z=0,fente-1 do dateref(z)=date(3)

      if heure(0,0) le 9 then heurec='0'+string(strcompress(heure,/remove_all))
      if heure(0,0) ge 10 then heurec=string(strcompress(heure,/remove_all))

      if sec(0,0) le 9 then secc='0'+string(strcompress(sec,/remove_all))
      if sec(0,0) ge 10 then secc=string(strcompress(sec,/remove_all))

      if minu(0,0) le 9 then minuc='0'+string(strcompress(minu,/remove_all))
      if minu(0,0) ge 10 then minuc=string(strcompress(minu,/remove_all))
    
      reference=(temporary(dateref+' '+heurec+':'+minuc+':'+secc))
      print,'reference',reference
      help,reference


temps=fltarr(1)


print,'fin du temps'

 fin de la lecture du temps

     ;-------------------------------------------------
     ; preparation - lecture de l'azimut               |
     ;-------------------------------------------------

azimut=fltarr(r(3),l)
new_azimut=fltarr(horiz,vertic)

close,22
openw,22,'new_azimut.dat'

for i=0,raster-1 do begin
    answer1=1
    answer2=5
    ft_sumread_fitsKB,filename(i),answer1,answer2,hd,hds,n,az
  
    az=temporary(rotate(az,4)) 
                   ;pour passer d'un tableau colonne a un tableau ligne
    azimut_init=fltarr(r(i),360) ;tableau intermediaire   
    for w=0,359 do azimut_init(*,w)=temporary(az(*))
    az=0

    j1=fix(i*fente)
    j2=fix(j1+(fente-1))

   
    if (i eq 0) or (i eq 2) or (i eq 4) or (i eq 6) then begin
        azimut(i3(0,i):i3(1,i),j1:j2)= temporary((azimut_init(0:r(i)-1,$
                           fix(position-1):fix((position-1)+fente-1))))
 
les bords ne peuvent pas etre laisses en blancs avec des 0 ce qui est 
la coordonnee du centre du soleil; donc on remplit avec des valeurs 
bidons
        for k=0,i3(0,i)-1 do azimut(k,*)=-1015.31+(k*pas)
        for k=r(3)-1,i3(1,i)+1,-1 do azimut(k,*)=1014.94-((r(3)-1-k)*pas)
        azimut_init=0
    endif

   ; la lecture de (position-1)=29 a (position-1)+fente-1=328 de la matrice 
   ; initiale permet de reconstruire l'image de la fente de 300px de haut, 
   ; centree sur le detecteur qui lui, fait 360px de haut.


    if (i eq 1) or (i eq 3) or (i eq 5) or (i eq 7) then begin
        k=fix((r(i))-findgen(r(i)))
        azimut(i3(0,i):i3(1,i),j1:j2)= temporary(azimut_init(k-1,$
                                   fix(position-1):fix((position-1)+fente-1)))
 
idem que pour les valeurs paires
        for k=0,i3(0,i)-1 do azimut(k,*)=-1015.31+(k*pas)
        for k=r(3)-1,i3(1,i)+1,-1 do azimut(k,*)=1014.94-((r(3)-1-k)*pas)
        azimut_init=0
    endif
    
   print,'fichier n',i


    q1=fix(i*(vertic/8.))
    for w=0,horiz-2 do begin
        for k=0,(vertic/8.-2) do begin 
            new_azimut(w,q1+k)=temporary(azimut(w*fac,j1+k*18))
            new_azimut(horiz-1,q1+k)=temporary(azimut(r(3)-1,j1+k*18))
        endfor
        new_azimut(w,q1+vertic/8.-1)=temporary(azimut(w*fac,j2)) 
        new_azimut(horiz-1,q1+vertic/8.-1)=temporary(azimut(r(3)-1,j2))
    endfor
endfor

for w=0,horiz-1 do begin
    for k=0,vertic-1 do begin
        if new_azimut(w,k) eq 0 then new_azimut(w,k)=$
                        (new_azimut(w-1,k)+new_azimut(w+1,k))/2.
    endfor
endfor

printf,22,new_azimut
close,22

azimut_init=fltarr(1)
azimut=fltarr(1)


print,"fin de l'azimut"

               ;---------------------------------------
               ; preparation - lecture de l'elevation  |
               ;---------------------------------------

elevation=fltarr(r(3),l)
new_elevation=fltarr(horiz,vertic)


close,22
openw,22,'new_elevation.dat'

for i=0,raster-1 do begin      
    answer1=1
    answer2=6
    ft_sumread_fitsKB,filename(i),answer1,answer2,hd,hds,n,el

    el=-temporary(rotate(el,4)) 
                       ;pour passer d'un tableau colonne a un tableau ligne
    elevation_init=fltarr(r(i),360)    ; dimensions a verifier
    for w=0,359 do elevation_init(*,w)=temporary(el(*))
                                       ;valeur du milieu de la fente
  
   ; l'elevation, tout comme l'azimut d'ailleurs, est donnee par rapport
   ; au centre de la fente ; pour connaitre l'elevation reelle, il faut
   ; tenir compte de la hauteur de la fente, sachant que 1"=1px.
   ; le probleme ne se pose pas pour l'azimut, la fente faisant 1 px de
   ; large.

   ;construction de elevation
   j1=fix(i*fente)
   j2=fix(j1+(fente-1))

   if (i eq 0) or (i eq 2) or (i eq 4) or (i eq 6) then begin      
      elevation(i3(0,i):i3(1,i),j1:j2)= temporary(elevation_init(0:r(i)-1,$
                          fix(position-1):fix((position-1)+fente-1)))
      elevation_init=0

   endif   
 
   ; la lecture de (position-1)=29 a (position-1)+fente-1=328 de la matrice 
   ; initiale permet de reconstruire l'image de la fente de 300px de haut,
   ; centree sur le detecteur qui lui, fait 360px de haut.

    
   if (i eq 1) or (i eq 3) or (i eq 5) or (i eq 7) then begin
      k=fix((r(i))-findgen(r(i)))
      elevation(i3(0,i):i3(1,i),j1:j2)= temporary(elevation_init(k-1,$
                           fix(position-1):fix((position-1)+fente-1)))
      elevation_init=0

   endif
   

   for k=0,i3(0,i)-1 do elevation(k,j1:j2)=temporary(elevation(i3(0,i),j1:j2))
   for k=r(3)-1,i3(1,i)+1,-1 do elevation(k,j1:j2)=$
                                           temporary(elevation(i3(0,i),j1:j2))
      

   ;cas ou 1px=1.041" donc:
   ech=1.041
   for j=(j1+fente/2.-1),j1,-1 do elevation(*,j)= $ 
        temporary(elevation(*,j1+fente/2.-1))+(j1+fente/2.-1-j)*ech
   for j=(j1+fente/2.),j2  do elevation(*,j)= $
        temporary(elevation(*,(j1+fente/2.-1)))-(j-(j1+fente/2.-1))*ech

    print,'fichier n',i

    q1=fix(i*(vertic/8.))
    for w=0,horiz-2 do begin
        for k=0,(vertic/8.-2) do begin
            new_elevation(w,q1+k)=temporary(elevation(w*fac,j1+k*18))
            new_elevation(horiz-1,q1+k)=temporary(elevation(r(3)-1,j1+k*18))
        endfor
        new_elevation(w,q1+vertic/8.-1)=temporary(elevation(w*fac,j2)) 
        new_elevation(horiz-1,q1+vertic/8.-1)=temporary(elevation(r(3)-1,j2))
    endfor
endfor

for k=0,vertic-1 do begin
    for w=1,horiz-2 do begin
        if (new_elevation(w,k) ne new_elevation(w+1,k)) and $
           (new_elevation(w,k) ne new_elevation(w-1,k)) then begin
           new_elevation(w,k)=new_elevation(w+1,k)
        endif
    endfor
endfor

printf,22,new_elevation
close,22

elevation_init=fltarr(1)

print,"fin de l'elevation"


     ;-------------------------------------------------
     ; preparation - lecture du moment                 |
     ;-------------------------------------------------


momentinter=fltarr(r(3),l)

for i=0,raster-1 do begin
    answer1=1
    answer2=1
    ft_sumread_fitsKB,filename(i),answer1,answer2,hd,hds,n,mom


 CALLS:


PRG_ALT $SSW/soho/cds/idl/util/ops/database/prg_alt.pro
[Previous] [Next]
 Project     :	SOHO - CDS

 Name        :	PRG_ALT()

 Purpose     :	Purges old and deleted CDS alternate plan records

 Explanation :	This routine removes all entries from the SoHO/CDS alternate
		science plan database which are marked for deletion.  Later,
		this routine may be updated to age off old entries from the
		database as well.

 Use         :	PRG_ALT

 Inputs      :	None.

 Opt. Inputs :	None.

 Outputs     :	The result of the function is a logical value representing
		whether or not the operation was successful, where 1 is
		successful and 0 is unsuccessful.

 Opt. Outputs:	None.

 Keywords    :
       ERRMSG    = If defined and passed, then any error messages will be
                   returned to the user in this parameter rather than
                   depending on the MESSAGE routine in IDL.  If no errors are
                   encountered, then a null string is returned.  In order to
                   use this feature, ERRMSG must be defined first, e.g.

                       ERRMSG = ''
                       Result = PRG_ALT( ERRMSG=ERRMSG )
                       IF ERRMSG NE '' THEN ...

 Calls       : ***
	DBCLOSE [1], DBCLOSE [2], DBCLOSE [3], DBDELETE [1], DBDELETE [2], DBDELETE [3]
	DBFIND [1], DBFIND [2], DBFIND [3], DBOPEN [1], DBOPEN [2], DBOPEN [3]
 Common      :	None.

 Restrictions:	None.

 Side effects:	None.

 Category    :	Planning, Databases.

 Prev. Hist. :	None.

 Written     :	William Thompson, GSFC, 9 May 1995

 Modified    :	Version 1, William Thompson, GSFC, 9 May 1995

 Version     :	Version 1, 9 May 1995


PRG_ANOMALY $SSW/soho/gen/idl/util/prg_anomaly.pro
[Previous] [Next]
 Project     :	SOHO - CDS

 Name        :	PRG_ANOMALY()

 Purpose     :	Purges old and deleted SOHO anomaly records

 Explanation :	

 Use         :	S=PRG_ANOMALY()

 Inputs      :	None.

 Opt. Inputs :	None.

 Outputs     :	The result of the function is a logical value representing
		whether or not the operation was successful, where 1 is
		successful and 0 is unsuccessful.

 Opt. Outputs:	None.

 Keywords    :
       ERRMSG    = If defined and passed, then any error messages will be
                   returned to the user in this parameter rather than
                   depending on the MESSAGE routine in IDL.  If no errors are
                   encountered, then a null string is returned.  In order to
                   use this feature, ERRMSG must be defined first, e.g.

                       ERRMSG = ''
                       Result = PRG_ANOMALY( ERRMSG=ERRMSG )
                       IF ERRMSG NE '' THEN ...

 CALLS: ***
	DBCLOSE [1], DBCLOSE [2], DBCLOSE [3], DBDELETE [1], DBDELETE [2], DBDELETE [3]
	DBFIND [1], DBFIND [2], DBFIND [3], DBOPEN [1], DBOPEN [2], DBOPEN [3]
 CALLED BY:
	XREPORT
 Common      :	None.

 Restrictions:	None.

 Side effects:	None.

 Category    :	Planning, Databases.

 Prev. Hist. :	None.

 Written     :	Dominic Zarro (ARC/GSFC) 21 January 1996

 Version     :	Version 1


PRG_DETAIL $SSW/soho/cds/idl/util/ops/database/prg_detail.pro
[Previous] [Next]
 Project     :	SOHO - CDS

 Name        :	PRG_DETAIL()

 Purpose     :	Purges old and deleted CDS detailed science plan records

 Explanation :	This routine removes all entries from the SoHO/CDS detailed
		science plan database which are marked for deletion.  Later,
		this routine may be updated to age off old entries from the
		database as well.

 Use         :	PRG_DETAIL

 Inputs      :	None.

 Opt. Inputs :	None.

 Outputs     :	The result of the function is a logical value representing
		whether or not the operation was successful, where 1 is
		successful and 0 is unsuccessful.

 Opt. Outputs:	None.

 Keywords    :	YEAR	= If set, then all entries with a start date within
			  that year are moved to a database specifically set
			  aside for that year.

		ERRMSG	= If defined and passed, then any error messages will
			  be returned to the user in this parameter rather than
			  depending on the MESSAGE routine in IDL.  If no
			  errors are encountered, then a null string is
			  returned.  In order to use this feature, ERRMSG must
			  be defined first, e.g.

				ERRMSG = ''
				Result = PRG_DETAIL( ERRMSG=ERRMSG )
				IF ERRMSG NE '' THEN ...

 Calls       : ***
	ANYTIM2UTC [1], ANYTIM2UTC [2], BREAK_FILE [1], BREAK_FILE [2], BREAK_FILE [3]
	DBCLOSE [1], DBCLOSE [2], DBCLOSE [3], DBCOMPRESS, DBCREATE [1], DBCREATE [2]
	DBCREATE [3], DBDELETE [1], DBDELETE [2], DBDELETE [3], DBEXT [1], DBEXT [2]
	DBEXT [3], DBEXT [4], DBFIND [1], DBFIND [2], DBFIND [3], DBINDEX [1], DBINDEX [2]
	DBINDEX [3], DBOPEN [1], DBOPEN [2], DBOPEN [3], FILE_EXIST [2], FIND_WITH_DEF [1]
	FIND_WITH_DEF [2], FIND_WITH_DEF [3], OS_FAMILY, TAI2UTC, TRIM, break_file [4]
	file_exist [1], file_exist [3]
 Common      :	None.

 Restrictions:	None.

 Side effects:	None.

 Category    :	Planning, Databases.

 Prev. Hist. :	None.

 Written     :	William Thompson, GSFC, 8 May 1995

 Modified    :	Version 1, William Thompson, GSFC, 8 May 1995
		Version 2, William Thompson, GSFC, 26 May 1998
			Added keyword YEAR

 Version     :	Version 2, 26 May 1998


PRG_FLAG $SSW/soho/cds/idl/util/ops/database/prg_flag.pro
[Previous] [Next]
 Project     :	SOHO - CDS

 Name        :	PRG_FLAG()

 Purpose     :	Purges old and deleted CDS flag plan records

 Explanation :	This routine removes all entries from the SoHO/CDS flag
		receiver science plan database which are marked for deletion.
		Later, this routine may be updated to age off old entries from
		the database as well.

 Use         :	PRG_FLAG

 Inputs      :	None.

 Opt. Inputs :	None.

 Outputs     :	The result of the function is a logical value representing
		whether or not the operation was successful, where 1 is
		successful and 0 is unsuccessful.

 Opt. Outputs:	None.

 Keywords    :
       ERRMSG    = If defined and passed, then any error messages will be
                   returned to the user in this parameter rather than
                   depending on the MESSAGE routine in IDL.  If no errors are
                   encountered, then a null string is returned.  In order to
                   use this feature, ERRMSG must be defined first, e.g.

                       ERRMSG = ''
                       Result = PRG_FLAG( ERRMSG=ERRMSG )
                       IF ERRMSG NE '' THEN ...

 Calls       : ***
	DBCLOSE [1], DBCLOSE [2], DBCLOSE [3], DBDELETE [1], DBDELETE [2], DBDELETE [3]
	DBFIND [1], DBFIND [2], DBFIND [3], DBOPEN [1], DBOPEN [2], DBOPEN [3]
 Common      :	None.

 Restrictions:	None.

 Side effects:	None.

 Category    :	Planning, Databases.

 Prev. Hist. :	None.

 Written     :	William Thompson, GSFC, 8 May 1995

 Modified    :	Version 1, William Thompson, GSFC, 8 May 1995

 Version     :	Version 1, 8 May 1995


PRG_PLAN $SSW/soho/gen/idl/plan/database/prg_plan.pro
[Previous] [Next]
 Project     :	SOHO - CDS

 Name        :	PRG_PLAN()

 Purpose     :	Purges old and deleted SOHO science plan records

 Explanation :	This routine removes all entries from the SoHO/CDS science
		plan database which are marked for deletion.  Later, this
		routine may be updated to age off old entries from the database
		as well.

 Use         :	PRG_PLAN

 Inputs      :	None.

 Opt. Inputs :	None.

 Outputs     :	The result of the function is a logical value representing
		whether or not the operation was successful, where 1 is
		successful and 0 is unsuccessful.

 Opt. Outputs:	None.

 Keywords    :	YEAR	= If set, then all entries with a start date within
			  that year are moved to a database specifically set
			  aside for that year.

		ERRMSG  = If defined and passed, then any error messages will
			  be returned to the user in this parameter rather than
			  depending on the MESSAGE routine in IDL.  If no
			  errors are encountered, then a null string is
			  returned.  In order to use this feature, ERRMSG must
			  be defined first, e.g.

				ERRMSG = ''
				Result = PRG_PLAN( ERRMSG=ERRMSG )
				IF ERRMSG NE '' THEN ...

 Calls       : ***
	ANYTIM2UTC [1], ANYTIM2UTC [2], BREAK_FILE [1], BREAK_FILE [2], BREAK_FILE [3]
	DBCLOSE [1], DBCLOSE [2], DBCLOSE [3], DBCOMPRESS, DBCREATE [1], DBCREATE [2]
	DBCREATE [3], DBDELETE [1], DBDELETE [2], DBDELETE [3], DBEXT [1], DBEXT [2]
	DBEXT [3], DBEXT [4], DBFIND [1], DBFIND [2], DBFIND [3], DBINDEX [1], DBINDEX [2]
	DBINDEX [3], DBOPEN [1], DBOPEN [2], DBOPEN [3], FILE_EXIST [2], FIND_WITH_DEF [1]
	FIND_WITH_DEF [2], FIND_WITH_DEF [3], OS_FAMILY, TAI2UTC, TRIM, break_file [4]
	file_exist [1], file_exist [3]
 CALLED BY:
	READ_KAP, READ_MSP_FILE, UPDATE_IAP, UPDATE_KAP
 Common      :	None.

 Restrictions:	None.

 Side effects:	None.

 Category    :	Planning, Databases.

 Prev. Hist. :	None.

 Written     :	William Thompson, GSFC, 8 May 1995

 Modified    :	Version 1, William Thompson, GSFC, 8 May 1995
		Version 2, William Thompson, GSFC, 26 May 1998
			Added keyword YEAR

 Version     :	Version 2, 26 May 1998


PRG_SOHO_DET $SSW/soho/gen/idl/plan/database/prg_soho_det.pro
[Previous] [Next]
 Project     :	SOHO - CDS

 Name        :	PRG_SOHO_DET()

 Purpose     :	Purges old and deleted SOHO detailed science plan records

 Explanation :	This routine removes all entries from the SOHO detailed
		science plan database which are marked for deletion.  Later,
		this routine may be updated to age off old entries from the
		database as well.

 Use         :	PRG_SOHO_DET

 Inputs      :	None.

 Opt. Inputs :	None.

 Outputs     :	The result of the function is a logical value representing
		whether or not the operation was successful, where 1 is
		successful and 0 is unsuccessful.

 Opt. Outputs:	None.

 Keywords    :
       ERRMSG    = If defined and passed, then any error messages will be
                   returned to the user in this parameter rather than
                   depending on the MESSAGE routine in IDL.  If no errors are
                   encountered, then a null string is returned.  In order to
                   use this feature, ERRMSG must be defined first, e.g.

                       ERRMSG = ''
                       Result = PRG_SOHO_DET( ERRMSG=ERRMSG )
                       IF ERRMSG NE '' THEN ...

 Calls       : ***
	DBCLOSE [1], DBCLOSE [2], DBCLOSE [3], DBDELETE [1], DBDELETE [2], DBDELETE [3]
	DBFIND [1], DBFIND [2], DBFIND [3], DBOPEN [1], DBOPEN [2], DBOPEN [3]
 CALLED BY:
	READ_KAP, UPDATE_IAP, UPDATE_KAP
 Common      :	None.

 Restrictions:	None.

 Side effects:	None.

 Category    :	Planning, Databases.

 Prev. Hist. :	None.

 Written     :	William Thompson, GSFC, 22 May 1995

 Modified    :	Version 1, William Thompson, GSFC, 22 May 1995

 Version     :	Version 1, 22 May 1995


PRINT_TEXT [1] $SSW/soho/mdi/idl_old/gen/ys_util/print_text.pro
[Previous] [Next]
 NAME:
 	PRINT_TEXT	
 PURPOSE:
	Print Text Section from SXT Generic Files
	Recursively Parses for line break characters 
 CALLING SEQUENCE:
	PRINT_TEXT, text [,device]
		data structure
 INPUTS:
	TEXT - string, generally extracted from SXT generic file
	DEVICE - [Optional], Logical unit for output
 COMMON BLOCKS;
	NONE
 CALLED BY:
	INQ_GEN [1], INQ_GEN [2]
 MODIFICATION HISTORY:
	Version 0 - SLF, 3/15/91


printing [1] $SSW/soho/mdi/idl_old/gen/ys_util/printing.pro
[Previous] [Next]
   Name: printing

   Purpose: toggle state of ys_noprint environmental/logical

 CALLS: ***
	set_logenv [1], set_logenv [2]
   History: 
      7-Nov-1993 (SLF)

   Calling Sequence
      printing, /off	
      printing [,/on] 	(default)


pro_cal $SSW/soho/lasco/idl/las-c2/calib5.pro
[Previous] [Next]
 NAME:                        pro_cal.pro
 PURPOSE:                     get in memory an image and 
                              substracts the right dark 
 CATEGORY:                    Preprocessing high level routine   
 CALLING SEQUENCE:            PRO_CAL, ima_name, drk, hdrk, iout, hout
 INPUTS:                      ima_name       Name of image to process
 OPTIONAL INPUT PARAMETERS:   None
 KEYWORD PARAMETERS:          None
 OUTPUTS:                     drk            Associate dark array
                              hdrk           Associate header of dark
                              iout           Corrected image array
                              hout           Header for corrected image array
 OPTIONAL OUTPUT PARAMETERS:  None
 CALLED BY:
	FILTMEDIAN, MEAN_2D_FRM, POLM1M2, pattern1 [1], pattern1 [2]
 COMMON BLOCKS:               CATA, db_dark, ndarks, drk_name
 SIDE EFFECTS:                opens a catalog of darks if this doesn't exist
                              and associates a dark to frame
 RESTRICTIONS:
 PROCEDURE:
 MODIFICATION HISTORY:        defined by ALL 6/24/93
			       rewritted and corrected by M.B 11/04/93

 SCCS variables for IDL use

 @(#)pro_cal.pro  1.0 25/6/93 :LAS


pro_list [1] $SSW/soho/mdi/idl_old/gen/ys_util/pro_list.pro
[Previous] [Next]
NAME:
	pro_list
PURPOSE:
	To return a list of the IDL procedures (.PRO files)
	that are in the IDL path (!path)
SAMPLE CALLING SEQUENCE:
	pros = pro_list()
	pros = pro_list(/hc, /land)
 CALLS: ***
	DPRINT, REVERSE, SPLIT_FILES, STR2ARR [1], STR2ARR [2], STR_LASTPOS [1], UNIQ [1]
	UNIQ [2], UNIQ [3], file_list [1], file_list [2], str_lastpos [2]
OPTIONAL KEYWORD INPUT:
	outfile	- If a filename is passed, the results will also
		  be written to that file
	hc	- If set, write the results to a temporary file, print
		  it and delete it.
OUTPUT:
	Return a list of procedure/function/program names
OPTIONAL KEYWORD OUTPUT:
	dirs	- the directory associated with the IDL procedure
HISTORY:
	Written 23-Apr-92 by M.Morrison
	29-Apr-93 (MDM) - Added sample calling sequence to the header


PRODUCT [3] $SSW/soho/mdi/idl_old/gen/ssw_lib/product.pro
[Previous] [Next]
 Project     : SOHO - CDS

 Name        : 
	PRODUCT()
 Purpose     : 
	Calculates the product of all the elements of an array.
 Explanation : 
	Calculates the product of all the elements of an array--the
	multiplicative equivalent of total.
 Use         : 
	Result = PRODUCT(ARRAY)
 Inputs      : 
	ARRAY	= Array of elements to multiply together.  For instance, ARRAY
		  could contain the dimensions of another array--then
		  PRODUCT(ARRAY) would be the total number of elements of that
		  other array.
 Opt. Inputs : 
	None.
 Outputs     : 
	The result of the function is the total product of all the elements of
	ARRAY.
 Opt. Outputs: 
	None.
 Keywords    : 
	None.
 Calls       : 
	None.
 Common      : 
	None.
 Restrictions: 
	ARRAY must be a numerical type.
 Side effects: 
	The result will always be of at least floating point type.
 Category    : 
	Utilities, Arrays.
 Prev. Hist. : 
	William Thompson, Feb. 1992.
 Written     : 
	William Thompson, GSFC, February 1992.
 Modified    : 
	Version 1, William Thompson, GSFC, 12 April 1993.
		Incorporated into CDS library.
 Version     : 
	Version 1, 12 April 1993.


PROFILE $SSW/soho/lasco/idl/display/profile1.pro
[Previous] [Next]
 NAME:
	PROFILE

 PURPOSE:
	Extract a profile from an image.

 CATEGORY:
	Image processing.

 CALLING SEQUENCE:
	Result = PROFILE(Image, XX, YY)

 INPUTS:
	Image:	The data array representing the image.  This array can be
		of any type except complex.

 KEYWORD PARAMETERS:
      XSTART:	The starting X location of the lower-left corner of Image.
		If this keyword is not specified, 0 is assumed.

      YSTART:	The starting Y location of the lower-left corner of Image.
		If this keyword is not specified, 0 is assumed.

     NONMARK:	Set this keyword to inhibit marking the image with the 
		profile line.

 OUTPUTS:
	PROFILE returns a floating-point vector containing the values of
	the image along the profile line marked by the user.

 OPTIONAL OUTPUTS:
	XX:	After picking the end points, XX contains the X coordinates
		of the points along the selected profile.

	YY:	After picking the end points, YY contains the Y coordinates
		of the points along the selected profile.

 CALLS: ***
	PROFILE1
 CALLED BY:
	hsi_score2profile
 COMMON BLOCKS:
	None.

 SIDE EFFECTS:
	Cursor on image display is enabled.

 RESTRICTIONS:
	None.

 PROCEDURE:
	Allow the operator to mark two points on the
	image display with the joystick.  Extract and
	return the points along the line.  Optionally
	return the X and Y values of each extracted point.

 EXAMPLE:
	Display an image, select a profile and plot that profile in a new
	window.  Create and display an image by entering:

		A = BYTSCL(DIST(256))
		TV, A

	Extract a profile from the image.  Enter the following command and
	mark two points on the image with the mouse:

		R = PROFILE(A)

	Create a new plotting window and plot the profile by entering:

		WINDOW, /FREE
		PLOT, R

	An interactive version of this routine is available with the User
	Library procedure PROFILES.

 MODIFICATION HISTORY:
	Written, DMS, November, 1982.
	Modified for Sun, march, 1988.
	December 1991, KRC  Made PROFILES return XX and YY.


PROFILES [2] $SSW/soho/mdi/idl_old/gen/util/profiles.pro
[Previous] [Next]
 NAME:
	PROFILES

 PURPOSE:
	Interactively draw row or column profiles of an image in a separate
	window.

 CATEGORY:
	Image analysis.

 CALLING SEQUENCE:
	PROFILES, Image [, SX = sx, SY = sy]

 INPUTS:
	Image:	The variable that represents the image displayed in current 
		window.  This data need not be scaled into bytes.
		The profile graphs are made from this array.

 KEYWORD PARAMETERS:
	SX:	Starting X position of the image in the window.  If this 
		keyword is omitted, 0 is assumed.

	SY:	Starting Y position of the image in the window.  If this
		keyword is omitted, 0 is assumed.

	WSIZE:	The size of the PROFILES window as a fraction or multiple 
		of 640 by 512.

	ORDER:	Set this keyword param to 1 for images written top down or
		0 for bottom up.  Default is the current value of !ORDER.

	x0:	Absolute X coordinate of the lower left corner of the
		image being displayed.  If the image was extracted from some 
		original image, x0 can be passed and the pixel location
		will also display the absolute pixel coordinates.
	y0:	Absolute Y coordinate (see x0)
	factor: The rescale factor used on the original image.  For example,
		if a 1024x1024 image was rebinned to 512x512 before display,
		then FACTOR would be 2, and the absolute original pixel 
		location will be displayed
	xfactor:If only the X dimension was rescaled, then use "xfactor".
		(see "factor" for more details)
	yfactor:Same as "xfactor".
 OUTPUTS:
	No explicit outputs.

 CALLED BY:
	CW_SCANSOURCE, MK_RASTER, NRH_IMAGE, STEPPER [3], STEPPER [4], hsi_buildprofile
	hsi_buildprofile, hsi_profilebuild, hsi_profilebuild, xdisp_fits
	xdisp_trace [1], xdisp_trace2, xdisp_trace3
 COMMON BLOCKS:
	None.

 SIDE EFFECTS:
	A new window is created and used for the profiles.  When done,
	the new window is deleted.

 RESTRICTIONS:
	None.

 PROCEDURE:
	A new window is created and the mouse location in the original
	window is used to plot profiles in the new window.  Pressing the
	left mouse button toggles between row and column profiles.
	The right mouse button exits.

 EXAMPLE:
	Create and display an image and use the PROFILES routine on it.
	Create and display the image by entering:

		A = BYTSCL(DIST(256))
		TV, A

	Run the PROFILES routine by entering:

		PROFILES, A

	The PROFILES window should appear.  Move the cursor over the original
	image to see the profile at the cursor position.  Press the left mouse
	button to toggle between row and column profiles.  Press the right
	mouse button (with the cursor over the original image) to exit the
	routine.

 MODIFICATION HISTORY:
	DMS, Nov, 1988.
	30-Oct-96 (MDM) - Added printing the data value at the cross hair
			- Added x0, y0, xfactor, yfactor options


prstr [2] $SSW/soho/mdi/idl_old/gen/ys_util/prstr.pro
[Previous] [Next]
   Name: prstr

   Pupose: print input string array as using format='(a)' to force one 
	    entry per line (other types use idl standard print defaults)

   Input Parameters:
      strarr - array to print (will be converted to string)
      lun    - (optional - in/out) open unit for file 

   Keyword Parameters:
      file  - file name for output (default is via scratch.pro)
	       (if not defined, it is output from scratch)
      print - if set, print out the text 
      hc    - if set, print out the text (hc=hardcopy=synonym for print)
      file  - string file name for write (default is via scratch.pro)
      compress - if set, compress and remove nulls (useful for FITS header)
      nomore - if set, inhibit 'more-like' behavior (print everything)
      
   Calling Sequence:
      prstr,strarry [,/nomore]		; print string array to terminal
      prstr,strarry,/print		; scratch file->lpr, delete scratch
      prstr,strarry,lun		; print strarray to scratch file
					; (open file if lun is undefined)
      prstr,strarry,lun,file=fname	; user supplies file 
      prstr,strarry,lun,/print		; same, close, print, delete
      prstr,strarry,lun,/print,/nodel  ; dont delete scrat

 CALLS: ***
	MORE [1], MORE [2], scratch [1], scratch [2]
 CALLED BY:
	FIRST_LIGHT [1], FIRST_LIGHT [2], GE_WINDOW [1], GOES__DEFINE
	HESSI BINNED EVENTLIST CLASS DEFINITION
	HESSI CALIBRATED EVENTLIST CLASS DEFINITION [1]
	HESSI CALIBRATED EVENTLIST CLASS DEFINITION [2]
	HESSI EVENTLIST CLASS DEFINITION, HESSI IMAGE FILE CLASS DEFINITION [1]
	HESSI IMAGE STRATEGY CLASS DEFINITION
	HESSI MONITOR RATE  CLASS DEFINITION, HESSI PACKET FILE ABSTRACT CLASS
	HESSI_DATA, HESSI_SHUTTERS, HSI_CHK_DUPLICATE, HSI_DIAGNOSTICS, HSI_SCORE_BPROJ
	HSI_SPECTROGRAMACCBIN [5], HSI_SPECTROGRAMCHAN_OVERLAP_FIX
	HSI_SPECTROGRAM_DECIM_CORRECT, HSI_SPECTROGRAM_DECIM_TABLE
	HSI_SPECTRUM__DEFINE, HXRBS_OCC, LIGHTCURVE CLASS DEFINITION, MAKE_GOES_RESP
	MAP2JPEG, MDI_SUMMARY, RHESSI IMAGE SINGLE CLASS DEFINITION, RdTap [1]
	RdTap [2], RdTap [3], SPECTROGRAM CLASS DEFINITION, SPECTRUM CLASS DEFINITION
	SPEX_DRM__DEFINE, SPEX_FITALG_GEN__DEFINE, SPEX_FIT__DEFINE, SPEX_GEN__DEFINE
	SPEX__DEFINE, STRATEGY HOLDER TOOLS ABSTRACT CLASS, add_pro [1], add_pro [2]
	auto_toban, bcs_velres, cfl_summary [1], cfl_summary [2], check_dumps [1]
	check_oldprocess [1], check_oldprocess [2], check_oldprocess [3]
	check_oldprocess [4], check_process [1], check_process [2], check_ql_after_lz
	chk_flares [1], chk_flares [2], chk_pointing, cp_fns [1], cp_fns [2], ctraj2orbit
	daily_forecast [2], dbase2disk, delete_week [1], delete_week [2], disk_hog [1]
	disk_hog [2], disk_monitor [1], disk_monitor [2], disp_therm_rs232, do_ads
	do_demo [1], do_demo [2], do_disp_month, doc_library2 [1], doc_library2 [2]
	doc_summ [1], doc_summ [2], dont_use_this [1], dont_use_this [2], dpc_summary
	dps_proc_mem_dump, eit_file2path, eit_fulldiskdb, file_purge [1], file_purge [2]
	fit_comp__define, fitshead2struct, flares2disk, fort2hxi [1], fort2hxi [2]
	ftp_copy_new, ftp_defprompt, genx_newver [1], genx_newver [2], get1hk_info [1]
	get1hk_info [2], get_ar, get_hk_info [1], get_hk_info [2], get_infox, get_selsis
	goes_plot [1], goes_plot [2], goes_plot [3], goes_plot [4], goes_plot [5]
	goesplot, help_prefix, help_windows, hessi_setup_info, hessi_var
	hsi_image__getaxis [2], hsi_image__plot [2], hsi_image_raw__define
	hsi_params_write_pro, hsi_plot_flux, hsi_select_flare
	hsi_spectrogramACCBIN [2], hsi_spectrogram__define [1]
	hsi_spectrogram__define [2], hsi_spectrogram__define [3]
	hsi_spectrogram__get_obs [1], hsi_spectrogram__livetime [1]
	hsi_write_txt_flare_list, html_linklist, image2movie, iperr_sea, is_bestnode [1]
	is_bestnode [2], jitter_gif_xyimg, killold [1], killold [2], laststat [1]
	laststat [2], make_ssw_mirror, merc_lwa, merc_pix, mk_bad_pix_map_load
	mk_gsn_obs_s1, mk_hst_summary, mk_imgsum_html, mk_lasteit_movie, mk_limb_pixmap
	mk_mdi_iap, mk_mo_list, mk_mo_log, mk_sfc [1], mk_sfc [2], mk_soup_hcat, mk_spd
	mk_ydbtape [1], mk_ydbtape [2], mktap_prep, mo_patch, mobad_summ
	month_sfd_fits [1], month_sfd_fits [2], mreadfits_fixup, multi_hda2hxi
	mxf_decomp_data, mxf_dset_map, mxf_read_data, mxfdset_map, mxfread, newsfd
	nob_img_copy, nobeyama_update, nts_copy [1], nts_copy [2], op_term_score
	op_terminator [1], op_terminator [2], ospex_params_write_pro, page_fmt, plotman
	pr_fdss_grndtrk, pr_fdss_orbevt, pr_fdss_viewpd, pr_logenv, pr_logwindows
	pr_maxmin_hk, pr_mdihk_trans [1], pr_mdihk_trans [2], pr_path [1], pr_path [2]
	pr_pnt_hist, pr_seq_frame_info, pr_sfc, pr_sxt_term, pr_sxtobs, pr_therm_rs232
	pr_tr_header, pr_uniq_hk, pr_visible, quality_filter, quick_hkplot [1]
	quick_hkplot [2], rd_bsc, rd_raw_station_plan, rd_sxa, rd_sxc, rd_sxl, rd_sxtgoes
	read_mdi, ref_term [2], reg_check, save_idl_routines, search [1], search [2]
	search_obs, sft2sfc, show_contacts, special_movie, spex_bkint__define
	ssw_check_contrib, ssw_env, ssw_getapplet, ssw_packages, ssw_path, ssw_upgrade [1]
	ssw_upgrade [2], ssw_upgrade_backup, sswdb_upgrade, sswloc, sw2tree [1]
	sw2tree [2], sxl_analysis, sxt2file, sxt_plan, sxt_prep [1], sxt_prep [2]
	sxt_prep [3], sxt_uvf_info [1], sxt_uvf_info [3], sxt_where, table2struct
	telem_sum, term_times, tim2dbase, tim2pass, tim2tfss, timeline, timeline2html
	topsdb [1], topsdb [2], tr_head_info, tr_list_frames, tr_mech_summary_img month
	tr_mk_seq_alph, tr_rd_index, tr_summary_head, tr_tab_head, trace_rd_jpeg
	track_proc [1], track_proc [2], web_seq, where_pattern [1], where_pattern [2]
	wmenu_sel [1], wmenu_sel [2], wrt_fits_bin_exten [2], xcheckip, xdisp_fits
	xdisp_sci5k, xdisp_trace [1], xdisp_trace2, xdisp_trace3, xhkplot, xrd_trace
	xread_hist, xset_chain [1], xset_chain [2], ydb_install [1], ydb_install [2]
	yo_file_check [1], yo_file_check [2], ys_file_check [1], ys_file_check [2]
   History: 
      slf, circa June 1992
      slf, 18-jan-1993 - added file and hc keywords
      slf,  5-mar-1993 - use scratch.pro for temp files
      slf,  2-jun-1993 - add close keyword
      mdm,  3-Jun-1993 - Closed the file when LUN is not used in the call
      slf, 29-jul-1993 - added compress keyword and function
      slf, 12-aug-1993 - added 'more' logic to terminal print, input chk
			  added nomore keyord
      slf, 18-apr-1994 - call more.pro for tty output


prt_afile_size [1] $SSW/soho/mdi/idl_old/gen/ys_util/prt_afile_size.pro
[Previous] [Next]
	NAME:
		prt_afile_size
	Purpose:
		List files and sizes in Kbytes by file-types.
	CALLING SEQUENCE:
		prt_afile_size, infn, fn_sz
		infn 	is a list of file names
		fn_sz	is a list of file sizes in bytes
 CALLS: ***
	PREFIXCK, UNIQ [1], UNIQ [2], UNIQ [3]
 CALLED BY:
	go_rdtap [1], go_rdtap [2]
	History:
		written, 17-Sept-92, gal 
		updated, 1-Dec-92, by gal, to output 0 byte requests
		and success count.


PS [2] $SSW/soho/mdi/idl_old/gen/ssw_lib/ps.pro
[Previous] [Next]
 Project     : SOHO - CDS

 Name        : 
	PS
 Purpose     : 
	Sets graphics device to PostScript file.
 Explanation : 
	This procedure sets the system variables needed to write PostScript
	printer plot files.  The default configuration is landscape mode.
	Alternate modes are (TeX-compatible) encapsulated mode, portrait mode
	using all of the paper, and color mode (either landscape or portrait)
	which is compatible with the color printer.

	SETPLOT is called to save and set the system variables.  If a new file
	is to be opened, then DEVICE is called to set the plot window size and
	orientation, and to open the file.

	If the plot file is already open, then calling PS without any
	parameters or keywords allows the user to write into the already opened
	file, in the same mode as before.

 Use         : 
	PS  [, FILENAME ]

	PS				;Open PostScript plot file
	   ... plotting commands ...	;Create plot
	PSPLOT				;Close & plot file, reset to prev. dev.
	   or
	PSCLOSE				;Close w/o printing,  "    "   "    "

 Inputs      : 
	None required unless /ENCAPSULATED switch set.  See FILENAME below.
 Opt. Inputs : 
	FILENAME - Name of postscript file to be opened.  If not passed, and no
		   filename was previously passed, "idl.ps" is assumed.  If the
		   /ENCAPSULATED switch is passed, then a filename must be
		   passed.
 Outputs     : 
	A message is printed to the screen.
 Opt. Outputs: 
	None.
 Keywords    : 
	The following keywords are listed in the order of precedence.

	ENCAPSULATED = If set, then the plot is done in encapsulated landscape
		       mode.  This is compatible with TeX/LaTeX.
	TEX	     = A synonym for ENCAPSULATED.
	PORTRAIT     = If set, then the plot is done in portrait mode, using
		       all of the paper.
	LANDSCAPE    = If set, then the plot is done in landscape mode, using
		       all of the paper.  This is the default mode.

	In addition, the following keyword can be used with any of the others.

	COLOR	     = If set, then a color plot is made.
	COPY	     = If set, (together with /COLOR) then the current color
		       table is copied to the PostScript device.  Also, unless
		       INTERPOLATE is also set, the SETFLAG routine is called
		       to set TOP equal to the number of colors.  Also makes
		       sure that !P.COLOR does not exceed the TOP color.
		       Requires the SERTS image display software.
	INTERPOLATE  = If set, (together with /COLOR and /COPY) then the
		       current color table is interpolated to the PostScript
		       device.

 Calls       : ***
	FORM_FILENAME [1], FORM_FILENAME [2], SETPLOT [1], SETPLOT [2]
 CALLED BY:
	AN_NIMCP, AN_NIMCP_1_2, AN_NIMCP_AVG, CHIANTI_NE, CHIANTI_TE, DENSITY_RATIOS, DSPEXP
	DSPWAV, DSP_AUX, DSP_WAV, EIS_IMAGE_TOOL_EVENT [1], EIS_IMAGE_TOOL_EVENT [2]
	EVAL_SHERB, GDSPSPEC, GHOST_BUSTER, GISPLOT, GOFNT, IMAGE_TOOL_EVENT, MK_CDS_PLAN
	MK_SOHO, NDSPSPEC, PLOT_HSI, PQLPROFILE, TEMPERATURE_RATIOS, TP_DISPLAY_DEW
	TP_DRAW_RASDUR, TP_DRAW_VWIN, TVPRINT, VIEW_PHA, WIN_DUMP, XCDS_SNAPSHOT, ch_ss
	hsi_sas_plot_scpointing, spectro_plot, tvmulti
 Common      : 
	PS_FILE which contains PS_FILENAME, the name of the plotting file,
	LAST_DEVICE, which is the name of the previous graphics device, and
	various parameters used to keep track of which configuration is being
	used.

	Also calls SETPLOT, which uses common block PLOTFILE.

 Restrictions: 
	Only the routines PSPLOT and PSCLOSE can be used to close the
	PostScript file.  It is best if the routines TEK, REGIS, etc. (i.e.
	those routines that use SETPLOT) are used to change the plotting
	device.

	In general, the SERTS graphics devices routines use the special system
	variables !BCOLOR and !ASPECT.  These system variables are defined in
	the procedure DEVICELIB.  It is suggested that the command DEVICELIB be
	placed in the user's IDL_STARTUP file.

 Side effects: 
	If the filename, or one of the configuration keywords (ENCAPSULATED,
	COLOR, PORTRAIT, or LANDSCAPE) are passed, then DEVICE is called to
	open a new file.  Any previously opened PostScript file would be
	closed.

	If a new file has to be opened, and if none of the configuration
	keywords are passed, then the default configuration (LANDSCAPE) is
	used.  This is true even if the last PostScript file was in a different
	configuration.

	If not the first time this routine is called, then system variables
	that affect plotting are reset to previous values.  If it is the first 
	time the routine is called, !FANCY is set to 1.

	In UNIX, if a new file is opened with the same name as an existing
	file, then the old file is lost.

 Category    : 
	Utilities, Devices.
 Prev. Hist. : 
	W.T.T., Nov. 1989.
	W.T.T., Aug. 1990, added LAST_DEVICE to common block.
	W.T.T., Feb. 1991, added keywords LANDSCAPE, PORTRAIT, TEX, COLOR.
	W.T.T., June 1992, fixed bug where CUR_CONFIG was not stored.
	W.T.T., Nov. 1992, added !P.POSITION to common block.
 Written     : 
	William Thompson, GSFC, November 1989.
 Modified    : 
	Version 1, William Thompson, GSFC, 27 April 1993.
		Incorporated into CDS library.
	Version 2, William Thompson, GSFC, 11 November 1993.
		Added ENCAPSULATED keyword.  Relegated TEX to a synonym.
	Version 3, William Thompson, GSFC, 14 September 1994
		Added COPY keyword.
	Version 4, William Thompson, GSFC, 21 June 1995
		Added INTERPOLATE keyword.
 Version     : 
	Version 4, 21 June 1995


PS_LONG [2] $SSW/soho/mdi/idl_old/gen/ssw_lib/ps_long.pro
[Previous] [Next]
 Project     : SOHO - CDS     
                   
 Name        : PS_LONG
               
 Purpose     : To stretch plotting area when device is PostScript printer.
               
 Explanation : Resets plotting area using device command.  If the environment
               variable US_FUNNY_PAPER is defined then the size is adjusted
               from A4 to US size.
               
 Use         : IDL> ps_long
    
 Inputs      : None
               
 Opt. Inputs : None
               
 Outputs     : None
               
 Opt. Outputs: None
               
 Keywords    : None

 Calls       : None
 CALLED BY:
	ANAL_STIMS, BCS_24HR_PLOT [1], BCS_24HR_PLOT [3], BCS_MULTI [1], BCS_MULTI [2]
	LCBDA, PLOT_WINDOWS, lcbsd, lcobs, plot_bcs_free, plotbft [1]
 Common      : None
               
 Restrictions: None
               
 Side effects: None
               
 Category    : Util,  plotting
               
 Prev. Hist. : From Yohkoh routine by R D Bentley.

 Written     : CDS version by C D Pike, RAL, 21-Apr-94
               
 Modified    : 

 Version     : Version 1, 21-Apr-94


PS_RESET [2] $SSW/soho/mdi/idl_old/gen/ssw_lib/ps_reset.pro
[Previous] [Next]
 Project     : SOHO - CDS     
                   
 Name        : PS_RESET
               
 Purpose     : Resets PostScript plotting area to Portrait, normal size.
               
 Explanation : The antidote to PS_LONG.
               
 Use         : IDL> ps_reset
    
 Inputs      : None
               
 Opt. Inputs : None
               
 Outputs     : None
               
 Opt. Outputs: None
               
 Keywords    : None

 Calls       : None
 CALLED BY:
	ANAL_STIMS, BCS_24HR_PLOT [1], BCS_24HR_PLOT [3], BCS_MULTI [1], BCS_MULTI [2]
	LCBDA, lcbsd, plot_bcs_free, plotbft [1]
 Common      : None
               
 Restrictions: None
               
 Side effects: Returns PostScript device to Portrait mode also.
               
 Category    : Util, device
               
 Prev. Hist. : Yohkoh routine by R D Bentley.

 Written     : CDS version by C D Pike, RAL, 21-Apr-94
               
 Modified    : 

 Version     : Version 1, 21-Apr-94


ps_setup $SSW/soho/lasco/idl/util/ps_setup.pro
[Previous] [Next]
 NAME:			ps_setup

 PURPOSE:		setup Postscript printer

 CATEGORY:
 CALLING SEQUENCE:	ps_setup,param,printer
 INPUTS:		param = 0 to change the idl plot device to the printer
			param =	1 to return the plot device back to the screen
				  and to transfer the plot file to the printer
 			param = 2 to read current window and send to Postscript
		  		  This may be faster for plots with lots of 
				  points.  This is a screen dump, if you 
				  suddenly decide a plot is worth printing.

 			param = 3 Save to a file

 			param = 4 Same as 2 but color table is inverted first

 OPTIONAL INPUTS:	printer = ascii string designating the printer to be
				  used
			color_prt = specify color postscript printer

			encap = output encapsulated Postscript

                       gif = output gif image (only for ps_setup,2)


 OUTPUTS:
 OPTIONAL OUTPUT PARAMETERS:
 CALLS: ***
	WRITE_GIF
 CALLED BY:
	ALL_NONOP_TEMPS, COMPUTE_MONEXP_FACTORS, PB_INVERTER, PLOT_EXP_FACTOR, PLOT_HT
	PLOT_MONEXP_STD, XPLOT_HT, polariz_display
 COMMON BLOCKS:
 SIDE EFFECTS:
 RESTRICTIONS:
 PROCEDURE:
		  Example:
		    ps_setup,0
		    plot,x
		    plot,y
		    ps_setup,1,'A13'
		  Example:
		    ps_setup,0,/color_prt
		    tvscl,img
		    ps_setup,1,'lasco_phaser'
		  Example:
		    plot,huge_array
		    ps_setup,2

 MODIFICATION HISTORY:
	WRITTEN BY:	RA Howard, NRL, 1990
	2000/07/18, NBR - Use printer input for naming GIF file
 
	07/18/00 @(#)ps_setup.pro	1.10 LASCO IDL LIBRARY


PSCLOSE [2] $SSW/soho/mdi/idl_old/gen/ssw_lib/psclose.pro
[Previous] [Next]
 Project     : SOHO - CDS

 Name        : 
	PSCLOSE
 Purpose     : 
	Close a PostScript plot file, reset graphics device.
 Explanation : 
	The currently opened PostScript plot file is closed, and the graphics
	device is reset to what was used previously.
 Use         : 
	PSCLOSE

	PS				;Open PostScript plot file
	   ... plotting commands ...	;Create plot
	PSPLOT				;Close & plot file, reset to prev. dev.
	   or
	PSCLOSE				;Close w/o printing,  "    "   "    "

 Inputs      : 
	None.
 Opt. Inputs : 
	None.
 Outputs     : 
	A message is printed to the screen.
 Opt. Outputs: 
	None.
 Keywords    : 
	None.
 Calls       : ***
	SETPLOT [1], SETPLOT [2], TRIM
 CALLED BY:
	DENSITY_RATIOS, DSPEXP, DSPWAV, DSP_AUX, DSP_WAV, EIS_IMAGE_TOOL_EVENT [1]
	EIS_IMAGE_TOOL_EVENT [2], GDSPSPEC, GOFNT, IMAGE_TOOL_EVENT, MK_CDS_PLAN, MK_SOHO
	NIS_PIX_ANALYSE, PLOT_HSI, PQLPROFILE, TEMPERATURE_RATIOS, TVPRINT, WIN_DUMP
	XCDS_SNAPSHOT, ch_ss, hsi_sas_plot_scpointing, spectro_plot, tvmulti
 Common      : 
	PS_FILE which contains PS_FILENAME, the name of the plotting file,
	LAST_DEVICE, which is the name of the previous graphics device, and
	various parameters used to keep track of which configuration is being
	used.
 Restrictions: 
	In general, the SERTS graphics devices routines use the special system
	variables !BCOLOR and !ASPECT.  These system variables are defined in
	the procedure DEVICELIB.  It is suggested that the command DEVICELIB be
	placed in the user's IDL_STARTUP file.

 Side effects: 
	The previous plotting device is reset.
 Category    : 
	Utilities, Devices.
 Prev. Hist. : 
	William Thompson, August 1990.
	W.T.T., Feb. 1991, modified to reflect change in common block PS_FILE.
 Written     : 
	William Thompson, GSFC, August 1990.
 Modified    : 
	Version 1, William Thompson, GSFC, 27 April 1993.
		Incorporated into CDS library.
	Version 2, William Thompson, GSFC, 2 January 1994.
		Added save into common plot of current configuration.
 Version     : 
	Version 2, 2 January 1994.


PSCONFIG $SSW/soho/lasco/idl/dfanning/psconfig.pro
[Previous] [Next]
 NAME:
   PSCONFIG

 PURPOSE:

   This program is simply a function wrapper for the FSC_PSCONFIG
   object program (fsc_psconfig__define.pro). It was written so
   that it could serve as a drop-in replacement for the PS_FORM
   program it replaces. It calls the object program's graphical
   user interface as a modal widget and returns the DEVICE keywords
   collected from the form in a form that is appropriate for
   configuring the PostScript device.

 AUTHOR:

   FANNING SOFTWARE CONSULTING
   David Fanning, Ph.D.
   1645 Sheely Drive
   Fort Collins, CO 80526 USA
   Phone: 970-221-0438
   E-mail: davidf@dfanning.com
   Coyote's Guide to IDL Programming: http://www.dfanning.com/

 CALLING SEQUENCE:

   psKeywords = PSConfig()

 CATEGORY:

   Configuring PostScript output.

 DOCUMENTATION:

   Complete documentation for the FSC_PSCONFIG object, including
   keyword and method descriptions, and example programs using the object
   can be found on the Coyote's Guide to IDL Programming web page:

     http://www.dfanning.com/programs/docs/fsc_psconfig.html

 INPUT:

    psConfigObject -- An optional FSC_PSCONFIG object reference can be
       passed as an argument to the function. The object is not destroyed
       if passed in as an argument.

       psObject = Obj_New("FSC_PSCONFIG")
       keywords = PSConfig(psObject)

    Having the object means that you have an on-going and current record
    of exactly how your PostScript device is configured. Be sure to destroy
    the object when you are finished with it.

 KEYWORDS:

   Any keyword accepted by the FSC_PSCONFIG object can be used with
   this program. Here are a few of the most popular keywords.

   Bits_per_Pixel - The number of image bits saved for each image pixel: 2, 4, or 8. The default is 8.
   Color - Set this keyword to select Color PostScript output. Turned on by default.
   DefaultSetup - Set this keyword to the "name" of a default style. Current styles (you can easily
     create and add your own to the source code) are the following:

       "System (Portrait)" - The normal "default" system set-up. Also, "System".
       "System (Landcape)" - The normal "default" landscape system set-up.
       "Centered (Portrait)" - The window centered on the page. Also, "Center" or "Centered".
       "Centered (Landscape)" - The window centered on the landscape page. Also, "Landscape".
       "Square (Portrait)" - A square plot, centered on the page.
       "Square (Landscape)" - A square plot, centered on the landscape page.
       "Figure (Small)" - A small encapsulated figure size, centered on page. Also, "Encapsulated" or "Encapsulate".
       "Figure (Large)" - A larger encapsulated figure size, centered on page. Also, "Figure".
       "Color (Portrait)" - A "centered" plot, with color turned on. Also, "Color".
       "Color (Landscape)" - A "centered" landscape plot, with color turned on.

   Directory - Set this keyword to the name of the starting directory. The current directory is used by default.
   Encapsulate - Set this keyword to select Encapsulated PostScript output. Turned off by default.
   European - Set this keyword to indicate "european" mode (i.e., A4 page and centimeter units). Turned off by default.
   Filename - Set thie keyword to the name of the PostScript file. The default is "idl.ps".
   Inches - Set this keyword to indicate sizes and offsets are in inches as opposed to centimeters. Set by European keyword by default.
   Landscape - Set this keyword to select Landscape page output. Portrait page output is the default.
   PageType - Set this keyword to the "type" of page. Possible values are:
       "Letter" - 8.5 by 11 inches. (Default, unless the European keyword is set.)
       "Legal" - 8.5 by 14 inches.
       "Ledger" - 11 by 17 inches.
       "A4" - 21.0 by 29.7 centimeters. (Default, if the European keyword is set.)
   XOffset - Set this keyword to the X Offset. Uses "System (Portrait)" defaults. (Note: offset calculated from lower-left corner of page.)
   XSize - Set this keyword to the X size of the PostScript "window". Uses "System (Portrait)" defaults.
   YOffset - Set this keyword to the Y Offset. Uses "System (Portrait)" defaults. (Note: offset calculated from lower-left corner of page.)
   YSize - Set this keyword to the Y size of the PostScript "window". Uses "System (Portrait)" defaults.

   In addition, the following keywords can be used:

   CANCEL -- An output keyword that will be set to 1 if the user
   chooses the Cancel button on the form. It will be 0 otherwise.

   FONTINFO -- Set this keyword is you wish to have font information
   appear on the form. The default is to not include font information.

   FONTTYPE -- Set this keyword to a named variable that will indicate
   the user's preference for font type. Values will be -1 (Hershey fonts),
   0 (hardware fonts), and 1 (true-type fonts). This keyword will always
   return -1 unless the FONTINFO keyword has also been set.

   GROUP_LEADER -- Set this keyword to a widget identifier of the widget
   you wish to be a group leader for this program.

 EXAMPLE:

   To have the user specify PostScript configuration parameters, use
   the program like this:

     keywords = PSConfig(Cancel=cancelled)
     IF cancelled THEN RETURN
     thisDevice = !D.Name
     Set_Plot, 'PS'
     Device, _Extra=keywords
     Plot, findgen(11) ; Or whatever graphics commands you use.
     Device, /Close_File
     Set_Plot, thisDevice

 OTHER PROGRAMS NEEDED:

   The following programs are required to run this one:

     fsc_droplist.pro
     fsc_fileselect.pro
     fsc_inputfield.pro
     fsc_plotwindow
     fsc_psconfig__define.pro

 MODIFICATIONS:

   Written by David Fanning, 31 January 2000.


PSPLOT [2] $SSW/soho/mdi/idl_old/gen/ssw_lib/psplot.pro
[Previous] [Next]
 Project     : SOHO - CDS

 Name        : 
	PSPLOT
 Purpose     : 
	Prints PostScript plots and resets to the previous device.
 Explanation : 
	Send a PostScript plot file generated by IDL to the PostScript laser
	printer.  The default queue is defined by the logical name/environment
	variable PSLASER.

	If PSPLOT is being used to close the PostScript file as well as print
	it, and the queue name is not passed explicitly, then it will
	automatically select a color printer (PSCOLOR) if the file was opened by
	the PS procedure with /COLOR set, and a regular PostScript printer
	(PSLASER) otherwise.  However, if the file was previously closed with
	PSCLOSE or PSPLOT, then either the /COLOR or QUEUE keyword will need to
	be used to direct a color PostScript file to the appropriate printer.

 Use         : 
	PSPLOT  [, FILE ]  [, /DELETE ]

	PS				;Open PostScript plot file
	   ... plotting commands ...	;Create plot
	PSPLOT				;Close & plot file, reset to prev. dev.
	   or
	PSCLOSE				;Close w/o printing,  "    "   "    "

 Inputs      : 
	None required.
 Opt. Inputs : 
	The default filename is either taken from the last call to the PS
	routine, or is "idl.ps".

	A filename other than the default can be passed in one of three ways:

		Explicitly:		e.g. PSPLOT,'graph.ps'
		By number (VMS)		e.g. PSPLOT,3   for "idl.ps;3"
		All versions (VMS)	e.g. PSPLOT,'*' for "idl.ps;*"
		All ".ps" files (UNIX)	e.g. PSPLOT,'*' for "*.ps"
 Outputs     : 
	A message is printed to the screen.
 Opt. Outputs: 
	None.
 Keywords    : 
	DELETE	= If set, then file is deleted after printing.
	QUEUE	= Name of printer queue to be used in printing the file.  If
		  not passed, then the environment variable PSLASER (or
		  PSCOLOR) is checked for the name of the print queue.
	COLOR	= If set, then the environment variable PSCOLOR is checked for
		  the name of the print queue rather then PSLASER.  Ignored if
		  QUEUE is passed.
	COMMAND	= (Unix only.)  Command to be used to send the plot file to the
		  printer.  If not passed, then the environment variable
		  PRINTCOM is checked.  If neither of these is set, then the
		  standard command "lpr" is used.
 Calls       : 
	SETPLOT [1], SETPLOT [2]
 CALLED BY:
	ACRIM, ACRIM_EV, ACRIM_OUT, AN_NIMCP, AN_NIMCP_1_2, AN_NIMCP_AVG, CHIANTI_NE
	CHIANTI_TE, CPCOMPOSITE, CPCURSOR, CPDIFF, CPDISPLAY, CPGET_R_T, CPMOVIE, CPMOVIE_DO
	CPMOVIE_EV, CPONE, CPONE_EV, CPSUNCEN, CPSUNCEN_EV, CPTV, CPTVCOPY, CPZOOM, CPZOOMIT
	CPZOOM_EV, DSPEXP, DSPWAV, DSP_AUX, DSP_WAV, EIS_IMAGE_TOOL_EVENT [1]
	EIS_IMAGE_TOOL_EVENT [2], EIT_SUB_PRINT, GDSPSPEC, GE_WINDOW [1], GHOST_BUSTER
	GISPLOT, HXISHARD, IMAGE_TOOL_EVENT, LZPLOT, MK_SOHO, NDSPSPEC, PLOTMAP, PLOT_ANGC [1]
	PLOT_ANGC [2], PLOT_GD, PQLPROFILE, RATIO_PLOTTER [1], ROUTINE_NAME [1]
	SPEX_COMMONS [2], SPEX_COMMONS [4], SPEX_PROC [1], SPEX_PROC [2], TEK_PRINT [1]
	TEK_PRINT [2], TP_DISPLAY_DEW, TP_DRAW_RASDUR, TP_DRAW_VWIN, TVPRINT, VIEW_PHA
	WIN_DUMP, XCDS_SNAPSHOT, ZOOMPRNT, ch_ss, get_slider, out_spectra_4_designer, plotgt
	plotman_create_files_event, ratio_plotter [2], set_field, temcal
 Common      : 
	PS_FILE which contains PS_FILENAME, the name of the plotting file,
	LAST_DEVICE, which is the name of the previous graphics device, and
	various parameters used to keep track of which configuration is being
	used.
 Restrictions: 
	The requested plot file must exist.

	In general, the SERTS graphics devices routines use the special system
	variables !BCOLOR and !ASPECT.  These system variables are defined in
	the procedure DEVICELIB.  It is suggested that the command DEVICELIB be
	placed in the user's IDL_STARTUP file.

 Side effects: 
	The plot file is queued on the printer.  Also, any files "idl.ps" that
	may be open will be closed.  The previous plotting device is reset.
 Category    : 
	Utilities, Devices.
 Prev. Hist. : 
	William Thompson, November 1989.
	W.T.T., added check for LAST_DEVICE, August 1990.
	W.T.T., changed DELETE to keyword, February, 1991.
	W.T.T., Feb. 1991, modified to reflect change in common block PS_FILE.
	W.T.T., May 1991, extended environment variable PSLASER to UNIX.
	W.T.T., Jun 1992, added check for PSCOLOR.
	W.T.T., Jul 1992, added check for PS_FILENAME in common block.
	W.T.T., Sep 1992, added COLOR keyword.
 Written     : 
	William Thompson, GSFC, November 1989.
 Modified    : 
	Version 1, William Thompson, GSFC, 27 April 1993.
		Incorporated into CDS library.
	Version 2, William Thompson, GSFC, 2 January 1994.
		Added save into common plot of current configuration.
       Version 2.1, S.V. Haugan, ItA/UiO
		Added support for alternative UNIX print commands via $PRINTCOM
	Version 3, William Thompson, GSFC, 8 June 1994
		Added keyword COMMAND
 Version     : 
	Version 3, 8 June 1994.


PSWINDOW $SSW/soho/lasco/idl/dfanning/pswindow.pro
[Previous] [Next]
 NAME:
    PSWINDOW

 PURPOSE:

    This function is used to calculate the size of a PostScript
    window that has the same aspect ratio (ratio of height to
    width) as the current display graphics window. It creates
    the largest possible PostScript output window with the
    desired aspect ratio. This assures that graphics output
    looks similar, if not identical, to PostScript output.

 AUTHOR:

   FANNING SOFTWARE CONSULTING
   David Fanning, Ph.D.
   1645 Sheely Drive
   Fort Collins, CO 80526 USA
   Phone: 970-221-0438
   E-mail: davidf@dfanning.com
   Coyote's Guide to IDL Programming: http://www.dfanning.com/

 CATEGORY:

    Graphics.

 CALLING SEQUENCE:

    pageInfo = PSWINDOW()

 INPUTS:

    None.

 KEYWORD PARAMETERS:

    CM: Normally the structure value that is returned from this
    function reports its values in inches. Setting this keyword
    causes the return values to be in units of centimeters.

    FUDGE: A quick way to set symetrical XFUDGE and YFUDGE factors.
    If this keyword is set to a value, XFUDGE and YFUDGE keywords are
    set to the same value.

    LANDSCAPE: Normally this function assumes a PostScript window
    in Portrait mode. Setting this keyword assumes you want
    the graphic in Landscape mode.

    MARGIN:  The margin around the edges of the plot. The value must be
    a floating point value between 0.0 and 0.5. It is expressed in
    normalized coordinate units. The default margin is 0.15.

    PAGESIZE: Set this keyword to a string indicating the type
    of PostScript page size you want. Current values are "LETTER",
    "LEGAL", and "A4". Default is "LETTER".

    PRINTER: Set this keyword if the output will be used to
    configure the PRINTER device, rather than the PS device.
    (In the PRINTER device, offsets are always calculated from
    the lower-left corner of the page and do not rotate in
    Landscape mode, as they do with the PS device.) Note that
    the PRINTER device is only able to accept these keywords
    in IDL 5.1 and higher.

    XFUDGE: Printers calculate the offset point from the printable
    edge of the paper (sometimes), rather from the corner of the paper.
    For example, on my Lexmark printer, both X and Y offsets are
    calculated from a point 0.25 inches in from the edge. This keyword
    allows you to set a "fudge" factor that will be subtracted from
    the XOFFSET that is returned to the user. This allows you to create
    output that is centered on the page. The fudge factor should be in
    the same units as the returned size and offset values.

    YFUDGE: Printers calculate the offset point from the printable
    edge of the paper (sometimes), rather from the corner of the paper.
    For example, on my Lexmark printer, both X and Y offsets are
    calculated from a point 0.25 inches in from the edge. This keyword
    allows you to set a "fudge" factor that will be subtracted from
    the YOFFSET that is returned to the user. This allows you to create
    output that is centered on the page. The fudge factor should be in
    the same units as the returned size and offset values.

 OUTPUTS:

    pageInfo: The output value is a named structure defined like
    this:

      pageInfo = {PSWINDOW_STRUCT, XSIZE:0.0, YSIZE:0.0, $
         XOFSET:0.0, YOFFSET:0.0, INCHES:0, PORTRAIT:0, LANDSCAPE:0}

    The units of the four size fields are inches unless the CM
    keyword is set.

    The output can be used to immediately configure the PostScript
    or Printer device, like this:

       Set_Plot, 'PS' ; or 'PRINTER'
       Device, _Extra=pageInfo

 CALLS: ***
	PSWINDOW_ASPECT
 CALLED BY:
	FSC_WINDOW
 RESTRICTIONS:

    The aspect ratio of the current graphics window is calculated
    like this:

       aspectRatio = FLOAT(!D.Y_VSIZE) / !D.X_VSIZE

 EXAMPLE:

    To create a PostScript output window with the same aspect
    ratio as the curently active display window, type:

     pageInfo = PSWINDOW()
     SET_PLOT, 'PS'
     DEVICE, _Extra=pageInfo

     To configure the PRINTER device:

     pageInfo = PSWINDOW(/Printer, Fudge=0.25)
     SET_PLOT, 'PRINTER'
     DEVICE, _Extra=pageInfo

 MODIFICATION HISTORY:

    Written by: David Fanning, November 1996.
       Fixed a bug in which the YOFFSET was calculated incorrectly
          in Landscape mode. 12 Feb 97.
       Took out a line of code that wasn't being used. 14 Mar 97.
       Added correct units keyword to return structure. 29 JUN 98. DWF
       Fixed a bug in how landscape offsets were calculated. 19 JUL 99. DWF.
       Fixed a bug in the way margins were used to conform to my
          original conception of the program. 19 JUL 99. DWF.
       Added Landscape and Portrait fields to the return structure. 19 JUL 99. DWF.
       Added PageSize keyword, changed MARGIN keyword, and completely
          rewrote most of the intenal code. 9 FEB 2000. DWF.
       Fixed a bug in how I calculated the aspect ratio. 1 MAR 2000. DWF.
       Added PRINTER keyword to return proper offset values for the
          PRINTER device, where the offset location is not rotated. 1 MAR 2000. DWF.
       Added PRINTER fudge factors to take into account that printer offsets are
          calculated from the printable area of the paper, rather than the corner
          of the paper. 8 AUG 2000. DWF.


PTEST $SSW/soho/cds/idl/sci/data_anal/ql/ql_disp/ptest.pro
[Previous] [Next]
 Project     : SOHO - CDS     
                   
 Name        : PTEST
               
 Purpose     : Demonstration of the PQLPROFILE/PQLZOOM routines.
               
 Explanation : Two displays, one with a plot of a function, and
		one with a TVSCL'ed image are made, and the user
		may click the right mouse button in the TVSCL'ed
		image to invoke PQLZOOM, or the left mouse button 
		in either window in order to invoke PQLPROFILE.

		The middle mouse button changes the displayed data,
		demonstrating the update functionality of the
		PQL routines.

		If the "Kill" button in the bottom of the PTEST
		window is pushed in, the left/right mouse buttons
		will kill any copy of PQLPROFILE/PQLZOOM for that
		plot region.

 Use         : PTEST
    
 Inputs      : NONE
               
 Opt. Inputs : NONE
               
 Outputs     : NONE
               
 Opt. Outputs: NONE
               
 Keywords    : NONE

 Calls       : ***
	CDSCONGRID, PFIND, PLOTDATA, PQLPROFILE, PQLZOOM, PSTORE, PTEST_EVENT, SETWINDOW [1]
	SETWINDOW [2], SWAP [1], SWAP [2], TRIM, XMANAGER, XMENU [1], XMENU [2]
 Common      : PTEST -- Used to store the plotted data.
               
 Restrictions: Just a demo.
               
 Side effects: XMANAGER starts..
               
 Category    : QuickLook
               
 Prev. Hist. : None.

 Written     : S. V. H. Haugan, December 1994
               
 Modified    : SVHH, 19 Jan 1994 Documentation header added

 Version     : 1.0


PURGE_CDHSSTATE $SSW/soho/cds/idl/util/ops/database/purge_cdhsstate.pro
[Previous] [Next]
 Project     :	SOHO - CDS

 Name        :	PURGE_CDHSSTATE

 Purpose     :	Remove "TO BE DELETED" items from cdhsstate

 Category    :	Class5, Operations, Planning, Database

 Explanation :	Removes all instances of any entry in the database which is
		marked "TO BE DELETED".

 Syntax      :	PURGE_CDHSSTATE

 Examples    :	

 Inputs      :	None.

 Opt. Inputs :	None.

 Outputs     :	None.

 Opt. Outputs:	None.

 Keywords    :	None.

 Calls       : ***
	DBCLOSE [1], DBCLOSE [2], DBCLOSE [3], DBDELETE [1], DBDELETE [2], DBDELETE [3]
	DBEXT [1], DBEXT [2], DBEXT [3], DBEXT [4], DBOPEN [1], DBOPEN [2], DBOPEN [3]
	DBSORT [1], DBSORT [2], DBSORT [3], PRIV_ZDBASE, TRIM
 Common      :	None.

 Restrictions:	!PRIV must be 3 or greater

 Side effects:	None.

 Prev. Hist. :	None.

 History     :	Version 1, 30-Apr-1996, William Thompson, GSFC

 Contact     :	WTHOMPSON


PURGE_KAPS $SSW/soho/gen/idl/plan/science/purge_kaps.pro
[Previous] [Next]
 Project     : SOHO

 Name        : PURGE_KAPS

 Purpose     : Remove old versions of KAP files on archive. 

 Category    : planning

 Explanation : Uses DATE_CREATED field in header of KAP file to
		determine most recent file.  Does not use version
		number in file name.  

 Syntax      : purge_kaps, startday=xxx, endday=xxx

 Examples    : purge_kaps, startday='97/1/1', endday='97/8/1'

 Inputs      : 

 Opt. Inputs : None

 Outputs     : None

 Opt. Outputs: None

 Keywords    : STARTDAY - (required) first day to purge KAP for, yy/mm/dd 
		ENDDAY - (required) last day to purge KAP for, yy/mm/dd 

 CALLS: ***
	ESPAWN, GET_LATEST_KAP, UTIME [1], UTIME [2], anytim [1], anytim [2], anytim [3]
	anytim [4], anytim [5], ssw_strsplit
 Common      : None

 Restrictions: Requires that SOHO_KAP or SOHO_EAP environment variable be 
		set to point to location of KAP files on archive.  Requires 
		write access to KAP directory on archive.
		Requires write access to /tmp for temporary storage of most
		recent KAP file (and that /tmp have at least ~60K free space)

 Side effects: None

 Written July 8, 1997  Kim Tolbert, HSTX
      09-May-2003, William Thompson - Use ssw_strsplit instead of strsplit

 Contact     : kim@ecsman.nascom.nasa.gov


pwd [2] $SSW/soho/mdi/idl_old/gen/ys_util/pwd.pro
[Previous] [Next]
   Name: pwd

   Purpose: emulate unix 'pwd' command

 CALLED BY
	EIS_FITS_SCRIPT [1], EIS_FITS_SCRIPT [3], MK_MONTHLY_MIN


pzt2xy $SSW/soho/mdi/idl/cal/pzt2xy.pro
[Previous] [Next]
NAME:
       pzt2xy
PURPOSE:
       calculates necessary PZT offsets for desired image motion 
INPUT:
       [PZT-A,PZT-B,PZT-C] = offsets of ISS mirror PZT's (0..127)
OPTIONAL KEYWORD INPUT:
       calmode: values for calmode are calculated if this switch is set.
		NOTE: THIS FACTOR IS NOT CONFIRMED, THEREFORE IS APPROXIMATE!
OUTPUT:
       function returns [dX,dY] = resulting image displacement; fltarr(2)
SAMPLE CALLING SEQUENCE:
       jump=pzt2xy([63,63,113])
HISTORY:
       Written 16-Apr-96 by I.Zayer