F_ATIME [2] $SSW/soho/mdi/idl_old/gen/utplot/f_atime.pro
[Previous] [Next]
 NAME: 
	F_ATIME
 PURPOSE:
	Changes time info from numbers into formatted strings
       restricted to no more than 256 separate times.
	For ATIME, put date information, Year, Month, Day, Hour, Minute, Sec
	into ATIME format YY/MM/DD, HHMM:SS.XXX

 CALLING SEQUENCE:
	RESULT = F_ATIME(yr, month, dom, h, m, s [,/pub,/yohkoh])
	       = F_ATIME(tarr=tarr [,/pub,/yohkoh])
 INPUTS:
	YR - Year
	MONTH - 1 to 12
	DOM - Day of Month
	H - hour
	M - minute
	S - second
 OPTIONAL INPUTS:
	TARR - 7xn array of time as integers, 
              The "standard" Yohkoh 7 element external representation
              of time (HH,MM,SS,MSEC,DD,MM,YY)
	/PUB - Publication format = "YY/MM/DD, HH:MM:SS.XXX"
       /Yohkoh
	     - Yohkoh string format, e.g. '07-Mar-93 21:05:30.461'

 CALLS: ***
	gt_day [1], gt_day [2], gt_time [1], gt_time [2]
 MODIFICATION HISTORY:
	Written by Richard Schwartz for IDL Version 2, July 1992
	Optional Yohkoh format, and tarr, April 1993


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

   Purpose: user front end to faster idl documentation extraction/display
   
   Input Parameters: 
      module - string name (or substring) of module to locate 

   Optional Keyword Parameters:
       summ  - if set, just display procedure/function definition
	multi - if set, multiple versions are displayed

   Calling Sequence:
      fastdoc, module [,/summ, /multi]

 CALLS: ***
	MORE [1], MORE [2], doc_head [1], doc_head [2], doc_head [3], oneline [1]
	oneline [2], path_sw [1], path_sw [2]
 CALLED BY:
	SXT_PREP0, SXT_TEEM [1], SXT_TEEM [2], SXT_TEEM1 [1], SXT_TEEM1 [2], SXT_TEEM1 [3]
	SXT_TEEM2 [1], SXT_TEEM2 [2], SXT_TEEM2 [3], ref, sxt_flux [1], sxt_flux [2]
	sxt_flux [3], sxt_mwave
   History: slf, 9-Aug-1992
	     slf, 8-feb-1993 - use rd_tfile (via doc_head)
            slf, 15-mar-1993 - minor cleanup , quieter
	     slf, 10-Jan-1994 - call oneliner if no module
	     slf, 25-Jan-1994 - add outarr, loop


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

 PURPOSE:
	This function returns the F-coronal brightness model of Koutchmy-Lamy

 CATEGORY:
	LASCO DATA_ANAL

 CALLING SEQUENCE:
	Result = FCOR_KL(Rho,Etas)

 INPUTS:
	Rho:	The distance in solar radii
	Etas:

 OUTPUTS:
	This function returns the F-coronal brightness for each point in mean
	solar brightness units.

 CALLED BY:
	PB_INVERTER
 RESTRICTIONS:
	None

 PROCEDURE:

 MODIFICATION HISTORY:
 	Written by:	Andrew Hayes, NRL, 12/98
	Modified by:	Andrew Hayes, NRL, 16 AUG 2000 returns 0 for rho eq 0 instead of crashing

	%W% %H% LASCO IDL LIBRARY


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

 PURPOSE:
	This function returns the Koutchmy-Lamy model of the F-coronal polarization

 CATEGORY:
	LASCO DATA_ANAL

 CALLING SEQUENCE:
	Result = FCORPOL_KL(Rho)

 INPUTS:
	Rho:	Distance from sun center in solar radii

 OUTPUTS:
	This function returns the degree of polarization (0,1) in the F-corona.

 CALLED BY:
	PB_INVERTER
 RESTRICTIONS:
	Valid for distances to 115 solar radii.

 PROCEDURE:

 MODIFICATION HISTORY:
 	Written by:	Andrew Hayes, NRL, 12/98

	@(#)fcorpol_kl.pro	1.1 10/08/00 LASCO IDL LIBRARY


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

 Name        :	
	FDECOMP
 Purpose     :	
	Decompose file name into components.
 Explanation :	
	Routine to decompose file name into disk (VMS) + directory +
       name + qualifier + version (VMS).    

	On a Vax the filenames "MOTD" and "MOTD." are distinguished by the fact
	that qual = '' for the former and qual = ' ' for the latter.

 Use         :	
	fdecomp, filename, disk, dir, name, qual, version

 Inputs      :	
	filename - string file name, scalar

 Opt. Inputs :	None.

 Outputs     :	
	All the output parameters are scalar strings
	disk - disk name, always '' on a Unix machine
	dir - directory name
	name - file name
	qual - qualifier, set equal to the characters beyond the last "."
	version - version number, always '' on a Unix machine

 Opt. Outputs:	None.

 Keywords    :	None.

 Calls       : ***
	GETTOK [1], GETTOK [2], GETTOK [3], GETTOK [4]
 CALLED BY:
	CONCAT4DOS [1], CONCAT4DOS [2], CREATE_STRUCT [1], CREATE_STRUCT [2], DBHELP [1]
	DBHELP [2], DBHELP [3], DBOPEN [1], DBOPEN [2], DBOPEN [3], FCS, FINDPRO, FITSDIR
	FLAG_LONG_NAMES [1], FLAG_LONG_NAMES [2], FXTPIO_WRITE, GETPRO, IRAFDIR, IRAFRD
	SPEC_DIR [1], SPEC_DIR [2], SPEC_DIR [3], SXHWRITE, TAB_READ, TVLASER, WFPC2_READ
 Common      :	None.

 Restrictions:	None.

 Side effects:	None.

 Category    :	Utilities, Operating_System

 Prev. Hist. :	
	version 1  D. Lindler  Oct 1986
	converted to SUN IDL.  M. Greason, STX, 30 July 1990.
	W. Landsman     STX, August, 1991

 Written     :	D. Lindler, GSFC/HRS, October 1986

 Modified    :	Version 1, William Thompson, GSFC, 29 March 1994
			Incorporated into CDS library

 Version     :	Version 1, 29 March 1994


fem_grid [1] $SSW/soho/mdi/idl_old/gen/ys_util/fem_grid.pro
[Previous] [Next]
NAME:
	fem_grid
PURPOSE:
	To overplot a grid of data held in the fem_data structure 
	(days/nights/SAA) on a previously drawn utplot graph

CALLING SEQUENCE:
       fem_grid [,/fillsaa, /fillnight, /ksc, /defcolor]

CALLING EXAMPLES:
	fem_grid			; just vert lines for day/night
	fem_grid, /saa			; include saa grid points
       fem_grid, /ksc, /fillsaa, /defcolor	; fill saa, add KSC and color
   	fem_grid, yrange=[.8*max(ydata),.9*max(ydata)]
		  
OPTIONAL KEYWORD PARAMTERS:
   	yrange - 2 el. vector of yaxis grid range (def=full width=!y.crange)
	saa -	if set, saa (radition belt) grid points are included
	ksc -   if set, ksc contact time grid points are included       
       fillnight - if set, polyfill is used to fill night times
	fillsaa   - if set, polyfill is used to fill saa times
	noday - if set, turns of day/night grid points
       defcolor - make it a color plot using some default colors

 CALLS: ***
	GETUT [1], GETUT [2], anytim2ints [1], anytim2ints [2], evt_grid, get_utevent [1]
	get_utevent [2], int2secarr [1], int2secarr [2], linecolors [1], linecolors [2]
	rd_fem
 CALLED BY:
	ECLIPSE_PLOTTER, GOES_TEK [1], NOV93_ECLIPSE, NOV_ECLIPSE, OBS_PLOT, QUICKATT [1]
	QUICKATT [2], QUICK_DPE, SXT_COVERAGE, TEST_ATT, fl_goesplot [1], fl_goesplot [2]
	fl_goesplot [3], goes_plot [1], goes_plot [2], goes_plot [3], goes_plot [4]
	goes_plot [5], goes_widget, last_lc, show_contacts
HISTORY:
	Written SLFreeland, 21-Sep-1992 
	22-Nov-1993 (SLF) added ncolor and scolor
	 1-dec-1993 (JRL) Fixed the default ncolor and scolor option
			  Changed it so it doesn't bomb if requested interval
			  is less than 1 hour.
        1-nov-1994 (SLF) allow ytype=1 (log)
       10-nov-1994 (SLF) add additional check to 1-nov mod 
        2-mar-1995 (SLF) enabled KSC keyword function, add defcolor keyword

RESTRICTIONS - can get awfully cluttered for long time intervals
		looks best with intervals less than 24 hours


FF_DEMO $SSW/soho/cds/idl/sci/engineering/ff_demo.pro
[Previous] [Next]
 Project     : SOHO - CDS     
                   
 Name        : FF_DEMO
               
 Purpose     : Demonstrates new on board flat-field for OV region.
               
 Explanation : 
               
 Use         : IDL> ff_demo
    
 Inputs      : None
               
 Opt. Inputs : None
               
 Outputs     : None
               
 Opt. Outputs: None
               
 Keywords    : None

 Calls       : ***
	CONCAT_DIR [1], CONCAT_DIR [2], CONCAT_DIR [3], EXPTV, LABEL_IMAGE, SETIMAGE
	SIGRANGE [1], SIGRANGE [2], XMOVIE [1], XMOVIE [2], YES_NO, concat_dir [4]
 Common      : None
               
 Restrictions: None
               
 Side effects: None
               
 Category    : Engineering
               
 Prev. Hist. : None

 Written     : C D Pike, RAL, 31-May-96
               
 Modified    : 

 Version     : Version 1, 31-May-96


FF_GC $SSW/soho/sumer/idl/contrib/schuehle/tools/ff_gc.pro
[Previous] [Next]
 PROJECT:
       SOHO - SUMER

 NAME:
       FF_GC

 PURPOSE: make flat field correction and geometric distortion correction
          for a list if files and store the corrected data

 CATEGORY:
       
 
 EXPLANATION:
       
 SYNTAX: 
       ff_gc,filespec,flatfile

 EXAMPLES:
       
 INPUTS:
       filespec - files for flatfielding
       flatfile - file containing flatfield

 OPTIONAL INPUTS: 
       None.

 OUTPUTS:
       None.

 OPTIONAL OUTPUTS:
       None.

 KEYWORDS: 
       None.

 CALLS: ***
	BREAK_FILE [1], BREAK_FILE [2], BREAK_FILE [3], CONCAT_DIR [1], CONCAT_DIR [2]
	CONCAT_DIR [3], DETECTOR, PIXPOS, SLITNUM, SUM_Flatfield, break_file [4]
	concat_dir [4], destr_bilin [1], destr_bilin [2]
 COMMON:
       None.

 RESTRICTIONS: 
       Expects data files that are decompressed and reversed!!!
       ff-file as second parameter without extension
       Needs Environment Variable FLATFIELDRST pointing to the
       directory containing Flatfields (e.g. calibration:[flight.ff])

 SIDE EFFECTS:
       None.

 HISTORY:
       Version 1, September 16, 1998, Udo Schuehle, MPAE Lindau. Written
       Version 2, September 28, 1999, removed "noreverse" keyword
 CONTACT:
       Udo Schuehle, MPAE Lindau (schuehle@linmpi.mpg.de)


FF_ODDEVEN $SSW/soho/sumer/idl/contrib/schuehle/tools/ff_oddeven.pro
[Previous] [Next]
 PROJECT:
       SOHO - SUMER

 NAME:
       FF_ODDEVEN

 PURPOSE: make ODDEVEN correction 
          for a list if files and store the corrected data

 CATEGORY:
       
 
 EXPLANATION:
       
 SYNTAX: 
       ff_oddeven,'filespec','det'

 EXAMPLES:
       
 INPUTS:
       filespec - files for flatfielding
       det      - detector 'A' or 'B'
       outpath  - directory where output will be stored

 OPTIONAL INPUTS: 
       None.

 OUTPUTS:
       processed files

 OPTIONAL OUTPUTS:
       None.

 KEYWORDS: 
       None.

 CALLS: ***
	BREAK_FILE [1], BREAK_FILE [2], BREAK_FILE [3], CONCAT_DIR [1], CONCAT_DIR [2]
	CONCAT_DIR [3], DETECTOR, PIXPOS, SLITNUM, SUM_Flatfield, break_file [4]
	concat_dir [4]
 COMMON:
       None.

 RESTRICTIONS: 
       Expects data files that are decompressed and reversed.
       Detector designation (A or B) as second parameter with ''
       Needs Environment Variable FLATFIELDRST pointing to the
       directory containing the Oddeven_array_x files

 SIDE EFFECTS:
       None.

 HISTORY:
       Version 1, February, 2003, Udo Schuehle, MPAE Lindau. Written
         
 CONTACT:
       Udo Schuehle, MPAE Lindau (schuehle@linmpi.mpg.de)


fid2ex [2] $SSW/soho/mdi/idl_old/gen/ys_util/fid2ex.pro
[Previous] [Next]
NAME:
	fid2ex
PURPOSE:
	Given a fileID, generate the 7-element time array
CALLING SEQUENCE:
	tarr = fid2ex(fid) 
INPUT:
	fid 
 CALLED BY:
	BCS_24HR_PLOT [1], BCS_24HR_PLOT [3], BCS_CREATE_CAT, JITTER_HTML, OBS_PLOT
	SELECT_24HR, WOBS_PLOT, bcs_path, check_oldprocess [1], check_oldprocess [2]
	check_oldprocess [3], check_oldprocess [4], delete_week [1], delete_week [2]
	disp_sci5k, edac_summary, fidrange [1], fidrange [2], find_dbo_dir, gbo_pfi
	gen_file_id [1], gen_file_id [2], get1gbo, get_afile_size [1]
	get_afile_size [2], get_gbo_pfi, get_hk_info [1], get_hk_info [2], get_mk3 [1]
	get_mk3 [2], get_seq_tab, getwid, goes3sec_copy, gtab_summary, mk_gif_mag_index
	mk_gsn_obs_s1, mk_gx, mk_hst_summary, mk_pnt, mk_sdmi, mk_week_file [1]
	mk_week_file [2], mo_check, nearest_fid [1], nearest_fid [2], new_disp_sci5k [1]
	new_disp_sci5k [2], new_edac_summary, nts_copy [1], nts_copy [2], pfi_dominant
	rd_hk [1], rd_hk [2], rd_selsisi, read_msok_jpg, read_spartan, ref_day_plot
	sel_fileinfo, sel_filetimes [1], sel_filetimes [2], tim2dbase, wfile, xspr [1]
	xspr [2], yoyo_man2
HISTORY:
	Written 11-Dec-91 by M.Morrison
	24-Aug-92 (MDM) - Modified to accept an array of FIDs
	 5-Jan-93 (MDM) - Modified to handle case where there are blank
			  spaces in funny places


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

   Purpose: return fileid range covered by yohkoh ref files on a directory
  
   Input Parameter:
       directory - string containing path (default is current directory)

   Optional Keyword Parameters:
       filt - optional file filter (default is ada*)
	range - if set, return value is first and last elements
	days - if set, return value is uniq (yymmdd) portion of fids
	keeppre - if set, return includes file prefix (ex: ada)
	time -    if set, return  is formmatted time string

   Output Paramters:
       function returns fids matching filt on directory optionally
	modified via. keyword parameters
	
   Calling Sequence: 
	fids=fidrange([directory] [,filt=filt], [,/range] [,/days])

   Category:
	swmaint, system, dbase

 CALLS: ***
	ADDTIME [1], ADDTIME [2], BREAK_FILE [1], BREAK_FILE [2], BREAK_FILE [3]
	CONCAT_DIR [1], CONCAT_DIR [2], CONCAT_DIR [3], UNIQ [1], UNIQ [2], UNIQ [3]
	break_file [4], concat_dir [4], curdir [1], curdir [2], fid2ex [1], fid2ex [2]
	fmt_tim [1], fmt_tim [2]
 CALLED BY:
	chk_flares [1], chk_flares [2]
   History: slf 30-July-1992


fig_summary $SSW/soho/mdi/idl/cal/fig_summary.pro
[Previous] [Next]
NAME:
	fig_summary
PURPOSE:
	To display image, contour, plots or values information on a figure.
INPUT:
OPTIONAL INPUT:
 CALLS: ***
	CONGRID [1], CONGRID [2], CONGRID [3], FIG_SUM_IMG, FIG_SUM_PLOT, font_size [1]
	font_size [2], mk_refbar [1], mk_refbar [2], pprint [1], pprint [2], tv2 [1]
	tv2 [2], xyouts2 [1], xyouts2 [2]
 CALLED BY:
	cal_fig_mich, cal_fig_pol
OPTIONAL KEYWORD INPUT:
	xshift	- Shift plots by normalized amount
		  xshift = [0, .05]	;move right plots over 5%
HISTORY:
	Written 27-Jun-94 by M.Morrison
V1.1	 6-Sep-94 (MDM) - Added XSHIFT option
V1.2	12-Sep-94 (MDM) - Allowed SCL_MIN and SCL_MAX to be arrays


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

 Name        : FILE_ACC

 Purpose     : Determine existence, type and access of file on UNIX system.

 Explanation :
	This routine is intended to supplement the IDL findfile function.
	For a given unix path name, e.g '/disk2/bowen/adas/file', this
	routine returns certain information.
		1.	Whether the path exists.
		2.	Whether the user has read permission.
		3.	Whether the user has write permission.
		4.	Whether the user has execute permission.
		5.	What the file type is i.e file, directory etc.
	The routine works by spawning various UNIX commands and
	interpreting the information returned.  A directory listing
	command is used to get basic file information; on ULTRIX 'ls -ld',
	which establishes whether the file exists and also returns the
	file type, access and ownership information.  The 'd' parameter
	ensures that directory information is listed rather than the
	contents of a directory.
	
	Before the access information can be interpreted the current user
	is found by spawning the 'whoami' UNIX command.  If the user is not
	the owner of the file the UNIX 'groups' command is used to determine
	whether or not the owner and the user are in the same group.
	Using all of this information the correct read, write and execute
	permissions are derived from the owner, group or world access 
	codes given in the directory listing information.

	This processing is performed in a group of four routines which
	are all incorporated in the file_acc.pro file.

	Note: the syntax of the UNIX commands and the output which is
	returned may vary from one operating system to another.  The
	operating system is checked and specific code executed for that
	system.  Currently the routine has specific code for;
	
	****	File listing command:    ****
	ULTRIX:	Command 'ls -ld /.../file.dat'
		Output  '-rw-r--r--  1 bowen        5688 May 27 17:15 file.dat'

	OSF:	(Same command as ULTRIX but different output, difference
		doesn't matter though, only first three fields used.)
		Output  '-rw-r--r--  1 bowen  user  5688 May 27 17:15 file.dat'

	SUNOS:	(Same command and output as ULTRIX)

	All others: (same as ULTRIX code)


	****	Groups identification:    ****
	ULTRIX:	Command 'groups root'
		Output	'system daemon tty'

	OSF:	(Same command and output as ULTRIX)

	SUNOS:	(Same command but, importantly, different output)
		Command 'groups root'
		Output	'root: system daemon tty'

	All others: (Same as ULTRIX code)


	****	User identification:	****
	ULTRIX, OSF and SUNOS: Command 'whoami'
			       Output  'name'

 Use         :
	Example of file_acc usage;

		file = '/disk2/fred/data'
		file_acc, file, exist, read, write, execute, filetype
		if exist eq 1 then begin
		  print,'Permissions for file ',file,' are;'
		  if read eq 1 print,'read'
		  if write eq 1 print,'write'
		  if execute eq 1 print,'execute'
		  print,'The file type is ',filetype
		end else begin
		  print,file,' does not exist'
		end

 Inputs      :
	FILE	- The UNIX system name of the file. For example
		  'file.dat' refers to the current directory and
		  '/disk2/fred/data' is a full path name.

 Opt. inputs :
	None

 Outputs     :
	EXIST	- Integer, 1 if the file exists, 0 if it does not.

	READ	- Integer, 1 if the user has read permission 0 if not.

	WRITE	- Integer, 1 if the user has write permission 0 if not.

	EXECUTE	- Integer, 1 if the user has execute permission 0 if not.

	FILETYPE- String, the file description character from the
		  directory listing output. e.g for ULTRIX '-' indicates
		  a file and 'd' indicates a directory file.

 Opt. outputs:
	None

 Keywords    :
	None

 Calls: ***
	FILE_ACC_DET, FILE_ACC_GRP, FILE_ACC_SPLIT
 Restrictions: None

 Sise effects:
	A number of UNIX commands are spawned.

 Category:
	UNIX system IDL utility.

 Prev. Hist. : None

 Written: 
       Andrew Bowen, Tessella Support Services plc, 29-Apr-1993

 Modified:  Version 2, Header format updated, C D Pike, 7-Oct-93

 Version: Version 2       7-Oct-1993


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

   Purpose: append text to text file - optionally, only append uniq text

   Input Parameters:
      file   - file name	- if no such file exists, open new file
      text   - text to append  - string or string array
  
   Keyword Parameters:
      uniq    - if set, only append uniq lines of text
      nlines  - number of new appended lines (same as n_elements(text) if 
		 uniq is not set 
      loud    - if sent, print informational messages
      newfile - if set, open use a new file (on unix, deletes existing)

   Calling Sequence:
      file_append, file, text [,/uniq, nlines=nlines, /newfile, /loud]

 CALLS: ***
	rd_tfile [1], rd_tfile [2]
 CALLED BY:
	ADD_METHOD, DISPLOI_MON5K, JSMOVIE, JSMOVIE2, MDI_SUMMARY, UNIX_SPAWN, WIN_SPAWN
	check_compile [1], check_compile [2], check_oldprocess [1]
	check_oldprocess [2], check_oldprocess [3], check_oldprocess [4]
	check_process [1], check_process [2], daily_forecast [2], dbase2disk
	disp_sci160k [1], disp_sci160k [2], dpc_summary, eit_mirror, eit_proton_summary
	fl_mktext, flares2disk, ftp_copy [1], ftp_copy [2], ftp_copy_new, ftp_defprompt
	genx2html [1], genx2html [2], go_batch [1], go_batch [2], go_mk_cd
	go_sxt_sss2secondary, go_yo_prod_batch, goes2str, goes_gaps, html_basics, html_doc
	html_form_addtime [1], html_form_addtime [2], html_form_addtime [3]
	html_linklist, html_remove_template, image2movie, is_bestnode [1]
	is_bestnode [2], laststat [1], laststat [2], mail [1], mail [2], make_mirror
	map_env2dir, mk_bad_pix_map_load, mk_cd [1], mk_cd [2], mk_hst_summary
	mk_lasteit_movie, mk_pix [1], mk_pix [2], mk_pubydb, mk_sfc [1], mk_sfc [2]
	mk_sfd [1], mk_sfd [2], mk_sfd [3], mk_sfd [4], mk_ssc_batch [1], mk_ssc_batch [2]
	mk_ydb_list, mk_ydbtab, mk_ydbtape [1], mk_ydbtape [2], mo_check, mo_job0, mo_job1
	mo_patch, mobad_summ, modvolume_inf [1], modvolume_inf [2], monitor_center [1]
	mostrip, multi_hda2hxi, new_dpath [1], new_dpath [2], pr_tr_header, pref_super
	rd_ydbtap, ref_term [2], search_obs, sfc_check, soon_catstat, soon_com2html
	soon_search [1], soon_search [3], soon_search_www, special_movie, ssw_conflicts
	ssw_findstuff2html, ssw_install [1], ssw_install [2], ssw_move
	ssw_start_rpcserver, ssw_strfind, ssw_swmap_bestof, ssw_swmap_info
	ssw_swmap_uniqinfo, ssw_track_demo, ssw_unspike_cube, ssw_upgrade [1]
	ssw_upgrade [2], sswdb_info, sswdb_install, sw2tree [1], sw2tree [2], sxt2mpeg
	sxt_html, sxt_ssn2fits [1], term_times, tim2dbase, tim2tfss, timeline, topsdb [1]
	topsdb [2], trace_cat2cosmic, trace_cosmic2hist_accum, trace_do_data_requests
	trace_get1www_image, trace_last_movie [1], trace_last_movie [2]
	trace_last_movie [3], trace_movie_index [1], trace_movie_index [2]
	trace_recent_movie_summary, trace_request_summary, trace_special_movie [1]
	trace_special_movie [2], trace_special_movie [3], trace_special_movie2
	trace_submit_request, trace_success_file, trace_unspike_time, ucon_check
	web_seq, write_access [1], write_access [2], wwwidl_server_check
	wwwidl_watchdog [1], wwwidl_watchdog [2], xdisp_fits, xdisp_trace [1]
	xdisp_trace2, xdisp_trace3, xhkplot, xset_chain [1], xset_chain [2], xso_search
	xsw2tree, xsw2tree_event, xswlist [2], xwrite_hist, ycopy, ydb_install [1]
	ydb_install [2], ydump
   History:
      slf, 10-mar-1993
      slf,  4-May-1993 	; added newfile option
      slf,  3-mar-1995 	; add flush (for fast machines)
      slf,  8-mar-1995		; quiet failure, add ERROR


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

   Purpose: provide IDL interface to standard unix compress utility

   Input Paramters:
      inname - file name or vector of file names to compress

   Output Parameters:
      outname - compressed file names (same dimension as inname)
		 (usually, = inname.Z ; null if problem w/input or compress)

   Optional Keyword Parameters
	noreplace - (input) - switch, if set, don't replace inname with outname 
	newname   - (input)   NOT IMPLEMENTED specify outname

   Calling Sequence:
	file_compress, inname [, outname ,/noreplace]

 CALLS: ***
	CONCAT_DIR [1], CONCAT_DIR [2], CONCAT_DIR [3], FILE_EXIST [2], concat_dir [4]
	file_exist [1], file_exist [3], tbeep [1], tbeep [2], tbeep [3]
 CALLED BY:
	data_compress [1], data_compress [2], data_compress [3], do_ads, mk_sdm
	rd_week_file [1], rd_week_file [3], rd_week_file [4]
   History: 30-Jun-93 (SLF)
	     11-Jul-93 (SLF) Added dirs keyword and function
	     15-Mar-93 (SLF) enclose in quotes (embedded meta-characters)


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

 PURPOSE:
	This function returns the modification date of a file as (local) TAI

 CATEGORY:
	LASCO UTILITY

 CALLING SEQUENCE:

	Result = FILE_DATE_MOD(File)

 INPUTS:
	File:	The name of the file to be processed

 KEYWORD PARAMETERS:
	DATE_ONLY	If set, return date only as a string
 	UTC		If set, returns GMT/UTC time (Not implemented for Windows)

 OUTPUTS:
	This function returns the date the file was modified as TAI

 CALLED BY:
	C2_CALIBRATE, C3_CALIBRATE, READ_EXP_FACTOR, RTMVI [1], UPDATE_MPG
 PROCEDURE:
	The procedure spawns a command to the OS to get the modification date

 CALLS: ***
	ANYTIM2UTC [1], ANYTIM2UTC [2], GET_UTC, STR_SEP, UTC2STR, UTC2TAI
 EXAMPLE:
	date = FILE_DATE_MOD(sample_file.dat,/date_only)
		returns the date as a string such as 1996/10/15

 MODIFICATION HISTORY:
 	10 Feb 1999 - Nathan Rich, NRL
			fixed year rollover problem  e.g Dec 21 was producing a
 			file mod of Dec 21, 1999 since the ls command produced
			just Dec 21 and not Dec 21 1998

 			From the ls man page
 			If  the  time  of last modification is greater than six
 			months ago, it is shown in the format `month date year'
 			for the POSIXlocale.  When the LC_TIME locale category
 			is not set to the POSIX locale, a different format of
 			the time field may  be  used.  Files modified within
 			six months show 'month date time'.

 			Still not sure if this is 6 months to the day or six
 			months by months.  We will try six months by months - DW

  	7 Oct 1999 - Fixed error in determining and using mon_index - NBR
    	Jan 2000 - Correct definition of mm and dd; fix year determination (again) - NBR
 	14 Aug 2000, NBR - Added /SH to spawn call
  	2 Apr 2001, NBR - Return date-only in ECS format
 	30 Nov 2001, NBR - Add mods for Windows compatibility for GSV
 	21 Jun 2002, NBR - Use /bin/ls instead of /usr/ucb/ls and change method of parsing string
  	9 Jun 2005, NBR - Add UTC option
	5 Oct 2006,	F. Auchère - replace close, file1 by free_lun, file1 (frees the allocated unit)
   7 Oct 2006, F. Auchere - more robust way to extract date from spawn output under windows

	@(#)file_date_mod.pro	1.9 10/26/05 LASCO IDL LIBRARY


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

   Purpose: system/shell independent file delete

   Input Parameters:
      files - scaler string or vector string array of filenames to delete

   Output Paramters:
      status - sucess  1 -> deleted or not there to begin with
			0 -> couldnt delete (it's still there)
			     (scaler or vector depending on files)
   Keyword Parameters:
      quiet - if set, dont print message on failures

   Calling Sequence:
      file_delete, files [,status , /quiet]

   History:
      slf, 8-feb-1993		

 CALLS: ***
	FILE_EXIST [2], file_exist [1], file_exist [3]
   Restrictions: must have write priviledge to requested files


FILE_EXIST [2] $SSW/soho/mdi/idl_old/gen/ssw_lib/file_exist.pro
[Previous] [Next]
 Project     : SOHO - CDS     
                   
 Name        : FILE_EXIST()
               
 Purpose     : Test whether a file exists.
               
 Explanation : Returns true(1) if any files match pattern=file
	        or false(0) if no files found.
               
 Use         : IDL> file_ok = file_exist(filename [,/direct])
    
 Inputs      : file -  file, pathname or file filter to check

 Opt. Inputs : None
               
 Outputs     : Returns 1/0 as each file does/does not exist.
               
 Opt. Outputs: None
               
 Keywords    : direct - set if want full check (slower) - use if might be an
		empty directory you are looking for

 Calls       : ***
	BREAK_FILE [1], BREAK_FILE [2], BREAK_FILE [3], Bell, FILE_STAT [1], FILE_STAT [2]
	STR_LASTPOS [1], break_file [4], file_stat [3], str_lastpos [2]
 CALLED BY:
	ANDRIL_SXT, BCS_COMP, BUILD_SSX, CATEGORY, CAT_DIRECTORY, CAT_RAW, CDS_AR_OBS
	CDS_VEL_SLICE [2], CDS_WAVE_CAT, CDS_WAVE_FILES, CFITSLIST, CHIANTI_DEM
	CH_LINE_LIST, CH_SYNTHETIC, CW_LOADCT, EIS_LOAD_IMAGE [1], EIS_LOAD_IMAGE [2]
	EIT_MKMOVIE, EMISS_CALC, FB_RAD_LOSS, FIRST_LIGHT [1], FIRST_LIGHT [2]
	FLUSH_CATALOG, Files_Handling [1], Files_Handling [2], GETBKGIMG, GET_CACHE
	GET_ORBIT_CDF2, GHOST_AMOUNT, GOES_TF, GOES_TF_COEFF, GT_EXPTIME [2], GT_MIRRPOS
	GT_NUMEXP, GT_NUMWIN, GT_SLITNUM, GT_SLITPOS, GT_START, GT_WINSIZE, GT_WLABEL
	GT_WLIMITS, GT_WNUM, HEADCAT, HESSI, HESSI_DATA_PATHS [1], HESSI_SHUTTERS
	HESSI_SPEX [1], HESSI_SPEX [2], HSI_LOCATE_FLARE [2], HSI_LOCATE_FLARE [4]
	HSI_SPECTRUM_FITSPASTE, HXTPIXON, HXT_QLOOK, IDL5TO4, IMAGE_TOOL, IMAGE_TOOL_EVENT
	ISOTHERMAL, ITOOL_EIT_DEGRID, ITOOL_LOAD_IMAGE, ITOOL_OVERLAYER, ITOOL_RD_GIF
	LOCK_DATABASE, MAKE_CHIANTI_SPEC, MAKE_DAILY_IMAGE, MKMOVIE
	MKMOVIE0 obsolete version of mkmoviepro, MK_RASTER, NET_DIR_DIFF
	OVSA_EXPLORER formerly OVSA_PRESUB, Open Packet File, Open Score File
	PICKFITS, PICK_CAN_PRELIM, PLOT_CHIANTI_NE, PLOT_CHIANTI_TE, PLOT_DELTAT
	PLOT_SPEC [2], PRG_DETAIL, PRG_PLAN, PURPOSE, RATIO_PLOTTER [1], RD_IMAGE_GIF
	READCDSFITS, READ_ANALIST, READ_PS2, REDUCE_LEVEL_1, RFITS2 [1], RFITS2 [2], RTMOVIE
	RTMVI [1], SFITSLIST, SHOW_FITS_HDR, SHOW_POPS, SPEX_READ_FIT_RESULTS
	SSW_LOCAL_PATH, STUDY_BRIEF, ST_SUMER, SUMER_DISTORT_COR, SUMER_FILE
	SUMER_SEARCH_PD_EVENT, SUMER_SERIAL, TP_GET_DUMDATA, TR_FLAT_SUB, TV_SYNOP
	USE_CHIANTI, WIN_DUMP, WRT_GEN [1], WRT_GEN [2], WRUNMOVIEM, WR_MOVIE, XCOR_CDS
	ZETA_0, add_pro [1], add_pro [2], ads_into_att, break_doc [1], break_doc [2]
	break_doc [3], ccd_hdr_info, ccd_sunc [1], ccd_sunc [2], cdrom_files [2], ch_ss
	check_compile [1], check_compile [2], check_log [1], check_log [2]
	check_process [1], check_process [2], check_ql_after_lz, chk_pointing
	color_copy, configure_http, cont2time [1], cont2time [2], ctraj2orbit
	daily_forecast [2], data_sum2fits, dbase2disk, delete_week [1], delete_week [2]
	disk2_mo [1], disk2_mo [2], disp_synop, disp_therm_rs232, do_ads, do_demo [1]
	do_demo [2], do_i0_dps_reformat, do_reg_backup, do_tr_inventory, doc_summ [1]
	doc_summ [2], dps_proc_lev0_hk, dps_proc_mem_dump, dsn_check [1], dsn_check [2]
	dsp_menu, eit_eff_area, eit_file2path, eit_files, eit_fulldiskdb
	eit_proton_summary, eitoversxt, extract_val, file__define, file_compress [1]
	file_compress [2], file_delete [1], file_delete [2], file_delete [3], file_diff
	file_list2, file_path [1], file_path [2], file_uncompress [1]
	file_uncompress [2], fits2time [1], fits2time [2], fits2time [3]
	fl_goesplot [1], fl_goesplot [2], fl_goesplot [3], fl_summary [1]
	fl_summary [2], fl_summary [3], fl_suntoday [1], fl_suntoday [2]
	fl_suntoday [3], fl_sxtobsnar [1], fl_sxtobsnar [2], fort2hxi [1], fort2hxi [2]
	freebound_ion, ft_mng_hm, ftp_copy [1], ftp_copy [2], ftp_copy2sites, ftp_copy_new
	genx2html [1], genx2html [2], get1doc [1], get1doc [2], get_ads [1], get_daily [1]
	get_daily [2], get_gevloc_data, get_hk_info [1], get_hk_info [2]
	get_ksc_holiday, get_mk3 [1], get_mk3 [2], get_selsis, get_sirius_yr
	get_solar_indices, get_tty_type [1], get_tty_type [2], get_uvxsections
	go_batch [1], go_batch [2], go_ssw_batch, go_yo_prod_batch, goes_log
	goes_plot [1], goes_plot [2], goes_plot [3], goes_plot [4], goes_plot [5]
	gt_exptime [1], hessi_version, hsi_flare_position_image [1]
	hsi_flare_position_image [2], hsi_full_sun_image [1], hsi_full_sun_image [2]
	hsi_locate_flare [1], hsi_locate_flare [3], html_basics, html_doc
	html_form_addtime [1], html_form_addtime [2], html_form_addtime [3]
	html_get_files, html_linklist, html_remove_template, hxt_impulsivness
	hxt_multimg, hxt_sources, idl_server_command, idl_server_control, image2movie
	ip_que_dmpver, is_alive [1], is_alive [2], keyword_db, ksc_commands, lapalma_cat
	lapalma_files, lasteit, lastsfd [1], lastsfd [2], laststat [1], laststat [2]
	mail [1], mail [2], make_goes_chianti_response [1]
	make_goes_chianti_response [2], make_goes_chianti_response [3]
	make_goes_chianti_response [4], make_ssw_mirror, map_env2dir, mdi_cat, mdi_files
	mdi_write_genxcat, mdimrot, mdipdist, mdiprot, mk_att [1], mk_att [2]
	mk_bad_pix_map_load, mk_dpc_image, mk_gsn_obs, mk_gsn_obs_s1, mk_gx
	mk_hst_summary, mk_imgsum_html, mk_mo_disk, mk_mo_disk2, mk_mo_log, mk_obs
	mk_orbit [1], mk_orbit [2], mk_pix [1], mk_pix [2], mk_pnt, mk_query [1]
	mk_query [2], mk_query_genx, mk_sdcs, mk_sdm, mk_sfc [1], mk_sfc [2], mk_sft [1]
	mk_sft [2], mk_spd, mk_ssc [1], mk_ssc [2], mk_ssc_batch [1], mk_ssc_batch [2]
	mk_sumer_dbase_ff, mk_sxh, mk_syn_sfc [1], mk_syn_sfc [2], mk_trace_i0
	mk_week_file [1], mk_week_file [2], mo_patch, mo_tap_dump, mon_health [1]
	mon_health [2], mreadfits_header, msok_copy_jpg, msok_poi_copy [1]
	msok_poi_copy [2], mwritefits, nobeyama_update, obs_summary, op_get_special
	op_rd_special, password_info, phoenix_spg_get, ratio_plotter [2]
	raw_list2pixmap, rd_atodat [1], rd_atodat [2], rd_bsc, rd_ccdh_fil, rd_dpc_table
	rd_egse_hk_txt, rd_gbl_raw [1], rd_gbl_raw [2], rd_goes_fits, rd_goesp_ascii
	rd_goesx_ascii, rd_gsn, rd_hk [1], rd_hk [2], rd_ionbal [1], rd_ionbal [2]
	rd_old_obs, rd_pkt_head [1], rd_pkt_head [2], rd_rasm, rd_roadmap [1], rd_sdl
	rd_selsis, rd_selsisi_dir, rd_sld, rd_sls, rd_sot, rd_srspas, rd_ssl, rd_sumer_genx
	rd_sxa, rd_sxc, rd_sxl, rd_therm_rs232, rd_tr_seq_head, rd_week_file [2], rd_ydbtap
	read_genxcat, read_lapalma, read_mdi, read_sooncheck, read_spartan, ref_term [2]
	reslot, restgenx, restore_idl_routines, save_idl_routines, savegenx, search [1]
	search [2], search_obs, secchi_time2files, selsis_copy [1], selsis_copy [2]
	selsisi2fits, setup_spex [1], setup_spex [2], sfc_check, show_pix [1]
	show_pix [2], soon_catstat, soon_com2html, special_movie, ssw_bin
	ssw_check_contrib, ssw_colors, ssw_conflicts, ssw_contrib_info
	ssw_contrib_monitor, ssw_fs_cat2db, ssw_get_sources, ssw_getapplet
	ssw_install [2], ssw_install_explinkages, ssw_instr_info, ssw_javamovie
	ssw_jsulr2data, ssw_sec_aktxt2struct, ssw_set_chianti, ssw_setsswdb_gen
	ssw_start_rpcserver, ssw_swmap_uniqinfo, ssw_time2paths, ssw_upgrade [1]
	ssw_upgrade [2], ssw_upgrade_backup, ssw_url2data, ssw_whereis_perl
	sswdb_upgrade, strpair2struct, struct_where, sum_FField, sun_today [1]
	sun_today [2], sun_today [3], sw2tree [1], sw2tree [2], sxl_analysis, sxt2eit
	sxt2file, sxt2mpeg, sxt_etemp, sxt_files, sxt_html, sxt_mornint, sxt_patch_att
	sxt_prep [1], sxt_prep [2], sxt_prep [3], sxt_ssc2sss, sxt_ssn2fits [1]
	sxt_summary, sxt_uvf_info [1], sxt_uvf_info [3], sxt_where, synop_movie
	table2struct, term_times, tfr_summary, tfr_summary2, tim2dbase, timeline
	timeline2html, topsdb [1], topsdb [2], tr_build_img [1], tr_head_info
	tr_inventory_telem, tr_lut_conv, tr_reformat, tr_summary_head, tr_tab_head
	trace_cat, trace_cat2data, trace_decode_idl PLEASE USE trace_jpeg_decomp
	trace_dph2struct [1], trace_euv_resp [1], trace_file2path, trace_files
	trace_get1www_image, trace_get_vignette, trace_jpeg_decomp
	trace_last_movie_queue, trace_make_tma, trace_make_tmr [1], trace_make_tmr [2]
	trace_movie_index [1], trace_movie_index [2], trace_movies_prioritize [1]
	trace_movies_prioritize [2], trace_newmoviedata, trace_rd_jpeg
	trace_recent_movie_summary, trace_request_summary, trace_special_movie [1]
	trace_special_movie [2], trace_special_movie [3], trace_special_movie2
	trace_success_file, trace_uv_resp, trace_where, ucon_path, url_decode, web_seq
	weekid [2], write_access [1], write_access [2], write_trace
	wrt_fits_bin_exten [2], wrt_sci160k_img, wrtwkdat, wwwidl_server_check
	wwwidl_watchdog [1], wwwidl_watchdog [2], xcheckip, xdisp_fits, xdisp_sci5k
	xdisp_tfr, xdisp_trace [1], xdisp_trace2, xdisp_trace3, xhkplot, xset_chain [1]
	xset_chain [2], xspr [1], xspr [2], xsw2tree, xsw2tree_event, xswlist [2]
	ydb_exist [1], ydb_exist [2], ydb_exist [3], ydb_exist [4], ydb_install [1]
	ydb_install [2], ydb_use, yo_mkos1_dbase, yo_xda2legacy, yohkoh_legacy_files [1]
	yohkoh_legacy_files [2], yopos [1], yopos [2], ys_contrib [1], ys_contrib [2]
 Restrictions: None
               
 Side effects: None
               
 Category    : Utilities, Files, OS
               
 Prev. Hist. : Yohkoh procedure by Sam Freeland, LPARL, 30-Nov-1991

	4-Sep-92 (MDM) - Modified to handle an array of input files
      23-sep-93 (slf) - make sure null file returns false
			 (findfile count=1! when null requested)
      17-Mar-94 (SLF) - use file_stat(/exist) for non wild card cases
      April Fools'94 (DMZ) -- added check for :: in file name
                              (file_stat doesn't work across DECNET)
      31-May-94 (DMZ)      -- added check for VMS directory name input
                              (file_stat doesn't seem to work on VMS
                               dir names like '[ys.atest.soft]')
      16-Aug-94 (DMZ)      -- added another VMS patch to handle
                              case when user enters  a VMS subdirectory name
                              without a file name.

 Written     : CDS version by C D Pike, RAL, 2-Jul-1993
               
 Modified    : Version 2, William Thompson, GSFC, 21 June 1995
			Remerged CDS and Yohkoh versions.

 Version     : Version 2, 21 June 1995


file_exist [3] $SSW/soho/mdi/idl_old/gen/ys_util/file_exist.pro
[Previous] [Next]
   Name: file_exist
 
   Purpose: returns true(1) if any files match pattern=file
	     false(0) if no files found

   Input Parameters:
      file - file, pathname or file filter to check

   Optional Keyword Parameters
      direct - set if want full check (slower) - use if might be an
		empty directory you are looking for

 CALLS: ***
	BREAK_FILE [1], BREAK_FILE [2], BREAK_FILE [3], Bell, FILE_STAT [1], FILE_STAT [2]
	STR_LASTPOS [1], break_file [4], file_stat [3], str_lastpos [2]
 CALLED BY:
	ANDRIL_SXT, BCS_COMP, BUILD_SSX, CATEGORY, CAT_DIRECTORY, CAT_RAW, CDS_AR_OBS
	CDS_VEL_SLICE [2], CDS_WAVE_CAT, CDS_WAVE_FILES, CFITSLIST, CHIANTI_DEM
	CH_LINE_LIST, CH_SYNTHETIC, CW_LOADCT, EIS_LOAD_IMAGE [1], EIS_LOAD_IMAGE [2]
	EIT_MKMOVIE, EMISS_CALC, FB_RAD_LOSS, FIRST_LIGHT [1], FIRST_LIGHT [2]
	FLUSH_CATALOG, Files_Handling [1], Files_Handling [2], GETBKGIMG, GET_CACHE
	GET_ORBIT_CDF2, GHOST_AMOUNT, GOES_TF, GOES_TF_COEFF, GT_EXPTIME [2], GT_MIRRPOS
	GT_NUMEXP, GT_NUMWIN, GT_SLITNUM, GT_SLITPOS, GT_START, GT_WINSIZE, GT_WLABEL
	GT_WLIMITS, GT_WNUM, HEADCAT, HESSI, HESSI_DATA_PATHS [1], HESSI_SHUTTERS
	HESSI_SPEX [1], HESSI_SPEX [2], HSI_LOCATE_FLARE [2], HSI_LOCATE_FLARE [4]
	HSI_SPECTRUM_FITSPASTE, HXTPIXON, HXT_QLOOK, IDL5TO4, IMAGE_TOOL, IMAGE_TOOL_EVENT
	ISOTHERMAL, ITOOL_EIT_DEGRID, ITOOL_LOAD_IMAGE, ITOOL_OVERLAYER, ITOOL_RD_GIF
	LOCK_DATABASE, MAKE_CHIANTI_SPEC, MAKE_DAILY_IMAGE, MKMOVIE
	MKMOVIE0 obsolete version of mkmoviepro, MK_RASTER, NET_DIR_DIFF
	OVSA_EXPLORER formerly OVSA_PRESUB, Open Packet File, Open Score File
	PICKFITS, PICK_CAN_PRELIM, PLOT_CHIANTI_NE, PLOT_CHIANTI_TE, PLOT_DELTAT
	PLOT_SPEC [2], PRG_DETAIL, PRG_PLAN, PURPOSE, RATIO_PLOTTER [1], RD_IMAGE_GIF
	READCDSFITS, READ_ANALIST, READ_PS2, REDUCE_LEVEL_1, RFITS2 [1], RFITS2 [2], RTMOVIE
	RTMVI [1], SFITSLIST, SHOW_FITS_HDR, SHOW_POPS, SPEX_READ_FIT_RESULTS
	SSW_LOCAL_PATH, STUDY_BRIEF, ST_SUMER, SUMER_DISTORT_COR, SUMER_FILE
	SUMER_SEARCH_PD_EVENT, SUMER_SERIAL, TP_GET_DUMDATA, TR_FLAT_SUB, TV_SYNOP
	USE_CHIANTI, WIN_DUMP, WRT_GEN [1], WRT_GEN [2], WRUNMOVIEM, WR_MOVIE, XCOR_CDS
	ZETA_0, add_pro [1], add_pro [2], ads_into_att, break_doc [1], break_doc [2]
	break_doc [3], ccd_hdr_info, ccd_sunc [1], ccd_sunc [2], cdrom_files [2], ch_ss
	check_compile [1], check_compile [2], check_log [1], check_log [2]
	check_process [1], check_process [2], check_ql_after_lz, chk_pointing
	color_copy, configure_http, cont2time [1], cont2time [2], ctraj2orbit
	daily_forecast [2], data_sum2fits, dbase2disk, delete_week [1], delete_week [2]
	disk2_mo [1], disk2_mo [2], disp_synop, disp_therm_rs232, do_ads, do_demo [1]
	do_demo [2], do_i0_dps_reformat, do_reg_backup, do_tr_inventory, doc_summ [1]
	doc_summ [2], dps_proc_lev0_hk, dps_proc_mem_dump, dsn_check [1], dsn_check [2]
	dsp_menu, eit_eff_area, eit_file2path, eit_files, eit_fulldiskdb
	eit_proton_summary, eitoversxt, extract_val, file__define, file_compress [1]
	file_compress [2], file_delete [1], file_delete [2], file_delete [3], file_diff
	file_list2, file_path [1], file_path [2], file_uncompress [1]
	file_uncompress [2], fits2time [1], fits2time [2], fits2time [3]
	fl_goesplot [1], fl_goesplot [2], fl_goesplot [3], fl_summary [1]
	fl_summary [2], fl_summary [3], fl_suntoday [1], fl_suntoday [2]
	fl_suntoday [3], fl_sxtobsnar [1], fl_sxtobsnar [2], fort2hxi [1], fort2hxi [2]
	freebound_ion, ft_mng_hm, ftp_copy [1], ftp_copy [2], ftp_copy2sites, ftp_copy_new
	genx2html [1], genx2html [2], get1doc [1], get1doc [2], get_ads [1], get_daily [1]
	get_daily [2], get_gevloc_data, get_hk_info [1], get_hk_info [2]
	get_ksc_holiday, get_mk3 [1], get_mk3 [2], get_selsis, get_sirius_yr
	get_solar_indices, get_tty_type [1], get_tty_type [2], get_uvxsections
	go_batch [1], go_batch [2], go_ssw_batch, go_yo_prod_batch, goes_log
	goes_plot [1], goes_plot [2], goes_plot [3], goes_plot [4], goes_plot [5]
	gt_exptime [1], hessi_version, hsi_flare_position_image [1]
	hsi_flare_position_image [2], hsi_full_sun_image [1], hsi_full_sun_image [2]
	hsi_locate_flare [1], hsi_locate_flare [3], html_basics, html_doc
	html_form_addtime [1], html_form_addtime [2], html_form_addtime [3]
	html_get_files, html_linklist, html_remove_template, hxt_impulsivness
	hxt_multimg, hxt_sources, idl_server_command, idl_server_control, image2movie
	ip_que_dmpver, is_alive [1], is_alive [2], keyword_db, ksc_commands, lapalma_cat
	lapalma_files, lasteit, lastsfd [1], lastsfd [2], laststat [1], laststat [2]
	mail [1], mail [2], make_goes_chianti_response [1]
	make_goes_chianti_response [2], make_goes_chianti_response [3]
	make_goes_chianti_response [4], make_ssw_mirror, map_env2dir, mdi_cat, mdi_files
	mdi_write_genxcat, mdimrot, mdipdist, mdiprot, mk_att [1], mk_att [2]
	mk_bad_pix_map_load, mk_dpc_image, mk_gsn_obs, mk_gsn_obs_s1, mk_gx
	mk_hst_summary, mk_imgsum_html, mk_mo_disk, mk_mo_disk2, mk_mo_log, mk_obs
	mk_orbit [1], mk_orbit [2], mk_pix [1], mk_pix [2], mk_pnt, mk_query [1]
	mk_query [2], mk_query_genx, mk_sdcs, mk_sdm, mk_sfc [1], mk_sfc [2], mk_sft [1]
	mk_sft [2], mk_spd, mk_ssc [1], mk_ssc [2], mk_ssc_batch [1], mk_ssc_batch [2]
	mk_sumer_dbase_ff, mk_sxh, mk_syn_sfc [1], mk_syn_sfc [2], mk_trace_i0
	mk_week_file [1], mk_week_file [2], mo_patch, mo_tap_dump, mon_health [1]
	mon_health [2], mreadfits_header, msok_copy_jpg, msok_poi_copy [1]
	msok_poi_copy [2], mwritefits, nobeyama_update, obs_summary, op_get_special
	op_rd_special, password_info, phoenix_spg_get, ratio_plotter [2]
	raw_list2pixmap, rd_atodat [1], rd_atodat [2], rd_bsc, rd_ccdh_fil, rd_dpc_table
	rd_egse_hk_txt, rd_gbl_raw [1], rd_gbl_raw [2], rd_goes_fits, rd_goesp_ascii
	rd_goesx_ascii, rd_gsn, rd_hk [1], rd_hk [2], rd_ionbal [1], rd_ionbal [2]
	rd_old_obs, rd_pkt_head [1], rd_pkt_head [2], rd_rasm, rd_roadmap [1], rd_sdl
	rd_selsis, rd_selsisi_dir, rd_sld, rd_sls, rd_sot, rd_srspas, rd_ssl, rd_sumer_genx
	rd_sxa, rd_sxc, rd_sxl, rd_therm_rs232, rd_tr_seq_head, rd_week_file [2], rd_ydbtap
	read_genxcat, read_lapalma, read_mdi, read_sooncheck, read_spartan, ref_term [2]
	reslot, restgenx, restore_idl_routines, save_idl_routines, savegenx, search [1]
	search [2], search_obs, secchi_time2files, selsis_copy [1], selsis_copy [2]
	selsisi2fits, setup_spex [1], setup_spex [2], sfc_check, show_pix [1]
	show_pix [2], soon_catstat, soon_com2html, special_movie, ssw_bin
	ssw_check_contrib, ssw_colors, ssw_conflicts, ssw_contrib_info
	ssw_contrib_monitor, ssw_fs_cat2db, ssw_get_sources, ssw_getapplet
	ssw_install [2], ssw_install_explinkages, ssw_instr_info, ssw_javamovie
	ssw_jsulr2data, ssw_sec_aktxt2struct, ssw_set_chianti, ssw_setsswdb_gen
	ssw_start_rpcserver, ssw_swmap_uniqinfo, ssw_time2paths, ssw_upgrade [1]
	ssw_upgrade [2], ssw_upgrade_backup, ssw_url2data, ssw_whereis_perl
	sswdb_upgrade, strpair2struct, struct_where, sum_FField, sun_today [1]
	sun_today [2], sun_today [3], sw2tree [1], sw2tree [2], sxl_analysis, sxt2eit
	sxt2file, sxt2mpeg, sxt_etemp, sxt_files, sxt_html, sxt_mornint, sxt_patch_att
	sxt_prep [1], sxt_prep [2], sxt_prep [3], sxt_ssc2sss, sxt_ssn2fits [1]
	sxt_summary, sxt_uvf_info [1], sxt_uvf_info [3], sxt_where, synop_movie
	table2struct, term_times, tfr_summary, tfr_summary2, tim2dbase, timeline
	timeline2html, topsdb [1], topsdb [2], tr_build_img [1], tr_head_info
	tr_inventory_telem, tr_lut_conv, tr_reformat, tr_summary_head, tr_tab_head
	trace_cat, trace_cat2data, trace_decode_idl PLEASE USE trace_jpeg_decomp
	trace_dph2struct [1], trace_euv_resp [1], trace_file2path, trace_files
	trace_get1www_image, trace_get_vignette, trace_jpeg_decomp
	trace_last_movie_queue, trace_make_tma, trace_make_tmr [1], trace_make_tmr [2]
	trace_movie_index [1], trace_movie_index [2], trace_movies_prioritize [1]
	trace_movies_prioritize [2], trace_newmoviedata, trace_rd_jpeg
	trace_recent_movie_summary, trace_request_summary, trace_special_movie [1]
	trace_special_movie [2], trace_special_movie [3], trace_special_movie2
	trace_success_file, trace_uv_resp, trace_where, ucon_path, url_decode, web_seq
	weekid [2], write_access [1], write_access [2], write_trace
	wrt_fits_bin_exten [2], wrt_sci160k_img, wrtwkdat, wwwidl_server_check
	wwwidl_watchdog [1], wwwidl_watchdog [2], xcheckip, xdisp_fits, xdisp_sci5k
	xdisp_tfr, xdisp_trace [1], xdisp_trace2, xdisp_trace3, xhkplot, xset_chain [1]
	xset_chain [2], xspr [1], xspr [2], xsw2tree, xsw2tree_event, xswlist [2]
	ydb_exist [1], ydb_exist [2], ydb_exist [3], ydb_exist [4], ydb_install [1]
	ydb_install [2], ydb_use, yo_mkos1_dbase, yo_xda2legacy, yohkoh_legacy_files [1]
	yohkoh_legacy_files [2], yopos [1], yopos [2], ys_contrib [1], ys_contrib [2]
   History: written by slf, 11/30/91
	4-Sep-92 (MDM) - Modified to handle an array of input files
      23-sep-93 (slf) - make sure null file returns false
			 (findfile count=1! when null requested)
      17-Mar-94 (SLF) - use file_stat(/exist) for non wild card cases
      April Fools'94 (DMZ) -- added check for :: in file name
                              (file_stat doesn't work across DECNET)
      31-May-94 (DMZ)      -- added check for VMS directory name input
                              (file_stat doesn't seem to work on VMS
                               dir names like '[ys.atest.soft]')
      16-Aug-94 (DMZ)      -- added another VMS patch to handle
                              case when user enters  a VMS subdirectory name
                              without a file name.


file_info [2] $SSW/soho/mdi/idl_old/gen/ys_util/file_info.pro
[Previous] [Next]
NAME:
	file_info
PURPSOSE:
	To return information about the file that is not included
	in the FSTAT return
CALLING SEQUENCE:
	nfil = file_info(infil, finfo)
INPUT:
	infil	- The input file to find the information for.  It
		  can be a wild card since 'findfile' will be used
OUTPUT:
	returns	- Number of files found
	finfo	- A structure with the information in the file.
			.SIZE
			.REC_LEN
			.FILENAME
			.DIRECTORY
			.DATE
			.TIME
			.PROTECTION
			.OWNER
 CALLS: ***
	BREAK_FILE [1], BREAK_FILE [2], BREAK_FILE [3], MAKE_STR [1], MAKE_STR [2]
	STR2ARR [1], STR2ARR [2], break_file [4]
HISTORY:
	Written 14-Nov-91
	 1-Mar-92 (MDM) - Updated the header information
	18-Apr-92 (MDM) - Adjusted to accept an array of file name


file_info2 [2] $SSW/soho/mdi/idl_old/gen/ys_util/file_info2.pro
[Previous] [Next]
NAME:
	file_info2
PURPSOSE:
	To return information about the file from "ls -l" output
CALLING SEQUENCE:
	nfil = file_info2(infil, finfo)
	nfil = file_info2(dummy, finfo, ls=ls)
INPUT:
	infil	- The input file to find the information for.  It
		  can contain a wild card.  It needs to be a scalar if
		  wild cards are being used.
 CALLS: ***
	BREAK_FILE [1], BREAK_FILE [2], BREAK_FILE [3], STR2ARR [1], STR2ARR [2]
	anytim2ex [1], anytim2ex [2], anytim2ints [1], anytim2ints [2], break_file [4]
	fmt_tim [1], fmt_tim [2], int2secarr [1], int2secarr [2]
 CALLED BY:
	FIND_CAT, FIND_PROC, NET_DIR_DIFF, disp_sci160k [1], disp_sci160k [2], mk_mo_log
	mk_sfc [1], mk_sfc [2], mk_ydb_list, new_dpath [1], new_dpath [2], rd_dpc_table
	rd_goes3sec [1], rd_goes3sec [2], rd_hist_dbase [1], rd_hist_dbase [2]
	ssw_check_contrib
OPTIONAL KEYWORD INPUT:
	ls	- The "ls -l" results can be passed directly to 
		  this routine.  
OUTPUT:
	returns	- Number of files found
	finfo	- A structure with the information in the file.
			.SIZE
			.FILENAME
			.DIRECTORY
			.DATE
			.DAY
			.TIME
			.PROTECTION
			.OWNER
HISTORY:
	Written by M.Morrison 7-Aug-92 taking file_info.pro as a start
	 7-Oct-92 (MDM) - Added QDEBUG
			- Fixed problem with recognizing dates from last year
	20-Oct-92 (MDM) - Minor mod
	22-Oct-92 (MDM) - Modification to the way that year is recognized
	12-May-93 (MDM) - Modification to work on the SGI machine
	19-May-93 (MDM) - Added " around ls spawn to work on ADS file
	28-Jul-93 (DMZ) - Alpha OSF fix (ls command)
	27-Jun-94 (MDM) - Changed how routine figured out if "ls" was performed
			  on SGI or OSF machine. (not based on !version.os)
	 1-Aug-95 (MDM) - Patched a bug where infil could come in AND ls
			  is passed in.
	 3-Jan-96 (MDM) - Added patch to handle the case where the file size is
			  over 10 megabytes (the filename was being corrupted)
	 5-Feb-97 (MDM) - Corrected to work with years over 2000


file_list [2] $SSW/soho/mdi/idl_old/gen/ys_util/file_list.pro
[Previous] [Next]
NAME:
	file_list
PURPOSE:
	Given a set of directories (and optionally a partial
	filename with a wildcard), generage a list of file
	names/directories
CALLING SEQUENCE:
	infil = file_list(data_paths())
	infil = file_list(data_paths(), 'spr*')
	infil = file_list(data_paths(), 'spr*', /cd)
	infil = file_list(data_paths(), /interactive)
INPUTS:
	dirs	- The directories to search
		  If not present, it uses the default directory
	str	- The wildcard partial filename to search for.  Be careful
		  when using wildcards when searching a directory which has
		  subdirectories, because it will not work properly.  For
 CALLED BY:
	BCS_24HR_PLOT [1], BCS_24HR_PLOT [3], BCS_CAT, BCS_COMPARE, BCS_CREATE_CAT
	BCS_FREE_DATA, FINDFILE_LIST, HKG_DBASE, HXT_AUTOIMG, JITTER_HTML, LASTSFD_DIFF
	LOCAL_DIFFS, MK_LIBRARY_HELP, NORH_PR_EVX [1], NORH_PR_EVX [2], NORH_PR_INFO [1]
	NORH_PR_INFO [2], NORH_PR_REP [1], NORH_PR_REP [2], NORH_RD_TCX [1]
	NORH_RD_TCX [2], NORH_RD_TSX [1], NORH_RD_TSX [2], NORH_SYNTH_BYF [1]
	NORH_SYNTH_BYF [2], NORP_RD_AVG [1], NORP_RD_AVG [2], NORP_RD_DAILY [1]
	NORP_RD_DAILY [2], NORP_RD_DAT, QUICKDARK [2], QUICK_DPE, READ_MERGED_DSN
	RTMVIPLAY [2], RdTap [1], RdTap [2], RdTap [3], SEL_AR, TERM_FIDS, TERM_QUICK
	TERM_REVIEW, TOK_RD_DAILY, TR_DARK_SUB, TYKW_RD_DAILY, TYKW_RD_DAT, ace_files
	ads2att, allpks_html, att_exst, bcs_unpack, calc_mtm_therm, cdrom_files [2]
	cfl_summary [1], cfl_summary [2], check_oldprocess [1], check_oldprocess [2]
	check_oldprocess [3], check_oldprocess [4], check_ql_after_lz, chk_flares [1]
	chk_flares [2], cp_fns [1], cp_fns [2], daily_forecast [2], dbase2disk
	delete_week [1], delete_week [2], disp_sci5k, do_demo [1], do_demo [2]
	do_disp_month, doc1liners, doc_summ [1], doc_summ [2], dps_proc_lev0_hk
	edac_summary, eit_files, emi_plot [1], emi_summary, file_menu [1], file_menu [2]
	file_purge_sizes, flares2disk, fort2hxi [1], fort2hxi [2], full_graph_gif, get1gbo
	get_daily [1], get_daily [2], get_dc_warm, get_dirtree, get_gevloc_data
	get_hist_dbase_fil, get_hk_info [1], get_hk_info [2], get_last_tfr, get_mk3 [1]
	get_mk3 [2], get_seq_tab, get_sfm, get_tf_rec fname filnum recnum [1]
	go_hxt_hk_temps, go_lasdisk golaserdisk, go_lasdisk2 golaserdisk, go_nvs4
	go_nvs5, go_rdtap [1], go_rdtap [2], go_sxt_sss2secondary, goes3sec_copy
	gtab_summary, hist_count, hist_summary, hsi_pixon_smooth_patterns
	jitter_gif_xyimg, lastgbo, lastgki, mdi_write_genxcat, merge_genxcat, mk_fem [1]
	mk_fem [2], mk_gev [1], mk_gev [2], mk_gif_mag_index, mk_gx, mk_hst_summary
	mk_imgsum_html, mk_mapfile [1], mk_mapfile [2], mk_mdi_iap, mk_mo_log
	mk_orbit [1], mk_orbit [2], mk_pix [1], mk_pix [2], mk_sd2, mk_sdc [2], mk_sdc [3]
	mk_sdc [4], mk_sdcs, mk_sdl, mk_sdm, mk_sdmi, mk_sfc [1], mk_sfc [2], mk_sft [1]
	mk_sft [2], mk_sl [1], mk_sl [2], mk_sot, mk_ssl, mk_tfi, mk_week_file [1]
	mk_week_file [2], mo_filelist, mo_job0, mo_job1, mobad_summ, mon_health [1]
	mon_health [2], month_sfd_fits [1], month_sfd_fits [2], mostrip
	msok_poi_copy [1], msok_poi_copy [2], new_disp_sci5k [1], new_disp_sci5k [2]
	new_edac_summary, new_mon_health [1], new_mon_health [2], new_version [1]
	new_version [2], newfiles [1], newfiles [2], newfiles [3], newsfd, nts_copy [1]
	nts_copy [2], pnt_exst, pr_sfc, pref_deldir, pro_list [1], pro_list [2], rd_dt_genx
	rd_old_obs, rd_raw_station_plan, rd_so_at_ftr, rd_week_file [1]
	rd_week_file [2], rd_week_file [3], rd_week_file [4], rd_xda_same, read_genxcat
	read_mdi, read_msok_jpg, read_spartan, run_dsnfil, sea, sel_dc_image [1]
	sel_dc_image [2], sel_dc_image [3], sel_filetimes [1], sel_filetimes [2]
	sel_leak_image [1], sel_leak_image [3], sel_leak_image [4], set_sci160k_dir
	sfc_check, sfc_prep [1], sfc_prep [2], sft2sfc, show_pix [1], show_pix [2]
	show_pixf, soon_com2html, ssw_check_contrib, ssw_findstuff2html, ssw_fs_cat2db
	ssw_getapplet, ssw_install [2], ssw_start_rpcserver, ssw_swmap_bestof
	ssw_time2paths, sswdb_files, stt_plot, sxt_eff_area, sxt_files, sxt_his2dbase
	sxt_ssn2fits [1], tap_wrt_chk, timeline, timeline2html, topsdb [1], topsdb [2]
	tr_lut_conv, tr_mk_seq_alph, tr_rd_index, tr_rd_inventory, tr_scan_images
	tr_summary_head, trace_do_data_requests, trace_euv_resp [1], trace_files
	trace_get_vignette, trace_last_movie_queue, trace_movie_index [1]
	trace_movie_index [2], trace_recent_movie_summary, trace_uv_resp, uniq_fid [1]
	uniq_fid [2], verify_gui, web_seq, weekid [2], wrt_fits_bin_exten [2], xanal_emi
	xcheckip, xdisp_fits, xdisp_sci5k, xdisp_tfr, xdisp_trace [1], xdisp_trace [2]
	xdisp_trace2, xdisp_trace3, xrd_trace, xset_chain [1], xset_chain [2], xspr [1]
	xspr [2], ydb_exist [2], yo_file_check [1], yo_file_check [2], yo_mkos1_dbase
	yohkoh_files, yoyo_man2, ys_file_check [1], ys_file_check [2]
		  example:  file_list('~', '*') will not give the proper
		  answer, but it will if the /CD option is used.  This
		  is an artifact of how the IDL routine FINDFILE works.
 CALLS: ***
	BREAK_FILE [1], BREAK_FILE [2], BREAK_FILE [3], CONCAT_DIR [1], CONCAT_DIR [2]
	CONCAT_DIR [3], break_file [4], concat_dir [4], str_replace [1], str_replace [2]
	wc_where [1], wc_where [2]
OPTIONAL KEYWORD INPUT:
	interactive - If set, ask the user to type in the partial
		  filename to search for
	cd	- If set, then set default to the directory first
		  and then do the listing.  This technique is 
		  needed because of "argument overflow" errors duing
		  "ls" type commands when there are too many files in
		  a directory.  This happens on the SGI much sooner
		  than Suns or DECs.
	bydate	- If set, then list the files by date, with the oldest
		  file in the beginning of the array, and the newest file
		  as the last element in the array.  ONLY WORKS ON UNIX.
OUTPUTS:
	RETURNS: The file list (including the path).
OPTIONAL KEYWORD OUTPUT:
	files	- Just the file names of the filenames
	fdirs	- Just the directory portion of the filenames
HISTORY:
	Written 11-Dec-91 by M.Morrison
	 8-Mar-93 (MDM) - Modified to optioncally set default to the directory
			  and then to do the listing
			- Modified to accept an array of input file names
	16-Mar-93 (MDM) - Modified to set default back to the starting directory
			  and not leave you in the last directory when using
			  the /CD option.
	12-Aug-93 (MDM) - Changed how the /CD option works (doesn't actually
			  do a cd now)
			- Added translation of ~ if passed in
       27-Oct-93 (AKT) - If wildcard search spec doesn't include .something
			  then append .*.  In VMS, findfile needs the .*.
	 7-Dec-93 (MDM) - Removed the 27-Oct-93 patch unless the system is
			  VMS.  It causes problems in Unix (show hidden
			  . (dot) files)
	22-Dec-93 (MDM) - Made /CD the default when running on SGI
	 3-Apr-95 (MDM) - Added /BYDATE 
	28-Feb-96 (MDM) - Added defining output variable FILES
			- Also changed the keyword from FILE to FILES
	 4-Feb-97 (MDM) - Made the FOR loop a long interger


file_menu [2] $SSW/soho/mdi/idl_old/gen/ys_util/file_menu.pro
[Previous] [Next]
NAME:
	file_menu
PURPOSE:
	Given a set of directories (and optionally a partial
	filename with a wildcard), display a menu to allow the
	user to select the file he wants.
INPUTS:
	dirs	- The directories to search
		  If not present, it uses the default directory
	str	- The wildcard partial filename to search for
	interactive - If set, ask the user to type in the partial
		  filename to search for
OUTPUTS:
	RETURNS: The file name (including the path).  If quit/exit
		 is selected, then a null string is returned.
LIMITATIONS:
	For a filename that is 32 characters long (for example:
	/0d0/ops/reformat/ada910903.0046), the routine will only
	handle 365 of those files.   BEWARE.  If the number is too
	large, it will bomb.
 CALLS: ***
	file_list [1], file_list [2], wmenu_sel [1], wmenu_sel [2]
 CALLED BY:
	BCS2SXSPC, rd_sda_flare, sun_grid
HISTORY:
	Written 21-Oct-91 by M.Morrison
	18-Mar-92 (MDM) - Changed to use "file_list" and "wmenu_sel"


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

   Purpose: find file in tree (recursive version of RSI filepath.pro)

   Input Parameters:
      file   - file name to find
      topdir - top directory for tree search  (default is $IDL_DIR)

   Calling Sequence:
      filename=file_path(file [,treetop])

   Calling Examples:
      colorfile=file_path('colors1.tbl')	; find file under $IDL_DIR

 CALLS: ***
	CONCAT_DIR [1], CONCAT_DIR [2], CONCAT_DIR [3], FILE_EXIST [2], concat_dir [4]
	file_exist [1], file_exist [3], get_logenv [1], get_logenv [2], get_subdirs [1]
	get_subdirs [2]
   History:
      23-jun-1995 (SLF) 


file_purge [2] $SSW/soho/mdi/idl_old/gen/ys_util/file_purge.pro
[Previous] [Next]
  NAME:
    file_purge
  PURPOSE:
    Purge files that have similar file names.  Purge is based on 
    file name (alphabetical listing) or by reverse creation date.
  CALLING SEQUENCE:
    file_purge, infil [,/interactive,/bydate,keep=keep]
    file_purge, infil [,/interactive,/byname,keep=keep]
  INPUTS:
    infil	= A file name or a vector of file names (wild cards O.K.)
  OPTIONAL KEYWORD INPUTS:
    interactive = If set, prompt the user before deleting.
    keep        = The number to keep.  Values less than 1 will cause no
		   action to be taken.  Default = 1.
    bydate	 = Delete the oldest files.
    byname	 = Delete the alphabetically. (file ab is deleted before ac).
		   Specify /bydate or /byname but not both (/byname = default).

  OUTPUTS:
    None.
 CALLS: ***
	CONCAT_DIR [1], CONCAT_DIR [2], CONCAT_DIR [3], STR2ARR [1], STR2ARR [2]
	concat_dir [4], prstr [1], prstr [2], str_replace [1], str_replace [2], yesnox [1]
	yesnox [2]
 CALLED BY:
	check_oldprocess [1], check_oldprocess [3], daily_forecast [2]
  RESTRICTIONS:
    For unix only.
  MDDIFICATION HISTORY:
    Written, 19-sep-92, J. R. Lemen, LPARL.
	 7-Dec-92 (MDM) - Made the delete command use "-f" option
	27-Apr-93 (MDM) - Modification to work even when the input list is
			  a long list of filenames
        7-Aug-93 (SLF) - use file_delete.pro (bypass shell speed/alias probs)
			  add dir keyword


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

   Purpose: return file sizes - optionally as string with units

 CALLS: ***
	FILE_STAT [1], FILE_STAT [2], file_stat [3]
 CALLED BY:
	HTTP__DEFINE, SOCK_SAME, comp_sfr_arch, eit_genx_cat, file_purge_sizes
	genx2html [1], genx2html [2], get_dirtree, go_mk_cd, image2movie, is_ps, prep_gendat
	sswdb_install, tap_wrt_chk, thumbnail_table_html, tr_inventory_telem
	trace_do_data_requests, trace_get1www_image, trace_request_summary
   Restrictions:
      auto and string not yet vecorized 

   History:
      8-Feb-1995 (SLF) 


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

 Name        :	FILE_STAT()

 Purpose     :	Vector version of FSTAT

 Category    :	Utility, Operating_system

 Explanation :	Vector version of FSTAT

 Syntax      :	Result = FILE_STAT( FILES )

 CALLED BY:
	EIT_PREP, FILE_EXIST [2], GET_CACHE, LASCO_READFITS [1], UNIX_CMD [1]
	UNIX_CMD [2], XDIFF, archive_ck [1], archive_ck [2], data_compress [1]
	data_compress [2], data_compress [3], delete_week [1], delete_week [2]
	file_exist [1], file_exist [3], file_size [1], file_size [2], fl_mktext
	hessi_version, mk_orbit [1], mk_orbit [2], mo_check, mo_patch, monitor_scratch [1]
	monitor_scratch [2], rd_hk [1], rd_hk [2], yo_file_check [1], yo_file_check [2]
	ys_file_check [1], ys_file_check [2]
 Examples    :	

 Inputs      :	FILES	= List of files to check.

 Opt. Inputs :	None.

 Outputs     :	None.

 Opt. Outputs:	None.

 Keywords    :	EXIST	= If set, then the returned values are whether the
			  files exist or not.  This is the default behavior.
		SIZE	= If set, then the returned values are the sizes of the
			  files.

 Calls       : ***
	data_chk [1], data_chk [2]
 Common      :	None.

 Restrictions:	None.

 Side effects:	None.

 Prev. Hist. :	11-Mar-1994 (SLF) Wanted faster file_exist function

 History     :	Version 1, 11-Mar-1994, S. Freeland

 Contact     :	SFREELAND


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

   Purpose: vector version of fstat

   Input Paramters:
      files - list of files to check

 CALLS: ***
	data_chk [1], data_chk [2]
 CALLED BY:
	EIT_PREP, FILE_EXIST [2], GET_CACHE, LASCO_READFITS [1], UNIX_CMD [1]
	UNIX_CMD [2], XDIFF, archive_ck [1], archive_ck [2], data_compress [1]
	data_compress [2], data_compress [3], delete_week [1], delete_week [2]
	file_exist [1], file_exist [3], file_size [1], file_size [2], fl_mktext
	hessi_version, mk_orbit [1], mk_orbit [2], mo_check, mo_patch, monitor_scratch [1]
	monitor_scratch [2], rd_hk [1], rd_hk [2], yo_file_check [1], yo_file_check [2]
	ys_file_check [1], ys_file_check [2]
   History:
      11-Mar-1994 (SLF) Wanted faster file_exist function


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

   Purpose: provide IDL interface to standard unix uncompress utility

   Input Paramters:
      inname - file name or vector of file names to uncompress

   Output Parameters:
      outname - uncompressed file names (same dimension as inname)
		 (usually, inname without .Z extension, null if problem)

   Optional Keyword Parameters
	noreplace - (input) - switch, if set, don't replace inname with outname 
	newname   - (input)   NOT IMPLEMENTED specify outname
       outdir    - (input)   specify output directory (only if /noreplace)

   Calling Sequence:
	file_compress, inname [, outname ,/noreplace , outdir=outdir ]

 CALLED BY:
	RFITS2 [1], RFITS2 [2], data_compress [1], data_compress [2], data_compress [3]
	mk_sdm, rd_week_file [1], rd_week_file [3], rd_week_file [4], selsisi_copy
   History:  1-Jul-93 (SLF)
	      7-Oct-93 (SLF) Added OUTDIR keyword parameter
	     14-Mar-94 (SLF) enclose file names in quotes (embedded meta-char)

 CALLS: ***
	BREAK_FILE [1], BREAK_FILE [2], BREAK_FILE [3], CONCAT_DIR [1], CONCAT_DIR [2]
	CONCAT_DIR [3], FILE_EXIST [2], break_file [4], concat_dir [4], file_exist [1]
	file_exist [3], str_replace [1], str_replace [2], tbeep [1], tbeep [2], tbeep [3]
   Restrictions: UNIX only 


filename2time $SSW/soho/sumer/idl/contrib/warren/filename2time.pro
[Previous] [Next]
 NAME:

 filename2time

 PURPOSE:

 To convert a SOHO/SUMER filename into a time.

 CATEGORY:

 Data handling.

 CALLING SEQUENCE:

 time = filename2time(filename)
 
 INPUTS:

 Any SUMER filename.

 OPTIONAL INPUTS:

 None.
       
 KEYWORD PARAMETERS:
 
 None.

 OUTPUTS:

 A seven element array containing the time. The elements of the array
 are the hour, minute, second, millisecond, day, month, year that an
 observation began. Note that milliseconds is always zero since it is
 not specified in the filename.

 OPTIONAL OUTPUTS:

 None.

 CALLS: ***
	STR_SEP
 CALLED BY:
	mk_sumer_dbase_ff, sumer_ffdb
 COMMON BLOCKS:

 None.

 SIDE EFFECTS:

 None.

 RESTRICTIONS:

 The input filename must contain the extension. This routine really
 should be subsumed into gt_time.

 PROCEDURE:

 The routine parses the 13 characters before the file extension
 (".fits") to determine the time.

 EXAMPLE:

 IDL> filename = '$SUMER_DATA/sum_960513_085055.fits'
 IDL> time = filename2time(filename)
 IDL> print,time
      8      50      55       0      13       5      96

 MODIFICATION HISTORY:

   HPW 24-JUL-1996:

   HPW 04-OCT-1996: Added the genx file extension.


files_search [2] $SSW/soho/mdi/idl_old/gen/ys_util/files_search.pro
[Previous] [Next]
NAME:
	files_search
PURPOSE:
	Search all files in a set of Unix sub-directories for an input string
CALLING SEQUENCE:
	files_search
	files_search, indir, instr, outfil, fil_spec=fil_spec
	files_search, '/ys', 'makvec'
	files_search, '/ys', 'hel2pix', 'dum.dum', fil_spec='*.pro'
INPUT:
	indir	- The top directory to search.  All directories under it will
		  be searched
	instr	- The string to search all files in the subdirectories for
OPTIONAL INPUT:
	outfil	- The name of the file to write the results to.  Default is
		  "FILES_SEARCH.TXT"
OPTIONAL KEYWORD INPUT:
	fil_spec- The file specification to search for ('*' for example)
		  Default is "*.pro"
HISTORY:
	Written Nov-91 by M.Morrison
	20-Oct-92 (MDM) - Added document header
			- Added FIL_SPEC
	27-Oct-92 (MDM) - Renamed from SEA.PRO to FILES_SEARCH.PRO


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

   Purpose: return start and stop times in Yohkoh reformatted files

   Input Parameters:
      files - array of reformatted file names 

   Ouput Paramters:
	startt - start time of file in external format (7,n)
       stopt  - stop time of files in external format (7,n)

   Optional Keyword Parameters:
	string - if set, return time is converted to string strarr(n)

   Method : calls rd_fheader and converts start and stop times

 CALLS: ***
	Int2Ex [1], Int2Ex [2], Rd_fHeader [1], Rd_fHeader [2], Rd_fHeader [3], gt_day [1]
	gt_day [2], gt_time [1], gt_time [2]
 CALLED BY:
	chk_flares [1], chk_flares [2]
   History: slf, 3-August-1992


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

   Purpose: embed thumbnail image in "film" (make www logos/thumbnails)

   Input Parameters:
      thumbnail - image to enclose in film
   
   Output:
      function returns thumbnail embedded in "film" bitmap

   mag - if set, film "thickness" (default is auto scale)
   pad - if set, increase the size of the surrounding pad (default auto scale)
   sample - if set, rebin called with /sample (sharp edge film "holes")

   Calling Sequence:
      thumbnail_logo=film_thumbnail(thumbnail [,mag=mag, pad=pad, /sample])

 CALLED BY:
	mkthumb
   History:
      26-oct-1995 (S.L.Freeland) - SXT/YPOP/EIT (etc) WWW movie icons


filter [1] $SSW/soho/cds/idl/sci/data_anal/ql/line_fit/filter.pro
[Previous] [Next]
 Project     : SOHO - CDS     
                   
 Name        : filter
               
 Purpose     : fft filtering of data
               
 Explanation : filtering to reduse the noise in the data
               
 Use         : IDL> filter, y-array (raw), y-array (filtered) 
    
 Inputs      : raw y-array
               
 Opt. Inputs : None
               
 Outputs     : raw and filtered y-array
               
 Opt. Outputs: None
               
 Keywords    : None

 Calls       : ***
	box_filter
 CALLED BY:
	de_spiker [1], de_spiker [2], hrts_w [1], hrts_w [2]
 Common      : None
               
 Restrictions: None
               
 Side effects: None
               
 Category    : ?
               
 Prev. Hist. : ?

 Written     : Olav Kjeldseth-Moe, ITA, UiO 
               
 Modified    : Version 1 Nils Brynildsen, ITA, UiO, 1-July-1993

 Version     : Version 1 1-July-1993


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

       PURPOSE: Return the input image filtered with either median 
		 filter (default) or average filter.  

       METHOD: Default uses a three point median filter.  The returned 
		variable is either the filter image or a vector of filtered
		values corresponding to the input "indices" of the input
		image.  An average filter is also available.

       CALLING SEQUENCE:  
		filtered_img = filter(img, [width=width, indices=indices, 
				average=average] )


       PARAMETERS: 	img		input image 

	KEYWORDS:	
			width		filter size (default is 3).
			average		use an average filter instead
					of median.
			indices		a list of "img" elements for 
					which computed filtered values are
					returned.

	CALLS: ***
	box_filter
 CALLED BY:
	de_spiker [1], de_spiker [2], hrts_w [1], hrts_w [2]
       HISTORY: 
		19-Apr-94, written by gal and drafted from spikes by 
		A.McAllister, following a B.Labonte algorythm, 10-jun-93.


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

 PURPOSE:
	This procedure computes the product of two filter curves

 CATEGORY:
	NRL DATA_ANALYSIS

 CALLING SEQUENCE:
	FILTER_PRODUCT,WL_a,TR_a,WL_b,TR_b,WL,Q

 INPUTS:
	WL_a:	1D array of the wavelengths for curve A
	TR_a:	1D array of the transmitances for curve A
	WL_b:	1D array of the wavelengths for curve B
	TR_b:	1D array of the transmitances for curve B

 OUTPUTS:
	WL:	1D array of the wavelenths for the product
	Q:	1D array of the transmittance product

 CALLS: ***
	INTERPOL
 RESTRICTIONS:

 PROCEDURE:
	The wavelength interval that is common to both curves is
	determined by finding the greater of the two minimum
	wavelengths and the less of the two maximum wavelengths.

	Then a common set of wavelengths (# pts = 100) is generated,
	and the two filter curves interpolated at these wavelengths.

	The product of the two curves is then computed.

	You can describe the foobar superfloatation method being used here.
	You might not need this section for your routine.

 EXAMPLE:
	One curve is described by two arrays for the wavelength and 
	transmittances in wave1, trans1.  The other curve is described
	in wave2 and trans2.  Put the ouput into wl and result:

		FILTER_PRODUCT,wave1,trans1,wave2,trans2,wl,result

	result is the product of trans1 and trans2.  The corresponding
	wavelengths are in wl.

 MODIFICATION HISTORY:
 	Written by:	RAHoward, NRL	10/6/00

 @(#)filter_product.pro	1.1 10/08/00 :LASCO IDL LIBRARY


filtgauss $SSW/soho/lasco/idl/las-c2/filtgauss.pro
[Previous] [Next]
 NAME:                        filtgauss.pro
 PURPOSE:                     gaussian filtering applications
 CATEGORY:                    Processing high level
 CALLING SEQUENCE:            filtgauss,ima_in,width,ima_out
 INPUTS:                      ima_in                   name of frame
                              width                    width '1/e' of gaussian
 OPTIONAL INPUT PARAMETERS:   None
 KEYWORD PARAMETERS:          None
 OUTPUTS:                     ima_out                  resulting frame
 OPTIONAL OUTPUT PARAMETERS:  None
 CALLS: ***
	DIST
 COMMON BLOCKS:               None
 SIDE EFFECTS:                None
 RESTRICTIONS:                Applications limited to 512*512 frames
 PROCEDURE:
 MODIFICATION HISTORY:   defined by M.B 01/07/94

 SCCS variables for IDL use

 @(#)filtgauss.pro  1.0 01/07/94 :LAS


FILTMEDIAN $SSW/soho/lasco/idl/las-c2/pattern1.pro
[Previous] [Next]
 NAME: FILTMEDIAN.PRO
 PURPOSE: apply a median filter and rebin in the same time.
 CATEGORY: General tools high level routine
 CALLING SEQUENCE: filtmedian,ima_in,kx,ky,ima_out
 INPUTS: ima_in                           image array
         kx                               step_size in x
         ky                               step_size in y
 OPTIONAL INPUT PARAMETERS:               None
 KEYWORD PARAMETERS:                      None
 OUTPUTS:ima_out                          resulting frame
 OPTIONAL OUTPUT PARAMETERS:              None
 CALLS: ***
	STDEV, pattern1 [1], pattern1 [2], pro_cal, stat_ima
 CALLED BY:
	pattern1 [1], pattern1 [2]
 COMMON BLOCKS:                           None
 SIDE EFFECTS:                            None
 RESTRICTIONS:                            None
 PROCEDURE:
 MODIFICATION HISTORY:   defined by M.B 20/01/94

 SCCS variables for IDL use

 @(#)filtmedian.pro  1.0 20/01/94 :LAS


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

 Name        :	FIND_ALL_DIR()

 Purpose     :	Finds all directories under a specified directory.

 Explanation :	This routines finds all the directories in a directory tree
		when the root of the tree is specified.  This provides the same
		functionality as having a directory with a plus in front of it
		in the environment variable IDL_PATH.

 Use         :	Result = FIND_ALL_DIR( PATH )

		PATHS = FIND_ALL_DIR('+mypath', /PATH_FORMAT)
		PATHS = FIND_ALL_DIR('+mypath1:+mypath2')

 Inputs      :	PATH	= The path specification for the top directory in the
			  tree.  Optionally this may begin with the '+'
			  character but the action is the same unless the
			  PLUS_REQUIRED keyword is set.

			  One can also path a series of directories separated
			  by the correct character ("," for VMS, ":" for Unix)

 Opt. Inputs :	None.

 Outputs     :	The result of the function is a list of directories starting
		from the top directory passed and working downward from there.
		Normally, this will be a string array with one directory per
		array element, but if the PATH_FORMAT keyword is set, then a
		single string will be returned, in the correct format to be
		incorporated into !PATH.

 Opt. Outputs:	None.

 Keywords    :	PATH_FORMAT	= If set, then a single string is returned, in
				  the format of !PATH.

		PLUS_REQUIRED	= If set, then a leading plus sign is required
				  in order to expand out a directory tree.
				  This is especially useful if the input is a
				  series of directories, where some components
				  should be expanded, but others shouldn't.

 Calls       : ***
	BREAK_PATH [1], BREAK_PATH [2], BREAK_PATH [3], FIND_WITH_DEF [1]
	FIND_WITH_DEF [2], FIND_WITH_DEF [3]
 CALLED BY:
	CHECK_INTEG, CMP_LIBS, CMP_TREES, FIND_FILES, FIX_ZDBASE, HESSI_DATA_PATHS [1]
	HESSI_DATA_PATHS [2], IDL5TO4, MK_RASTER, MK_SUMER_DBASE, QZDBASE, SET_CDS_SDB
	SHOW_DATAWIN, SHOW_LINELIST, SHOW_RASTER, SHOW_STUDY, hessi_grid_trans
 Common      :	None.

 Restrictions:	PATH must point to a directory that actually exists.

		On VMS computers this routine calls a command file,
		FIND_ALL_DIR.COM, to find the directories.  This command file
		must be in one of the directories in IDL's standard search
		path, !PATH.

 Side effects:	None.

 Category    :	Utilities, Operating_system.

 Prev. Hist. :	None.

 Written     :	William Thompson, GSFC, 3 May 1993.

 Modified    :	Version 1, William Thompson, GSFC, 3 May 1993.
		Version 2, William Thompson, GSFC, 6 July 1993.
			Added sort to spawned command under Unix.
		Version 3, William Thompson, GSFC, 16 May 1995
			Modified to support multiple directories.
			Added keyword PLUS_REQUIRED

 Version     :	Version 3, 16 May 1995


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

 Name        : FIND_CAMPAIGN

 Purpose     : Shell around LIST_CAMPAIGN to fix the annoying
               problem caused by LIST_CAMPAIGN often not returning
               valid campaign entries that have start/stop times on
               day boundaries.

 Category    : planning

 Syntax      : FIND_CAMPAIGN,CMP,

 Inputs      : TSTART/TSTOP = start/stop times to search, any format

 Opt. Inputs : None

 Outputs     : CAMPAIGNS = campaign structure array
               NFOUND = number of campaigns found

 CALLS: ***
	ANYTIM2TAI, ANYTIM2UTC [1], ANYTIM2UTC [2], DELVARX [1], DELVARX [2], DELVARX [3]
	DELVARX [4], LIST_CAMPAIGN, UNIQ [1], UNIQ [2], UNIQ [3], delvarx [5]
 CALLED BY:
	CHECK_KAP, MK_PLAN_CAMP, XCAMP
 History     : Written 20 May 1997, D. Zarro, ARC/GSFC
               Modified 14 April 2004, Zarro (L-3Com/GSFC) - filter out
               blank observers

 Contact     : dzarro@solar.stanford.edu


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

 Name        :	FIND_CDS_STUDIES

 Purpose     :	Find CDS studies or programs matching search criteria

 Category    :	CDS, Database, Class2

 Explanation :	This widget program allows the user to search for studies which
		match certain search criteria.  Alternatively, one can search
		for 

 Syntax      :	FIND_CDS_STUDIES, OUTPUT  [, GROUP=GROUP ]  [, /PROGRAM ]

 Examples    :	FIND_CDS_STUDIES, OUTPUT
		FIND_CDS_STUDIES, OUTPUT, GROUP=EVENT.TOP, /PROGRAM

 Inputs      :	None.

 Opt. Inputs :	None.

 Outputs     :	OUTPUT	= An output structure array.  The format of OUTPUT
			  depends on the value of the /PROGRAM keyword.
			  Without the /PROGRAM keyword set, the tags are

				OBS_PROG = The name of the observing program
				STUDY_ID = The study ID number
				STUDYVAR = The study variation number

			  With the /PROGRAM keyword set, all the above tags are
			  returned, plus the additional tags

				DATE_OBS = The observation date (TAI seconds)
				PROG_NUM = The observation counter number

 Opt. Outputs:	None.

 Keywords    :	GROUP	= The group ID of the calling widget.  If passed, and
			  greater than zero, then FIND_CDS_STUDIES is run as a
			  modal widget.

		PROGRAM	= If set, then the program takes an additional step and
			  looks for actual runs of each study found.

 Calls       : ***
	CW_BGROUP, CW_FIELD, DBCLOSE [1], DBCLOSE [2], DBCLOSE [3], DBEXT [1], DBEXT [2]
	DBEXT [3], DBEXT [4], DBFIND [1], DBFIND [2], DBFIND [3], DBOPEN [1], DBOPEN [2]
	DBOPEN [3], DELVARX [1], DELVARX [2], DELVARX [3], DELVARX [4]
	FIND_CDS_STUDIES_EVENT, NTRIM, STR_SEP, UNIQ [1], UNIQ [2], UNIQ [3], VALID_NUM [1]
	VALID_NUM [2], VALID_NUM [3], WAVE2PIX, WIDG_HELP, XACK, XANSWER, XMANAGER
	XREGISTERED, delvarx [5]
 Common      :	Uses the internal common block FIND_CDS_STUDIES

 Restrictions:	None.

 Side effects:	None.

 Prev. Hist. :	None.

 History     :	Version 1, 27-Dec-1999, William Thompson, GSFC

 Contact     :	WTHOMPSON


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

 Name        :	FIND_CDS_STUDY

 Purpose     :	find a CDS study in database

 Explanation :	searches on TITLE, OBS_PROG, and SV_DESC fields

 Use         :	FIND_CDS_STUDY,STUDIES

 Inputs      :	None.

 Opt. Inputs :	None.

 Outputs     :	STUDIES = study definitions found

 Opt. Outputs:	None.

 Keywords    :	TITLE = string title to search on
               OBS_PROG = obs_prog to search on
               SV_DESC = study variation description to search on
               ERR = any error messages
               NFOUND= number of entries found
               STUDY_ID = study_id to search
               FUND_ONLY = only look at Fundamental part
               USE_TITLE = treat STUDY_ID as TITLE_ID
               RELIST = relist fundamental studies

 Calls       : ***
	CONCAT_STRUCT, DATATYPE [1], DATATYPE [2], DATATYPE [3], DELVARX [1], DELVARX [2]
	DELVARX [3], DELVARX [4], EXIST, GET_STUDY_PAR, LIST_F_STUDY, LIST_V_STUDY, NUM2STR
	TRIM, delvarx [5]
 CALLED BY:
	XSTUDY
 Common      :	FIND_CDS_STUDY

 Restrictions:	None.

 Side effects:	None.

 Category    :	Planning, Database.

 Prev. Hist. :	None.

 Written     :	Dominic Zarro (ARC)

 Version     :	Version 1.0, 8 May 1995


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

 PURPOSE:
	Find the center of the occulting disk by the method of chords

 CATEGORY:
	LASCO Analysis

 CALLING SEQUENCE:
	FIND_CHORD_CTR, Img, Xcen, Ycen

 INPUT PARAMETERS:
	Img:	The 2-D image

 KEYWORDS:
	INTEN:	Threshold intensity (Default = 1000)
	INTERP:	Flag to perform interpolation (Should be set)
	PYLON:	Flag to avoid pylon (should be used for C2/C3)
	HDR:	Use header to determine starting center

 OUTPUT PARAMETERS:
	Xcen:	The value of the center in X
	Ycen:	The value of the center in Y

 OPTIONAL OUTPUT PARAMETERS: 	None

 CALLS: ***
	FIND_COL_BOUNDARIES, FIND_ROW_BOUNDARIES, OCCLTR_CNTR, STDEV, TVCIRCLE
 COMMON BLOCKS:
	Used for debug

 SIDE EFFECTS:
	Draws chords and computed center on current window

 RESTRICTIONS:

 PROCEDURE:
	Finds the occulter boundary by finding the row and column 
	numbers where the image exceeds a threshold intensity.

	Uses the center of the image as the initial center of the occulter

	If the keyword, Inten, is not present, the default is 1000

	For each row, the column numbers for the left and right boundaries 
	of the chord are computed.  If the optional input parameter, Interp, 
	is present then linear interpolation is used to find a fractional 
	column number.  Otherwise the pixel number of the first pixel 
	exceeding the threshold is used.  The column center is then the 
	midpoint of the chord.  The process is stopped when two boundaries, 
	separated by at least 50 pixels, cannot be found. Then the average 
	of all rows is computed to find the average column number.

	The process is repeated for each column to find the average row number.

 MODIFICATION HISTORY:		Written RA Howard, NRL, 20 December 1995
	V1	RAH	Initial Release
	V2	RAH	16 Feb 96, Added rejection of outliers to average
	V3	RAH	18 Mar 96, Corrected 1 pixel error in right/top edge 
	nbr, 1/30/01 - Fix PYLON keyword; change Debug output; plots on open window

	%W% %H% LASCO IDL LIBRARY


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

 PURPOSE:
	This function finds the subscript of an array that is closest to
	a given number.

 CATEGORY:
	LASCO UTIL

 CALLING SEQUENCE:
	Result = FIND_CLOSEST (Num, Arr)

 INPUTS:
	Num:	Number for which the array will be searched
	Arr:	An array of points in (preferably) ascending order

 KEYWORD PARAMETERS:
	LESS:	Returns the closest subscript for arr that is less than or 
		equal to num Otherwise the subscript of the point closest 
		to num is returned.  Notice that the value of arr might be 
		greater than num.

 OUTPUTS:
	This function returns the subscript of an array closest to the given
	number.

 CALLS: ***
	DATATYPE [1], DATATYPE [2], DATATYPE [3]
 CALLED BY:
	FIND_CLOSEST_ARR, GETBKGIMG, GET_MISSING_PCKTS, MAKE_DAILY_IMAGE, OCCLTR_CNTR
	carrmapdisp
 RESTRICTIONS:
	The input array should be in ascending order. But not necessary.

 MODIFICATION HISTORY:
 	Written by:	Scott Passwaters, NRL, Feb, 1997
	24 Sep 1998, N Rich	changed /LESS keyword to include equal-to
	31 Jan 2000, N Rich	Allow for MOSTLY (except for isolated stray elements) sorted arr, but must still be ascending order
	12 Apr 2005, N.Rich	Return -1 in one case.     

	%W% %H% LASCO IDL LIBRARY


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

 PURPOSE:
	This routine matches up elements of two arrays, returning the subscripts 
	of the array that are closest to the elements from the other array.

 CATEGORY:
	LASCO UTIL

 CALLING SEQUENCE:
	FIND_CLOSEST_ARR, arr1, arr2, ind1, ind2 [, /LESS]

 INPUTS:
	arr1:	The first array of numbers
	arr2:	The second array of numbers (doesn't have to have same elements as first)

 OUTPUTS:
	ind1:	index into arr1 that corresponds to arr2
	ind2:	index into arr1 that corresponds to arr2

 KEYWORD PARAMETERS:
	LESS:	Returns the closest subscript for arr2 that is less than arr1
		Otherwise the subscript of arr2 that is closest to arr1 is
		returned.  Notice that the value of arr2 might be greater than 
		arr1 if /LESS is not used.
	MATCH:	Returns 1-to-1 matches for arrays

 CALLS: ***
	FIND_CLOSEST, UNIQ [1], UNIQ [2], UNIQ [3]
 CALLED BY:
	COMBINE_MVI
 RESTRICTIONS:
	The input arrays should be in ascending order.

 MODIFICATION HISTORY:
 	Written by:	Scott Paswaters, NRL, Dec, 1997
	3/7/01, nbr	Fix LESS keyword
	3/16/01,nbr	Add MATCH keyword; use UNIQ

       11/05/01 @(#)find_closest_arr.pro	1.2 LASCO IDL LIBRARY


FIND_COSMIC_RAYS $SSW/soho/cds/idl/util/misc/find_cosmic_rays.pro
[Previous] [Next]
 Project     :	SOHO - CDS

 Name        :	FIND_COSMIC_RAYS

 Purpose     :	Find cosmic rays and determine their strengths

 Category    :	Class2, Instrument, Engineering, Statistics

 Explanation :	This procedure finds all the cosmic rays above a certain
		threshold value which are in a CDS NIS raster.  Each cosmic ray
		is counted, and the total number of counts it added to the
		image over all the pixels it affected is calculated.

 Syntax      :	FIND_COSMIC_RAYS, INPUT, STRENGTH

 Examples    :	FIND_COSMIC_RAYS, 's7105r00', STRENGTH

		QLDS = READCDSFITS('s7105r00')
		FIND_COSMIC_RAYS, QLDS, STRENGTH

 Inputs      :	INPUT	 = Either the name of CDS FITS file, or a quicklook
			   data structure from READCDSFITS.

 Opt. Inputs :	None.

 Outputs     :	STRENGTH = A list of strengths for all cosmic rays found.  If
			   none are found, then this will contain the single
			   value of 0.  Statistics can then be performed on
			   these strength values.

 Opt. Outputs:	None.

 Keywords    :	THRESHOLD = An optional threshold value to use in searching for
			    cosmic rays.  The default value is 10.

		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 = ''
				FIND_COSMIC_RAYS, ERRMSG=ERRMSG, ...
				IF ERRMSG NE '' THEN ...

 Calls       : ***
	CDS_CLEAN, DATATYPE [1], DATATYPE [2], DATATYPE [3], FCR_AN_IMAGE
	FCR_REM_NEIGHBORS, GT_WINDATA, READCDSFITS, REARRANGE
 Common      :	None.

 Restrictions:	Cannot be used with data taken with either the SUMLINE or
		SUMWIN compression.  Also, cannot be used with GIS data.

 Side effects:	None.

 Prev. Hist. :	None.

 History     :	Version 1, 06-Mar-1997, William Thompson, GSFC

 Contact     :	WTHOMPSON


FIND_DATFILE $SSW/soho/sumer/idl/contrib/kucera/find_datfile.pro
[Previous] [Next]
 Project     : 
	SOHO - SUMER
 Name        : 
	FIND_DATFILE
 Purpose     : 
	Find a file which is in the same directory as a particular program
 Explanation : 
	This program is designed to find data files even when a set of
	programs has been moved to another directory or machine. It is 
	assumed that the data file is in the same directory as a particular
	IDL program, and so the complete data filename with the directory
	is returned.
	
 Use         : 
	dat_file = find_datfile(filename,proname)
 Inputs      : 
	filename - Name of file to be found, with extention, but without
			directories
	proname - name of program in the same directory with filename
 Opt. Inputs : 
	None.
 Outputs     : 
	out_file - filename including directory of file in which 
	           proname is found
 Opt. Outputs: 
	None.
 Keywords    : 
	DirOnly - return only the directory, not a complete file name. 
 Calls       : ***
	BREAK_FILE [1], BREAK_FILE [2], BREAK_FILE [3], CONCAT_DIR [1], CONCAT_DIR [2]
	CONCAT_DIR [3], FIND_WITH_DEF [1], FIND_WITH_DEF [2], FIND_WITH_DEF [3]
	break_file [4], concat_dir [4]
 CALLED BY:
	SUM_TRIWARP
 Common      : 
	None.
 Restrictions: 
	None.
 Side effects: 
	None.
 Category    : 
	Utilities, Operating_system.
 Written     : 
	L. Wang and T. Kucera, July 1996
 Modified
	Now uses FIND_WITH_DEF rather than LOC_FILE        TAK Aug 1996


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

 Name        :	FIND_DURATION

 Purpose     :	Find the actual durations of rasters from the FITS headers

 Category    :	Class3, Operations

 Explanation :	The CDS FITS file headers are searched for the stop and start
		times, and the duration is calculated in seconds.
 Syntax      :	

 Examples    :	FIND_DURATION, 's2735r*.fits', /PRINT

 Inputs      :	FILENAME = Name of the FITS file to process.  Wildcards are
		allowed.

 Opt. Inputs :	None.

 Outputs     :	Information about the raster duration is printed to the screen.

 Opt. Outputs:	None.

 Keywords    :	OUTPUT	 = Name of a file to write the output to, instead of
			   the screen.

		PRINT	 = If set, then the information is sent to the printer.
			   If OUTPUT is not specified, then a temporary file is
			   used.

		QUEUE	 = The name of the print queue to use, when /PRINT is
			   selected.  If not passed, then a menu is presented
			   to the user.

 Calls       : ***
	BREAK_FILE [1], BREAK_FILE [2], BREAK_FILE [3], DELETE_FILE [1], DELETE_FILE [2]
	FILEPATH, FIND_FILES, FXHREAD [1], FXHREAD [2], FXPAR [1], FXPAR [2], GET_UTC
	SEND_PRINT, SIGMA, UNIQ [1], UNIQ [2], UNIQ [3], XPRINT [1], XPRINT [2], XPRINT [3]
	XPRINT [4], XPRINT [5], break_file [4]
 Common      :	None.

 Restrictions:	Unix only.

 Side effects:	None.

 Prev. Hist. :	None.

 History     :	Version 1, 17-May-1996, William Thompson, GSFC
		Version 2, 24-Jan-1996, William Thompson, GSFC
			Corrected bug when only one raster type was processed.
			Corrected terminology (raster vs. study)

 Contact     :	WTHOMPSON


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

 Name        :	FIND_FILE_DUR()

 Purpose     :	Find the duration of a single CDS FITS file.

 Category    :	Class3, Operations

 Explanation :	Reads in the DEL_TIME values from a FITS file, and determines
		extrapolates the last two valid points to the end of the file.
		Called from LIST_DURATION

 Syntax      :	Result = FIND_FILE_DUR( FILENAME )

 CALLED BY:
	LIST_DURATION
 Examples    :	

 Inputs      :	FILENAME = Name of FITS file.

 Opt. Inputs :	None.

 Outputs     :	The result of the function is the calculated duration.

 Opt. Outputs:	None.

 Keywords    :	None.

 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], FIND_WITH_DEF [1]
	FIND_WITH_DEF [2], FIND_WITH_DEF [3], FXBCLOSE [1], FXBCLOSE [2], FXBOPEN [1]
	FXBOPEN [2], FXBOPEN [3], FXBREAD [1], FXBREAD [2], FXBREAD [3], FXPAR [1]
	FXPAR [2], REVERSE, break_file [4], concat_dir [4]
 Common      :	None.

 Restrictions:	None.

 Side effects:	None.

 Prev. Hist. :	None.

 History     :	Version 1, 17-Oct-1997, William Thompson, GSFC
		Version 2, 05-Aug-2002, William Thompson, GSFC
			Modified to work with compressed files

 Contact     :	WTHOMPSON


find_fits_keyword $SSW/soho/eit/idl/util/find_fits_keyword.pro
[Previous] [Next]

 NAME:
    find_fits_keyword
 PURPOSE:
    Find the FITS header line containing the given keyword.
 CALLING SEQUENCE:
    position = find_fits_keyword(fits_header, keyword)

 INPUTS:
    fits_header = fits_header
    keyword     = Header line to sort on

 OUTPUT:
    Subscript of any lines in the fits header that match 
    (If more than one take the first one)
    Returns -1 if no match

 CALLED BY:
	eit_degrid_fft
 MODIfICATION HISTORY:
    10-Apr-1996 - (BNH) - Idea stolen from D.M. Fecit, code chopped
			   out of EIT_DEGRID


find_ima $SSW/soho/lasco/idl/las-c2/calib5.pro
[Previous] [Next]
 NAME: find_ima.pro
 PURPOSE: From the image header finds the asociate dark in dark catalog
 CATEGORY: Preprocessing low level   
 CALLING SEQUENCE: find_ima, hdr, ima_db, ima_name
 INPUTS: hdr                              image header
         ima_db                           image catalog
 OPTIONAL INPUT PARAMETERS:               None
 KEYWORD PARAMETERS:                      None
 OUTPUTS:ima_name                         name of associated image in catalog
 OPTIONAL OUTPUT PARAMETERS:              None
 COMMON BLOCKS:                           None
 SIDE EFFECTS:                            None
 RESTRICTIONS:
 PROCEDURE:
 MODIFICATION HISTORY:   defined by ALL 6/24/93

			  corrected by M.B 11/03/93 for darks without shutter

 SCCS variables for IDL use

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


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

 NAME:
       FIND_KAP_FILE

 PURPOSE:
       Find latest KAP (or CAP or IAP) file for the given date

 CATEGORY:
       Science Planning

 EXPLANATION:

 SYNTAX:
       Result = find_kap_file(date)

 INPUTS:
       DATE - Date for which the KAP file is read; can be in any CDS
              time format

 OPTIONAL INPUTS:
       None.

 OUTPUTS:
       result - String file name; a null string will be returned if
                error occurs for any reason

 OPTIONAL OUTPUTS:
       None.

 KEYWORDS:
       ERROR - Named variable containing any error message. If no
               error occurs, ERROR will be a null string
       IAP   - Set this keyword to read the latest IAP file
       CAP   - Set this keyword to read the latest CAP file
       VERSION - A named variable containing the file version

 CALLS: ***
	ANYTIM2UTC [1], ANYTIM2UTC [2], DATE_CODE, LOC_FILE [1], LOC_FILE [2]
	LOC_FILE [3], TRIM, WHICH_INST
 CALLED BY:
	KAP_CONTENTS, XIAP
 COMMON:
       None.

 RESTRICTIONS:
       None.

 SIDE EFFECTS:
       None.

 HISTORY:
       Version 1 July 28, 1997, Zarro (SAC/GSFC) 

 CONTACT:
       DZARRO@SOLAR.STANFORD.EDU


FIND_KEY $SSW/soho/mdi/idl/cal/find_key.pro
[Previous] [Next]
 NAME:
	FIND_KEY
 PURPOSE:
	Find a keyword in a fits header.
 CATEGORY:
	LP. FITS. Low level.
 CALLING SEQUENCE:
	returns=FIND_KEY(HEADER,VALUE)
 INPUTS:
	HEADER, fits header.
	VALUE, string with keyword to find assumed to be valid!
 KEYWORD PARAMETERS:
 OUTPUTS:
	returns, either -1, keyword not found before END, or end of data, or
	row number of header with the first occurance of the keyword.
 CALLED BY:
	FITSRD, GETFITSVAL
 COMMON BLOCKS:
 SIDE EFFECTS:
 RESTRICTIONS:
 PROCEDURE:
	Seach from start of header for matching keyword, or END.
 MODIFICATION HISTORY:
	Jul. 1992  I. Zayer    LPARL, fixed to work
	Jul. 1991  P. Milford  Stanford University.


FIND_MISS_BLOCKS $SSW/soho/lasco/idl/reduce/mb2str/find_miss_blocks.pro
[Previous] [Next]
 PROJET:
	SOHO - LASCO

 NAME:
	FIND_MISS_BLOCKS

 PURPOSE:
	Finds all the missing blocks on an image. Generate the map of the non usefull blocks and the missing blocks.

	Call this routine before using a chain of correction, otherwise the location of all missing blocks would be lost after the 1st correction

 CATEGORY:
  missing blocks

 CALLING SEQUENCE:
	find_miss_blocks,ima,hdr,missblock,imafuzz,hdrfuzz,/fuzzyima

 ADMITTED INPUT TYPE OF IMAGES:
	all

 INPUTS:
	ima : the image to make the map
	hdr : fits header of the image

 OUTPUTS:

	missblock : output structure for fits table
		FILENAME : filename of the image
		NBMISS : number of missing blocks
		NBNUSEF : number of non usefull blocks
		MBMAP : map of the missing blocks
			1: block OK
			0: non transmitted usefull block
			-1: non usefull block
		MBMAPALL : map of all the non transmited blocks (lost plus non useful)
			1: block OK
			0: non transmitted useful or non usefull block
			note that if a block is set to -1 in MBMAP and also set to 1 in MBMAPALL it means that, even so, this block was transmitted

 OPTIONAL OUTPUTS:
	imafuzz : image with the corrected blocks
	hdrfuzz : header of the corrected image: the HISTORY specify that the image was corrected by fuzzy_image procedure

 KEYWORD INPUT:
	fuzzyima : compute the missing block interpolation by fuzzy_image procedure
       hdrstru : header structure given by getl05hdrstru
       full : resample output maps to 32*32 
       strmap : string map for the DB 

 CALLED ROUTINES:
	SXPAR.GETTOK.GET_TMASK.FUZZY_IMAGE.GET_MISS_BLOCKS.GET_TMASK_F.WHERE2D.HCIE_ZONE.READ_ZONE.GRAD_ZONE.REVERSE.SPLINE.TRI_SURF.WRITE_ZONE.FUZZY_BLOCK.READ_BLOCK.DCT.NUM_TO_FUZZY.INTER_FUZZY.FUZZY_TO_NUM.WRITE_BLOCK.SXADDPAR.

 CALLS: ***
	FUZZY_IMAGE, MB2STRMAP, get_tmask, getl05hdrparam
 CALLED BY:
	REDUCE_LEVEL_1
 MODIFICATION HISTORY:
	V1.0 Writen by A.Thernisien on 23/12/99 from get_miss_blocks.pro by J.MORE, September 1996
	V2.0 by A.T. 18/01/2000
       V2.1 by AT 18/09/2001 add of STRMAP and FULL keywords
 CVSLOG:
  $Log: find_miss_blocks.pro,v $
  Revision 1.2  2002/07/11 07:24:17  arnaud
  Insertion of the Log in each header



find_mode $SSW/soho/lasco/idl/exposure/find_mode.pro
[Previous] [Next]
 FIND_MODE
	Make an estimate of the mode of a dataset.

 Usage:
	mode=find_mode(data[, plotit=plotit])

 Return value:
	mode	float	An estimate of the mode of the dataset.

 Argument:
	data	(float)	input	The data whose mode is needed.

 Keyword:
	plotit	??	input	If set then make a plot of the data &
				the fit.

 Method:
	2-step process:
	1) - Find the maximum of a coarse histogram of the data (100
            bins) other than the "zero" point (this is to deal with
            missing blocks)
       2) - make a finer histogram around the value from step 1 and
            fit a gaussian to it. The peak of the gaussian is then
            the mode returned.

 CALLS: ***
	LAS_FIT_GAUSS
 Restrictions:
	Conceptually this was developed to fix up the exposures on
	LASCO ratio images where the mode should ideally be 1 and
	where the histogram of the image is sharply peaked. It does
	however appear to work OK for "raw" images.

 History:
	Original: 7/1/96; SJT


FIND_SERTSW $SSW/soho/cds/idl/sci/data_anal/ql/serts/find_sertsw.pro
[Previous] [Next]
 Project     : SOHO - CDS     
                   
 Name        : FIND_SERTSW()
               
 Purpose     : Find data window (clip region, scales etc.) for given event
               
 Explanation : For use in QL display routines to keep track of 
		data window sizes/data coordinates etc.
               
 Use         : SRTSW = FIND_SERTSW(DRAW_EVENT,FOUND)
    
 Inputs      : DRAW_EVENT: The event from a draw window.
               
 Opt. Inputs : None.
               
 Outputs     : FOUND
               
 Opt. Outputs: None.
               
 Keywords    : None.

 Calls       : ***
	CDSNOTIFY
 Common      : TV_SCALE
               
 Restrictions: ..
               
 Side effects: ..
               
 Category    : CDS, QL, DISPLAY, UTILITY
               
 Prev. Hist. : None.

 Written     : SVHH, January 1994
               
 Modified    : 

 Version     : 1.0


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

 Name        : 
	FIND_WITH_DEF()
 Purpose     : 
	Searches for files with a default path and extension.
 Explanation :
	Finds files using default paths and extensions, similar to using the
	DEFAULT keyword with the OPEN statement in VMS.  Using this routine
	together with environment variables allows an OS-independent approach
	to finding files.
 Use         : 
	Result = FIND_WITH_DEF( FILENAME, PATHS  [, EXTENSIONS ] )

	FILENAME = ''
	READ, 'File to open: ', FILENAME
	FILE = FIND_WITH_DEF( FILENAME, 'SERTS_DATA', '.fix' )
	IF FILE NE '' THEN ...

 Inputs      : 
	FILENAME   = Name of file to be searched for.  It may either be a
		     complete filename, or the path or extension could be left
		     off, in which case the routine will attempt to find the
		     file using the default paths and extensions.

	PATHS	   = One or more default paths to use in the search in case
		     FILENAME does not contain a path itself.  The individual
		     paths are separated by commas, although in UNIX, colons
		     can also be used.  In other words, PATHS has the same
		     format as !PATH, except that commas can be used as a
		     separator regardless of operating system.  The current
		     directory is always searched first, unless the keyword
		     NOCURRENT is set.

		     A leading $ can be used in any path to signal that what
		     follows is an environmental variable, but the $ is not
		     necessary.  (In VMS the $ can either be part of the path,
		     or can signal logical names for compatibility with Unix.)
		     Environmental variables can themselves contain multiple
		     paths.

 Opt. Inputs : 
	EXTENSIONS = One or more extensions to append to end of filename if the
		     filename does not contain one (e.g. ".dat").  The period
		     is optional.  Multiple extensions can be separated by
		     commas or colons.
 Outputs     : 
	The result of the function is the name of the file if successful, or
	the null string if unsuccessful.
 Opt. Outputs: 
	None.
 Keywords    : 
	NOCURRENT = If set, then the current directory is not searched.
 Calls       : ***
	BREAK_PATH [1], BREAK_PATH [2], BREAK_PATH [3], STR_SEP
 CALLED BY:
	APPLY_CDS_ADEF, BARYVEL, CAT_DURATION, CDSHEADFITS, CDSLOGO, CDS_COMPRESS
	CDS_ENG_N1_AN, CDS_ENG_N4_AN, CDS_FILES, CDS_SLIT6_BURNIN, CHECK_ANOMALY
	CHECK_INTEG, CMP_ALL_PRO, CMP_LIBS, DBCOMPRESS, DBCREATE [1], DBCREATE [2]
	DBCREATE [3], DBHELP [1], DBHELP [2], DBHELP [3], DBOPEN [1], DBOPEN [2], DBOPEN [3]
	DBPRINT [1], DBPRINT [2], DBPRINT [3], DB_TITLES [1], DB_TITLES [2], DB_TITLES [3]
	DISPLAY_CDS_BURNIN, EIS_CHECK_DATABASE [1], EIS_CHECK_DATABASE [2]
	EIS_GET_HDR [1], EIS_GET_HDR [2], FIND_ALL_DIR [1], FIND_ALL_DIR [2]
	FIND_ALL_DIR [3], FIND_DATFILE, FIND_FILE_DUR, FIND_ZDBASE, FIX_CATALOG
	FLUSH_CATALOG, GET_DETAIL, GET_EXPER, GET_NIMCP, GET_OBS_DATE, GET_PLAN
	GET_SC_POINT, GET_UTC, GET_WIDTH_CORR, GET_ZDBASE, GT_CDS_QL, GT_SOLAR_XY
	IMPORT_PLAN, IMPORT_STUDY, ITOOL_GET_TIME, JPLEPHTEST, JSMOVIE, JSMOVIE2
	LIST_DETAIL, LIST_EXPER, LIST_PLAN, LOCAL_DIFF, LOCK_DATABASE, MK_CDS_DBASE
	MK_CDS_FITS, MK_CDS_GIF, MK_HELP_STC, MK_RASTER, MK_STUDY, MK_SYNOPTIC, MOD_EXPER
	NIS_AVG_SPECT_DEMO, NIS_CALIB, OPEN_KAP, OPEN_MSP_FILE, PICKFITS, PLANET_COORDS
	PRG_DETAIL, PRG_PLAN, PRIV_ZDBASE, READCDSFITS, READSUM2CDS, READ_NIMCP_CAL
	SUBMIT_CAP, SUBMIT_IAP, SUM_GET_LINELIST, TILT_NIS1_DEMO, TILT_NIS2_DEMO
	TP_RASDUR, TP_READ_HELP, UPDATE_KAP, VDS_BURNIN_NEW, VDS_BURNIN_ORIG, VDS_CALIB
	VDS_READ_FLAT, VDS_ROTATE, WFPC2_READ, WIDG_HELP, XCAT, XCDS_COSMIC, XDIFF, XSPECT
	db_read_linelist_all [1], db_read_linelist_all [2]
	db_read_linelist_entry [1], db_read_linelist_entry [2]
	db_read_raster_all [1], db_read_raster_all [2], db_read_raster_entry [1]
	db_read_raster_entry [2], db_read_study_all [1], db_read_study_all [2]
	db_save_linelist_entry_create [1], db_save_linelist_entry_create [2]
	db_save_linelist_entry_update [1], db_save_linelist_entry_update [2]
	db_save_raster_entry_create [1], db_save_raster_entry_create [2]
	db_save_raster_entry_update [1], db_save_raster_entry_update [2]
	db_save_study_entry_create [1], db_save_study_entry_create [2]
	db_save_study_entry_create [3], db_save_study_entry_create [4]
	db_save_study_entry_update [1], db_save_study_entry_update [2]
	eis_delete_timeline_entry [1], eis_delete_timeline_entry [2]
	eis_get_timeline_entries [1], eis_get_timeline_entries [2]
	eis_import_study_gui, eis_linelist_gui [1], eis_linelist_gui [2]
	eis_open_db [1], eis_open_db [2], eis_raster_gui [1], eis_raster_gui [2]
	eis_save_imported_linelist, eis_save_imported_raster, eis_study_gui [1]
	eis_study_gui [2], eis_update_timeline_entry [1]
	eis_update_timeline_entry [2], eis_update_timeline_science_entry [1]
	eis_update_timeline_science_entry [2]
	eis_write_science_component_database_table [1]
	eis_write_science_component_database_table [2]
 Common      : 
	None.
 Restrictions: 
	None.
 Side effects: 
	None.
 Category    : 
	Utilities, Operating_system
 Prev. Hist. : 
	None, but influenced by TEST_OPENR by William Thompson, and CONCAT_DIR
	by M. Morrison.
 Written     : 
	William Thompson, GSFC, 5 April 1993.
 Modified    : 
	Version 1, William Thompson, GSFC, 3 May 1993.
		Removed trailing / and : characters.
		Fixed bugs
		Allow for commas within values of logical names.
		Added keyword NOCURRENT.
		Changed to call BREAK_PATH
	Version 2, William Thompson, GSFC, 3 November 1994
		Made EXTENSIONS optional.
 Version     : 
	Version 2, 3 November 1994


finddir [1] $SSW/soho/mdi/idl_old/gen/ys_util/finddir.pro
[Previous] [Next]
NAME:
	finddir
PURPOSE:
	Return the directory path to where "dir_name" is by looking
	in the directories listed in "dirs".  If "dirs" is not defined,
	then look at the /yd0, /yd1, ..., /yd12 directories.
	The value returned is the full path (including the "dir_name"
	portion) and has the trailing "/"
CALLING SEQUENCE:
	out = finddir('92_05a')
	out = finddir('ref_super', dir='~')
INPUT:
	dir_name- The directory name to find
	dirs	- The list of directories to check
	makecre	- If set, then if the directory does not exist,
		  request that the user make it and hit <CR> and
		  then check again.
METHOD:
	It searches the directories in the order that they are 
	passed in the array.  The first match on the directory
	name and the routine returns that path.
 CALLS: ***
	STR_LASTPOS [1], str_lastpos [2]
 CALLED BY:
	GetDatDir, mk_fidlist, mk_gx, mk_mo2 [1], mk_mo2 [2], mk_pnt, mk_sd2, mk_sdc [2]
	mk_sdc [3], mk_sdc [4], mk_sdl, mk_sdmi, mk_sft [1], mk_sft [2], mk_sl [1], mk_sl [2]
	mk_sot, mk_ssl, mk_week_file [1], mk_week_file [2], mktap, renbad, wk_online
HISTORY:
	14-Nov-91 (MDM) - Changed to use the new "yd" links
	17-Mar-92 (MDM) - Added document header
	20-Mar-92 (MDM) - Changed so that if the dir_name that is
			  passed in has a "/" as the first character,
			  assume that it is a full path, and do not
			  check the "dirs".
	 1-Jun-92 (MDM) - Modified default "dirs" definition - expanded from
			  12 /yd dirs to 16.
	 6-Aug-92 (slf) - expanded from 16 to 18 dirs through /yd17)
	16-Jun-93 (MDM) - expanded from 18 to 21 dires through /yd20
	27-Sep-94 (MDM) - Expanded from 21 to 30 dirs through /yd29 (/yd21 
			  is the last one being used right now)


FIRST_LIGHT [1] $SSW/soho/mdi/idl_old/gen/ys_util/first_light.pro
[Previous] [Next]
 NAME:
	FIRST_LIGHT
 PURPOSE:
	routine to give a quick look at SXT conditions.
	(thought to be useful for an indolent chief observer)

 CATEGORY:
	Yohkoh stuff

 CALLING SEQUENCE:
	first_light [,/generate]

 INPUTS:
 OPTIONAL (KEYWORD) INPUT PARAMETERS:
   generate - if set, force routines to update - default is to read from
              showpix files if available (almost always, the same data)

 OUTPUTS:
 CALLS: ***
	CONCAT_DIR [1], CONCAT_DIR [2], CONCAT_DIR [3], FILE_EXIST [2], FMT_TIMER [1]
	FMT_TIMER [2], LOADCT, Rd_Roadmap [2], WDEF [1], WDEF [2], anytim2ints [1]
	anytim2ints [2], concat_dir [4], days_2_xmas, file_exist [1], file_exist [3]
	fl_goesplot [1], fl_goesplot [2], fl_goesplot [3], fl_suntoday [1]
	fl_suntoday [2], fl_suntoday [3], fl_sxtobsnar [1], fl_sxtobsnar [2]
	get_logenv [1], get_logenv [2], gt_filtb, gt_percentd, gt_res, gtab_entry, jst
	lastsfd [1], lastsfd [2], newfiles [1], newfiles [2], newfiles [3]
	next_window [1], next_window [2], pr_evn [1], pr_evn [2], pr_visible, prstr [1]
	prstr [2], rd_roadmap [1], restgen [1], restgen [2], restsys [1], restsys [2]
	sfd_decomp, strjustify, term_times, tim2pass, timegrid, ut_time [1], ut_time [2]
 CALLED BY:
	first_bcs
 COMMON BLOCKS:
 SIDE EFFECTS:
 RESTRICTIONS:
 MODIFICATION HISTORY:
	HSH, written July 1993
	HSH mods 24-Aug-93
	HSH mods 31-Aug-93, pr_evn and Christmas calculation
	HSH mods  7-Dec-93, evt_grid
	SLF       8-Dec-93, evt_grid refinements
	SLF      14-Dec-93, chk_pointing call
	slf	 10-jan-94, HH requested minor mods
	slf       4-Mar-94, some protection (no goes, no spd)
	gal	  7-Mar-94, quick fix for typo-err 
	hsh	 13-Apr-94, Add KittPeak He10830 display
       da,hsh   16-Apr-94, Scales gb Image + Ulysses overlay
       da       30-Apr-94, Produces collage of SXT + 4 GBO images
	BNH	  1-Jul-94, Time stamp on collage and liberalized 
			    offpoint test
       BNH       6-Jul-94, Changed display stuff for collage to 
			    (hopefully) better deal with varying
                           background in gki, gkm images
       SLF      14-Jul-94, Made it a procedure - default is to read from
			    data files generated during go_toban
                           Got rid of some slow stuff which was not used
                           Dont clobber windows (use wdef) / broke out code
       SLF	 15-Jul-94, Allow it to run at any showpix site
       SLF      30-Aug-94, Add users UTTIME to collage image
       SLF       5-Oct-94, Add SUMMARY switch (read showpix version)
       SLF       7-oct-94, window number in summary window border
       SLF       9-oct-94, split into 2 windows for small screens
       SLF      20-nov-94, dont return immediately with /summary logic
       SLF      11-May-95, remove the 'Keith' message, various improves


FIT_CDS_MAP $SSW/soho/cds/idl/util/fitting/fit_cds_map.pro
[Previous] [Next]
 Project     : SOHO - CDS     
                   
 Name        : FIT_CDS_MAP
               
 Purpose     : Produce maps of QL Gaussian fit results
               
 Category    : Analysis
               
 Explanation : 
               
 Syntax      : IDL> fit_cds_map,ql,fmap
    
 Examples    : 

 Inputs      : QL = QL structure to fit
               
 Opt. Inputs : None
               
 Outputs     : FMAP = image map with fitted widths, centroids, intensities

 Opt. Outputs: None
               
 Keywords    : WINDOW = window to fit (input)
               CALIB = set to calibrate spectra before fitting

 CALLS: ***
	ADD_TAG [1], ADD_TAG [2], FIT_CDS_QL, MERGE_STRUCT, MK_CDS_MAP, TRIM, VDS_CALIB
 Common      : None.
               
 Restrictions: Limited to Gaussian
               
 Side effects: None.
               
 History     : Version 1,  17-Jan-1998,  D M Zarro.  Written

 Contact     : DZARRO@SOLAR.STANFORD.EDU


FIT_CDS_QL $SSW/soho/cds/idl/util/fitting/fit_cds_ql.pro
[Previous] [Next]
 Project     : SOHO - CDS     
                   
 Name        : FIT_CDS_QL
               
 Purpose     : Gaussian fit of CDS QL spectra
               
 Category    : Analysis
               
 Explanation : 
               
 Syntax      : IDL> fit_cds_ql,ql
    
 CALLED BY:
	FIT_CDS_MAP
 Examples    : 

 Inputs      : QL = QL structure to fit
               
 Opt. Inputs : None
               
 Outputs     : See Keywords

 Opt. Outputs: None
               
 Keywords    : WINDOW = window to fit (input)
               WCEN = first guess of centroid (input)
               WBACK = first guess of background (input)
               WDOPP = first guess of Doppler width (input)
               FIXP  = parameter indicies to fix (input)
               WRANGE = wavelength range for fit (input)
               SUB = subarray to limit to fit (input)
               CENT = 2d array of fitted centroids (output)
               WIDTH = 2d array of fitted Doppler widths (output)
               INTEN = 2d array of fitted intensities (output)

 CALLS: ***
	CDS_TILT_COR, DPRINT, EXIST, GAUSS_FIT, GT_CDS_WINDOW, GT_SPECTRUM, GT_WINDATA, QLMGR
 Common      : None.
               
 Restrictions: Limited to Gaussian
               
 Side effects: None.
               
 History     : Version 1,  17-Jan-1998,  D M Zarro.  Written

 Contact     : DZARRO@SOLAR.STANFORD.EDU


fit_circle [2] $SSW/soho/mdi/idl_old/gen/ys_util/fit_circle.pro
[Previous] [Next]
 NAME:
    fit_circle
 PURPOSE:
    Fit a circle to vector of points.
 CALLING SEQUENCE:
    Result_vector = fit_circle(x,y,a,radius_fix=radius_fix,tolerance=tolerance)
 INPUTS:
    x = Vector of x values
    y = Vector of y values
 RETURNED:
    Result_vector = [x1,y1,r1] result of coordinates (x1,y1) and radius (r1).
 OPTIONAL INPUTS:
    a = Vector of [x0,y0,r0]  = First guesses for the circle (x0,y0,radius)
        If a is not supplied, x0 and y0 are the averages and and r0 is 
	 taken to be the average distance of each (x,y) point to (x0,y0).
 OPTIONAL INPUT KEYWORDS:
    radius_fix = If set, will not vary the radius in the fit.
    tolerance  = If present and > 0, fit_circle will recursively call itself
		  until abs(r1-r0)/r0 < tolerance.
                 For example, setting tolerance = 0.01 will cause the 
		  calculation to continue until the solution for the radius
  		  does not vary between iterations by more than 1%.
		  If radius_fix is set, tolerance will have no effect.
    limit_iter	= Set the upper limit to the number of times to iterate.
		  (e.g., limit_iter=10 will limit the number of iterations
		   to 10 or less.)
 OPTIONAL OUTPUT KEYWORDS:
    num_iter	= Number of iterations
 CALLS: ***
	POLY_FIT
 CALLED BY:
	CLICKLIMB, FIND_LIMB, FIND_LIMB2, FIND_LIMB_GEN, SHOW_REGNS, fit_limb, get_xyrad
 MODIFICATION HISTORY:
  17 Oct 1991, J. R. Lemen, Written (based on routine in HSH's find_limb)
  26 Feb 1992, J. R. Lemen, Added tolerance keyword
  24-jan-94, JRL, Added limit_iter keyword
  19-oct-94, T. Metcalf and K. Shibasaki, Improved initial guess.  Works
             with partial circles now.


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

   Purpose: convert fits header times to Yohkoh convention

   Input Parameters:
      header - fits header or fits file name array

   Keyword Parameters:
      soho - switch, if set, fits header is SOHO time convention
        kp - switch, if set, fits uses KittPeak time convention

 CALLS: ***
	FILE_EXIST [2], FXPAR [1], FXPAR [2], MESAGE, RFITS2 [1], RFITS2 [2], anytim2ex [1]
	anytim2ex [2], ex2fid [1], ex2fid [2], file_exist [1], file_exist [3], fmt_tim [1]
	fmt_tim [2], is_member [1], is_member [2]
 CALLED BY:
	ALIGN1BIGGRAM
   History:
      25-oct-1994 (SLF) Proto written
       8-Feb-1995 (SLF) update KP option#2
      25-sep-1995 (SLF) MSO-like option


fits_disp_month [2] $SSW/soho/mdi/idl_old/gen/util/fits_disp_month.pro
[Previous] [Next]
NAME:
	fits_disp_month
PURPOSE:
	To display a single image per day for a single month
CALLING SEQUENCE:
	fits_disp_month, files, -50, 50
	fits_disp_month, file_list('/data14/mdi_summary/daily/maglc', 'smdi_maglc_fd_199611*')
METHOD:
	The date of the first image defines which month is to be displayed
	"DATEOBS" fits keyword must be in the header.
	If smin/smax are not passed, then the first image defines the
	image scaling min and max
 CALLS: ***
	CONGRID [1], CONGRID [2], CONGRID [3], RFITS [1], RFITS [2], RFITS [3], SXPAR [1]
	SXPAR [2], SXPAR [3], anytim2ex [1], anytim2ex [2], anytim2ints [1]
	anytim2ints [2], ex2dow [1], ex2dow [2], fmt_tim [1], fmt_tim [2], gt_day [1]
	gt_day [2], tv2 [1], tv2 [2], zbuff2file [1], zbuff2file [2]
 CALLED BY:
	do_disp_month
HISTORY:
	Written 27-Nov-96 by M.Morrison (taking SXT disp_month.pro)


FITS_HDR_LIST $SSW/soho/lasco/idl/inout/fits_hdr_list.pro
[Previous] [Next]
 NAME:
	FITS_HDR_LIST

 PURPOSE:
	This routine prints a list of all of the timing parameters returned in 
	the header.

 CATEGORY:
	DATA_ANAL

 CALLING SEQUENCE:
	FITS_HDR_LIST,Fnames

 INPUTS:
	Fnames:	String array containing the file names to be printed.

 OUTPUTS:
	This procedure generates a listing of the FITS headers.

 CALLS: ***
	FXPAR [1], FXPAR [2], GETENV_SLASH, READFITS [1], READFITS [2], READFITS [3]
	READ_LEB_IMAGE
 RESTRICTIONS:
	Looks in the directory pointed to by the environment variable:
	$IMAGES

 PROCEDURE:

 MODIFICATION HISTORY:
 	Written by:	R.A. Howard, 17 Feb 1996

	@(#)fits_hdr_list.pro	1.1 10/04/96 LASCO IDL LIBRARY


FITSHDR2STRUCT $SSW/soho/lasco/idl/display/fitshdr2struct.pro
[Previous] [Next]
 Project     : SOHO - LASCO
                   
 Name        : FITSHDR2STRUCT
               
 Purpose     : Read a LASCO FITS file to obtain an image and header array.
               
 Explanation : This routine calls the IDL Astronomy Library routine READFITS
		to read the LASCO FITS file.  It then fills in a LASCO header
		structure with the header information.
               
 Use         : IDL> lasco_hdr = FITSHDR2STRUCT(fits_hdr)
    
 Inputs      : fits_hdr	FITS header, STRARR
               
 Outputs     : lasco_hdr   	LASCO header structure.
               
 Calls       : ***
	DATATYPE [1], DATATYPE [2], DATATYPE [3], FXPAR [1], FXPAR [2], GETTOK [1]
	GETTOK [2], GETTOK [3], GETTOK [4]
 Category    : Data_Handling, I_O
               
 Prev. Hist. : None.

 Written     : Borut Podlipnik, MPAe, Mar. 1996.
               
 Modified    : 03/07/96  lasco_fitshdr2struct written by S. Passwaters
		10/21/98 nbr	fix mysterious problem with blank keywords

 Version     : Version 0.2, 21 Oct 1998  


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

   Purpose: fits tape to tape copy routine

   Input Parameters:
      d1no - drive name for source 	(input)  - string or #
      d2no - drive name for destination  (output) - string or #
	    (note - type of d1no must=type of d2no)

   Calling Examples:
      fitstap2tap, '/dev/nrmt0h','/dev/nrmt1h'     ;drive0->drive1
      fitstap2tap,0,1				;same (on ultrix)
      fitstap2tap,0,1,/nofault	;same as above except user gets no prompts
				;to recheck source and destination drives

   Optional Keyword Parameters:
      nofault - if set, will not prompt the user with drive config for copy
      log - if set, log file written to current directory
      block - blocking factor (default=2880)

 CALLS: ***
	CONCAT_DIR [1], CONCAT_DIR [2], CONCAT_DIR [3], STR2ARR [1], STR2ARR [2]
	concat_dir [4], def_tapd [1], def_tapd [2], def_tapd [3], get_logenv [1]
	get_logenv [2], mtcmd [1], mtcmd [2], rd_tfile [1], rd_tfile [2], tbeep [1]
	tbeep [2], tbeep [3]
 CALLED BY:
	ACOPY [1]
   Restrictions: unix only (uses mt and dd)

   HISTORY:
      3-Aug-1994 (SLF) - written (from arctap2tap)
      5-Aug-1994 (SLF) - rewind instead of unload (acopy.pro compatible)


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

 PURPOSE:
	Construct a single image from 2 identical images which might have missing lines 

 CATEGORY:
	DATA_ANAL

 CALLING SEQUENCE:
	FIX2IMGS, A,Ha,B,Hb,CC,Hc

 INPUTS:
	A:	Image #1
	Ha:	Image #1 Header
	B:	Image #2
	Hb:	Image #2 Header

 OUTPUTS:
	CC:	Output image
	Hc:	Output image header

 CALLS: ***
	FIX_CONTRO, GET_UTC
 RESTRICTIONS:
	The two input images must be identical except for missing lines.
	They should be created by reading out the same image to TM using
	the debug readout mode. 

 PROCEDURE:
	The debug readout mode on LASCO does not block the image.  Therefore
	missing pixels will cause the rest of the image to be shifted.  This
	is difficult to analyze.  This procedure calls FIX_CONTROL to
	correct the two images individually and then searches line by line in
	the two images to find matches.  If a match is not found, it searches
	ahead to find the next match and adds the missing lines to the
	the output image.  A match is defined to be two consecutive 
	lines with identical values.

 EXAMPLE:
	a = LASCO_READFITS(name1,ha)
	b = LASCO_READFITS(name2,hb)
	FIX2IMGS,a,ha,b,hb,c,hc

 MODIFICATION HISTORY:
 	Written by:	R.A. Howard, NRL, Mar 29, 1999

	@(#)fix2imgs.pro	1.1 03/31/99 LASCO IDL LIBRARY


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

 Name        :	FIX_CATALOG

 Purpose     :	Fix an entry in the CDS catalog.

 Category    :	Class5, Operations, Catalog

 Explanation :	Place a missing entry in the catalog.  Optionally, can change
		the sequence number from that in the header to avoid conflicts
		with entries already in the database.

		The corresponding FITS file is found, and the FITS header is
		read in.  Optionally, the SEQ_NUM is changed.  Then INS_CATALOG
		is called to place the entry in the catalog.

		Only for use by experts.

 Syntax      :	FIX_CATALOG, PROG_NUM, SEQ_IND  [, SEQ_NUM ]

 Examples    :	

 Inputs      :	PROG_NUM, SEQ_IND = The unique identifier for the data set.
		The FITS filename is formed from these parameters.

 Opt. Inputs :	SEQ_NUM	= A new sequence number to apply to the data, to
			  replace the sequence number in the FITS header.

 Outputs     :	None.

 Opt. Outputs:	None.

 Keywords    :	None.

 Calls       : ***
	FIND_WITH_DEF [1], FIND_WITH_DEF [2], FIND_WITH_DEF [3], FXADDPAR [1]
	FXADDPAR [2], FXHREAD [1], FXHREAD [2], INS_CATALOG, TRIM
 Common      :	None.

 Restrictions:	Cannot change the SEQ_NUM of an entry that is already in the
		database.  That can only be done by hand.

 Side effects:	None.

 Prev. Hist. :	None.

 History     :	Version 1, 01-Apr-1996, William Thompson, GSFC
		Version 2, 09-Apr-1996, William Thompson, GSFC
			Free LUN after using.
		Version 3, 12-Apr-1996, William Thompson, GSFC
			Check !PRIV

 Contact     :	WTHOMPSON


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

 PURPOSE:
	Fixes the continuous readout images that are transmitted in debug mode

 CATEGORY:
	DATA_ANAL

 CALLING SEQUENCE:
	Result = FIX_CONTRO (A,Ha)

 INPUTS:
	A:	Image array
	Ha:	Image Header

 OUTPUTS:
	This function returns an image which has only good rows

 CALLS: ***
	OFFSET_BIAS
 CALLED BY:
	FIX2IMGS
 RESTRICTIONS:
	The input image should be created by reading out to TM using the 
	debug readout mode. It must have underscan and overscan pixels.

 PROCEDURE:
	The underscan and overscan pixels are assumed to be those that
	have intensities that are no more than 20 DN above the offset
	bias.  

	The input array is reformed into a singly dimensioned array.
	The indices of all of the pixels less than 20 DN are found.
	Then the complete lines are found by finding those indices that
	are separated by 1026 points, which is the length of the imaging
	array (1024) plus 2.  Then the beginning of the underscan is
	set as that point -18 pixels and the end of the line is set
	from the naxis1 variable in the header.

 EXAMPLE:
	a = LASCO_READFITS(name,ha)
	Result = FIX_CONTRO(a,ha)

 MODIFICATION HISTORY:
 	Written by:	R.A. Howard, NRL, Mar 29, 1999

	@(#)fix_contro.pro	1.1 03/31/99 LASCO IDL LIBRARY


FIX_DUP_PCKT $SSW/soho/lasco/idl/packets/fix_dup_pckt.pro
[Previous] [Next]
 NAME:
	FIX_DUP_PCKT

 PURPOSE:
	This function routine puts the housekeeping packets in time order
	and removes duplicate packets.

 CATEGORY:
	LASCO PACKETS

 CALLING SEQUENCE:
	Result = FIX_DUP_PCKT (Hk)

 INPUTS:
	HK:	A 2D byte array containing the housekeeping packets 

 OUTPUTS:
	Result:	The cleaned up housekeeping packets.

 CALLS: ***
	getcputime
 RESTRICTIONS:
	There should be only one packet type in the array.  That is, the
	LASCO housekeeping packets should be broken down into the three
	separate packet types.

 PROCEDURE:
	The time structure is computed and for each day, the packets are 
	first ordered by time within the day.  Then, any packets that have
	the same time as the previous packet is deleted.  As each day is 
	processed the packets are concatenated to the end of the previous 
	days.

 MODIFICATION HISTORY:
 	Written by:	R.A. Howard, NRL, 22 Mar 1996

 @(#)fix_dup_pckt.pro	1.2 01/23/98 :LASCO IDL LIBRARY


FIX_HT_SCALE $SSW/soho/lasco/idl/convert/fix_ht_scale.pro
[Previous] [Next]
 NAME:
	FIX_HT_SCALE

 PURPOSE:
	This procedure is used to fix the scaling of the HT files

 CATEGORY:
	MOVIE

 CALLING SEQUENCE:
	FIX_HT_SCALE,Fname

 INPUTS:
	Fname:	String containing the filename to be fixed

 OUTPUTS:
	This routine renames the filename to Fname.old and copies the 
	information to a new file, correcting the scaling factors.

 COMMON BLOCKS:
	None

 RESTRICTIONS:
	The file should not have any blank lines.

 PROCEDURE:

 MODIFICATION HISTORY:
 	Written by:	RAH, 9 May 97

 @(#)fix_ht_scale.pro	1.1 05/14/97 :NRL Solar Physics


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

 Name        : FIX_IAP

 Purpose     : Update KAP file with new IAP info

 Category    : planning

 Explanation :

 Syntax      : fix_kap,iap

 Examples    :

 Inputs      : IAP = IAP filenames

 Opt. Inputs : None

 Outputs     : None

 Opt. Outputs: None

 Keywords    : OUTDIR = output directory [def = current]

 CALLS: ***
	BOOST_ARRAY [1], BOOST_ARRAY [2], BOOST_ARRAY [3], BREAK_FILE [1]
	BREAK_FILE [2], BREAK_FILE [3], CHK_DIR [1], CHK_DIR [2], CONCAT_DIR [1]
	CONCAT_DIR [2], CONCAT_DIR [3], DATATYPE [1], DATATYPE [2], DATATYPE [3], FIX_KAP
	GET_KEYWORD, GET_LATEST_KAP, GET_UTC, LOC_FILE [1], LOC_FILE [2], LOC_FILE [3]
	RD_ASCII [1], RD_ASCII [2], STR_SPACE, TEST_OPEN, TRIM, UNIQ [1], UNIQ [2], UNIQ [3]
	break_file [4], concat_dir [4], str_replace [1], str_replace [2]
 Common      : None

 Restrictions: None

 Side effects: None

 History     : Written 9 June 1997, D. Zarro, ARC/GSFC

 Contact     : dzarro@solar.stanford.edu


FIX_LINELIST $SSW/soho/cds/idl/util/ops/database/fix_linelist.pro
[Previous] [Next]
 Project     : SOHO - CDS     
                   
 Name        : FIX_LINELIST
               
 Purpose     : Recalculates all the cen_pix values in the linelist db.
               
 Explanation : The linelist database used by the planning software contains
               a wavelength and a central pixel for each spectral line. If
               the wavelength calibration changes significantly, this routine
               should be used to update the cen_pix tag.
               
 Use         : IDL> fix_linelist
    
 Inputs      : None - operates on db pointed to by ZDBASE
               
 Opt. Inputs : None
               
 Outputs     : None
               
 Opt. Outputs: None
               
 Keywords    : None

 Calls       : ***
	Bell, GET_LINELIST, LIST_LINELIST, MOD_LINELIST, QZDBASE, WAVE2PIX, YES_NO
 Common      : None
               
 Restrictions: None
               
 Side effects: None
               
 Category    : Databases, planning
               
 Prev. Hist. : None

 Written     : C D Pike, RAL, 27-Nov-95
               
 Modified    : 

 Version     : Version 1, 27-Nov-95


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

 Name        :	FIX_MAIN_TIMES

 Purpose     :	Fixes start and stop times in the MAIN catalog

 Category    :	Class5, Operations, Catalog

 Explanation :	Sometimes the start and stop times in the MAIN catalog get out
		of sync with the entries in the EXPERIMENT catalog.  These
		anomalous entries are signalled by having OBT_TIME=0.  This
		routine will set the time parameters in such cases to resync
		the databases.

		Only for use by experts.

 Syntax      :	FIX_MAIN_TIMES

 Examples    :	

 Inputs      :	None.

 Opt. Inputs :	None.

 Outputs     :	None.

 Opt. Outputs:	None.

 Keywords    :	None.

 Calls       : ***
	DBCLOSE [1], DBCLOSE [2], DBCLOSE [3], DBEXT [1], DBEXT [2], DBEXT [3], DBEXT [4]
	DBOPEN [1], DBOPEN [2], DBOPEN [3], GET_MAIN, LIST_EXPER, MOD_MAIN, PRIV_ZDBASE
 Common      :	None.

 Restrictions:	!PRIV must be GE 2 to write into the database.

 Side effects:	None.

 Prev. Hist. :	None.

 History     :	Version 1, 10-Apr-1996, William Thompson, GSFC

 Contact     :	WTHOMPSON


FIX_OBESUMERROR $SSW/soho/lasco/idl/reduce/fix_obesumerror.pro
[Previous] [Next]
 NAME:
	FIX_OBESUMERROR

 PURPOSE:
	Fix an OBE error encountered when doing LEB summing

 CATEGORY:
	REDUCE

 CALLING SEQUENCE:
	FIX_OBESUMERRROR

 OPTIONAL INPUTS:
	Date:	If present processes the date specified.  Otherwise processes dates
		6 March 1997 -20 March 1997
	
 KEYWORD PARAMETERS:
	QL:	If present goes to the quick-look Directory, the default is QL
	LZ:	If present goes to the Level-0 Directory
	FIXIT:	If specified then writes the FITS file out, with LEBXSUM and LEBYSUM corrected.

 PROCEDURE:
	An error was discovered in OBE beginning 6 March 1997 through xx March.
	It started after sending a command to sum difference in EIT images.  
	The result was that the LEB summing parameter in the header was not 
	being set to the proper value.  It always read 1, even though the 
	summing was performed.

	This routine goes out to the date directory specified and reads in all of the FITS
	files one by one and then calls CHECK_OBESUMERROR to see if the error has
	occurred.  

 CALLS: ***
	CHECK_OBESUMERROR, READFITS [1], READFITS [2], READFITS [3], WRITEFITS [1]
	WRITEFITS [2]
 EXAMPLE:
	To see if the files on 970307 have the problem, use the following command:
		FIX_OBESUMERROR,'970307',/QL
	To correct the file
		FIX_OBESUMERROR,'970307',/QL,/FIXIT
	To correct all the files between 6 Mar and 20 Mar
		FIX_OBESUMERROR,/QL,/FIXIT

 MODIFICATION HISTORY:
	RA Howard, NRL, 23 March 97

	@(#)fix_obesumerror.pro	1.1 05/14/97 LASCO IDL LIBRARY


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

 Name        :	FIX_OBS_SEQ

 Purpose     :	Fix blank OBS_SEQ and OBS_MODE values in the catalog

 Category    :	Class5, Operations, Catalog

 Explanation :	Sets blank OBS_SEQ values in the catalog to suitable values.

 Syntax      :	FIX_OBS_SEQ

 Examples    :	

 Inputs      :	None.

 Opt. Inputs :	None.

 Outputs     :	None.

 Opt. Outputs:	None.

 Keywords    :	None.

 Calls       : ***
	COUNTDOWN, DBEXT [1], DBEXT [2], DBEXT [3], DBEXT [4], DBOPEN [1], DBOPEN [2]
	DBOPEN [3], GET_EXPER, MOD_EXPER, PRIV_ZDBASE, TRIM
 Common      :	None.

 Restrictions:	!PRIV must be GE 2 to write into the database.

 Side effects:	None.

 Prev. Hist. :	None.

 History     :	Version 1, 16-April-1996, William Thompson, GSFC

 Contact     :	WTHOMPSON


FIX_TIME_JUMP $SSW/soho/lasco/idl/reduce/fix_time_jumps.pro
[Previous] [Next]
 NAME:
	FIX_TIME_JUMP

 PURPOSE:
	This procedure reads a file from CDROM and puts the packets in
	order of the packets. If there is a gap, attempts to fill in 
	with QL packets using GET_MISSING_PCKTS.

 CATEGORY:
	LASCO PACKETS

 CALLING SEQUENCE:
	FIX_TIME_JUMPS,fname

 INPUTS:
	Fname:	Name of file with packets in it

 OUTPUTS:
       Outname:  Returns the temporary output file name

 CALLS: ***
	BREAK_FILE [1], BREAK_FILE [2], BREAK_FILE [3], DATATYPE [1], DATATYPE [2]
	DATATYPE [3], FIX_TIME_JUMPS, GETENV_SLASH, GET_MISSING_PCKTS, OBT2TAI
	READ_TM_PACKET, TAI2UTC, TRIM, UTC2STR, break_file [4]
 SIDE EFFECTS:
	A file with same name as fname and at least as large is generated in $TMOUT

 PROCEDURE:
	The input files must reside in the current working directory.
	It then finds missing or out of order packets in science stream by 
	looking at the packet counter, which should increment by one.

 MODIFICATION HISTORY:
 	Written by:	R.A. Howard, NRL, 3 Aug 1996
	N. Rich 1/31/97	added tm_files variable
	RAH     2/04/97	Corrected high rate packet sizes
	N. Rich 3/29/97 added outdir variable
	N. Rich 1/2000	Implement GET_MISSING_PCKTS
	N. Rich 2/2000	Add ctrmin2 check
	N. Rich 4/2000	Fix case where badpckts are in middle; Use packet counter for gap
			if backwards clock-reset detected
		4/21/00  Print packet length of gaps and result (LZ 000207 ff.)
	n. rich 6/19/00  Change how it recognizes packet out of order, and previous packet
			 out of order
	n. rich 6/20/00  Start logging out-of-order packets
	jake 01/01/01	Up'd limit of numexp to 500000 to help 03240101.d01
	n.rich, 03.10.09 - Allow path in input filename
       k.battams 9/14/05 - change loop counter @ line 287 to 0L because 52240101.d01 
                           had "Missing 9551 pkts; returned 58645 pkts", which crashed the
                           routine.

	@(#)fix_time_jumps.pro	1.9 09/14/05  LASCO IDL LIBRARY


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


 PURPOSE:
       This function removes the overflow values of an image


 CATEGORY:
  


 CALLING SEQUENCE:
       out = FIXWRAP(in)

 
 INPUTS:
       in = image with overflows


 OPTIONAL INPUTS:
      NONE

	
 KEYWORD PARAMETERS:
      NONE


 OUTPUTS:
      out = a long image with overflows removed


 OPTIONAL OUTPUTS:
      NONE

 CALLED BY:
	COMPUTE_STD_VALS, REDUCE_LEVEL_1
 COMMON BLOCKS:
      NONE

 SIDE EFFECTS:
      The output image is LONG type

 RESTRICTIONS:
      NONE

 PROCEDURE:


 EXAMPLE:
      in = LASCO_READFITS(file, h)
      out = FIXWRAP(in)

 MODIFICATION HISTORY:
      Written by:         A. Vourlidas, NRL, 9/30/97


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

       PURPOSE:
               To annotate the collage image produced by first_light.
      
       METHOD: Standard xyouts calls

	CALLING SEQUENCE:

               fl_annotate,gnttime,gkitime,gbhtime,gkmtime


	PARAMETERS:
	   g**time  the times corresponding to the ground based images used     

	KEYWORDS:

       OUTPUT TYPE:
 
       CALLS: 
 CALLED BY:
	fl_suntoday [1], fl_suntoday [2], fl_suntoday [3], sun_today [1], sun_today [2]
	sun_today [3]
	HISTORY:
	   Procedure developed to annotate the first_light collage 
	   Written by D. Alexander 5-May-94
          12-Jul-1994 - (SLF) add character size scaling for z-buffer
			       parameterize character size


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

   Purpose: make goes plot in 'first_light' format or read existing

 CALLS: ***
	CONCAT_DIR [1], CONCAT_DIR [2], CONCAT_DIR [3], FILE_EXIST [2], FMT_TIMER [1]
	FMT_TIMER [2], LOADCT, PLOT_GOES, Rd_Roadmap [2], WDEF [1], WDEF [2], concat_dir [4]
	data_chk [1], data_chk [2], evt_grid, fem_grid [1], fem_grid [2], file_exist [1]
	file_exist [3], fl_summary [1], fl_summary [2], fl_summary [3], fmt_tim [1]
	fmt_tim [2], get_logenv [1], get_logenv [2], gt_day [1], gt_day [2]
	gt_dp_mode [1], gt_dp_mode [2], mk_pix [1], mk_pix [2], newfiles [1], newfiles [2]
	newfiles [3], rd_roadmap [1], restgen [1], restgen [2], savegen [1], savegen [2]
	ut_time [1], ut_time [2]
 CALLED BY:
	FIRST_LIGHT [1], FIRST_LIGHT [2], fl_summary [1], fl_summary [2], fl_summary [3]
	goes_plot [1], goes_plot [2], goes_plot [3], goes_plot [4], goes_plot [5]
   History:
      14-Jul-1994 - (SLF) broke out first_light code, use Z-buffer so it can
                           run as a background task
      18-Jul-1994 - (SLF) corrected time range logic
      19-Jul-1994 - (SLF) read last 10 sfr/spr roadmaps (changed from 5)
       6-Sep-1994 - (SLF) call fl_summary
       7-Sep-1994 - (SLF) use device,set_colors=240 (make Z-buff ~ X win)
       5-oct-1994 - (SLF) add SMALL keyword (collage insert = 512x128
                          added COLORS array [goeslevel, night , saa]
       8-oct-1994 - (SLF) move distribution to fl_summary
      10-nov-1994 - (SLF) pass !y.crange to fem_grid
       7-apr-1995 - (SLF) protect against no goesdata 
       9-apr-1995 - (SLF) try 1 min if 3 fails (ydb_exist not reliable?)
       6-sep-1995 - (SLF) use 1 minute (new G71 files)


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

   Purpose: combine fl_xxx images into summary image

 CALLS: ***
	CONCAT_DIR [1], CONCAT_DIR [2], CONCAT_DIR [3], CONGRID [1], CONGRID [2]
	CONGRID [3], FILE_EXIST [2], FL_NARGEV, LOADCT, STR2ARR [1], STR2ARR [2], SXT_MK3
	WDEF [1], WDEF [2], concat_dir [4], file_exist [1], file_exist [3], first_over
	fl_goesplot [1], fl_goesplot [2], fl_goesplot [3], fl_mktext, fl_suntoday [1]
	fl_suntoday [2], fl_suntoday [3], fl_sxtobsnar [1], fl_sxtobsnar [2]
	get_info [1], get_info [2], get_info [3], get_info [4], gt_center, gt_dpe, gt_filtb
	gt_percentd, lastsfd [1], lastsfd [2], mk_pix [1], mk_pix [2], restgen [1]
	restgen [2]
 CALLED BY:
	fl_goesplot [1], fl_goesplot [2], fl_goesplot [3]
   History:
      3-sep-94 (SLF) test one possible summary format
      6-sep-94 (SLF) call mk_pix to generate 'First_Light' summary image
      7-sep-94 (SLF) call fl_mktext
     20-sep-94 (SLF) rearrange, add images
      5-oct-94 (SLF) new format (small goes, add SXT OR)
      9-oct-94 (SLF) use relative screen postions, shift some stuff
                     (make it easier to re-format) add white light
     12-oct-94 (SLF) add call to fl_nargev
     18-oct-94 (SLF) restored previous change (heliographic via gt_center)
     31-oct-94 (SLF) dont label small sxt
      9-Feb-95 (SLF) scale obs region to max=256 
     13-feb-95 (SLF) use REBIN=512 in lastsfd call
      6-apr-95 (SLF) embed congridded OR in 256x256 so tv position will work
     28-apr-95 (SLF) color table (3 w/reverse SXT)
     24-sep-95 (SLF) add MK3/SXT composite
     25-sep-95 (SLF) CaIIK
     13-oct-95 (SLF) minor cleanup (lower SXT OBs text, ...)


fl_suntoday [1] $SSW/soho/mdi/idl_old/gen/ys_util/fl_suntoday.pro
[Previous] [Next]
 CALLS: ***
	CONCAT_DIR [1], CONCAT_DIR [2], CONCAT_DIR [3], DIST, FILE_EXIST [2], HALP, LOADCT
	ROT, SIGMA_FILTER, WDEF [1], WDEF [2], concat_dir [4], data_chk [1], data_chk [2]
	file_exist [1], file_exist [3], fl_annotate [1], fl_annotate [2], fmt_tim [1]
	fmt_tim [2], get1gbo, get_info [1], get_info [2], get_info [3], get_info [4]
	get_logenv [1], get_logenv [2], get_newsoon, get_rb0p [1], get_rb0p [2], gntcleen
	histscale [1], histscale [2], lastsfd [1], lastsfd [2], mk_pix [1], mk_pix [2]
	restgen [1], restgen [2], rm_darklimb, savegen [1], savegen [2], scale_gbo
	sxt_cen [1], sxt_cen [2], wc_where [1], wc_where [2]
 CALLED BY:
	FIRST_LIGHT [1], FIRST_LIGHT [2], bbso_copy [1], bbso_copy [2], fl_summary [1]
	fl_summary [2], fl_summary [3], selsisi_copy, sun_today [1], sun_today [2]
	sun_today [3]
	HISTORY:
	   Procedure developed to annotate the first_light collage 
	   Written by D. Alexander 5-May-94
          12-Jul-1994 - (SLF) add character size scaling for z-buffer
			       parameterize character size
          15-sep-1994 - (SLF) minor mods - make it part of fl_suntoday
          19-oct-1994 - (SLF) replace lastgbo call with calls to get1gbo
          24-sep-1995 - (SLF) scale gkm, rm_darklimb on soon data


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

   Purpose: return the SXT / NAR / Observing region overlay, 'first_light' style

 CALLS: ***
	CONCAT_DIR [1], CONCAT_DIR [2], CONCAT_DIR [3], FILE_EXIST [2], LOADCT
	Rd_Roadmap [2], SXT_IMG_SUMMARY, SXT_UNIQFOV, concat_dir [4], file_exist [1]
	file_exist [3], fmt_tim [1], fmt_tim [2], get_logenv [1], get_logenv [2]
	lastsfd [1], lastsfd [2], mk_pix [1], mk_pix [2], newfiles [1], newfiles [2]
	newfiles [3], plot_nar [1], plot_nar [2], rd_roadmap [1], rd_tfile [1]
	rd_tfile [2], restgen [1], restgen [2], savegen [1], savegen [2]
 CALLED BY:
	FIRST_LIGHT [1], FIRST_LIGHT [2], fl_summary [1], fl_summary [2], fl_summary [3]
   History:
      14-Jul-1994 (SLF) - broke code out from first_light, added z-buffer
                          support for Back Ground, generate a mkpix file
                          default read from that file (faster) linked to
                          mk_sfd phase of go_toban etc...
       7-Sep-1994 (SLF) - use device,set_colors to make Z-buff look like X
       5-oct-1994 (SLF) - pick half res, not last (if avail in last file)
			   use /short title in lastsfd keyword
       9-oct-1994 (SLF) - dont AR label the small (collage) version
      31-oct-1994 (SLF) - label small with time
       8-Feb-1995 (SLF) - change file name to: LAST_SXT_NOAA_AR,
			   include image info in text section of genx
      13-feb-1995 (SLF) - add REBIN=512 to lastsfd call (fill FOV)
      29-aug-1994 (SLF) - tone down stoney-grid on small version


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

 Name        :	
	FLAG_LONG_NAMES
 Purpose     :	
	Flags procedure names that would appear the same under DOS
 Explanation :	
	Flags sets of IDL procedure names which have the same first eight
	characters.  These would appear to be the same file on DOS machines.
	The names of each set of .PRO files with the same first eight
	characters are printed to the screen.
 Use         :	
	CD, directory	;(go to desired directory)
	FLAG_LONG_NAMES
 Inputs      :	
	None.
 Opt. Inputs :	
	None.
 Outputs     :	
	None.
 Opt. Outputs:	
	None.
 Keywords    :	
	None.
 Calls       : ***
	FDECOMP [1], FDECOMP [2], FDECOMP [3]
 Common      :	
	None.
 Restrictions:	
	None.
 Side effects:	
	None.
 Category    :	
	Utilities, Operating_system.
 Prev. Hist. :	
	William Thompson, January 1993.
 Written     :	
	William Thompson, GSFC, January 1993.
 Modified    :	
	Version 1, William Thompson, GSFC, 9 July 1993.
		Incorporated into CDS library.
 Version     :	
	Version 1, 9 July 1993.


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

 NAME:
       FLATF()

 PURPOSE: 
       Return if Flatfield is done (1) or not (0)

 CATEGORY:
       
 
 EXPLANATION:
       
 SYNTAX: 
       Result = flatf()

 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)


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

 NAME:
       FLREQ()

 PURPOSE: 
       Return Flight Operation Request Number

 CATEGORY:
       
 
 EXPLANATION:
       
 SYNTAX: 
       Result = flreq()

 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)


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

 Name        :	FLUSH_CATALOG

 Purpose     :	Flush the CDS catalog databases.

 Category    :	Level4, CDS, Operations, Catalog, Database

 Explanation :	This routine moves all the entries currently in the experiment*
		databases to fexperiment*, where the "f" stands for "full".
		This way, the databases being appended to are kept small, so
		that FITSGEN runs more efficiently.

 Syntax      :	FLUSH_CATALOG

 Examples    :	

 Inputs      :	None.

 Opt. Inputs :	None.

 Outputs     :	None.

 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.  The use of this keyword requires
			 !PRIV=3.

		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 = ''
				FLUSH_CATALOG, ERRMSG=ERRMSG
				IF ERRMSG NE '' THEN ...

 Calls       : ***
	ANYTIM2UTC [1], ANYTIM2UTC [2], BREAK_FILE [1], BREAK_FILE [2], BREAK_FILE [3]
	DBBUILD [1], DBBUILD [2], DBBUILD [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], DBINDEX [1], DBINDEX [2]
	DBINDEX [3], DBOPEN [1], DBOPEN [2], DBOPEN [3], DB_INFO [1], DB_INFO [2]
	DB_INFO [3], FILE_EXIST [2], FIND_WITH_DEF [1], FIND_WITH_DEF [2]
	FIND_WITH_DEF [3], LOCK_DATABASE, OS_FAMILY, PRIV_ZDBASE, TRIM, UNLOCK_DATABASE
	UTC2TAI, break_file [4], file_exist [1], file_exist [3]
 Common      :	None.

 Restrictions:	None.

 Side effects:	Backup copies are made of the database files, called
		old_experiment.dbf, old_fexperiment.dbf, etc.

 Prev. Hist. :	None.

 History     :	Version 1, 11-Apr-1996, William Thompson, GSFC
		Version 2, 1-June-1998, William Thompson, GSFC
			Added YEAR keyword

 Contact     :	WTHOMPSON


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

   Purpose: format output buffer containing documentation header info 

   Input Parameters:
	doc_str - document structures, as returned by get_doc.pro
		  scaler or array of structures

   Optional Keyword Paramters:
      lf - if set, 1 blank line inserted between routine documentation

   Output Parameters:
      function returns string array of formatted doc_str contents
      for scaler input, each doc_str field is included (page format) 
      for array input, a summary list format (Name Purpose) is produced

   Calling Sequence:	outarr=fmt_doc(doc_str)

   Category: gen, util, swmaint, documentation, class3

 CALLS: ***
	STR2ARR [1], STR2ARR [2]
 CALLED BY:
	doc_summ [1], doc_summ [2], get_doc [1], get_doc [2], get_doc [3]
   History: slf, 20-Jul-1992
            slf, 30-Mar-1994 (add brief, keyindent)


FMT_TAG [2] $SSW/soho/mdi/idl_old/gen/ys_util/fmt_tag.pro
[Previous] [Next]
 NAME:
	FMT_TAG

 PURPOSE:
	Converts a data structure (as represented by the IDL SIZE
	its to string representation for dynamic structure building 

 CALLING SEQUENCE:
	user_value = FMT_TAG( SIZE (data_structure))  

 INPUTS:
	DSIZE - size vector for desired data structure 

 RETURN VALUE:
	Character string representing data structure

 CALLED BY:
	Multi_draw [1], Multi_draw [2], RD_GEN [1], RD_GEN [2], build_str [1]
	build_str [2], diskbench, extract_val, fitshead2struct, get1hk_info [1]
	get1hk_info [2], get_elemabun [1], get_elemabun [2], save_data [1], sparse [1]
	sparse [2], sparse [3], str_merge [1], str_merge [2], str_subset, struct2ms [1]
	struct2ms [2], sxt2file, sxt_uniq [1], tr_decode_head [1], tr_decode_head [2]
	trace_dph2struct [1], url_decode
 EXAMPLES:
	if user variable X was created by: FINDGEN(2,3,4,5), then 
       then FMT_TAG(SIZE(X)) returns string 'FLTARR(2, 3, 4, 5)'

 FILE I/O:
	NONE

 COMMON BLOCKS;
	NONE

 RESTRICTIONS:
	Structures not yet implemented

 MODIFICATION HISTORY:
	Version 1 - SLF, 3/5/91


fmt_tim [2] $SSW/soho/mdi/idl_old/gen/ys_util/fmt_tim.pro
[Previous] [Next]
NAME:
	fmt_tim
PURPOSE:
	Given a time (or array of times) return the formatted
	date/time string.
CALLING SEQUENCE:
	print, fmt_tim(roadmap)
	print, fmt_tim(index(i).gen)
	tim = fmt_tim(index, day_str, time_str)
INPUT:
	tim_in - Can be a structure with the .TIME and .DAY
		 fields
			(OR)
		 The "standard" 7 element external representation
		 of time (HH,MM,SS,MSEC,DD,MM,YY)
OPTIONAL INPUT:
       msec    - If present, also print the millisec in the formatted
                 output.
       nolead0 - If present, do not include a leading "0" on the hour string
                 for hours less than 10. (ie: return 9:00:00 instead of 09:00:00)
	fits	- If present, then use the FITS slash format of the type DD/MM/YY
OUTPUT:
	Returns the whole date/time string formatted in the
	form like: 12-OCT-91  23:25:10

OPTIONAL OUTPUT:
	day_str - just the date part of the string
	time_str- just the time part of the string
 CALLS: ***
	gt_day [1], gt_day [2], gt_time [1], gt_time [2]
 CALLED BY:
	ALIGN1BIGGRAM, ALIGN_AR, ANAL_BCS_PHA, ANAL_STIMS, Alt_tim_sel, BCS_24HR_PLOT [1]
	BCS_24HR_PLOT [3], BCS_BROWSE24, BCS_CAT, BCS_CONT [1], BCS_CONT [2]
	BCS_CREATE_CAT, BCS_MULTI [1], BCS_MULTI [2], BCS_SPMOVIE [1], BCS_SPMOVIE [2]
	BOXLC_DISPLAY, BSC_RASTER, BSC_TIM2DSET, CARR2EX, CHECK_SFC_PNT, CIV_SUBTRACT
	DISPLOI_MON5K, DO_TEEM, DR, DSN_DMP_FINDER, FAXABLE_SFD, FE25_BSC_TEMP, FIND_CAL [1]
	FIND_CAL [2], FIND_SEU, FMT_TIMER [1], FMT_TIMER [2], FOV_COORDS, GET_SUN [1]
	GET_SUN [2], GET_TRANGE, GOES_TEK [1], GO_FIND_LIM2, GRID_CURSOR, GT_BSC_TIME
	HXA2HEL, HXA_SXT, HXTPIXON, HXT_AUTOIMG, HXT_QLOOK, HXT_TEEM, JITTER_HTML
	LASTSFD_DIFF, LATEST_SFDS_GIF, LAY1GKM, LIST_BDA, MANY_DAYS, MDI_SUMMARY_SUB1
	MEMCHK_TIMES, MK_HXI_MAP, MK_ORB_WEEK, NAR2COORD, NEAR_CONJ, OBS_EVENT, OBS_PLOT
	ORBIT_DN, ORB_EXTRAP, OVER_THE_LIMB, PFI_CENT, PLOTBSD v306 IDL2, PLOT_BSC_AS2
	PREFLARE_SEARCH, PROM_ON_DISK, PROTRACTOR, QUICKATT [1], QUICKATT [2], RD_AR
	RD_PLAN_AREA, READ_TRACE_FOV, SDC_VERIFY, SELECT_24HR, SFD_PHOT, SFD_TEK, SPLINE_LC
	SUMM_CALS, SXT2POS, SXT_EXPOSURE_MAP, SXT_HYST, SXT_QLOOK, SXT_TEEM1 [1]
	SXT_TEEM1 [2], SXT_TEEM1 [3], SYNOP_3_ROTS, Sxt_goes_teem, TERM_REVIEW
	TERM_REVIEW_GIF, TRACE_LIST_INDEX, TRACE_SSWHERE [1], VIEW_SFM
	VIEW_TRACE_MOSAIC, WBSC_LTC_EV [1], WBSC_LTC_EV [2], WBS_DB, WBS_DB2, WOBS_PLOT
	XMOVIE_SFM, YOHKOH_EVENTS, YOHKOH_TERM_PREDICT, ada2str, adjust_times
	ads_into_att, ads_into_pnt, align1img [1], align1img [2], auto_toban, azimuth_avg
	bcs_clock_fix, bcs_trange, box_sxthxt_fsp, bsc_spec_plot [1], bsc_spec_plot [2]
	cal_bsc, cam_run_sum, cancel_dsn_fil, ccd_hdr_info, ccd_sunc [1], ccd_sunc [2]
	cfl_summary [1], cfl_summary [2], check_sci5k_trunc, chk_pointing
	choose_interval, cnvt [2], cont2time [1], cont2time [2], contacts [1]
	contacts [2], copy_visible, daily_forecast [2], disp_bda, disp_hda
	disp_sci160k [1], disp_sci160k [2], disp_sci5k, disp_synop, disp_therm_rs232
	disp_wda, divyup, do_tr_reformat, dsn_show, edac_summary, eitoversxt, ffi_prep
	fidrange [1], fidrange [2], file_info2 [1], file_info2 [2], fit_bsc, fit_bsc_as
	fit_bsc_plot, fits2time [1], fits2time [2], fits2time [3], fits_disp_month [1]
	fits_disp_month [2], fl_goesplot [1], fl_goesplot [2], fl_goesplot [3]
	fl_suntoday [1], fl_suntoday [2], fl_suntoday [3], fl_sxtobsnar [1]
	fl_sxtobsnar [2], fmt_rasm, fort2hxi [1], fort2hxi [2], ftp_copy_new
	gbo_obs_coord, get_active_reg, get_ar, get_bsc_anno, get_dc_image [2]
	get_dc_image [3], get_dn_rate [1], get_dn_rate [2], get_hxt_pos, get_info [1]
	get_info [2], get_info [3], get_info [4], get_ksc_holiday, get_leak_image [1]
	get_leak_image [2], get_leak_image [3], get_mk3 [1], get_mk3 [2], get_orb_epoch
	get_selsis, get_seq_tab, get_sfc_info, get_sscinfo [1], get_suncenter2, get_sunset
	get_utevent [1], get_utevent [2], go_get_sirius, go_hxt_hk_temps
	go_lasdisk golaserdisk, go_lasdisk2 golaserdisk, go_nvs5, goes_gaps, goes_log
	goes_plot [1], goes_plot [2], goes_plot [3], goes_plot [4], goes_plot [5]
	goes_summary, goes_teem, goes_widget, goesem_eqn [1], goest_eqn [1], grs32_fsp
	grsl_fsp, gtab_summary, gtt_info, gtt_orbit, hkplot_info, html_form_addtime [1]
	html_form_addtime [2], html_form_addtime [3], hxi_interp, hxs_fsp, hxsgrs_fsp
	hxt_fsp, hxt_fsp1, hxt_multimg, hxt_sources, hxt_utplot, hxtbox_fsp, image2movie
	image_summary, in_fov, input_time [1], input_time [2], ip_que_dmpver, iperr_sea
	jitter_gif_xyimg, jst, killold [1], killold [2], last_lc, lastgbo, lastsfd [1]
	lastsfd [2], lcur_plotr [1], lcur_plotr [2], leak_sub [1], leak_sub [2]
	leak_sub [3], list_mo_log [1], list_mo_log [2], list_nrt_times, list_tfi
	make_32 [2], mdi_imagetool, mk_att [1], mk_att [2], mk_bsa_interv [1]
	mk_bsa_interv [2], mk_coal_movie, mk_desat, mk_desat_wl, mk_evn [1], mk_evn [2]
	mk_fem [1], mk_fem [2], mk_fem_file [1], mk_fem_file [2], mk_formt_html [1]
	mk_formt_html [2], mk_formt_html [3], mk_gif_mag_index, mk_gsn_obs_s1
	mk_hst_summary, mk_mdi_iap, mk_op_file, mk_orbit [1], mk_orbit [2], mk_orbit_files
	mk_pnt, mk_sdl, mk_sdm, mk_sdp, mk_sfc [1], mk_sfc [2], mk_sfd [1], mk_sfd [2]
	mk_sfd [3], mk_sfd [4], mk_sfs, mk_sft [1], mk_sft [2], mk_sfw, mk_sl [1], mk_sl [2]
	mk_sot, mk_sumer_dbase_ff, mk_sun_mosaic, mk_sxc, mk_sxl, mk_timarr [1]
	mk_timarr [2], mk_trace_i1, mk_week_file [1], mk_week_file [2], mo_check
	mon_health [1], mon_health [2], mon_sci5k, monthly_summary, mplot_nar
	msok_poi_copy [1], msok_poi_copy [2], mwlt_select, new_disp_sci5k [1]
	new_disp_sci5k [2], new_edac_summary, new_mon_health [1], new_mon_health [2]
	norh_get_info [1], norh_get_info [2], obs_summary, old_raster, op_get_special
	op_saa_med [1], op_saa_med [2], op_term_score, op_term_sum, op_terminator [1]
	op_terminator [2], op_times, oplot_nts, pfi_dominant, pfi_loc, plot_ar_pfi
	plot_door_open, plot_expos_hist, plot_fov [1], plot_gsn, plot_hxa
	plot_img_cadence, plot_loi_mmad, plot_loi_summary [1], plot_loi_summary [2]
	plot_nar [1], plot_nar [2], plot_ref, plot_shutter_perf, plot_ssw_fov
	plot_therm_rs232a, plot_therm_rs232c, plot_trav [1], plot_trav [2]
	plot_trav [3], plotbft [1], plotbth v30 IDL2, plots_bda, plots_wda, pr_dark_time
	pr_evn [2], pr_fdss_grndtrk, pr_fdss_orbevt, pr_fdss_viewpd, pr_fem, pr_gbe, pr_gev
	pr_gsn [1], pr_gsn [2], pr_his_index [1], pr_his_index [2], pr_his_index [3]
	pr_maxmin_hk, pr_mdihk_trans [1], pr_mdihk_trans [2], pr_nar, pr_nel, pr_orbit_sum
	pr_pnt_hist, pr_seq_frame_info, pr_status [1], pr_status [2], pr_sxt_term
	pr_sxtobs, pr_therm_rs232, pr_tim2week [1], pr_tim2week [2], pr_uniq_hk
	pr_visible, quick_hkplot [1], quick_hkplot [2], quick_plottrav, radial_avg
	rd_fdss, rd_raw_station_plan, rd_sci5k, rd_station_plan, rd_sxtgoes
	rd_therm_rs232, rd_week_file [1], rd_week_file [2], rd_week_file [3]
	rd_week_file [4], rd_xda_same, rdtbl, read_msok_jpg, redo_disploi, redo_mon_sci5k
	ref_day_plot, reltime [1], reltime [2], reslot, rest_low8_cube [1]
	rest_low8_cube [2], rt_nkr, run_dsnfil, scat_avg, sda2fits, sector_avg, sel_fileinfo
	sel_leak_image [1], sel_leak_image [3], sel_leak_image [4], seq_frame_info
	seq_run_sum [1], seq_run_sum [2], sft2sfc, show_obs2, show_obs3, show_obs4
	sleazy_rot, sol_rot [2], soon_catstat, soup_info, ssw_check_contrib, ssw_track_fov
	sumer_ffdb, sun_today [1], sun_today [2], sun_today [3], sxl2radiance, sxt2eit
	sxt_align, sxt_deleak [1], sxt_deleak [2], sxt_eff_area, sxt_fits_info
	sxt_flux [1], sxt_flux [2], sxt_flux [3], sxt_interp [1], sxt_interp [2]
	sxt_mornint, sxt_mwave, sxt_obs_coord [1], sxt_obs_coord [2], sxt_plan
	sxt_prep [1], sxt_prep [2], sxt_prep [3], sxtbox_fsp, sxthxt_fsp, sxtth_hxt
	table_dump, telem_sum, term_times, tfr_summary, tfr_summary2, tim2dbase
	tim2match [1], tim2match [2], tim2match [3], tim2orbit [1], tim2orbit [2]
	timegrid, timeline, topsdb [1], topsdb [2], tprofiles, tr_inventory_telem
	tr_rd_index, tr_rd_inventory, tr_reformat, trace_sswhere [2], trace_sswhere [3]
	trace_sswhere [4], ut_time [1], ut_time [2], utcursor [1], utcursor [2]
	valid_pass2, valid_pass3, valid_pass4 [1], valid_pass4 [2], web_seq, weekid [2]
	wr_opasc [1], wr_opasc [2], wrt1orbit [1], wrt1orbit [2], wrt_fits_bin_exten [2]
	wrt_sci160k_img, xanal_emi, xdate [1], xdate [2], xdisp_sci5k, xdisp_trace2
	xdisp_trace3, xhkplot, xsearch_obs, xset_chain [1], xset_chain [2]
	xsxt_prep_event, xy_lwa, ydb_exist [2], ydb_install [1], ydb_install [2]
	yo_height, yopos [1], yopos [2], yoyo_man2
HISTORY:
	written Fall '91 by M.Morrison
	13-Nov-91 (MDM) - Added capability to pass the index
			  and have the ".gen" nested structure accessed
	13-Nov-91 (MDM) - Removed the "guts" and put them inside
			  "gt_time" and "gt_day"
       15-Nov-91 (MDM) - Added "msec" and "nolead0" options
	 4-Aug-95 (MDM) - Added /FITS keyword


FMT_TIMER [2] $SSW/soho/mdi/idl_old/gen/ys_util/fmt_timer.pro
[Previous] [Next]
 NAME:
 	FMT_TIMER	
 PURPOSE:
	print formatted times of an index file
 CALLING SEQUENCE:
 	fmt_timer,index	
 	fmt_timer,index,t1,t2	
       fmt_timer,index,/noprint
 OUTPUTS
	t1, t2 are formatted times, useful for entry into another program
 CALLS: ***
	fmt_tim [1], fmt_tim [2]
 CALLED BY:
	CHECK_FOR_30S, FIRST_LIGHT [1], FIRST_LIGHT [2], GOES2DPE, MK_ORB_WEEK, NEAR_CONJ
	NEUPERT_PLOT, PATROL_ORDER, QUICKDARK [2], QUICKLIMB [1], QUICKLIMB [2], QUICK_DPE
	SFD_PHOT, SPARTAN_PLANNER, SXT_ECLIPSE, SXT_HYST, TERM_REVIEW, TERM_REVIEW_GIF
	TEST_ATT, TRACE_SSWHERE [1], WL_CUBE_II, emi_plot [1], fix_decon_pits
	fl_goesplot [1], fl_goesplot [2], fl_goesplot [3], get_bcs, goes_widget, gtt_orbit
	image2movie, ip_que_dmpver, kluge_att, lapalma_cat, mdi_cat, multi_hda2hxi
	pfi_dominant, pfi_loc, plot_fov [1], sacpeak_image, ssw_fov_context, sxt2mpeg
	time_window, tr_lut_conv, trace_last_movie [1], trace_last_movie [3]
	trace_movie_context, trace_special_movie [1], trace_special_movie [2]
	trace_special_movie [3], trace_special_movie2, trace_sswhere [2]
	trace_sswhere [3], trace_sswhere [4], wrt_fits_bin_exten [2], xanal_emi
 HISTORY:
	Hugh Hudson, Dec. 18,  1992
	HSH, outputs added May 18, 1993
	HSH, changed output and added /noprint keyword Aug 26, 1993


font_size [2] $SSW/soho/mdi/idl_old/gen/util/font_size.pro
[Previous] [Next]
  Name:
    font_size
  Purpose:
    Determine character width and height in pixels for a given
    value of CHARSIZE
  Calling sequence:
    xpix = font_size(charsize, ypix)
    xpix = font_size(charsize, ypix ,wxs=wxs, wys=wys)
  Inputs:
    charsize	= Value of plotting keyword CHARSIZE to be tested
  Outputs:
    xpix	= Size of character in pixels in x direction)
    ypix	= Size of character in pixels in y direction)
  Optional Input Keywords:
    wxs	= Size of the pixmap window (default is 64)
    wys	= Size of the pixmap window (default is 64)
  Method:
    Open a window and then read back the results
 CALLS: ***
	SUMCOL [1], SUMCOL [2], SUMROW [1], SUMROW [2], SUMROW [3], WDEF [1], WDEF [2]
 CALLED BY:
	cal_fig_mich, fig_summary, img_summary [1], img_summary [2], mplot_nar
	plot_ar_pfi, plot_fov [2], plot_nar [1], plot_nar [2]
  Side effects:
    A PIXMAP window will be created temporarily and then destroyed
  Modification History:
    9-apr-93 - GLS based on TEXT_SIZE.PRO by JRL
   11-Jul-96 (MDM) - Corrected to preserve the device setting when
		      it was called.


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

   Purpose: make new event structure for input into event routine 

   Input Parameters:
      parent_evt - parent event of caller
      ids = list of widget ids to search for widget_value=value
      
   Keyword Parameters:
      type - string describing type of output structure
	      (widget_button, widget_slider, ...)
    
   History - slf 5-June-1992

 CALLS:
 CALLED BY
	xspr [1], xspr [2], xstepper_event


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

 Name        : 
	FORM_FILENAME()
 Purpose     : 
	Adds default paths and extensions to filenames.
 Explanation : 
	This procedure tests whether or not a given filename already has an
	extension on it.  If not, then a default extension is appended.
	Optionally, the same can be done with a default path.  This is similar
	to using the DEFAULT keyword with the OPEN statement in VMS.

	Using this routine together with environment variables for the optional
	directory path allows an OS-independent approach to forming filenames.
 Use         : 
	result = FORM_FILENAME( FILENAME, EXTENSION )

	OPENW, UNIT, FORM_FILENAME( FILENAME, '.fits' ), ...

 Inputs      : 
	FILENAME  = Name of file to test.
	EXTENSION = Default filename extension.  Ignored if FILENAME already
		    contains an extension.
 Opt. Inputs : 
	None.
 Outputs     : 
	Result of function is the name of the file complete with (optional)
	directory and extension.
 Opt. Outputs: 
	None.
 Keywords    : 
	DIRECTORY = Default directory path.  Ignored if FILENAME already
		    contains directory information.
 Calls       : ***
	STR_SEP
 CALLED BY:
	CDS_THUMBNAIL, FS_ARCHIVE_RW, GE_WINDOW [1], GFITS_W, HESSI_SHUTTERS
	HSI_PACKET2FITS, PCL [1], PCL [2], PS [1], PS [2], QLARCHIVE, QMS [1], QMS [2]
	SPEX_COMMONS [2], SPEX_COMMONS [4], SPEX_PROC [1], SPEX_PROC [2], TVPRINT
	WRITE_CALFITS, WRITE_DD, X2JPEG, XCDS_SNAPSHOT
 Common      : 
	None.
 Restrictions: 
	None.
 Side effects: 
	None.
 Category    : 
	Utilites, Operating System.
 Prev. Hist. : 
	William Thompson, October 1991.
 Written     : 
	William Thompson, GSFC, October 1991.
 Modified    : 
	Version 1, William Thompson, GSFC, 7 May 1993.
		Incorporated into CDS library.
		Changed to be compatible with CONCAT_DIR by M. Morrison.
		Made more OS-independent.  Relaxed punctuation requirements.
		Fixed small bug with blank extensions.
		Added IDL for Windows compatibility.
 Version     : 
	Version 1, 7 May 1993.


FOT_ROLL $SSW/soho/mdi/idl/ops/fot_roll.pro
[Previous] [Next]
 NAME:
 	FOT_ROLL
 PURPOSE
	Help the FOT with roll determination during maneuvers.
	
	Generate a web page with roll information updated frequently
	for the FOT.  Once per iteration (typ. 2/minute), 
	generate a 2-hour unaveraged plot  and a 2-hour averaged plot.
	Once every 10 iterations or once every 10 minutes (whichever 
	is more frequent), generate a 24-hour averaged plot.
	Generate and update a web page that's set to expire and refresh
	every 30 seconds.

 METHOD
	The plots are generated with roll_plot, and written to the web
	directory specified in the parameters.  (Default is $WEB_ROOT/tmp)

 USAGE
	FOT_ROLL, [options]

 INPUT PARAMETERS
	<NONE>

 OPTIONAL KEYWORD INPUTS
	DELAY  - Time between updates (default: 30 seconds)
	WEBDIR - If specified, the output HTML and gifs get put here.
	MONITOR- If set, throw up local windows with the plots on 'em
 
 NOTES
	This routine uses a good fraction of mdisas's processor, so 
	it's designed to be used only when needed (and not as a regular
	cron job; other roll plots are generated on a slower cadence
	as cron jobs.)

	The update of once every 30 seconds is kind of a waste of 
	computrons (LOI images come every 60 seconds), but I can't 
	be bothered to try and synchronize with the actual data 
	stream, so oversampling keeps down the average pipeline delay.

 HISTORY
	 9-Jun-99: written by C. DeForest
	29-Sep-99: (CED) set nsigma=7 for the plots, to keep SOHO rolling 
		   from going offscale.
     11-Jan-2001: (RIB) set directory to "pointing"; cleaned up html output.
 CALLS:


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

 PURPOSE:
	Determine C1 instrument function central wavelength map array
	for a monochromatic image.

 CATEGORY:
	image reduction routines

 CALLING SEQUENCE:
	w = fp_iwcw(im,h,[x],[y],[xps],[yps],[/air])

 INPUTS:
	im - primary or secondary c1 monochromatic image array

		A primary monochromatic image array is herein defined as an
		IDL LASCO/C1 image array whose pixel dimensions, position
		and extent in the field of view match those of the original
		telemetered and rectified image array. It may be a subfield
		of the c1 CCD. 

		A secondary monochromatic image array is herein defined as
		an IDL LASCO/C1 image array whowse pixel dimensions and/or
		extent in the field of view do not match those of the
		original telemetered and rectified image array. 

	h - header associated with an original telemetered c1 monochromatic
	    image array (im) 

 OPTIONAL INPUTS: (??? no, these are outputs ???)

	(x,y) - the position of the lower left corner of the array (im)
	        in the telemetered image array. (Of the 4 corners of
		the image rectangle, x and y are the minimum values
		of the horizontal and vertical coordinates respectively) 

	(xps,yps) - x and y dimension pixel count multiplier of the input
		image array 
		im with respect to the telemetered array

 KEYWORD PARAMETERS:

	AIR	if this keyword is set, air wavelength in angstroms is
		returned, otherwise vacuum wavelength in angstroms is
		returned. 

 OUTPUTS:

	Returns an array (wim) with the same dimensions as arry im
	containing the calibrated instrument function central wavelengths
	(in Angstroms) corresponding to each pixel of the associated C1 
	monochromatic image array im.

 OPTIONAL OUTPUTS
	none
	
 CALLS: ***
	FPC1_IWCW, SXPAR [1], SXPAR [2], SXPAR [3], fpc1_wcw
 COMMON BLOCKS:
	None

 SIDE EFFECTS:
	None

 RESTRICTIONS:
	None 

 PROCEDURE:

 MODIFICATION HISTORY:
	1997 Aug 12 Written by Paul Reiser 


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

 Name        : 

 Purpose     : 

 Category    : 

 Explanation : 

 Syntax      : 

 Examples    : 

 Inputs      : None

 Opt. Inputs : None

 Outputs     : None

 Opt. Outputs: None

 Keywords    : None

 CALLS: ***
	RSTRPOS
 Common      : 

 Restrictions:                                  

 Side effects: Not known

 History     : Version 1, 22-Mar-1996, B Podlipnik. Written

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


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

 PURPOSE:
	To calculate LASCO C1 emission line signal. (Note: the output is in
	the same units as the input images. No photometric correction is
	made.)

 CALLING SEQUENCE:
	ee = fpc1_2img(ref1,img,cref1,cref2,cimg)	

 INPUTS:
	ref1	first open-door off-line image
	img	open door on-line image
	cref1	first closed-door off-line image 
	cref2	second closed-door off-line image
	cimg	closed door on-line image
	dz      for the comp1 model, this is a "repair" to f that is a function
                 of position. Default value is zero.

 OPTIONAL INPUTS:
       none

 KEYWORD PARAMETERS
	z    this is an array of the form [xmin,ymin,xmax,ymax] which specifies
            the two corners of a particular rectangle in the images. It will be
            assumed that this region contains zero median emission line signal,
            and if any is detected it will be assumed that this is due to an
            exposure error in the on-line image (img). Accordingly, the on-line image
            will be multiplied by a constant such that the median emission
            signal over this region will be exactly zero. If this keyword is
            omitted, all images will be assumed to be correct, and no exposure
            correction will be made.

       model - A number of models are available. The default model is 'comp1' 
	     'subtract' - a simple subtraction of the offline (ref1) from the online (img)
	     'standard' - assumes no white light background  
            'comp1'    - estimates the white light background with the three-gaussian model

 OUTPUTS:
	Returns an image consisting of only that part of the signal due to
	the emission line irradiance. Note that this signal will not be proportional
       to the irradiance, but needs to be further corrected by the instrument
       response in order to obtain photometrically correct results.

 OPTIONAL OUTPUTS:
	none

 METHOD

 COMMON BLOCKS:
	None

 SIDE EFFECTS:
	None

 RESTRICTIONS:
	All five input images must be of the same size and at the same location
	on the CCD. Images ref1 and cref1 form an open and closed door image
	pair and must have the same command wavelength. The same is true
	of the img and cimg image pair. Image ref1 must be off line.
	All images must be corrected for offset bias and exposure.

 MODIFICATION HISTORY:
	V 1.00 - Oct 06/98 written by Paul Reiser
	V 1.10 - Jul 15/00 included zeroing box
 
 CONTACT:	Paul Reiser	reiser@susim.nrl.navy.mil
		Dennis Socker	socker@lambda.nrl.navy.mil


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

 PURPOSE:
	To calculate LASCO C1 emission line signal. (Note: the output is in
	the same units as the input images. No photometric correction is
	made.)

 CALLING SEQUENCE:
	ee = fpc1_3img(ref1,ref2,img,cref1,cref2,cimg)	

 INPUTS:
	ref1	first open-door off-line image
	ref2	second open-door off-line image
	img	open door on-line image
	cref1	first closed-door off-line image 
	cref2	second closed-door off-line image
	cimg	closed door on-line image

 OPTIONAL INPUTS:
       none

 KEYWORD PARAMETERS
	z    this is an array of the form [xmin,ymin,xmax,ymax] which specifies
            the two corners of a particular rectangle in the images. It will be
            assumed that this region contains no average emission line signal,
            and if any is detected it will be assumed that this is due to an
            exposure error in the on-line image (img). Accordingly, the on-line image
            will be multiplied by a constant such that the average emission
            signal over this region will be exactly zero. If this keyword is
            omitted, all images will be assumed to be correct, and no exposure
            correction will be made.

 OUTPUTS:
	Returns an image consisting of only that part of the signal due to
	the emission line irradiance. Note that this signal will not be proportional
       to the irradiance, but needs to be further corrected by the instrument
       response in order to obtain photometrically correct results.

 OPTIONAL OUTPUTS:
	none

 METHOD

 COMMON BLOCKS:
	None

 SIDE EFFECTS:
	None

 RESTRICTIONS:
	All six input images must be of the same size and at the same location
	on the CCD. Images ref1 and cref1 form an open and closed door image
	pair and must have the same command wavelength. The same is true
	of the ref2 and cref2 image pair, and the img and cimg image pair. 
	All images must be corrected for offset bias and exposure.

 MODIFICATION HISTORY:
	V 1.00 - written by Paul Reiser February 23, 1998 (2/23/98)

 CONTACT:	Paul Reiser	reiser@susim.nrl.navy.mil
		Dennis Socker	socker@lambda.nrl.navy.mil


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

 PURPOSE:
	To convert a lasco signal image (DN/pixel/sec) to intensity (erg/sec/cm^2/sr/A)

 CALLING SEQUENCE:
	int = fpc1_phot(s,ix,iy,leb,[dataset])

 INPUTS:
	s - the signal image
	ix,iy - the coordinates of the lower left of the signal image in CCD (1024x1024) coordinates
	leb - binning (1 or 2, usually)

 OPTIONAL INPUTS:
	dataset - the closed door dataset used for calibration (e.g. dataset = '980306')

 KEYWORD PARAMETERS: none

 OUTPUTS:
	Returns the intensity image corresponding to the input signal image. Units 
	of intensity are erg/sec/cm^2/sr/A

 OPTIONAL OUTPUTS: none

 METHOD
	The signal image is multiplied by the calibration image after the calibration image
	is suitable rebinned and cropped.

 CALLS: ***
	READFITS [1], READFITS [2], READFITS [3], SXPAR [1], SXPAR [2], SXPAR [3]
 COMMON BLOCKS:
	None

 SIDE EFFECTS:
	None

 RESTRICTIONS: none

 MODIFICATION HISTORY:
	V 1.00 - written by Paul Reiser Nov 01, 1999 (11/01/99) 

 CONTACT:	Paul Reiser	reiser@susim.nrl.navy.mil
		Dennis Socker	socker@lambda.nrl.navy.mil

 REFERENCES
	http://lasco-www.nrl.navy.mil/~reiser/C1phot.html


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

 PURPOSE:
	To determine the C1 instrument function central wavelength
	as a function of pixel position (x,y), command wavelength
	(wc) and FP order (m).

 CALLING SEQUENCE:
	WCW(x,y,wc,[m],[\air])

 INPUTS:
	x  - x position(s) (pixels on a 1024x1024 image)
	y  - y position(s) (pixels on a 1024x1024 image)
	wc - command wavelength(s) (Angstroms)

 OPTIONAL INPUTS:
	m  - FP order(s). If zero or unspecified, a nominal order
	     is assumed.

 KEYWORD PARAMETERS:
	AIR	if this keyword is set, the returned wavelength is
		for air, otherwise it is for vacuum. (Note: the
		NSO[1] solar spectrum is given in air wavelengths)

 OUTPUTS:
	Returns the C1 instrument function central wavelength
	in Angstroms. The table below shows the region of 
	applicability for each blocking filter The first column
	is the blocker ID and the second column is the nominal 
	wavelength of the feature which was measured to determine
	the wavelength scale. The next two columns are the 
	minimum and maximum wavelength of the region over which
	the wavelength correction is valid. The last column is
	the std. deviation of the absolute error in wavelength
	when using this method. This error holds only at the
	nominal wavelength. It increases with distance from
	the nominal wavelength to double its value at
	the boundaries of the region of validity. The relative
	error in wavelength from scan to scan is on the
	order of 0.02 A. All wavelengths in the table below are
	in Angstroms.

	Blocker	  Nom.     Min.    Max.   Error	
	  ID	  wav.     wav.    wav.

	FeXIV	  5302.27  5300    5318   0.03
	CaXV	  5693.09  5690    5710   0.07
	NaI	  5891.59  5885    5907   0.08
	FeX	  6373.12  6372    6390   0.05
	H Alpha	  6564.63  6562    6583   0.04

 OPTIONAL OUTPUTS:
	If the order was not specified on input, the nominal order
	used will be returned in the m parameter.

 METHOD
	The central wavelength calibration was determined by comparing
	in-flight FP scans of the photospheric Fraunhofer spectrum
	with the NSO[1] solar spectrum. 

	The FP instrument function was also determined using
	in-flight measurements. The optimum instrument function was
	found to be a Voigt profile.

	A paraboloid of revolution was fitted to the 
	measured variation of wavelength with position in the image.

	The above steps were carried out for each of the five
	blocking filters.

 CALLED BY:
	FPC1_WWC, fp_iwcw
 COMMON BLOCKS:
	None

 SIDE EFFECTS:
	None

 RESTRICTIONS:
	In order to increase speed, x, y, and wc may be arrays. There
	are four acceptable situations: 
       1. x,y, and wc are all scalar
       2. x and y are arrays of the same type, and wc is a scalar
       3. x and y are scalars and wc is an array
       4. x,y and wc are arrays of the same type

       A further restriction is that wc must lie inside a blocker
       passband as described above in the output section.

 MODIFICATION HISTORY:
	V 1.00 - written by Paul Reiser September 26, 1997 (9/26/97)
       V 1.10 - PR 1/8/98  Allow arrays for pixel positions

 CONTACT:	Paul Reiser	reiser@susim.nrl.navy.mil
		Dennis Socker	socker@lambda.nrl.navy.mil

 REFERENCES
	1. "Solar Flux Atlas From 296 to 1300 nm", National Solar
	Observatory Atlas No. 1, June 1984.


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

 PURPOSE:
	Given a true wavelength (w) and a pixel position on
	a LASCO C1 image (x,y) and an order (m), the function
	will return the command wavelength for the FP in order
	that the true wavelength be transmitted by the FP
	at that position.

 CATEGORY:
	???

 CALLING SEQUENCE:
	fpc1_wwc,x,y,w,[m],[AIR=air]

 INPUTS:
	x - x position (pixels)
	y - y position (pixels)
	w - true wavelength (Angstroms)

 OPTIONAL INPUTS:
	m  - the FP order. If none is specified, a nominal order
	     is assumed.

 KEYWORD PARAMETERS:
	AIR	if this keyword is set, the input wavelength is
		taken as an air wavelength, otherwise it is for
		vacuum.

 OUTPUTS:
	The value returned is the command wavelength for the image
	such that the FP transmits the given true wavelength at the
	given position and order. If the order was not specified on
	input, the nominal order used will be returned in the m
	parameter. The table below shows the region of applicability
	for each blocking filter The first column 
	is the blocker ID and the second column is the nominal 
	wavelength of the feature which was measured to determine
	the wavelength scale. The next two columns are the 
	minimum and maximum wavelength of the region over which
	the wavelength correction is valid. The last column is
	the std. deviation of the absolute error in wavelength
	when using this method. This error holds only at the
	nominal wavelength. It increases with distance from
	the nominal wavelength to double its value at
	the boundaries of the region of validity. The relative
	error in wavelength from scan to scan is on the
	order of 0.02 A. All wavelengths in the table below are
	in Angstroms.

	Blocker	  Nom.     Min.    Max.   Error	
	  ID	  wav.     wav.    wav.

	FeXIV	  5302.27  5300    5318   0.03
	CaXV	  5693.09  5690    5710   0.07
	NaI	  5891.59  5885    5907   0.08
	FeX	  6373.12  6372    6390   0.05
	H Alpha	  6564.63  6562    6583   0.04

 OPTIONAL OUTPUTS
	If the order was not specified on input, the nominal
	order used will be returned in the m parameter.
	
 CALLS: ***
	fpc1_wcw
 COMMON BLOCKS:
	None

 SIDE EFFECTS:
	None

 RESTRICTIONS:
	This procedure may not converge unless the input order
	is close to the nominal order.

 MODIFICATION HISTORY:
	Version 1.00 written by Paul Reiser July 22, 1997.
       Version 1.10 PR 1/8/98 allows array x and y


fractile $SSW/soho/lasco/idl/exposure/fractile.pro
[Previous] [Next]
 FRACTILE
	Return the requested fractile of the input data.

 Usage:
	fr = fractile(x, frac)

 Return:
	fr	<input>	The requested fractile.

 Arguments:
	x	most	input	The array whose fractile(s) are to be
				returned 
	frac	float	input	The fractile(s) to return.

 CALLED BY:
	mk_stdim_hdr
 Restrictions:
	The input data must be a SORTable array (i.e. not complex,
	string or structure).

 Example:
	To find the interquartile range of a data set, try:
	q = fractile(data, [.25,.75])
	iqr = q(1)-q(0)
	
 History:
	Original: 26/9/95; SJT


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

 Name        :	FREEZE_RAS_DUR

 Purpose     :	Freeze raster durations, using measured values.

 Category    :	Planning

 Explanation :	This routine calls the MOD_V_RASTER routine to modify the
		raster duration to a negative value.  This tells the software
		that the duration is actually measured, rather than calculated,
		so it will then not be updated.

 Syntax      :	FREEZE_RAS_DUR  [, RAS_ID, RAS_VAR  [, DURATION ] ]

 Examples    :	

 Inputs      :	None required.

 Opt. Inputs :	RAS_ID, RAS_VAR	= The raster ID and variation numbers
				  identifying the raster to be modified.  If
				  not passed, then can be selected from menus.
		DURATION	= The value to set the duration to.  If not
				  passed, then taken from the database entry.

		The user will have the option of modifying the above parameters
		before committing the change.

 Outputs     :	None.

 Opt. Outputs:	None.

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

 Calls       : ***
	CW_FIELD, DATATYPE [1], DATATYPE [2], DATATYPE [3], FREEZE_RD_EVENT, GET_RASTER
	MOD_V_RASTER, PRIV_ZDBASE, TAG_EXIST [1], TAG_EXIST [2], XACK, XANSWER, XMANAGER
	XREGISTERED, XSHOW_RASTER, XSTUDY, XTEXT
 Common      :	FREEZE_RAS_DUR is an internal common block.

 Restrictions:	None.

 Side effects:	None.

 Prev. Hist. :	None.

 History     :	Version 1, 01-Mar-1996, William Thompson, GSFC
		Version 2, 20-Mar-1996, William Thompson, GSFC
			Fix bug when don't select raster from XSHOW_RASTER
		Version 3, 22-May-1997, William Thompson, GSFC
			Change XSHOW_STUDY call to XSTUDY
		Version 4, 9-Oct-1997, Chris Haskell, GSFC
			Add an edit Telemetry Rate selection

 Contact     :	WTHOMPSON


FREQ_RAMP $SSW/soho/sumer/idl/newtki/tki/freq_ramp.pro
[Previous] [Next]
 PROJECT:
       SOHO - SUMER

 NAME:
       FREQ_RAMP

 PURPOSE: 
       Compute Frequency for Moving

 CATEGORY:
       
 
 EXPLANATION:
       
 SYNTAX: 
       freq_ramp, 

 CALLED BY:
	TKI_CALCMOT
 EXAMPLES:
       
 INPUTS:
       sindex - step index
       sramplen - steps per ramp
       ffreqmax - max frequency for moving

 OPTIONAL INPUTS: 
       None.

 OUTPUTS:
       fhz - Frequency for Moving

 OPTIONAL OUTPUTS:
       None.

 KEYWORDS: 
       None.

 COMMON:
       None.

 RESTRICTIONS: 
       None.

 SIDE EFFECTS:
       None.

 HISTORY:
       Version 1, September 13, 1996, Dietmar Germerott, MAPE Lindau. Written

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


FSC_COLOR [2] $SSW/soho/lasco/idl/dfanning/fsc_color.pro
[Previous] [Next]
 NAME:
       FSC_COLOR

 PURPOSE:

       The purpose of this function is to obtain drawing colors
       by name and in a device-decomposition independent way. The
       color names and values may be read in as a file, or 88
       color names and values are supplied from the program. These
       were obtained from the file rgb.txt, found on most X-Window
       distributions. Representative colors were chose from across
       the color spectrum. To see a list of colors available, type:
       Print, FSC_Color(/Names).

 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:

       color = FSC_COLOR(theColor, theColorIndex)

 NORMAL CALLING SEQUENCE FOR DEVICE-INDEPENDENT COLOR:

       axisColor = FSC_COLOR("Green", !D.Table_Size-2)
       backColor = FSC_COLOR("Charcoal", !D.Table_Size-3)
       dataColor = FSC_COLOR("Yellow", !D.Table_Size-4)
       Plot, Findgen(11), Color=axisColor, Background=backColor, /NoData
       OPlot, Findgen(11), Color=dataColor

 OPTIONAL INPUT PARAMETERS:

       TheColor: A string with the "name" of the color. To see a list
           of the color names available set the NAMES keyword.

           Valid names depend on the colors loaded in the program, but
           typically include such these colors as these:

              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. To see a list
           of the color names available in the program, type this:

              Print, FSC_COLOR(/Names)

       TheColorIndex: The color table index where the specified color is loaded.
           The color table index parameter should always be used if you wish to
           obtain a color value in a color-decomposition-independent way in your
           code. See the NORMAL CALLING SEQUENCE for details.

 RETURN VALUE:

       The value that is returned by FSC_COLOR depends upon the keywords
       used to call it and on the version of IDL you are using. In general,
       the return value will be either a color index number where the specified
       color is loaded by the program, or a 24-bit color value that can be
       decomposed into the specified color on true-color systems.

       If you are running IDL 5.2 or higher, the program will determine which
       return value to use, based on the color decomposition state at the time
       the program is called. If you are running a version of IDL before IDL 5.2,
       then the program will return the color index number. This behavior can
       be overruled in all versions of IDL by setting the DECOMPOSED keyword.
       If this keyword is 0, the program always returns a color index number. If
       the keyword is 1, the program always returns a 24-bit color value.

       If the TRIPLE keyword is set, the program always returns the color triple,
       no matter what the current decomposition state or the value of the DECOMPOSED
       keyword.

       If the ALLCOLORS keyword is used, then instead of a single value, modified
       as described above, then all the color values are returned in an array. In
       other words, the return value will be either an NCOLORS-element vector of color
       table index numbers, an NCOLORS-element vector of 24-bit color values, or
       an NCOLORS-by-3 array of color triples.

       If the NAMES keyword is set, the program returns a vector of
       color names known to the program.

 INPUT KEYWORD PARAMETERS:

       ALLCOLORS: Set this keyword to return indices, or 24-bit values, or color
              triples, for all the known colors, instead of for a single color.

       DECOMPOSED: Set this keyword to 0 or 1 to force the return value to be
              a color table index or a 24-bit color value, respectively.

       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

       NAMES: If this keyword is set, the return value of the function is
              a ncolors-element string array containing the names of the colors.
              These names would be appropriate, for example, in building
              a list widget with the names of the colors. If the NAMES
              keyword is set, the COLOR and INDEX parameters are ignored.

                 listID = Widget_List(baseID, Value=GetColor(/Names), YSize=16)

       SELECTCOLOR: Set this keyword if you would like to select the color name with
              the PICKCOLORNAME program. Selecting this keyword automaticallys sets
              the INDEX positional parameter. If this keyword is used, any keywords
              appropriate for PICKCOLORNAME can also be used. If this keyword is used,
              the first positional parameter can be either a color name or the color
              table index number. The program will figure out what you want.

       TRIPLE: Setting this keyword will force the return value of the function to
              *always* be a color triple, regardless of color decomposition state or
              visual depth of the machine.

       In addition, any keyword parameter appropriate for PICKCOLORNAME can be used.
       These include BOTTOM, COLUMNS, GROUP_LEADER, INDEX, and TITLE.

 OUTPUT KEYWORD PARAMETERS:

       CANCEL: This keyword is always set to 0, unless that SELECTCOLOR keyword is used.
              Then it will correspond to the value of the CANCEL output keyword in PICKCOLORNAME.

       COLORSTRUCTURE: This output keyword (if set to a named variable) will return a
              structure in which the fields will be the known color names (without spaces)
              and the values of the fields will be either color table index numbers or
              24-bit color values.

       NCOLORS: The number of colors recognized by the program. It will be 88 by default.

 CALLS: ***
	FSC_COLOR_COLOR24, FSC_COLOR_COUNT_ROWS, FSC_COLOR_ERROR_MESSAGE
	PICKCOLORNAME, STR_SEP
 CALLED BY:
	PICKCOLOR, PROGRESSBAR__DEFINE
 COMMON BLOCKS:
       None.

 SIDE EFFECTS:
       None.

 ADDITIONAL PROGRAMS REQUIRED:

   PICKCOLORNAME: This file can be found in the Coyote Library:

             http://www.dfanning.com/programs/pickcolorname.pro

 EXAMPLE:

       To get drawing colors in a device-decomposed independent way:

           axisColor = FSC_COLOR("Green", !D.Table_Size-2)
           backColor = FSC_COLOR('Charcoal", !D.Table_Size-3)
           dataColor = FSC_COLOR('Yellow", !D.Table_Size-4)
           Plot, Findgen(11), Color=axisColor, Background=backColor, /NoData
           OPlot, Findgen(11), Color=dataColor

       To set the viewport color in object graphics:

           theView = Obj_New('IDLgrView', Color=FSC_Color('Charcoal', /Triple))

       To change the viewport color later:

           theView->SetProperty, Color=FSC_Color('Antique White', /Triple)

 MODIFICATION HISTORY:
       Written by: David Fanning, 19 October 2000. Based on previous
          GetColor program.


FSC_DROPLIST $SSW/soho/lasco/idl/dfanning/fsc_droplist.pro
[Previous] [Next]
 NAME:
   FSC_DROPLIST

 PURPOSE:

   The purpose of this compound widget is to provide an alternative
   to the DROPLIST widget offered in the IDL distribution. What has
   always annoyed me about a droplist is that you can't get the current
   "value" of a droplist easily. This compound widget makes this and
   other tasks much easier.

 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:

   General programming.

 CALLING SEQUENCE:

   droplistObj = FSC_Droplist(parent, Title='Animals: ", Value=['Dog'. 'Cat', 'Coyote'], Index=2)

   The return value of the FSC_Droplist (droplistObj in this example) is
   an object reference. Interaction with the droplist will occur through
   object methods.

 INPUT PARAMETERS:

   parent -- The parent widget ID of the compound widget. Required.

 INPUT KEYWORDS:

 Any keyword that is appropriate for the Widget_Droplist function can be used.
 In addition, these keywords are explicitly defined.

   EVENT_FUNC -- Set this keyword to the name of an Event Handler Function.
   EVENT_PRO -- Set this keyword to the name of an Event Handler Procedure.
   FORMAT -- A format specifier for the "format" of the values in the droplist.
   INDEX -- The index number of the current selection.
   SPACES -- A two-element array that indicates the number of blank spaces to be added
             to the the beginning and end of the formatted values. If a single number
             is provided, this number of blank spaces is added to both the beginning
             and the end of the value.
   TITLE -- The title of the droplist widget.
   UNAME -- The user name of the droplist widget. (Only available in IDL 5.2 and higher.)
   UVALUE -- The normal "user value" of the droplist.
   VALUE -- An array of the droplist "selections". May be any data type.

 CALLS: ***
	ERROR_MESSAGE, FSC_DROPLIST::CLEANUP, FSC_DROPLIST::EVENTHANDLER
	FSC_DROPLIST::GETID, FSC_DROPLIST::GETINDEX, FSC_DROPLIST::GETSELECTION
	FSC_DROPLIST::GETUVALUE, FSC_DROPLIST::GETVALUES, FSC_DROPLIST::INIT
	FSC_DROPLIST::RESIZE, FSC_DROPLIST::SENSITIVE, FSC_DROPLIST::SETINDEX
	FSC_DROPLIST::SETSELECTION, FSC_DROPLIST_EVENTS, FSC_DROPLIST_KILL_NOTIFY
	FSC_DROPLIST__DEFINE
 CALLED BY:
	FSC_PSCONFIG__DEFINE, FSC_SURFACE
 COMMON BLOCKS:

   None.

 DEPENDENCIES:

   Requires ERROR_MESSAGE from the Coyote Library..

 EVENT STRUCTURE:

   An event is returned each time the droplist value is changed. The event structure
   is defined like this:

   event = { FSC_DROPLIST_EVENT, $ ; The name of the event structure.
             ID: 0L, $             ; The ID of the compound widget's top-level base.
             TOP: 0L, $            ; The widget ID of the top-level base of the hierarchy.
             HANDLER: 0L, $        ; The event handler ID. Filled out by IDL.
             INDEX: 0L, $          ; The index number of the current selection.
             SELECTION:Ptr_New() $ ; A pointer to the current selection "value".
             SELF:Obj_New() }      ; The object reference of the compound widget.

 PUBLIC OBJECT METHODS:

   GetID -- A function with no arguments that returns the widget identifier
      of the droplist widget.

      droplistID = droplistObj->GetID()

   GetIndex -- A function with no arguments that returns the index
      number of the current droplist selection.

      currentIndex = droplistObj->GetIndex()

   GetSelection -- A function with no arguments that returns the current
      droplist selection.

      currentSelection = droplistObj->GetSelection()

   GetUValue -- A function with no arguments that returns the "user value"
      of the compound widget i.e., the value set with the UVALUE keyword).

      myUValue = droplistObj->GetUValue()

   GetValues -- A function with no arguments that returns the "values" or
      "selections" for the droplist.

      possibleSelections = droplistObj->GetValues()

   Resize -- A procedure that sets the X screen size of the droplist. It is
      defined like this:

      PRO Resize, newSize, ParentSize=parentSize

      The "newSize" keyword is the new X screen size. If this argument is
      missing, the screen X size of the compound widget's parent is used.
      The parentSize keyword is an output keyword that returns the X screen
      size of the compound widget's parent.

      droplistObj->Resize, 400

      Note that not all devices (e.g., X Windows devices) support droplist resizing.

   SetIndex -- A procedure that sets the current droplist selection based on
      the given index. This is equivalent to Widget_Control, droplistID, Set_Droplist_Select=newIndex

      droplistObj->SetIndex, newIndex

   SetSelection -- Whereas a regular droplist widget can only be set by index
      number, this compound widget can also be set by a "selection". The new selection
      can be any data type and corresponds to one of the "values" of the droplist.

      droplistObj->SetSelection, newSelection


 EXAMPLE:

   An example program is provided at the end of the FSC_DROPLIST code. To run it,
   type these commands:

      IDL> .Compile FSC_DROPLIST
      IDL> Example

 MODIFICATION HISTORY:

   Written by: David Fanning, 17 Jan 2000. DWF.
   Added FORMAT and SPACES keywords 28 April 2000. DWF.
   Fixed a small problem with event processing when the EVENT_FUNC keyword
      was used. 29 Dec 2000. DWF.
   Attached the UNAME value to the TLB of the compound widget instead
      of to the droplist widget itself. 11 Jan 2001. DWF.


FSC_FIELD $SSW/soho/lasco/idl/dfanning/fsc_field.pro
[Previous] [Next]
 NAME:
   FSC_FIELD

 PURPOSE:

   The purpose of this compound widget is to provide an alternative
   to the CW_FIELD widget offered in the IDL distribution. One weakness
   of the CW_FIELD compound widget is that the text widgets do not
   look editable to the users on Windows platforms. This program
   corrects that deficiency and adds some features that I think
   will be helpful. For example, you can now assign an event handler
   to the compound widget, ask for positive numbers only, and limit
   the number of digits in a number, or the number of digits to the
   right of a decimal point. The program is written as a widget object,
   which allows the user to call object methods directly, affording
   even more flexibility in use. This program replaces the earlier
   programs FSC_INPUTFIELD and COYOTE_FIELD.

   The program consists of a label widget next to a one-line text widget.
   The "value" of the compound widget is shown in the text widget. If the
   value is a number, it will not be possible (generally) to type
   alphanumeric values in the text widget. String values behave like
   strings in any one-line text widget.

 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:

   General programming.

 TYPICAL CALLING SEQUENCE:

   fieldID = FSC_FIELD(parent, Title="X Size:", Value=256, Object=fieldObject, Digits=3)

 INPUT PARAMETERS:

   parent -- The parent widget ID of the compound widget. Required.

 INPUT KEYWORDS:

   COLUMN        Set this keyword to have the Label widget above the Text widget.
                 The default is to have the Label widget in a row with the Text widget.

   CR_ONLY       Set this keyword if you only want Carriage Return events returned to
                 your event handler. If this keyword is not set, all events are returned.
                 Setting this keyword has no effect unless either the EVENT_PRO or
                 EVENT_FUNC keyword is used.

   DECIMAL       Set this keyword to the number of digits to the right of the decimal
                 point in floating point or double precision numbers. Ignored for STRING values.

   DIGITS        Set this keyword to the number of digits permitted in integer numbers.

   EVENT_FUNC    Set this keyword to the name of an event handler function. If this
                 keyword is undefined and the Event_Pro keyword is undefined,
                 all compound widget events are handled internally and not
                 passed on to the parent widget.

   EVENT_PRO     Set this keyword to the name of an event handler procedure. If this
                 keyword is undefined and the Event_Func keyword is undefined,
                 all compound widget events are handled internally and not
                 passed on to the parent widget.

   FIELDFONT     The font name for the text in the text widget.

   FRAME         Set this keyword to put a frame around the compound widget.

   LABEL_LEFT    Set this keyword to align the text on the label to the left.

   LABEL_RIGHT   Set this keyword to align the text on the label to the right.

   LABELFONT     The font name for the text in the label widget.

   LABELSIZE     The X screen size of the label widget.

   NAME          A string containing the name of the object. The default is ''.

   NOEDIT        Set this keyword to allow no user editing of the input text widget.

   NONSENSITIVE  Set this keyword to make the input text widget non-sensitive.

   POSITIVE      Set this keyword if you want only positive numbers allowed.

   SCR_XSIZE     The X screen size of the compound widget.

   SCR_YSIZE     The Y screen size of the compound widget.

   TITLE         The string text placed on the label widget.

   UNDEFINED     Set this keyword to the value to use for "undefined" values. If
                 not set, then !Value.F_NAN is used for numerical fields and a
                 NULL string is used for string fields. This applies to values
                 obtained with the GET_VALUE method or the GET_VALUE function.

   UVALUE        A user value for any purpose.

   VALUE         The "value" of the compound widget. Any type of integer, floating, or string
                 variable is allowed. The data "type" is determined automatically from the
                 value supplied with this keyword. Be sure you set the type appropriately for
                 your intended use of the value.

   XSIZE         The X size of the text widget in the usual character units.

 OUTPUT KEYWORDS:

   OBJECT        Set this keyword to a named variable to receive the compound widget's
                 object reference. This is required if you wish to call methods on the object.
                 Note that the object reference is also available in the event structure
                 generated by the widget object. Note that the object reference will be
                 necessary if you want to get or set values in the compound widget.

 CALLS: ***
	FSC_FIELD::CLEANUP, FSC_FIELD::GEOMETRY, FSC_FIELD::GETID
	FSC_FIELD::GETLABELSIZE, FSC_FIELD::GETPROPERTY, FSC_FIELD::GETTEXTID
	FSC_FIELD::GETTEXTSIZE, FSC_FIELD::GET_VALUE, FSC_FIELD::INIT
	FSC_FIELD::MOVETAB, FSC_FIELD::RESIZE, FSC_FIELD::RETURNVALUE
	FSC_FIELD::SETEDIT, FSC_FIELD::SETPROPERTY, FSC_FIELD::SETSENSITIVE
	FSC_FIELD::SETTABNEXT, FSC_FIELD::SET_VALUE, FSC_FIELD::TEXTEVENTS
	FSC_FIELD::VALIDATE, FSC_FIELD_ERROR_MESSAGE, FSC_FIELD_EVENT_HANDLER
	FSC_FIELD_EVENT__DEFINE, FSC_FIELD_GET_COMPOUND_WIDGET_VALUE
	FSC_FIELD_KILL_NOTIFY, FSC_FIELD_SET_COMPOUND_WIDGET_VALUE
	FSC_FIELD__DEFINE, STR_SEP
 CALLED BY:
	FSC_PSCONFIG__DEFINE
 COMMON BLOCKS:

   None.

 RESTRICTIONS:

   None.

 EVENT STRUCTURE:

   All events are handled internally unless either the Event_Pro or Event_Func
   keywords are used to assign an event handler to the compound widget. By
   default all events generated by the text widget are passed to the assigned
   event handler. If you wish to receive only Carriage Return events, set the
   CR_Only keyword.

   event = { FSC_FIELD_EVENT, $   ; The name of the event structure.
             ID: 0L, $            ; The ID of the compound widget's top-level base.
             TOP: 0L, $           ; The widget ID of the top-level base of the hierarchy.
             HANDLER: 0L, $       ; The event handler ID. Filled out by IDL.
             OBJECT: Obj_New(), $ ; The "self" object reference. Provided so you can call methods.
             VALUE: Ptr_New(), $  ; A pointer to the widget value.
             TYPE:""              ; A string indicating the type of data in the VALUE field.
           }

   Note that if the field is "empty", the VALUE will be a pointer
   to an undefined variable. You should check this value before you
   use it. You code will look something like this:

     IF N_Elements(*event.value) EQ 0 THEN $
         Print, 'Current Value UNDEFINED.' ELSE $
         Print, 'Current Value: ', *event.value

 GETTING and SETTING VALUES:

   Almost all the properties of the widget can be obtained or set via
   the object's GetProperty and SetProperty methods (described below).
   Traditional compound widgets have the ability to get and set the "value"
   of the compound widget identifier (e.g., fieldID in the calling
   sequence above). Unfortunately, it is impossible to retreive a variable
   in this way when the variable is undefined. In practical terms, this
   means that the undefined variable must be set to *something*. You can
   determine what that something is with the UNDEFINED keyword, or I will set
   it to !VALUES.F_NAN for numerical fields and to the null string for string
   fields. In any case, you will have to check for undefined variables before
   you try to do something with the value. For a numerical field, the code
   might look something like this:

      fieldID = FSC_FIELD(parent, Title="X Size:", Value=256, Object=fieldObject, Digits=3)
      currentValue = fieldObject->Get_Value()
      IF Finite(currentValue) EQ 0 THEN Print, 'Value is Undefined' ELSE Print, currentValue

   Additional examples are provided in the numerical example fields in Example Program below.

   Setting the value of the compound widget is the same as calling the Set_Value
   method on the object reference. In other words, these two statements are equivalent.

        fieldObject->Set_Value, 45.4
        Widget_Control, fieldID, Set_Value=45.4

   The data type of the value is determined from the value itself. Be sure you set it appropriately.

 OBJECT PROCEDURE METHODS:

   GetProperty -- This method allows various properties of the widget to be
       returned via output keywords. The keywords that are available are:

       CR_Only -- A flag, if set, means only report carriage return events.
       DataType -- The data type of the field variable.
       Decimal -- Set this keyword to the number of digits to the right of the decimal
              point in FLOATVALUE and DOUBLEVALUE numbers.
       Digits -- Set this keyword to the number of digits permitted in INTERGERVALUE and LONGVALUE numbers.
       Event_Func -- The name of the event handler function.
       Event_Pro -- The name of the event handler function.
       Name -- A scalar string name of the object.
       NoEdit -- A 1 means the widget is non-editable.
       NonSensitive -- Set this keyword to make the widget non-sensitive.
       Positive -- Indicates if the Positive number flag is set (1) or not (0).
       UValue -- The user value assigned to the compound widget.
       Value -- The "value" of the compound widget.

   MoveTab -- This method moves the focus to the widget identified in the "next" field,
        which must be set with the SetTabNext method. No parameters. Called automatically
        when a TAB character is typed in the text widget.

   Resize -- This method allows you to resize the compound widget's text field.
        The value parameter is an X screen size for the entire widget. The text
        widget is sized by using the value obtained from this value minus the
        X screen size of the label widget.

          objectRef->Resize, screen_xsize_value

   Set_Value -- This method allows you to set the "value" of the field. It takes
       one positional parameter, which is the value.

          objectRef->Set_Value, 5


   SetEdit -- This procedure turns editing on (value of 1) or off (value of 0).

   SetProperty -- This method allows various properties of the widget to be
       set via input keywords. The keywords that are available are:

       CR_Only -- Set this keyword if you only want Carriage Return events.
       Decimal -- Set this keyword to the number of digits to the right of the decimal
              point in FLOATVALUE and DOUBLEVALUE numbers.
       Digits -- Set this keyword to the number of digits permitted in INTERGERVALUE and LONGVALUE numbers.
       Event_Func -- Set this keyword to the name of an Event Function.
       Event_Pro -- Set this keyword to the name of an Event Procedure.
       LabelSize --  The X screen size of the Label Widget.
       Name -- A scalar string name of the object. (default = '')
       NoEdit -- Set this keyword to make the widget non-editable.
       NonSensitive -- Set this keyword to make the widget non-sensitive.
       Positive -- Set this keyword to indicate only positive numbers are allowed.
       Scr_XSize -- The X screen size of the text widget.
       Scr_YSize -- The Y screen size of the text widget.
       Title -- The text to go on the Label Widget.
       UValue -- A user value for any purpose.
       Value -- The "value" of the compound widget.
       XSize -- The X size of the Text Widget.

   SetSensitive -- This procedure turns text widget sensitivity on (value of 1) or off (value of 0).

 OBJECT FUNCTION METHODS:

      Get_Value -- Returns the "value" of the field. No parameters. Will be undefined
          if a "number" field is blank. Should be checked before using:

          IF N_Elements(objectRef->Get_Value()) NE 0 THEN Print, Value is: ', objectRef->Get_Value()

      GetID -- Returns the widget identifier of the compound widget's top-level base.
         (The first child of the parent widget.) No parameters.

      GetLabelSize -- Returns the X screen size of the label widget. No parameters.

      GetTextID -- Returns the widget identifier of the compound widget's text widget.
         No parameters.

      GetTextSize -- Returns the X screen size of the text widget. No parameters.

 PRIVATE OBJECT METHODS:

   Although there is really no such thing as a "private" method in IDL's
   object implementation, some methods are used internally and not meant to
   be acessed publicly. Here are a few of those methods. I list them because
   it may be these private methods are ones you wish to override in subclassed
   objects.

      MoveTab -- This method moves the cursor to end of the text in the widget identified
        by the nexttab field. (This will be set with the SetTabNext method.)

      Text_Events -- The main event handler method for the compound widget. All
        text widget events are processed here.

      ReturnValue -- This function method accepts a string input value and converts
        it to the type of data requested by the user.

      Validate -- This function method examines all text input and removes unwanted
        characters, depending upon the requested data type for the field. It makes it
        impossible, for example, to type alphanumeric characters in an INTEGER field.

 EXAMPLE:

   An example program is provided at the end of the FSC_FIELD code. To run it,
   type these commands:

      IDL> .Compile FSC_Field
      IDL> Example

 MODIFICATION HISTORY:

   Written by: David Fanning, 18 October 2000. Based heavily on an earlier
      FSC_INPUTFIELD program and new ideas about the best way to write
      widget objects.
   Added LABEL_LEFT, LABEL_RIGHT, and UNDEFINED keywords. 29 Dec 2000. DWF.
   Modified the way the value is returned in the GET_VALUE method and the
      GET_VALUE function. Modified Example program to demonstrate. 30 Dec 2000. DWF.
   Added NOEDIT and NONSENSITIVE keywords, with corresponding SETEDIT and SETSENNSITIVE
      methods. 19 Jan 2001. DWF.
   Added GetTextSize and GetLabelSize methods for obtaining the X screen
      size of the text and label widgets, respectively. 30 Jan 2001. DWF.


FSC_FILESELECT $SSW/soho/lasco/idl/dfanning/fsc_fileselect.pro
[Previous] [Next]
 NAME:
   FSC_FILESELECT

 PURPOSE:

   The purpose of this compound widget is to provide a means
   by which the user can type or select a file name. The
   program is written as an "object widget", meaning that
   the guts of the program is an object of class FSC_FILESELECT.
   This is meant to be an example of the obvious advantages of
   writing compound widget programs as objects.

 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:

   General programming.

 CALLING SEQUENCE:

   filenameID = FSC_FileSelect(parent)

 INPUT PARAMETERS:

   parent -- The parent widget ID of the compound widget. Required.

 INPUT KEYWORDS:

   Event_Pro -- The event handler procedure for this compound widget.By default: "".
   Event_Func -- The event handler function for this compound widget. By default: "".

      If neither EVENT_PRO or EVENT_FUNC is defined, program events are handled internally by the compound widget.

   DirectoryName -- The initial name of the directory. By defaut: current directory.
   Filename -- The initial file name in the filename text widget.
   Filter -- The file filter. By default: "*".
   Frame -- Set this keyword for a frame around the compound widget.
   LabelFont -- The font for the label widget. By default: "".
   LabelName -- The text on the label widgt. By default: "Filename: ".
   LabelSize -- The X screen size of the label widget. By default: 0.
   MustExist -- A flag that indicates selected files must exist. By default: 0.
   NoMaxSize -- A flag to prohibit automatic text widget sizing. By default: 0.

     If this keyword is not set, the compound widget will automatically resize itself to
     the largest widget in its parent base widget. It will do this by changing the size of
     the text widgets holding the file and directory names.

   Read -- Set this keyword to have file selection for reading a file. By default: 1.
   SelectDirectory -- The default directory for file selection. In other words, this is the
     default directory for DIALOG_PICKFILE, which is accessed via the BROWSE buttons.
   SelectFont -- The font for the "Browse" button. By default: "".
   SelectTitle -- The title bar text on the file selection dialog. By default: "Select a File...".
   TextFont -- The font for the filename text widget. By default: "".
   UValue -- User value for any purpose.
   Write -- Set this keyword to open a file for writing. By default: 0.
   XSize -- The X size of the text widget holding the filename. By default: StrLen(filename) * 1.5 > 40.

 OUTPUT KEYWORDS:

   ObjectRef -- Assign this keyword to an output variable that will hold the internal object reference.
                With the object reference you can call object methods to easily change many properties of
                the compound widget.

 CALLS: ***
	CW_FILESELECT__DEFINE, FILEPATH, FSC_FILESELECT::CLEANUP
	FSC_FILESELECT::DIRECTORY_EVENTS, FSC_FILESELECT::FILENAME_EVENTS
	FSC_FILESELECT::GETFILENAME, FSC_FILESELECT::GETNOMAXSIZE
	FSC_FILESELECT::GETPROPERTY, FSC_FILESELECT::GETTLB, FSC_FILESELECT::INIT
	FSC_FILESELECT::INSPECT_DIRECTORYNAME, FSC_FILESELECT::INSPECT_FILENAME
	FSC_FILESELECT::LABELSIZE, FSC_FILESELECT::MATCHSIZE
	FSC_FILESELECT::SELECT_DIRECTORY, FSC_FILESELECT::SELECT_FILE
	FSC_FILESELECT::SETFILENAME, FSC_FILESELECT::SETPROPERTY
	FSC_FILESELECT_EVENT_HANDLER, FSC_FILESELECT_GET_VALUE
	FSC_FILESELECT_KILL_NOTIFY, FSC_FILESELECT_NOTIFY_REALIZE
	FSC_FILESELECT_RSTRPOS, FSC_FILESELECT_SET_VALUE, FSC_FILESELECT__DEFINE
	REVERSE
 CALLED BY:
	FSC_PSCONFIG__DEFINE
 COMMON BLOCKS:

   None.

 RESTRICTIONS:

   Probably doesn't work correctly on VMS systems :-( If you can help, please
   contact me. I don't have a VMS system to test on.

 EVENT STRUCTURE:

   All events are handled internally unless either the Event_Pro or Event_Func
   keywords are used to assign an event handler to the compound widget. All events
   generated by the text widgets are passed to the assigned event handler.

   event = { CW_FILESELECT, $     ; The name of the event structure.
             ID: 0L, $            ; The ID of the compound widget's top-level base.
             TOP: 0L, $           ; The widget ID of the top-level base of the hierarchy.
             HANDLER: 0L, $       ; The event handler ID. Filled out by IDL.
             Basename: "", $      ; The base filename without directory specifiers.
             Filename: "", $      ; The fully qualified filename.
             Filter: ::, $        ; The currently active file filter.
             Directory: "", $     ; The name of the current file directory.
           }

 EXAMPLE:

   An example program is provided at the end of the FSC_FILESELECT code. To run it,
   type these commands:

      IDL> .Compile fsc_fileselect
      IDL> Example

   Or, if you want to obtain the object reference, type this:

      IDL> Example, theObject

   Now you can call the object's methods. For example:

      IDL theObject->SetProperty, XSize=150

 GETTING and SETTING VALUES:

   So as not to disrupt the accepted paradigm in using compound widgets, you
   can use the return value of the FSC_FILESELECT function with WIDGET_CONTROL to
   get and set the "value" of the widget.

       Widget_Control, filenameID, Set_Value='C:\RSI\IDL52\DATA\cyclone.dat'

   The program will automatically separate the file name portion of the value
   from the directory portion and put things in the correct text widgets.

   Similarly, you can get the "value" of the widget:

       Widget_Control, filenameID, Set_Value=theValue
       Print, theValue

           C:\RSI\IDL52\DATA\cyclone.dat

   The return value is the fully qualified file path to the file.

 USING OBJECT METHODS to CHANGE PROGRAM PROPERTIES:

   If you obtain the object reference, you have a great deal more control
   over the properties of the compound widget. You obtain the object reference
   by calling the function like this:

      filenameID = FSC_FILESELECT(parent, ObjectRef=theObject)

 OBJECT PROCEDURE METHODS:

   GetProperty -- This method allows various properties of the widget to be
       returned via output keywords. The keywords that are available are:

      DirectoryName -- The current directory.
      Event_Func -- The name of the event handler function for this compound widget.
      Event_Pro -- The name of the event handler procedure for this compound widget.
      Filename -- The current base filename.
      Filter -- The current file filter.
      LabelName -- The text on the label widget.
      LabelSize -- The X screen size of the label widget.
      MustExist -- A flag that indicates selected files must exist to be selected.
      Parent -- The parent widget of the compound widget.
      Read=read -- The file selection for reading flag.
      SelectTitle -- The title bar text on the file selection dialog.
      TLB -- The top-level base of the compound widget.
      UValue -- The user value of the compound widget.
      Write -- The file selection for writing flag.
      XSize -- The X size of the text widget holding the filename.

   LabelSize -- This method makes sure that the directory name and file name labels
      are the same size. Normally, this procedure is called internally. No parameters.

   MatchSize -- This method resizes the compound widget so that it is as long as the
      the longest widget in the parent base widget. This is done automatically upon
      realization unless the NOMAXSIZE keyword is set. The method aids in writing
      resizeable widget programs.

   SetProperty -- This method allows various properties of the widget to be
       set via input keywords. The keywords that are available are:

      DirectoryName -- The current directory.
      Event_Func -- The name of the event handler function for this compound widget.
      Event_Pro -- The name of the event handler procedure for this compound widget.
      Filename -- The current base filename.
      Filter -- The current file filter.
      LabelName -- The text on the label widget.
      LabelSize -- The X screen size of the label widget.
      MustExist -- A flag that indicates selected files must exist to be selected.
      Read -- The file selection for reading flag.
      SelectTitle -- The title bar text on the file selection dialog.
      UValue -- The user value of the compound widget.
      Write -- The file selection for writing flag.
      XSize -- The X size of the text widget holding the filename.

 OBJECT FUNCTION METHODS:

      GetFileName -- Returns the fully qualified filename. No parameters.

      GetTLB -- Returns the top-level base ID of the compound widget. No Parameters.

      Inspect_DirectoryName -- Inspects the directory name for correctness. Requires one positional parameter.

        directoryName -- The name of the directory from the directory text widget.
        textSelection -- The current text selection position.

        At the moment all this does is remove any blank characters from either
        end of the directory name and makes sure the last character of the directory
        name does not end in a subdirectory specifier (except for VMS).

     Inspect_Filename -- Inspects the file name for correctness. Requires one positional parameter.

        filename -- The name of the file from the filename text widget.
        textSelection -- The current text selection position.

        At the moment all this does is remove any blank characters from either
        end of the file name

 MODIFICATION HISTORY:

   Written by: David Fanning, 21 NOV 1999.
   Fixed bug in File Name selection button. 18 MAR 2000. DWF.
   Fixed an error in which directory the Browse buttons should start
       searching. 29 SEP 2000. DWF.
   Previously returned events only for typing in text widgets. Now
       Browse button events are also returned. 29 SEP 2000. DWF.
   Fixed a bug in setting the file filter. 29 SEP 2000. DWF.
   Modified the way the directory name is specified. 18 JAN 2001. DWF.


FSC_INPUTFIELD $SSW/soho/lasco/idl/dfanning/fsc_inputfield.pro
[Previous] [Next]
 NAME:
   FSC_INPUTFIELD

 PURPOSE:

   The purpose of this compound widget is to provide an alternative
   to the CW_FIELD widget offered in the IDL distribution. What has
   always bothered me about CW_FIELD is that the text widgets do not
   look editable to the users on Windows platforms. This program
   corrects that deficiency and adds some features that I think
   would be helpful. For example, you can now assign an event handler
   to the compound widget. The program is written entirely as an object.
   A companion program, COYOTE_FIELD, has much the same functionality,
   but is written as a traditional compound widget. The point of writing
   the same program in two different ways is to give you the opportunity
   to compare and contrast the two methods. I personally think there
   is no substitute for the power of object programs. :-)

 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:

   General programming.

 CALLING SEQUENCE:

   objectRef = FSC_INPUTFIELD(parent, Title='X Size: ", Value=256, /IntegerValue)

 INPUT PARAMETERS:

   parent -- The parent widget ID of the compound widget. Required.

 INPUT KEYWORDS:

   Column -- Set this keyword to have the Label Widget above the Text Widget.
   CR_Only -- Set this keyword if you only want Carriage Return events. If
              this keyword is not set, all events are returned. No events
              are returned unless the EVENT_PRO or EVENT_FUNC keywords are used.
   Decimal -- Set this keyword to the number of digits to the right of the decimal
              point in FLOATVALUE and DOUBLEVALUE numbers.
   Digits -- Set this keyword to the number of digits permitted in INTERGERVALUE and LONGVALUE numbers.
   DoubleValue -- Set this keyword if you want DOUBLE values returned.
   Event_Func -- Set this keyword to the name of an Event Function. If this
                 keyword is undefined and the Event_Pro keyword is undefined,
                 all compound widget events are handled internally and not
                 passed on to the parent widget.
   Event_Pro -- Set this keyword to the name of an Event Procedure. If this
                keyword is undefined and the Event_Func keyword is undefined,
                all compound widget events are handled internally and not
                passed on to the parent widget.
   FieldFont -- The font name for the text in the Text Widget.
   FloatValue -- Set this keyword for FLOAT values.
   Frame -- Set this keyword to put a frame around the compound widget.
   IntegerValue -- Set this keyword for INTEGER values.
   LabelFont -- The font name for the text in the Label Widget.
   LabelSize -- The X screen size of the Label Widget.
   LongValue -- Set this keyword for LONG values.
   Name -- A scalar string name of the object. (default = '')
   Positive -- Set this keyword if you want only positive numbers allowed.
   Row=row -- Set this keyword to have the Label beside the Text Widget. (The default.)
   Scr_XSize -- The X screen size of the compound widget.
   Scr_YSize -- The Y screen size of the compound widget.
   StringValue -- Set this keyword for STRING values. (The default.)
   Title -- The text to go on the Label Widget.
   UValue -- A user value for any purpose.
   Value -- The "value" of the compound widget.
   XSize -- The X size of the Text Widget.

 CALLS: ***
	FSC_FIELD__DEFINE, FSC_INPUTFIELD::CLEANUP, FSC_INPUTFIELD::GEOMETRY
	FSC_INPUTFIELD::GETID, FSC_INPUTFIELD::GETLABELSIZE
	FSC_INPUTFIELD::GETPROPERTY, FSC_INPUTFIELD::GETTEXTID
	FSC_INPUTFIELD::GETTEXTSIZE, FSC_INPUTFIELD::GET_VALUE, FSC_INPUTFIELD::INIT
	FSC_INPUTFIELD::MOVETAB, FSC_INPUTFIELD::RESIZE, FSC_INPUTFIELD::RETURNVALUE
	FSC_INPUTFIELD::SETPROPERTY, FSC_INPUTFIELD::SETTABNEXT
	FSC_INPUTFIELD::SET_VALUE, FSC_INPUTFIELD::TEXTEVENTS
	FSC_INPUTFIELD::VALIDATE, FSC_INPUTFIELD_EVENT_HANDLER
	FSC_INPUTFIELD_KILL_NOTIFY, FSC_INPUTFIELD__DEFINE
 COMMON BLOCKS:

   None.

 RESTRICTIONS:

   None.

 EVENT STRUCTURE:

   All events are handled internally unless either the Event_Pro or Event_Func
   keywords are used to assign an event handler to the compound widget. By
   default all events generated by the text widget are passed to the assigned
   event handler. If you wish to receive only Carriage Return events, set the
   CR_Only keyword.

   event = { FSC_FIELD, $         ; The name of the event structure.
             ID: 0L, $            ; The ID of the compound widget's top-level base.
             TOP: 0L, $           ; The widget ID of the top-level base of the hierarchy.
             HANDLER: 0L, $       ; The event handler ID. Filled out by IDL.
             ObjRef: Obj_New(), $ ; The "self" object reference. Provided so you can call methods.
             Value: Ptr_New(), $  ; A pointer to the widget value.
             Type:""              ; A string indicating the type of data in the VALUE field.
           }                      ; Values are "INT", "LONG", "FLOAT", "DOUBLE", or "STRING".

 GETTING and SETTING VALUES:

   Almost all the properties of the widget can be obtained or set via
   the object's GetProperty and SetProperty methods (described below).
   But since traditional compound widgets have the ability to get and
   set the value of the compound widget, this capability is implemented
   as special methods.

   To get the value of the field, do this: value = objectRef->Get_Value()
   To set the value of the field, so this: objectRef->Set_Value, value, /IntegerValue

   The proper keyword should be used to set the data type of the value. If a keyword
   is not used, the data type is determined from the value itself.

 OBJECT PROCEDURE METHODS:

   GetProperty -- This method allows various properties of the widget to be
       returned via output keywords. The keywords that are available are:

       CR_Only -- A flag, if set, means only report carriage return events.
       DataType -- The data type of the field variable.
       Decimal -- Set this keyword to the number of digits to the right of the decimal
              point in FLOATVALUE and DOUBLEVALUE numbers.
       Digits -- Set this keyword to the number of digits permitted in INTERGERVALUE and LONGVALUE numbers.
       Event_Func -- The name of the event handler function.
       Event_Pro -- The name of the event handler function.
       Positive -- Indicates if the Positive number flag is set (1) or not (0).
       UValue -- The user value assigned to the compound widget.
       Value -- The "value" of the compound widget.
     Name -- A scalar string name of the object.

   MoveTab -- This method moves the focus to the widget identified in the "next" field,
        which must be set with the SetTabNext method. No parameters. Called automatically
        when a TAB character is typed in the text widget.

   Resize -- This method allows you to resize the compound widget's text field.
        The value parameter is an X screen size for the entire widget. The text
        widget is sized by using the value obtained from this value minus the
        X screen size of the label widget.

          objectRef->Resize, screen_xsize_value

   Set_Value -- This method allows you to set the "value" of the field. It takes
       one positional parameter, which is the value.

          objectRef->Set_Value, 5

       Keywords available are these to set the type of the data. If keywords
       are not used, the data type is determined from the value.

       DoubleValue -- Set this keyword if you want DOUBLE values returned.
       FloatValue -- Set this keyword for FLOAT values.
       IntegerValue --  Set this keyword for INTEGER values.
       LongValue -- Set this keyword for LONG values.
       StringValue -- Set this keyword for STRING values. (The default.)

   SetProperty -- This method allows various properties of the widget to be
       set via input keywords. The keywords that are available are:

       CR_Only -- Set this keyword if you only want Carriage Return events.
       Decimal -- Set this keyword to the number of digits to the right of the decimal
              point in FLOATVALUE and DOUBLEVALUE numbers.
       Digits -- Set this keyword to the number of digits permitted in INTERGERVALUE and LONGVALUE numbers.
       DoubleValue -- Set this keyword if you want DOUBLE values returned.
       Event_Func -- Set this keyword to the name of an Event Function.
       Event_Pro -- Set this keyword to the name of an Event Procedure.
       FloatValue -- Set this keyword for FLOAT values.
       IntegerValue --  Set this keyword for INTEGER values.
       LabelSize --  The X screen size of the Label Widget.
       LongValue -- Set this keyword for LONG values.
       Name -- A scalar string name of the object. (default = '')
       Positive -- Set this keyword to indicate only positive numbers are allowed.
       Scr_XSize -- The X screen size of the text widget.
       Scr_YSize -- The Y screen size of the text widget.
       StringValue -- Set this keyword for STRING values. (The default.)
       Title -- The text to go on the Label Widget.
       UValue -- A user value for any purpose.
       Value -- The "value" of the compound widget.
       XSize -- The X size of the Text Widget.

 OBJECT FUNCTIONS METHODS:

      Get_Value -- Returns the "value" of the field. No parameters. Will be undefined
          if a "number" field is blank. Should be checked before using:

          IF N_Elements(objectRef->Get_Value()) NE 0 THEN Print, Value is: ', objectRef->Get_Value()

      GetID -- Returns the widget identifier of the compound widget's top-level base.
         (The first child of the parent widget.) No parameters.

      GetLabelSize -- Returns the X screen size of the label widget. No parameters.

      GetTextID -- Returns the widget identifier of the compound widget's text widget.
         No parameters.

      GetTextSize -- Returns the X screen size of the text widget. No parameters.

 PRIVATE OBJECT METHODS:

   Although there is really no such thing as a "private" method in IDL's
   object implementation, some methods are used internally and not meant to
   be acessed publicly. Here are a few of those methods. I list them because
   it may be these private methods are ones you wish to override in subclassed
   objects.

      MoveTab -- This method moves the cursor to end of the text in the widget identified
        by the nexttab field. (This will be set with the SetTabNext method.)

      Text_Events -- The main event handler method for the compound widget. All
        text widget events are processed here.

      ReturnValue -- This function method accepts a string input value and converts
        it to the type of data requested by the user.

      Validate -- This function method examines all text input and removes unwanted
        characters, depending upon the requested data type for the field. It makes it
        impossible, for example, to type alphanumeric characters in an INTEGER field.

 EXAMPLE:

   An example program is provided at the end of the FSC_INPUTFIELD code. To run it,
   type these commands:

      IDL> .Compile FSC_InputField
      IDL> Example

 MODIFICATION HISTORY:

   Written by: David Fanning, 23 NOV 1999.
   Added DECIMAL and DIGITS keywords, 2 Jan 2000, DWF.
   Changed the calling sequence to that of a function rather than an object
      creation call. This is more familiar to users of compound widgets. 4 Jan 00. DWF.
   Added GetID and Resize methods. 7 Jan 00. DWF.
   Added the Positive keyword and functionality. 12 Jan 00. DWF
   Modified (slightly) the behavior on deleting characters. 12 Jan 00. DWF.
   If a number field is blank, the Get_Value method will now return an undefined variable.
      Be sure you check this value before you use it for something! 17 Jan 00. DWF.
   Fixed a small typo: "aveDecimal" to "haveDecimal". 10 March 2000. DWF.
   Added the ability to tab between FSC_INPUTFIELD widgets with the SetTabNext,
      MoveTab, and GetTextID methods. 31 July 2000. DWF.
   Added NAME field property, a scalar string name for the object 2 AUG 2000 BT
   Added ObjRef field to the FSC_FIELD event structure and added field selection
      for the TAB events added 31 July. 7 AUG 2000. DWF
   Added GetTextSize and GetLabelSize methods for obtaining the X screen
      size of the text and label widgets, respectively. 30 Jan 2001. DWF.


FSC_PLOTWINDOW $SSW/soho/lasco/idl/dfanning/fsc_plotwindow.pro
[Previous] [Next]
 NAME:
   FSC_PLOTWINDOW

 PURPOSE:

   The purpose of this compound widget is to create a resizeable
   "plot window" inside a larger "page window". I'm not sure it
   has any value except as a utility routine for the PostScript
   configuration object FSC_PSCONFIG__DEFINE, but it's a neat
   program anyway. :-)

 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:

   Utility routine for FSC_PSCONFIG__DEFINE.

 MODIFICATIONS:

   Written by David Fanning, 31 January 2000.
   Fixed a small bug that prevented it working on Macintosh computers. 26 Sept 2000. DWF.
 CALLS:
 CALLED BY
	FSC_PSCONFIG__DEFINE


FSC_PSCONFIG__DEFINE $SSW/soho/lasco/idl/dfanning/fsc_psconfig__define.pro
[Previous] [Next]
 NAME:
   FSC_PSCONFIG__DEFINE

 PURPOSE:

   The purpose of this program is to implement an object that
   can keep track of--and allow the user to change--the current
   configuration of 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/

 CATEGORY:

   General programming.

 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

   Or, if you would prefer, you can download a self-contained PDF file:

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

 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.

 CALLS: ***
	FILEPATH, FSC_DROPLIST, FSC_FIELD, FSC_FILESELECT, FSC_PLOTWINDOW
	FSC_PSCONFIG::ACCEPT, FSC_PSCONFIG::CANCEL, FSC_PSCONFIG::CLEANUP
	FSC_PSCONFIG::CLEARSTYLES, FSC_PSCONFIG::COLOR
	FSC_PSCONFIG::CONSTRUCT_FULL_FILENAME, FSC_PSCONFIG::DEFAULTLIST
	FSC_PSCONFIG::DEFAULTS, FSC_PSCONFIG::ENCAPSULATE, FSC_PSCONFIG::EUROSTYLE
	FSC_PSCONFIG::FONTTYPE, FSC_PSCONFIG::GETKEYWORDS, FSC_PSCONFIG::GETNAME
	FSC_PSCONFIG::GETPROPERTY, FSC_PSCONFIG::GETSIZES, FSC_PSCONFIG::GUI
	FSC_PSCONFIG::GUIFONT, FSC_PSCONFIG::HELP, FSC_PSCONFIG::INIT
	FSC_PSCONFIG::ORIENTATION, FSC_PSCONFIG::PAGEDIMENSIONS
	FSC_PSCONFIG::PAGESIZE, FSC_PSCONFIG::PLOTWINDOW, FSC_PSCONFIG::REVERT
	FSC_PSCONFIG::SAVECONFIGURATION, FSC_PSCONFIG::SETDEFAULT
	FSC_PSCONFIG::SETPROPERTY, FSC_PSCONFIG::STATUSLIGHT
	FSC_PSCONFIG::STYLEBUTTONS, FSC_PSCONFIG::UNITS, FSC_PSCONFIG::UPDATEDISPLAY
	FSC_PSCONFIG::UPDATEFONTSTYLE, FSC_PSCONFIG::UPDATESIZES
	FSC_PSCONFIG::WINDOWSIZE, FSC_PSCONFIG_CENTERTLB, FSC_PSCONFIG_ERROR_MESSAGE
	FSC_PSCONFIG_EVENTS, FSC_PSCONFIG_HELP_EVENT, FSC_PSCONFIG_NORMALIZE
	FSC_PSCONFIG_RESTORE_DEVICE, FSC_PSCONFIG_RSTRPOS, GET_SCREEN_SIZE, REVERSE
	STR_SEP, XMANAGER, XREGISTERED
 EXAMPLE:

   A simple sequence of using the object would look something like this:

     psObject = Obj_New("FSC_PSCONFIG")
     psObject->GUI
     psKeywords = psObject->GetKeywords()
     thisDevice = !D.Name
     Set_Plot, 'PS'
     Device, _Extra=psKeywords
     TVImage, image
     Device, /Close_File
     Set_Plot, thisDevice
     Obj_Destroy, psObject

  Note that the object can also be called from the PS_CONFIG interface:

     psKeywords = PSConfig()

 OTHER PROGRAMS NEEDED:

   The following programs are required to run this one:

     fsc_droplist.pro
     fsc_fileselect.pro
     fsc_field.pro
     fsc_plotwindow

 MODIFICATIONS:

   Written by David Fanning, 31 January 2000.
   Added capability to call GUI methods when the current graphics device
      doesn't support windows. Device is restored when the GUI exits. 11 May 2000. DWF.
   Changed the default value for the Color keyword to 1. 16 May 2000. DWF.
   Fixed a bug where filename changed when switching Setups. 8 AUG 2000. DWF.
   Fixed a bug when saving setup in Landscape mode. 8 AUG 2000. DWF.
   Added the ability to Get and Set the object's name via the SetProperty
      and a very abbreviated GetProperty method. Also added a GetName method. 26 SEP 2000. DWF.
   Fixed a problem in which the proper configuration was not restored if in Landscape mode. 20 Nov 2000. DWF.
   Made a number of modifications at the request of Martin Schultz. 4 Dec 2000. DWF.
   Fixed a bug when setting file  and directory names with the SetProperty method. 18 Dec 2000. DWF.
   Fixed a small problem in initializing the page size properly. 3 Jan 2001. DWF.
   Corrected a problem that resulted from a change to FSC_DROPLIST. 6 Jan 2001. DWF.
   Added the ability to restore the font type instead of always reverting to !P.Font. 7 Jan 2001. DWF.
   Increased the length of the file/directory name fields. 7 Jan 2001. DWF.
   Fixed another problem with Landscape mode interacting with A4 paper size. 7 Jan 2001. DWF.


FSC_SURFACE $SSW/soho/lasco/idl/dfanning/fsc_surface.pro
[Previous] [Next]
 NAME:
       FSC_SURFACE

 PURPOSE:

       The purpose of this program is to demonstrate how to
       create a rotating surface using object graphics.

 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:

       Widgets, Object Graphics.

 CALLING SEQUENCE:

       FSC_SURFACE, data, x, y

 REQUIRED INPUTS:

       None. Fake data will be used if no data is supplied in call.

 OPTIONAL INPUTS

       data: A 2D array of surface data.

       x: A vector of X data values.

       y: A vector of Y data values.

 OPTIONAL KEYWORD PARAMETERS:

       COLORTABLE: Set this keyword to a number between 0 and 40 to select one
       of the pre-selected IDL color tables for elevation shading.

       ELEVATION_SHADING: Set this keyword to put elevation shading into effect.

       EXACT: Set this keyword to a one-, two-,or three-element array to set exact axis
       scaling for the X, Y, and Z axes, respectively. If Exact is a one-element array,
       all three axes are set to the same value. For example, to set the X axis to
       exact scaling and the Y and Z axes to normal scaling, type:

           IDL> FSC_Surface, Exact=[1,0,0]

       _EXTRA: This keyword collects otherwise undefined keywords that are
        passed to the IDLgrSURFACE initialization routine.

       GROUP_LEADER: The group leader for this program. When the group leader
       is destroyed, this program will be destroyed.

       LANDSCAPE: Set this keyword if you are printing in landscape mode. The
       default is Portrait mode. The Landscape keyword on the PRINTER object
       is set, but not all printers will honor this keyword setting. If yours
       does not, set Landscape mode in the Printer Setup dialog.

       SHADED: Set this keyword to set up a shaded surface plot rather than a wire
       mesh surface, which is the default.

       TITLE:  A string used as the title of the plot.

       XTITLE: A string used as the X title of the plot.

       YTITLE: A string used as the Y title of the plot.

       ZTITLE: A string used as the Z title of the plot.


 CALLS: ***
	CW_LIGHT_CONTROL, CW_LIGHT_CONTROL_EVENTS, CW_LIGHT_CONTROL_INTENSITY_EVENTS
	DIST, FSC_DROPLIST, FSC_SURFACE_ASPECT, FSC_SURFACE_CLEANUP
	FSC_SURFACE_DRAW_EVENTS, FSC_SURFACE_ELEVATION_COLORS
	FSC_SURFACE_ELEVATION_SHADING, FSC_SURFACE_EXIT, FSC_SURFACE_LIGHT_CONTROLS
	FSC_SURFACE_LIGHT_CONTROLS_EVENT, FSC_SURFACE_LIGHT_DONE, FSC_SURFACE_OUTPUT
	FSC_SURFACE_PRINTING, FSC_SURFACE_PROPERTIES, FSC_SURFACE_RESIZE
	FSC_SURFACE_STYLE, LOADDATA, NORMALIZE, PICKCOLOR, WRITE_GIF, XCOLORS [1]
	XCOLORS [2], XCOLORS [3], XCOLORS [4], XCOLORS [5], XMANAGER
 COMMON BLOCKS:

       None.

 SIDE EFFECTS:

       None.

 DEPENDENCIES:

       This program requires the following additional files from the Coyote Library:

          error_message.pro
          fsc_droplist.pro
          getcolor.pro
          loaddata.pro
          pickcolor.pro
          xcolors.pro

 EXAMPLE:

       To use this program with your data, type:

        IDL> FSC_Surface, data

 MODIFICATION HISTORY:

       Written by David Fanning, 8 June 97.
       Made axis scaling more robust. 17 Sept 97. DWF.
       Minor modifications to incorporate better understanding
          of how objects work. 4 Oct 97. DWF.
       Fixed error cleaning up all of my created objects. 12 Feb 98. DWF.
       Changed IDLgrContainer to IDL_Container to fix 5.1 problems. 20 May 98. DWF.
       Fixed mis-spelling of HELVETICA14. 29 June 98. DWF.
       Added the EXACT keyword to the X and Y axes to force axis ranging. 27 July 98. DWF
       Added the ability to select rendering "drag" quality for faster operation. 22 Aug 98. DWF.
       Added ability to get non-exact axis scaling. 12 May 99. DWF.
       Improved documentation and readability of code. 12 May 99. DWF.
       Added VECTOR and LANDSCAPE keywords and improved printing capability. 16 Feb 2000. DWF.
       Added different lights and a Light Controller option. 28 April 2000. DWF.
       Added elevation shading. 8 May 2000. DWF.
       Removed VECTOR keyword. Replaced with VECTOR/BITMAP/COLOR Print buttons. 8 May 2000. DWF.
       Added HIDDEN_LINE keyword. 8 May 2000. DWF.
       Added EXACT keyword extensions and changed name from XSURFACE to FSC_SURFACE. 11 May 2000. DWF.
       Made change to Light Control code to accomodate FSC_DROPLIST changes. 6 Jan 2001. DWF.
       Removed unused color table vector code from a LONG time ago. 17 Jan 2001. DWF.


FSC_WINDOW $SSW/soho/lasco/idl/dfanning/fsc_window.pro
[Previous] [Next]
 NAME:
       FSC_WINDOW

 PURPOSE:

       This routine implements a "smart" resizeable graphics window.
       It is used as a wrapper for built-in IDL graphics procedures
       such as SURFACE, CONTOUR, PLOT, SHADE_SURF, etc. In additon,
       it can be used to display any user-written graphics procedure
       so long as that procedure follows three simple rules: (1) It
       does not open it's own graphics windows, (2) It is defined with
       no more than three positional arguments (an unlimited number
       of keyword arguments are allowed), and (3) It uses no device-
       specific commands, such as "WSet", "Device, Decomposed=1", etc.

       Keyword arguments permit the window to have its own portion
       of a color table and to be able to change the colors loaded in
       that portion of the color table. Colors are updated
       automatically on both 8-bit and 24-bit color displays. In
       addition, the window colors will "protect" themselves. I mean
       by this that the window will re-load its own colors into the
       color table when the window gains keyboard focus. This
       prevents other applications from changing the colors used to
       display data in this window. (This is an issue mainly in
       IDL 5 applications where widget applications can run
       concurrently with commands from the IDL command line.)

       Keyword arguments also permit the window to create output
       files of its contents. These files can be color and
       gray-scale PostScript, and color BMP, GIF, JPEG, PICT, PNG,
       TIFF, or JPEG files. Output can also be sent directly to
       the default printer.

 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:

       Widgets, Graphics.

 CALLING SEQUENCE:

       FSC_WINDOW, command, P1, P2, P3

 REQUIRED INPUTS:

       COMMAND: The graphics procedure command to be executed. This parameter
       must be a STRING and the the command must be a procedure. Examples
       are 'SURFACE', 'CONTOUR', 'PLOT', etc.

 OPTIONAL INPUTS:

       P1: The first positional parameter appropriate for the graphics
           command.

       P2: The second positional parameter appropriate for the graphics
           command.

       P3: The third positional parameter appropriate for the graphics
           command.

 INPUT KEYWORD PARAMETERS:

       WBACKGROUND: The background color index for the window. Setting this color
           along with the WERASEIT keyword causes the window to be erased with
           this color. Set to !P.Background by default.

       WERASEIT: Setting this keyword "erases" the contents of the current
       graphics window before re-executing the graphics command. For example,
       this keyword might need to be set if the graphics "command" is TVSCL.
       The default is to NOT erase the display before reissuing the graphics
       command.

       _EXTRA: This keyword forms an anonymous structure of any unrecognized
       keywords passed to the program. The keywords must be appropriate
       for the graphics command being executed.

       GROUP_LEADER: The group leader for this program. When the group leader
       is destroyed, this program will be destroyed.

       WTITLE: This is the window title. It is the string "COMMAND Window (1)"
       by default, where COMMAND is the input parameter. And the number
       (1 in this case) is the window index number of the draw widget.

       WXPOS: This is the initial X offset of the window. Default is to
       position the window in the approximate middle of the display.

       WYPOS: This is the initial Y offset of the window. Default is to
       position the window in the approximate middle of the display.

       WPOSTSCRIPT: Set this keyword to 1 to include a PostScript File button under
       the Save As button. This keyword is set automatically on 24-bit display
       devices. To turn the button OFF on 24-bit devices, set the keyword value to 0.
       There is no guaranteed way to create perfect PostScript output when the program
       is run on 8-bit displays. This will depend entirely on how the "graphics command"
       is written. Hence the button is turned off automatically on 8-bit devices.

       WPRINT: Set this keyword to 1 to include a Print button under the File button.
       This keyword is set automatically on 24-bit display devices. To turn the
       button OFF on 24-bit devices, set the keyword value to 0. There is no
       guaranteed way to print output correctly when the program is run on
       8-bit displays. This will depend entirely on how the "graphics command"
       is written. Hence the button is turned off automatically on 8-bit devices.

       WXSIZE: This is the initial X size of the window. Default is 400
       pixels.

       WYSIZE: This is the initial Y size of the window. Default is 400
       pixels.

       WCOLORS: Using this keyword adds a "Colors..." button to the
       "File" menu. Set this keyword to the number of colors available
       in the window and the starting index of the first color. For example,
       to allow the window access to 100 colors, starting at color index 50
       (i.e., color indices 50 to 149), use WColors=[100, 50]. If you use the
       keyword syntax "/WColors", all the colors available will be used, not just
       one color. If the keyword is set to a scalar value greater than 1, the
       starting color index is set to 0. The default value for this keyword
       is [(!D.Table_Size, 0].

 CALLS: ***
	CENTERTLB, DIST, ERROR_MESSAGE, FSC_WINDOW_CLEANUP, FSC_WINDOW_COLORS
	FSC_WINDOW_COMMAND__DEFINE, FSC_WINDOW_EXAMPLE, FSC_WINDOW_EXECUTE
	FSC_WINDOW_POSTSCRIPT, FSC_WINDOW_PRINT, FSC_WINDOW_QUIT, FSC_WINDOW_SAVEAS
	FSC_WINDOW_TLB_EVENTS, FTVREAD, LOADCT, PSWINDOW, XCOLORS [1], XCOLORS [2]
	XCOLORS [3], XCOLORS [4], XCOLORS [5], XMANAGER
 COMMON BLOCKS:

       None.

 RESTRICTIONS:

       This program requires additional programs from the Fanning
       Software Consulting library:

       CENTERTLB.PRO
       ERROR_MESSAGE.PRO
       FSC_PSCONFIG__DEFINE.PRO
       FSC_DROPLIST.PRO
       FSC_FILESELECT.PRO
       FSC_INPUTFIELD.PRO
       FSC_PLOTWINDOW.PRO
       PSCONFIG.PRO
       PSWINDOW.PRO
       fTVREAD.PRO
       XCOLORS.PRO

       If the "command" program requires keywords that are also keywords
       to FSC_WINDOW, then you must use the keyword twice on the command line.

 EXAMPLE:

       If the program is called with no parameters whatsoever, it will load
       example data.

       IDL> FSC_WINDOW

 MODIFICATION HISTORY:

       Written by: David Fanning, Sept 2000. Based on previous XWINDOW program.
       Whoops! Left out the line to resize draw widgets on UNIX machines. Fixed. 12 Oct 2000, DWF.
       Removed support for GIF files for IDL 5.4. 18 Jan 2001. DWF.
	2/5/04, nbr - 	Change procedure calls for pros renamed for SSW 
			compatability


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

   Purpose: vector version of fstat

   Input Paramters:
      low  (optional) -  first lun to check - default is free_lun low limit
      high (optional) -  last lun to check  - default is free_lun high limit
      name		- only return records with mathcing file names 
 			  (returns -1 if file not open on any unit)

   Optional Keyword Parameters:
      all -  if set, use entire lun range (starting at lun=1)
      name - if set, only record with specified file name (if exists)

   Output: function returns vector of fstat structures

   Calling Sequence:
      fstat=fstats( [low, high, /all, name=name])

 CALLED BY:
	mtcmd [1], mtcmd [2]
   History: (SLF)  2-jun-93
            (SLF) 30-jun-94 Implement name function


ft_mng_hm $SSW/soho/sumer/idl/fits/fitssrc/ft_mng_hm.pro
[Previous] [Next]
#Function name    : FT_MNG_HM                                                #
#                                                                            #
#Author           : Terry KUCERA                                             #
#Language         : IDL                                                      #
#Purpose          : Call FT_ADD_HM to add information from new files to      #
#			history memory fits files                             #
#Creation date    : 11-MAR-1996                                              #
#Update           : 19-MAR-1996                                              #
#External modules :                                                          #
#                                                                            #
#Call sequence    : FT_MNG_HM                                                #
#                                                                            #
# Arguments       :                                                          #
# Inputs:         : None                                                     #
#                                                                            #
# Ouputs          : None                                                     #
#                                                                            #
# Description     : This routine determines which files have not been added   #
#		     to the HM database and gives the names of those files    #
#		     to FT_ADD_HM. The name of the last file added is         #
#                   stored for future use by this program.                   #
#                                                                            #
# Calls           : FT_ADD_HM, BREAK_FILE                                    #
 CALLS:


ftp_copy [2] $SSW/soho/mdi/idl_old/gen/ys_util/ftp_copy.pro
[Previous] [Next]
NAME:
	ftp_copy
PURPOSE:
	To build an FTP command and execute it from IDL (Default=PUT)

 CALLING SEQUENCE:
       ftp_copy, files, node [,user,passwd,direct,/anon, /get]
       ftp_copy, node, subdir='remote_sub', /anon, /list, dirlist=dirlist

 Calling Examples:
       ftp_copy, node, 'pub/yohkoh', /list, dirlist=dirlist, /anon  
         (return directory listing <dirlist> from <node>, anonymous ftp)
       ftp_copy, files,  node, 'pub/yohkoh', /get, /anon  
          (get <files> from <node> in subdirectory pub/yohkoh, anonmous ftp)

INPUT:
	files	- The file names to be copied.  For /GET they are the
		  file names on the remote system
	node	- The node name or number
	user	- The user name	(will use 'ftp' if /anon is set)
	passwd	- The password  (will use USER@LOCAL if /anon is set)
OPTIONAL INPUT:
	dir	- The remote directory
 CALLS: ***
	BREAK_FILE [1], BREAK_FILE [2], BREAK_FILE [3], CONCAT_DIR [1], CONCAT_DIR [2]
	CONCAT_DIR [3], FILE_EXIST [2], break_file [4], concat_dir [4], file_append [1]
	file_append [2], file_exist [1], file_exist [3], get_host [1], get_host [2]
	get_logenv [1], get_logenv [2], get_user [1], get_user [2], is_alive [1]
	is_alive [2], rd_tfile [1], rd_tfile [2]
 CALLED BY:
	NET_DIR_DIFF, daily_forecast [2], ftp_copy2sites, ftp_copy_new, get_mk3 [1]
	get_mk3 [2], get_selsis, ksc_commands, msok_copy_jpg, msok_poi_copy [1]
	msok_poi_copy [2], nobeyama_update, selsis_copy [1], selsis_copy [2]
	selsisi_copy, timeline, topsdb [1], topsdb [2], web_seq
OPTIONAL KEYWORD INPUT:
	get	- If set, do a "get" instead of a "put"
	outfil	- The file name can be changed by passing the output file
		  name. The default is to make it the same as the input.
		  This cannot be used with the OUTDIR option.
	outdir	- The local directory (generally used with a "get"
	ftp_log	- The name of the log file that the FTP results should be 
		  written to
	logappend - If set, then append the message to the "ftp_log" file
       noftp   -  If set, generate ftp script but dont spawn it
       ftp_file - Name of ftp script file (default is $HOME/ftp_copy.ftp)
       anonymous - If set, use anon ftp protocal for user and password
		    (in this case, third parameter is used for DIR if present)
       ascii/binary - if set, specifies transfer mode (default is binary)
       list -  switch, if set, do directory listing (return via DIRLIST keyword)
       dirlist - (OUTPUT) - return remoted directory listing if /LIST is set
       status -  (OUTPUT) - boolean success vector, 1 element per file
                           (currently, only for /get)

OPTIONAL KEYWORD OUTPUT:
	ftp_results - Any messages that the FTP commands produce (errors, ...)
METHOD:
	Binary is the default method of transfer (use /ascii to override)
       DEFAULT is PUT (historical; GET is used much more frequently...)

HISTORY:
	Written 11-Oct-93 by M.Morrison
	19-Oct-93 (MDM) - Added FTP_RESULTS keyword.  Changed things slightly
        3-May-94 (SLF) - Major RE-write, add ANONYMOUS, FTP_FILE & NOFTP 
			  keywords and function,use file_append, file_delete
        5-May-94 (SLF) - dont LCD for /gets, Add STATUS output keyword
       10-May-94 (SLF) - add ASCII and BINARY keywords and function
        1-Mar-95 (SLF) - add LIST keyword and function
       15-apr-95 (SLF) - fixed bug with LIST option
       10-may-95 (SLF) - add ping check (default) and NOPING keyword
			  avoid hung ftp jobs
        2-aug-95 (SLF) - dont clobber input, change def. scriptdir(HOME), documentation
	 9-Jan-96 (MDM) - Patch to the list option to use "." instead of "*"
			  because it truncated the listing if there are too
			  many files in the remote directory.


FTP_GETPUT $SSW/soho/sumer/idl/atest/ftp_getput.pro
[Previous] [Next]
  NAME:    FTP_GETPUT
  PURPOSE:  Get a file from or put it to a remote machine using FTP
  CALLING SEQUENCE:
           FTP_GETPUT, FILE, NODE, USER, PASSWD 
  INPUT:
           FILE    the file name to be gotten or put
           NODE    the node of the remote machine
           USER    user id  
           PASSWD  password. USER and PASSWD can be omitted if either
                   ANONYMOUS or AUTO_LOGIN keyword is set.
  KEYWORDS:
           REMOTE_DIR  the remote directory (default is the home directory)
           LOCAL_DIR   the local directory (deafult id the current directory)
           PUT         if set, the file is put (default id to get it)
           ASCII       if set, the ASCII mode is chosen (default is BINARY)
           ANONYMOUS   if set, anonymous FTP is tried.
           AUTO_LOGIN  if set, auto-login FTP is tried. This works
                       only UNIX-campatible machines and the file $HOME/.netrc
                       should exist and contain the proper infomation.
           STATUS      is set to 1 (success) or 0 (failure). Valid only for GET
                        
 CALLS: ***
	CONCAT_DIR [1], CONCAT_DIR [2], CONCAT_DIR [3], concat_dir [4]
 CALLED BY:
	SUMER_FILE
  HISTORY:
          1998 November    Created   Jongchul Chae  


FULLTEST_TKI $SSW/soho/sumer/idl/newtki/tki/fulltest_tki.pro
[Previous] [Next]
 PROJECT:
       SOHO - SUMER

 NAME:
       FULLTEST_TKI

 PURPOSE: 
       Test the Simulator with diffrent UDPs in Batch

 CATEGORY:
       
 
 EXPLANATION:
       
 SYNTAX: 
       fulltest_tki

 EXAMPLES:
       
 INPUTS:
       None.

 OPTIONAL INPUTS: 
       None.

 OUTPUTS:
       None.

 OPTIONAL OUTPUTS:
       None.

 KEYWORDS: 
       None.

 CALLS: ***
	BREAK_FILE [1], BREAK_FILE [2], BREAK_FILE [3], TKI_CALL, break_file [4]
 COMMON:
       None.

 RESTRICTIONS: 
       None.

 SIDE EFFECTS:
       None.

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

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


funct_1 $SSW/soho/cds/idl/sci/data_anal/ql/line_fit/funct_1.pro
[Previous] [Next]
 Project     : SOHO - CDS     
                   
 Name        : funct_1
               
 Purpose     : Make the line profile of 1,2 or 3 Gaussians
               
 Explanation : Calls routines to produce the fitted line profile
               
 Use         : IDL> funct_1,x-array,parameters for Gaussian(s),
                           the sum of the Gaussian line profiles,
                           first Gaussian, second Gaussian,
                           third Gaussian  
    
 Inputs      : x-array, parameters of Gaussian
               
 Opt. Inputs : None
               
 Outputs     : sum of Gaussians and each individual Gaussian
               
 Opt. Outputs: None
               
 Keywords    : None

 Calls       : ***
	CDSGAUSS
 CALLED BY:
	hrts_w [1], hrts_w [2], tot_int
 Common      : None
               
 Restrictions: None
               
 Side effects: None
               
 Category    : ?
               
 Prev. Hist. : ?

 Written     : Nils Brynildsen, ITA, UiO 29-June-1993
               
 Modified    : Version 1 Nils Brynildsen, ITA, UiO, 29-June-1993

 Version     : Version 1 29-June-1993


funct_f $SSW/soho/cds/idl/sci/data_anal/ql/line_fit/func_f.pro
[Previous] [Next]
 Project     : SOHO - CDS     
                   
 Name        : funct_f()
               
 Purpose     : Make the line profile of 1,2 or 3 Gaussians
               
 Explanation : Calls routines to produce the fitted line profile
               
 Use         : IDL> val = func_f(x-array,Parameters of Gaussian,
                           partial derivatives for the Gaussian)
    
 Inputs      : x-array, parameters of Gaussian, derivatives
               
 Opt. Inputs : None
               
 Outputs     : Composit lineprofile
               
 Opt. Outputs: None
               
 Keywords    : None

 Calls       : ***
	CDSGAUSS, FUNC_F, gauss_d_a, gauss_d_p, gauss_d_w
 Common      : None
               
 Restrictions: None
               
 Side effects: None
               
 Category    : ?
               
 Prev. Hist. : ?

 Written     : Nils Brynildsen, ITA, UiO 29-June-1993
               
 Modified    : Version 1 Nils Brynildsen, ITA, UiO, 29-June-1993

 Version     : Version 1 29-June-1993


FUNCTION LIMITS X [2] $SSW/soho/mdi/idl_old/gen/utplot/limits.pro
[Previous] [Next]
FUNCTION:	FUNCTION LIMITS, X

PURPOSE:	Scan vector X and return 2 element vector of [min(x),max(x)]

 CALLS:


functn $SSW/soho/cds/idl/sci/data_anal/ql/line_fit/functn.pro
[Previous] [Next]
 Project     : SOHO - CDS     
                   
 Name        : functn
               
 Purpose     : Make the line profile of 1,2 or 3 Gaussians
               
 Explanation : Calls routines to produce the fitted line profile
               
 Use         : IDL> functn,x-array,Parameters of Gaussian,
                           partial derivatives for the Gaussian)
       
 Inputs      : x-array, parameters of Gaussian, derivatives
               
 Opt. Inputs : None
               
 Outputs     : Composit lineprofile
               
 Opt. Outputs: None
               
 Keywords    : None

 Calls       : ***
	CDSGAUSS, gauss_d_a, gauss_d_p, gauss_d_w
 Common      : None
               
 Restrictions: None
               
 Side effects: None
               
 Category    : ?
               
 Prev. Hist. : ?

 Written     : Nils Brynildsen, ITA, UiO 29-June-1993
               
 Modified    : Version 1 Nils Brynildsen, ITA, UiO, 29-June-1993

 Version     : Version 1 29-June-1993


FUZZY_BLOCK $SSW/soho/lasco/idl/reduce/fuzzy/fuzzy_block.pro
[Previous] [Next]
 PROJET:
	SOHO - LASCO

 NAME:
	FUZZY_BLOCK

 PURPOSE:
	Retrieves high-frequency information of a lost block using fuzzy logic

 CALLS: ***
	DCT, FUZZY_TO_NUM, INTER_FUZZY, NUM_TO_FUZZY, READ_BLOCK, READ_ZONE, TVZ
 CALLED BY:
	FUZZY_IMAGE
 PROCEDURE:
	Retrieves high-frequency information of a lost block using fuzzy logic
	reasoning on blocks specta
	
 CATEGORY:
	Missing Blocks, Interpolation

 CALLING SEQUENCE:
	block =	fuzzy_block (image, i, j)

 INPUTS:
	image		the image containing the block to correct
	i, j		the location (column, row) of this block

 KEYWORD INPUT:
	rebindex : rebin index (see fuzzy_image.pro)

 OUTPUTS:
	The corrected block (array of pixels) is returned

 SUB-ROUTINES:
	fuzzy_block.pro  contains the following sub-routines :

	_ num_to_fuzzy		convert a number to a fuzzy interval
	_ fuzzy_to_num		convert a fuzzy interval to a number
	_ inter_fuzzy		intersection of 2 fuzzy intervals
	_ FUZZY_BLOCK		perform a spectrum correction of a block
	  (=main routine)	using fuzzy logic reasoning

 REFERENCE:
	( see fuzzy_image.pro )

 MODIFICATION HISTORY:
	Written by J. MORE, October 1996
	Add of rebindex keyword on 28/01/2000 by A.Thernisien


FUZZY_IMAGE $SSW/soho/lasco/idl/reduce/fuzzy/fuzzy_image.pro
[Previous] [Next]

function fuzzy_image,ima,HDR=hdr,VERBOSE=verbose, TOO_MANY=too_many, ALL=all

 PROJECT:
	SOHO - LASCO

 NAME:
	FUZZY_IMAGE

 PURPOSE:
	Corrects missing blocks on a image with a fuzzy logic method
	
 CATEGORY:
	Missing Blocks, Enhancement

 CALLING SEQUENCE:
	image =	fuzzy_image (ima,HDR=hdr)

 INPUTS:
	ima : the image containing blocks to correct

 OUTPUTS:
	The corrected image

 KEYWORDS:
	hdr : FITS header of the image. WARNING: If the image header is not passed, fuzzy_image concider that 
		the image is from C2 and 1024 * 1024: the procedure failed if it's not the case.
	verbose : print running informations
 	TOO_MANY: Flag for reduce_level_1.pro to mask missing blocks
	ALL:	Replace all missing blocks, regardless of number or mask

 SUBROUTINES:
	fuzzy_image.pro getl05hdrparam.pro sxpar.pro getok.pro get_tmask.pro get_miss_blocks.pro where2d.pro 
	hcie_zone.pro read_zone.pro grad_zone.pro tri_surf.pro reverse.pro write_zone.pro fuzzy_block.pro 
	read_block.pro dct.pro num_to_fuzzy.pro inter_fuzzy.pro fuzzy_to_num.pro write_block.pro

 REFERENCE:
		-> This method is based upon the following :
	Information Loss Recovery for Block-Based Image Coding Techniques
	- A Fuzzy Logic Approach
	Xiaobing Lee, Ya-Qin Zhang, Alberto Leon-Garcia
	IEEE TRANSACTIONS ON IMAGE PROCESSING, VOL.4, NO.3, MARCH 1995

 CALLS: ***
	FUZZY_BLOCK, FXPAR [1], FXPAR [2], GET_MISS_BLOCKS, GRAD_ZONE, HCIE_ZONE [2]
	READ_ZONE, TRIM, WHERE2D, WRITE_BLOCK, WRITE_ZONE, get_tmask, getl05hdrparam
	hcie_zone [1]
 CALLED BY:
	C3_CALIBRATE, FIND_MISS_BLOCKS
 MODIFICATION HISTORY:
	V1.0 Written by J. MORE, October 1996
	Modif by A.T. 13/01/2000 and 18/01/2000: 
	- add of the HDR keyword the take account of the size and the detector. 
	- small modif to avoid crash when a missing block is near a non transmitted block
	1/23/01, nbr : Compute new blocks if number of good blocks in a zone greater than number of bad; 
		remove if statement for doing fuzzy_block; add TOO_MANY keyword
	12/4/01, nbr : Move function statement to top
	12/31/01, nbr :	Add ALL keyword
	 1/ 9/03, nbr : Add logfile; don't create window 2; change way n_in_zone is computed
	 3/20/03, nbr : Re-enable TOO_MANY and make threshold 16
	 4/ 9/03, nbr : add COMMON dbms, logging; add edge exclusion logic
	 4/11/03, nbr : set too_many equal to number missing; do not continue if gt 100 missing in a zone
       05.07.25, nbr - Update/fix too_many implementation for subfield cases

version = '@(#)fuzzy_image.pro	1.7, 07/25/05' ; LASCO IDL Library


FUZZY_TO_NUM $SSW/soho/lasco/idl/reduce/fuzzy/fuzzy_to_num.pro
[Previous] [Next]
 NAME:
	FUZZY_TO_NUM

 PURPOSE:
	Converts a fuzzy number to a number

 CALLED BY:
	FUZZY_BLOCK
 PROCEDURE:
	Converts a fuzzy number (or array of fuzzy numbers) to a number (or an
	array of numbers)

 CALLING SEQUENCE:
	a = fuzzy_to_num (afuzzy)

 INPUTS:
	afuzzy		a fuzzy number (scalar or array)

 OUTPUTS:
	The number (or array) best representing the fuzzy number (or array)


FXBREAD [3] $SSW/soho/sumer/idl/fits/fitssrc/fxbread.pro
[Previous] [Next]
 Project     : SOHO - CDS

 Name        : 
	FXBREAD
 Purpose     : 
	Read a data array from a disk FITS binary table file.
 Explanation : 
	Each call to FXBREAD will read the data from one column and one row
	from the FITS data file, which should already have been opened by
	FXBOPEN.  One needs to call this routine for every column and every row
	in the binary table.  FXBCLOSE will then close the FITS data file.
 Use         : 
	FXBREAD, UNIT, DATA, COL  [, ROW ]
 Inputs      : 
	UNIT	= Logical unit number corresponding to the file containing the
		  binary table.
	COL	= Column in the binary table to read data from, either as a
		  character string containing a column label (TTYPE), or as a
		  numerical column index starting from column one.
 Opt. Inputs : 
	ROW	= Either row number in the binary table to read data from,
		  starting from row one, or a two element array containing a
		  range of row numbers to read.  If not passed, then the entire
		  column is read in.

		  Row must be passed for variable length arrays.

 Outputs     : 
	DATA	= IDL data array to be read from the file.
 Opt. Outputs: 
	None.
 Keywords    : 
	NOSCALE	= If set, then the ouput data will not be scaled using the
		  optional TSCAL and TZERO keywords in the FITS header.
		  Default is to scale.
	VIRTUAL	= If set, and COL is passed as a name rather than a number,
		  then if the program can't find a column with that name, it
		  will then look for a keyword with that name in the header.
		  Such a keyword would then act as a "virtual column", with the
		  same value for every row.
	DIMENSIONS = Vector array containing the dimensions to be used to read
		  in the data.  Bypasses any dimensioning information stored in
		  the header.  Ignored for bit arrays.  If the data type is
		  double-precision complex, then an extra dimension of 2 is
		  prepended to the dimensions passed by the user.
	NANVALUE= Value signalling data dropout.  All points corresponding to
		  IEEE NaN (not-a-number) are converted to this number.
		  Ignored unless DATA is of type float, double-precision or
		  complex.
	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 = ''
			FXBREAD, ERRMSG=ERRMSG, ...
			IF ERRMSG NE '' THEN ...

 Calls       : ***
	FXPAR [1], FXPAR [2], IEEE_TO_HOST [1], IEEE_TO_HOST [2], IEEE_TO_HOST [3]
	IEEE_TO_HOST [4], WHERENAN [1], WHERENAN [2], WHERENAN [3], WHERENAN [4]
	WHERE_NEGZERO [1], WHERE_NEGZERO [2]
 CALLED BY:
	CW_XTD_NRHF, EIS_DATA_READFOREIGN, EIS_DATA__READFITS [1]
	EIS_DATA__READFITS [2], FIND_FILE_DUR, FITSHEAD2WCS, FOPEN_NRH2
	Fits_spectra [1], Fits_spectra [2], GET_CDS_TEMPS, GET_ORBIT [1], GET_ORBIT [2]
	GET_ORBIT_FITS, GET_SC_ATT [1], GET_SC_ATT [2], HESSI Score Read, JPLEPHREAD
	LEC_NRH1D, RDFILEPOS, RD_LAS_CAT_FITS, RD_NRH2I, READCDSCOL, READSUMCOL
	READ_CALFITS, READ_CENTER_POINT [1], READ_CENTER_POINT [2], READ_COMPRESSED
	READ_SC_ATT, Radio Astronomy Group Fits Read
	Radiospectrogram FITS File reader [1], SHRINK_SUMER_FITS, SUMER_FITS
	TIME_IND_NRH, WCS_FIND_KEYWORD, WCS_FIND_PIXEL_LIST, WCS_FIND_TABLE
	eis_rd_sts_fits [1], eis_read_fits_data [1], eis_read_fits_data [2]
	eis_read_fits_data [3], ft_sumread_fits, hsi_data_gap_fxbr, hsi_ephemeris_fxbr
	hsi_filedb_fxbr, hsi_flare_list_entry_fxbr, hsi_flare_list_info_fxbr
	hsi_obs_summ_data_fxbr, hsi_obs_summ_fxbr, hsi_obs_summ_info_fxbr
	hsi_obs_summ_inp, hsi_obs_summ_read, hsi_obs_summ_soc__define
	hsi_qlook__define, mk_query [1], mk_query [2], mrdfits_spectra, rd_sumer [1]
	rd_sumer [2], read_ovsa_fits, smei_hdr_get, where_are [1], where_are [2]
 Common      : 
	Uses common block FXBINTABLE--see "fxbintable.pro" for more
	information.
 Restrictions: 
	The binary table file must have been opened with FXBOPEN.

	The data must be consistent with the column definition in the binary
	table header.

	The row number must be consistent with the number of rows stored in the
	binary table header.

	The number of elements implied by the dimensions keyword must not
	exceed the number of elements stored in the file.

 Side effects: 
	If the DIMENSIONS keyword is used, then the number of data points read
	in may be less than the number of points stored in the table.

	If there are no elements to read in (the number of elements is zero),
	then the program sets !ERR to -1, and DATA is unmodified.

 Category    : 
	Data Handling, I/O, FITS, Generic.
 Prev. Hist. : 
	W. Thompson, Jan 1992.
	W. Thompson, Feb 1992, modified to support variable length arrays.
	W. Thompson, Jun 1992, modified way that row ranges are read in.  No
			       longer works reiteratively.
	W. Thompson, Jun 1992, fixed bug where NANVALUE would be modified by
			       TSCAL and TZERO keywords.
	W. Thompson, Jun 1992, fixed bug when reading character strings.
			       Treats dimensions better when reading multiple
			       rows.
 Written     : 
	William Thompson, GSFC, January 1992.
 Modified    : 
	Version 1, William Thompson, GSFC, 12 April 1993.
		Incorporated into CDS library.
	Version 2, William Thompson, GSFC, 30 June 1993.
		Added overwrite keyword to REFORM call to speed up.
	Version 3, William Thompson, GSFC, 21 July 1993.
		Fixed bug with variable length arrays.
	Version 4, William Thompson, GSFC, 29 October 1993.
		Added error message for not finding column by name.
	Version 5, William Thompson, GSFC, 31 May 1994
		Added ERRMSG keyword.
       Version 6, William Thompson, GSFC, 23 June 1994
               Modified so that ERRMSG is not touched if not defined.
	Version 7, William Thompson, GSFC, 29 December 1994
		Fixed bug where single element dimensions were lost.
	Version 8, William Thompson, GSFC, 20 March 1995
		Fixed bug introduced in version 7.
	Version 9, Wayne Landsman, GSFC, 3 July 1996
		Fixed bug involving use of virtual keyword.
	Version 10, William Thompson, GSFC, 31-Jan-1997
		Added call to WHERE_NEGZERO.
 Version     :
       Version 10, 31-Jan-1997


FZTOFITS $SSW/soho/mdi/idl/cal/fztofits.pro
[Previous] [Next]
 NAME:
	FZTOFITS
 PURPOSE:
	Convert a LP format file into a FITS format file.  Each image in the
	LP format file is written to a different FITS file.
 CATEGORY:
	LP. File IO. High level.
 CALLING SEQUENCE:
	FZTOFITS,IFILE,OFILE
 INPUTS:
	IFILE, input file name.
	OFILE, output file name.
 KEYWORD PARAMETERS:
 OUTPUTS:
	Creates a fits file
 CALLS: ***
	FITSW, FZRD, NEWNAME
 COMMON BLOCKS:
 SIDE EFFECTS:
	Write to disk.
 RESTRICTIONS:
	Must have sufficient disk space.
 PROCEDURE:
 MODIFICATION HISTORY:
	July  1992  I. Zayer    LPARL, simplified to be stand-alone & 1 image per ifile...
	Sept. 1990  P. Milford  Stanford University.


FZW $SSW/soho/mdi/idl/cal/fzw.pro
[Previous] [Next]
 NAME:
	FZW
 PURPOSE:
	Write a LP format image/header to disk.
 CATEGORY:
	File IO. Low level.
 CALLING SEQUENCE:
	FZW,OFILE,IMAGE,HEADER,ENG
 INPUTS:
	OFILE, output file name
	IMAGE, LP image, int*2 data to be saved.
	HEADER, optional image header (f0 or fits)
	ENG, optional engineering data line
 KEYWORD PARAMETERS:
	none.
 OUTPUTS:
	Writes to OFILE.
 CALLS: ***
	FZBASIC, FZHEADER
 SIDE EFFECTS:
 RESTRICTIONS:
	Does not check errors.
 PROCEDURE:
	Write the two structures.
 MODIFICATION HISTORY:
	Jul. 1992  I. Zayer    LPARL. Modified to be stand-alone & renamed
	Jan. 1990  P. Milford  Stanford University.