ucon_path $SSW/gen/idl/genutil/ucon_path.pro
[Previous] [Next]
   Name: ucon_path

   Purpose: manage ucon portions of SSW path

   Calling Sequence:
      ucon_path, [/XXX, /yohkoh, /soho, /ssw, /add, /remove, /quiet]

   Input Paramters:
      NONE:

   Keyword Parameters:
      yohkoh - switch , if set, yohkoh ucon path is target (default)
      soho   - switch , if set, soho ucon path is target
      sss    - switch , if set, ssw  ucon path is target
      add    - switch , if set, add the associated ucon paths
      remove - switch , if set, remove the associated ucon paths
      XXX    - XXX = ucon (user) name - add/remove specific ucon areas
      all    - if set, add or remove them all

 CALLS: ***
	ARR2STR [1], Arr2Str [2], 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], data_chk [1], data_chk [2], file_exist [1], file_exist [3]
	get_logenv [1], get_logenv [2], pathfix, rd_tfile [1], rd_tfile [2], ssw_path
	wc_where [1], wc_where [2], where_arr [1], where_arr [2]
 CALLED BY:
	ssw_path
   Side Effects:
      The IDL !path variable may be changed

   Category:
      system, environment, IDL

   Method:
      may call ssw_path and/or pathfix

   History:
      21-Feb-1996 S.L. Freeland
      29-feb-1996 S.L. Freeland
       9-oct-1996 S.L. Freeland - add hudson
      14-oct-1996 S.L. Linford  - add linford
      13-feb-1997 S.L. Freeland - sakao
      28-feb-1997 S.L. Freeland - add ALL and _extra


udate2ex [1] $SSW/gen/idl/genutil/udate2ex.pro
[Previous] [Next]
NAME:
	udate2ex
PURPOSE:
	Converts time string from UNIX command "date"
	to the 7-element time representation
INPUT:
	timestr - string with date in GMT (UT) format
		"Wed Jun  2 09:48:24 GMT 1993"
 CALLED BY:
	ut_time [1], ut_time [2]
OPTIONAL KEYWORD INPUT:
	cmd	- The Unix date command to spawn (examples: date,
		  date -u, ...)
OUTPUT:
	returns 7-element integer array (hh, mm, ss, msec, dd, mm, yy)
 History:
	Written June 2, 1993  Barry LaBonte
	Renamed from GTM2EX to UDATE2EX
       3-dec-1996 - S.L.Freeland - use /noshell in spawn (avoid .cshrc)


UITDBLIB [1] $SSW/gen/idl/database/uitdblib.pro
[Previous] [Next]
 Project     :	SOHO - CDS

 Name        :	UITDBLIB

 Purpose     :	Add the system variables used by the UIT database library

 Explanation :	This routine adds the non-standard system variables used by the
		UIT database routines from the IDL Astronomy User's Library.

		The non-standard system variables !PRIV, !DEBUG, !TEXTUNIT, and
		!TEXTOUT are added using DEFSYSV.

 Use         :	UITDBLIB

 Inputs      :	None.

 Opt. Inputs :	None.

 Outputs     :	None.

 Opt. Outputs:	None.

 Keywords    :	None.

 Calls       :	None.
 CALLED BY:
	ADD_PSYS, ssw_setup_windows
 Common      :	None.

 Restrictions:	This routine should be called only once, preferably in the
		startup procedure.

 Side effects:	System variables may be changed to their default values.

 Category    :	Utilities, Database

 Prev. Hist. :	This routine was adapted from ASTROLIB, which had the following
		history entries:

		Written, Wayne Landsman, July 1986.
		Use DEFSYSV instead of ADDSYSVAR           December 1990

 Written     :	William Thompson, GSFC, 30 March 1994

 Modified    :	Version 1, William Thompson, GSFC, 30 March 1994

 Version     :	Version 1, 30 March 1994


uncompress $SSW/gen/idl/system/uncompress.pro
[Previous] [Next]
 Project     : HESSI

 Name        : uncompress

 Purpose     : uncompress a file 

 Category    : system, utility,i/o

 Syntax      : uncompress,file,name

 Inputs      : FILE = file uncompress
 
 Opt. Inputs : NAME = new name of uncompressed file 

 Keywords    : DIRECTORY = directory location of uncompressed file [def=current]
             : OUT_FILE = uncompressed filename with path

 CALLS: ***
	APPEND_ARR, BREAK_FILE [1], BREAK_FILE [2], BREAK_FILE [3], CHMOD, CONCAT_DIR [1]
	CONCAT_DIR [2], CONCAT_DIR [3], DELVARX [1], DELVARX [2], DELVARX [3], DELVARX [4]
	ESPAWN, EXIST, GET_GZIP, HAVE_EXE, IS_BLANK, IS_DIR, IS_STRING, LOC_FILE [1]
	LOC_FILE [2], LOC_FILE [3], MK_DIR, MK_TEMP_FILE, OS_FAMILY, PR_SYNTAX, RM_FILE, TRIM
	WRITE_DIR, break_file [4], concat_dir [4], curdir [1], curdir [2], delvarx [5]
	str_replace [1], str_replace [2]
 CALLED BY:
	FIND_COMPRESSED
 Restrictions: Unix/Windows only

 History     : Written 20 Apr 2000, D. Zarro (SMA/GSFC)
               Modified 28  June 2000, Zarro (EIT/GSFC) - added WINNT check
               Modified 23 April 2004, Zarro (L-3Com/GSFC) - added MKDIR

 Contact     : dzarro@solar.stanford.edu


UNFORMAT_INTERVALS $SSW/gen/idl/string/unformat_intervals.pro
[Previous] [Next]
 Project     : HESSI

 Name        : UNFORMAT_INTERVALS

 Purpose     : Function to unformat intervals that were formatted into ASCII strings by
               the format_intervals routine

 Category    : Utility

 Explanation : format_intervals produces an array of strings that look like:
                 '2.2 to 3.7', '4.1 to 5.6'
               unformat_intervals will return the array of numbers
               2.2,3.7
               4.1, 5.6
               as a [2,n] array
               If intervals are times, unformat_intervals returns double precision sec.

 Syntax      : IDL> result = unformat_intervals (list, ut=ut, err_msg=err_msg)

 Inputs      : list - array of strings that were formatted by format_intervals

 Opt. Input Keywords :
               ut - if set, treat interval values as time

 Outputs     : Returns [2,n] array of values for intervals

 Opt. Output Keywords:
				err_msg - Normally '', but contains error text if any.

 CALLS: ***
	CHECKVAR [1], anytim [1], anytim [2], anytim [3], anytim [4], anytim [5]
	checkvar [2], strmids [1], strmids [2]
 CALLED BY:
	hsi_ui_img
 Common      : None

 Restrictions: Input range must be [2xn]

 Side effects: None

 History     : 14-Nov-2001, Kim Tolbert
 Modifications:
   15-Aug-2003, Kim.  Check for ' - ' as well as ' to ' to separate start/end of interval
	20-Jun-2005, Kim.  Relaxed restrictions for separator - can have any # blanks followed
		by 'to' or '-', followed by any # blanks (except for times need at least one blank
		surrounding '-' since there's a '-' in the time format)

 Contact     : kim.tolbert@gsfc.nasa.gov


UNIQ [1] $SSW/gen/idl/util/uniq.pro
[Previous] [Next]
 NAME:
	UNIQ

 PURPOSE:
	Return the subscripts of the unique elements in an array.

	Note that repeated elements must be adjacent in order to be
	found.  This routine is intended to be used with the SORT
	function.  See the discussion of the IDX argument below.

	This command is inspired by the Unix uniq(1) command.

 CATEGORY:
	Array manipulation.

 CALLING SEQUENCE:
	UNIQ(Array [, Idx] [/first] [EPSILON=epsilon)

 INPUTS:
	Array:	The array to be scanned.  The type and number of dimensions
		of the array are not important.  The array must be sorted
		into monotonic order unless the optional parameter Idx is
		supplied.

 OPTIONAL INPUT PARAMETERS:
	IDX:	This optional parameter is an array of indices into Array
		that order the elements into monotonic order.
		That is, the expression:

			Array(Idx)

		yields an array in which the elements of Array are
		rearranged into monotonic order.  If the array is not
		already in monotonic order, use the command:

			UNIQ(Array, SORT(Array))

		The expression below finds the unique elements of an unsorted
		array:

			Array(UNIQ(Array, SORT(Array)))
	EPSILON:  positive number ge 0, for gt 0 the difference between
		two consecutive numbers must be gt epsilon for them to be unique.

 OUTPUTS:
	An array of indicies into ARRAY is returned.  The expression:

		ARRAY(UNIQ(ARRAY))

	will be a copy of the sorted Array with duplicate adjacent
	elements removed.

 Optional Keyword Parameter:
   first - if set, return index of FIRST occurence for duplicates
           (default is LAST occurence)

 CALLED BY:
	ADD_ALT, ADD_DETAIL, ADD_FLAG, ADD_PLAN, ADJUST_REFCAL, ALL_VALS [1], ALL_VALS [2]
	ANALYZE [1], ANALYZE_IMG, APPLY_CDS_ADEF, BATSE_LAD_DRM, BATSE_SPEC_DRM, BSC_VALID
	CAT_OPEN [1], CHECK_DIST, CHK_DATAWIN, CHK_F_RASTER, CHK_F_STUDY, CHK_LINELIST
	CHK_V_RASTER, CHK_V_STUDY, CONCAT2D, CONCAT3D, CTRCALCHEK, CleanGlitchBox
	DATA_PATHS, DISPLAY_CDS_BURNIN, DISPLAY_NIMCP, DLASCAN, EIS_CPT_ASCII_TABLES [1]
	EIS_CPT_ASCII_TABLES [2], EIS_CPT_CHECK_STUDY [1], EIS_CPT_CHECK_STUDY [2]
	EIS_CPT_COMMAND_STORE_CHECK [1], EIS_CPT_COMMAND_STORE_CHECK [2]
	EIS_CPT_TABLE_DIFFERENCE [1], EIS_CPT_TABLE_DIFFERENCE [2]
	EIS_CPT_UNIQUE [1], EIS_CPT_UNIQUE [2], EIS_MULTIPLE_SEQUENCE_TABLES [1]
	EIS_MULTIPLE_SEQUENCE_TABLES [2], FF_SUMMARY, FIND_CAMPAIGN, FIND_CDS_STUDIES
	FIND_CLOSEST_ARR, FIND_DURATION, FIT_SPEC, FIX_IAP, FLAGOOL, FLARE_SORT
	FRAMEWORK ABSTRACT CLASS DEFINITION, FUNCT_FIT, FXBWRITM, FindAllFiles, GAINCOR
	GET_CDS_GIS, GET_NAR, GET_SLLD, GET_SUMER_FILES, GET_TIMING, GET_UNIQ_LIST
	GHOST_BUSTER, GT_BSC_CHAN [1], GT_BSC_CHAN [2], GT_CDS_QL, GetColors, GetRng
	HSI_DECIM_CORRECTION [1], HSI_DECIM_CORRECTION [2], HSI_HIST_GROUP
	HSI_MAP_EVALUATOR [1], HSI_SPECTROGRAMCHAN_OVERLAP_FIX
	HSI_SPECTROGRAM_DECIM_CORRECT, HSI_SPECTROGRAM_DECIM_TABLE
	Hsi_contact2fits [1], Hsi_contact2fits [2], IMCONTOUR, INDEX2MAP, INTERP2INTEG
	InsituTimeSeries, JOIN_STRUCT [2], LIST_ALT, LIST_ANOMALY, LIST_CAMPAIGN
	LIST_CDROM, LIST_DETAIL, LIST_DSN, LIST_EXPER, LIST_EXP_COMM, LIST_FLAG
	LIST_INST_DLYD, LIST_MAIN, LIST_MDI_M, LIST_NRT_RES, LIST_OP [1], LIST_OP [2]
	LIST_OTHER_OBS, LIST_OTHER_RES, LIST_PLAN, LIST_SOHO_DET, MAP_DISCLA2CONT
	MDI_SUMMARY_SUB1, MEAN_MAP, MELD_DISCSP [1], MK_CDS_PLAN, MK_LIBRARY_HELP
	MK_PLAN_SORT, MK_SOHO_TARGET, NET_DIR_DIFF, NEWSCAN, NORH_F2EVF [1]
	NORH_F2EVF [2], NORH_PR_EVX [1], NORH_PR_EVX [2], NORH_PR_INFO [1]
	NORH_PR_INFO [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], NORH_TRANS_BYF [1]
	NORH_TRANS_BYF [2], NORP_RD_AVG [1], NORP_RD_AVG [2], NORP_RD_DAILY [1]
	NORP_RD_DAILY [2], OCC_DBASE, OP_COM [1], OP_COM [2], OR_SHAPE
	PICKFONT  use to be XFONT, PLOT_GD_CALC, PLOT_MAP
	PLOT_MAP2 WARNINGTEMPORARY FIX ONLY FOR 16 bit ZBuffer support
	PLOT_SUPPORT, PRINT_STRUCT, RD_ADA, RD_BDA [1], READ_ANALIST, READ_HESI_DAT
	READ_HESSI_DAT, READ_STTE, REGEN_SYNOP, REM_DUP_TAG, REM_FST, REM_SEQ
	RESOLVE_NEW_OBS, ROWSORT, RdTap [1], RdTap [2], RdTap [3], SMK_FULLDET
	SPECTROGRAM CLASS DEFINITION, SPEX_COMMONS [2], SPEX_COMMONS [4]
	SPEX_PROC [1], SPEX_PROC [2], STEPPER [1], STEPPER [2], STEPPER [5], STEPPER_LP
	SXT_WEIGHT, TEST_DIR2, TKI_UDPSLIT, TOK_RD_DAILY, TYKW_RD_DAILY, TimePosn
	TimePosn_test, TimeXAxis, UNIQ_KEY, UPD_PLAN, UPD_SOHO_DET, UTPLOT_IMAGE, VSO_GET
	VSO__DEFINE, WAMPHIT, WCS_HCLEAN, WDUMPREC, WHERE_VECTOR, WIDG_HELP, WRITE_HKBYDATE
	W_HISTOGRAM, XCAMP, XDL [1], XDL [2], XSEL_LIST [1], XSEL_LIST [2], ads_into_att
	ads_into_pnt, adsdirs [1], adsdirs [2], att_exst, bcs_chi_norm, big_eph
	big_eph_short, cam_run_sum, chk_batse_env [1], chk_batse_env [2], chk_flares [1]
	chk_flares [2], db_gbo, delete_week [1], delete_week [2], delind [1], delind [2]
	doytim2ints, dpc_summary, eit_files, eit_fulldiskdb, ex2week [1], ex2week [2]
	extract_val, fidrange [1], fidrange [2], find_pixel_intersects, fitshead2struct
	flare_hist, flares2disk, fsp_11, fsp_mc, gen_file_id [1], gen_file_id [2]
	get_afile_size [1], get_afile_size [2], get_att, get_dc_image [2]
	get_dc_image [3], get_dc_warm, get_gevloc_data, get_hk_info [1], get_hk_info [2]
	get_leak_image [1], get_leak_image [2], get_leak_image [3], get_most_comm [1]
	get_most_comm [2], get_sfc_info, get_suncenter2, get_uniq, getwid, grid_data [1]
	grid_data [2], hastogram, hesi_grid_trans, hessi_grid_trans, hessi_grm
	hsi_as_appids, hsi_bad_pak, hsi_badpak_test, hsi_monthly_average
	hsi_monthly_filename, hsi_qlook_concat, hsi_ras_rdevent
	hsi_read_all_flare_list, hsi_sas_rdlimb, hsi_spectrogramACCBIN [2]
	hsi_spectrogram__define [1], hsi_spectrogram__define [2]
	hsi_spectrogram__define [3], hsi_spectrogram__get_obs [1]
	hsi_spectrogram__livetime [1], hsi_write_txt_flare_list, hxsgrs_fsp, ihy_db
	interp_img, ip_que_dmpver, iperr_sea, jitter_gif_xyimg, keyword_db
	list_mo_log [1], list_mo_log [2], make_views, matchem [1], matchem [2], mdipdist
	merge_batse_photons, merge_genxcat, mewe_spec  mewe_spec_lwa, mewe_spec [1]
	mewe_spec [2], mk_cd [1], mk_cd [2], mk_flick, mk_gsn_obs_s1, mk_mapfile [1]
	mk_mapfile [2], mk_mo_disk, mk_mo_disk2, mk_query [1], mk_query [2], mk_sd2
	mk_sdc [2], mk_sdc [3], mk_sdc [4], mk_sdm, mk_ssl, mo2wks, mo_check, mo_patch, mo_prep
	mon_health [1], mon_health [2], mxf_read_data, nagoya_glevel, new_mon_health [1]
	new_mon_health [2], norh_t2azel, path_data [1], path_data [2], path_sw [1]
	path_sw [2], pfi_dominant, phoenix_filedb_get, plot_pcal, plot_ssw_fov
	plot_trav [1], plot_trav [2], plot_trav [3], pmtras_analysis, pnt_exst
	pr_mdihk_trans [1], pr_mdihk_trans [2], pr_sxt_term, pr_uniq_hk, pro_list [1]
	pro_list [2], prt_afile_size [1], prt_afile_size [2], psk_correlate
	qLine_Sequence, qNagoya_PointSources, qView_PickFiles, qView_Shortname
	qsmei_sky_Pick, rd_fdss, rd_modb, rd_sumer [1], rd_sumer [2], rd_week_file [2]
	rd_ydbtap, rdtbl, read_eit, save_data [2], sea, search_files, sel_dc_image [1]
	sel_dc_image [2], sel_dc_image [3], seq_dset, seq_run_sum [1], seq_run_sum [2]
	ser_dset, setssw_windows, sgt_det_y, sgt_wave, show_obs2, show_obs3, show_obs4
	smei_buf_getframe, smei_buf_prep, smei_frm_get, smei_frm_name, smei_frm_property
	smei_getfile, smei_sky, smei_star_list, soup_obs2, spex_energy_ranges [1]
	spex_energy_ranges [2], ssc_files [1], ssc_files [2], ssc_files [3]
	ssw_install [1], ssw_install [2], ssw_install_explinkages, ssw_start_rpcserver
	ssw_strsplit, ssw_swmap_bestof, ssw_time2paths, ssw_upgrade [1], ssw_upgrade [2]
	ssw_upgrade_backup, sswdb_upgrade, sswhere, str2html [1], str2html [2]
	str2html [3], str_subset, str_top2sub, strjustify, strmids [1], strmids [2], strposn
	strrempat [1], strrempat [2], strsplit, sxi_files, sxl2radiance, sxl_select
	sxt_cen [1], sxt_cen [2], sxt_combine, sxt_decon [1], sxt_decon [2], sxt_eff_area
	sxt_flux [1], sxt_flux [2], sxt_flux [3], sxt_his2dbase, sxt_low8_match [1]
	sxt_low8_match [2], sxt_mwave, sxt_sumtime, sxt_suture [1], sxt_suture [2]
	sxt_uniq [1], sxt_uniq [2], sxtpnt_sum, taer_rn, term_times
	test_front_decimation_correct, test_rear_decimation_correct, tim2dbase
	timegrid, timeline, timeline2html, topsdb [1], topsdb [2]
	tr_mech_summary_img month, tr_reformat, trace_cat2data, trace_dph2struct [1]
	trace_files, trace_get_vignette, trace_last_movie [1], trace_last_movie [3]
	trace_movie_context, trace_movie_index [1], trace_movie_index [2]
	trace_special_movie [1], trace_special_movie [2], trace_special_movie [3]
	trace_special_movie2, trace_success_file, trace_uniq_movies, tvmulti
	uniq_fid [1], uniq_fid [2], url_decode, vu_insitu, vu_insitu_raw, vu_mean, vu_movie
	web_seq, weekfiles, weekid [2], wfilpck, wrt1orbit [1], wrt1orbit [2]
	www_help_break, www_help_get_info, xcheckip, xdisp_sci5k, xgen_widget
	xset_chain [1], xset_chain [2], xspr [1], xspr [2], ydb_exist [1], ydb_exist [2]
	ydb_exist [3], ydb_exist [4], ydb_install [1], ydb_install [2], ydb_use
	yo_index2path
 COMMON BLOCKS:
	None.

 MODIFICATION HISTORY:
	29 July 1992, ACY - Corrected for case of all elements the same.
       30 Aug  1994, SLF - added /first keyword
	 1 Sep  1994, MDM - Modified to return a vector for the case of
			    a single element being returned (so it matches
			    the pre IDL Ver 3.0 version of UNIQ)
		           - Modified to return [0] for a scalar
       10 Sep  1996, Zarro
                         - modified to return 0 for a scalar and a scalar
                           for single element being returned.
       10 Oct  1996, Zarro
                         - added OLDWAY keyword to return,[value] for scalar
                           value
	25-Aug-2006, richard.schwartz@gsfc.nasa.gov;  added an epsilon tolerance
		for determining floats as the same value


UNIQ_KEY $SSW/gen/idl/string/uniq_key.pro
[Previous] [Next]
 Project     : HESSI                                                      
                                                                          
 Name        : UNIQ_KEY                                                   
                                                                          
 Purpose     : make _REF_EXTRA keywords unique                            
                                                                          
 Category    : string system utility                                      
                                                                          
 Syntax      : IDL> ref=uniq_key(keywords)                                
                                                                          
 Inputs      : KEYWORDS = string array of keywords                        
                                                                          
 Outputs     : REF = array with unique keywords                           
                                                                          
 Keywords    : None                                                       
                                                                          
 CALLS: ***
	IS_BLANK, UNIQ [1], UNIQ [2], UNIQ [3]
 CALLED BY:
	SOCK_COPY
 History     : Written, 18-May-2006 Zarro (L-3Com/GSFC)                   
                                                                          
 Contact     : dzarro@solar.stanford.edu                                  


UNIQ_RANGE $SSW/gen/idl/util/uniq_range.pro
[Previous] [Next]
 NAME:
	UNIQ_RANGE

 PURPOSE:
	Return the subscripts of the unique elements in a 2xN array.

	Note that repeated elements must be adjacent in order to be
	found.  This routine is intended to be used with the ROWSORT
	function.  See the discussion of the IDX argument below.

	This command is an extension of the UNIQ in the IDL library.

 CATEGORY:
	Array manipulation.

 CALLING SEQUENCE:
	UNIQ(Array [, Idx])

 INPUTS:
	Array:	The 2xN array to be scanned.  The type and number of dimensions
		(as long as 2xN) of the array are not important.  The array must be sorted
		into monotonic order by both columns unless the optional parameter Idx is
		supplied.

 OPTIONAL INPUT PARAMETERS:
	IDX:	This optional parameter is an array of indices into Array
		that order the elements into monotonic order (by first column,
       and by second column when two items in first column are equal).
		That is, the expression:

			Array(*,Idx)

		yields an array in which the elements of Array are
		rearranged into monotonic order.  If the array is not
		already in monotonic order, use the command:

			UNIQ(Array, ROWSORT(Array,0,1))

		The expression below finds the unique elements of an unsorted
		array:

			Array(*,UNIQ_RANGE(Array, ROWSORT(Array,0,1)))

 OUTPUTS:
	An array of indicies into ARRAY is returned.  The expression:

		ARRAY(*,UNIQ_RANGE(ARRAY))

	will be a copy of the sorted Array with duplicate adjacent
	elements removed.

 CALLED BY:
	get_uniq_range
 EXAMPLE:
   a = [ [0,1], [2,3], [0,1], [0,2], [0,1], [2,4] ]
   print, a[*,uniq_range(a,rowsort(a,0,1))]
       0       1
       0       2
       2       3
       2       4

 COMMON BLOCKS:
	None.

 MODIFICATION HISTORY:
	1988, AB, Written.
	29 July 1992, ACY - Corrected for case of all elements the same.
	Nov, 1995.  DMS, Return a 0 if argument is a scalar.
	11-Jan-2005, Kim Tolbert.  Extended uniq function to uniq_range to work for 2xn array


uniqo [1] $SSW/gen/idl/genutil/uniqo.pro
[Previous] [Next]
   Name: uniqo

   Purpose: return subscripts of uniq elements and maintain original order

   Input Parameters:
      inarr - array to search (does not have to be in sorted order)
      
   Optional Parameters:
      sinarr - DUMMY, not used - (maintain interface compatible with userlib
		uniq.pro)
   
   Keyword Parameters:
      last  - NOT YET IMPLEMENTED, switch, if set, subscript of last 
	       occurence if multiples

   Calling Examples:
      uss=uniqo(array)		; return subscripts of uniq elements in
				; original order in variable uss

 CALLED BY:
	BATSE_ON, FILE_SEARCHER [1], FILE_SEARCHER [2], GD_TITLE, GET_GDFILE
	GET_RECENT_FILE, HESSI_FILTERS, HESSI_ID2INDEX, HSI_FIND_FILE, OCC_DBASE
	Pointing_Change, WRITE_DD, disk_monitor [1], disk_monitor [2], eit_fulldisk
	html_get_files, mk_trace_i1, mplot_nar, new_dpath [1], new_dpath [2]
	nobeyama_update, plot_ar_pfi, plot_nar [1], plot_nar [2], rd_ydbtap, rd_ydbtapedir
	search [1], search [2], set_fastpath [1], set_fastpath [2], set_logvms
	show_pix [1], show_pix [2], spex_intervals [1], spex_intervals [2], ssw_bin
	ssw_instr_info, ssw_path, ssw_set_instr, sxt_prep [1], sxt_prep [2], sxt_prep [3]
	timeline, topsdb [1], topsdb [2], web_seq, ydb_pre2dir [1], ydb_pre2dir [2]
   History:
      12-Apr-1993 (SLF) - to preserve order when uniqifying string array's
			   (idl sorurce code and data path arrays)
			   (userlib V. supplied with IDL seems to ignore order

   Restrictions:
      last - keyword not yet implemented - fastest for arrays with many
	      repeated elements


UNIX_CMD [1] $SSW/gen/idl/genutil/unix_cmd.pro
[Previous] [Next]
NAME:
	UNIX_CMD
PURPOSE:
	To execute a UNIX command and to monitor the command to make
	sure that it completed in the expected time.  If not, kill the
	process and re-submit the command
SAMPLE CALLING SEQUENCE:
	unix_cmd, cmd, out, tkill
	unix_cmd, 'rsh isass0 ls -l /ydb/evn', out, 5*60.
INPUT:
	cmd	- The command to execute
	tkill	- The time in seconds to wait before killing and
		  re-submitting the command (in the event that it
		  has hung). 
OUTPUT:
	out	- The results from the command
 CALLS: ***
	CONCAT_DIR [1], CONCAT_DIR [2], CONCAT_DIR [3], FILE_STAT [1], FILE_STAT [2]
	STR2ARR [1], STR2ARR [2], concat_dir [4], file_stat [3], rd_tfile [1]
	rd_tfile [2], tbeep [1], tbeep [2], tbeep [3]
OPTIONAL KEYWORD INPUT:
	check	- The number of seconds between checks.  Defaults to
		  1 second.
	qdebug	- If set, then print some debug statements
	outfil	- The output file to send the results to
	nockeck_connect - If set, do not check that a connection was made
		  to the remote node.  Default is to check for lost 
		  network connections.
METHOD:
	Spawn the command as detached (using "&") and monitor the
	process.  The output goes to a file (default is in the
	home directory)

	Use double quotes (") to isolate wildcards * and any time
	that quotes are required in the command to be executed.
	EXAMPLE:
             rsh sxt2 "setenv ys_quiet; source ~/.yslogin; printenv DIR_SFD_DAILY1"
HISTORY:
	Written 1994 by M.Morrison/K.J.Liu
	 1-Feb-95 (MDM) - Modified to make the temporary file have the PID
			  in the file name so that two UNIX_CMD jobs can
			  run in parallel
	 9-Feb-95 (MDM) - Modified to recognize NFS stale handling error
			- Added debug statement
	27-Feb-95 (MDM) - Re-inserted 14-Dec-94 (MDM) debug statement 


UNIX_SPAWN $SSW/gen/idl/system/unix_spawn.pro
[Previous] [Next]
 Project     : SOHO - CDS

 Name        : UNIX_SPAWN

 Purpose     : spawn a shell command and return STDIO and STDERR

 Category    : System

 Explanation : regular IDL spawn command doesn't return an error message

 Syntax      : IDL> unix_spawn,cmd,out

 Inputs      : CMD = command(s) to spawn

 Keywords    : NOERROR = inhibit error output
               COUNT = n_elements(out)
               BACKGROUND/NOWAIT = background the commands
               TEMP_NAME = temporary name for spawned command files
               NOSHELL = bypass shell

 Outputs     : OUT = output of CMD

 CALLS: ***
	CONCAT_DIR [1], CONCAT_DIR [2], CONCAT_DIR [3], DPRINT, GET_RID, GET_TEMP_DIR
	IDL_RELEASE, IS_BATCH, IS_BLANK, OS_FAMILY, RM_FILE, TRIM, concat_dir [4]
	file_append [1], file_append [2]
 History     : Version 1,  18-Jan-2001, Zarro (EIT/GSFC)
               20-Jan-01, Zarro (EITI/GSFC) - added IDL 5.4 capability
               4-Dec-06, Zarro (ADNET/GSFC) - added improved /NOWAIT

 Contact     : DZARRO@SOLAR.STANFORD.EDU


unixtime2ex $SSW/gen/idl/genutil/unixtime2ex.pro
[Previous] [Next]
NAME:
	unixtime2ex
PURPOSE:
	To convert time of the form "Fri Feb 19 12:54:04 PST 1999"
	to external format
SAMPLE CALLING SEQUENCE:
	out = unixtime2ex(in)
	out = unixtime2ex("Fri Feb 19 12:54:04 PST 1999")
	out = unixtime2ex("Fri Feb  19 02:15:29 1999")
INPUT:
	in 	- String array of times
OUTPUT:
	out	- External time format 7xN array
 CALLS: ***
	anytim2ex [1], anytim2ex [2], str2cols [1], str2cols [2]
HISTORY:
	Written 19-Feb-99 by M.Morrison


UNLOCK_DATABASE $SSW/gen/idl/database/unlock_database.pro
[Previous] [Next]
 Project     :	SOHO - CDS

 Name        :	UNLOCK_DATABASE

 Purpose     :	Unlock a previously locked database.

 Category    :	Class4, Operations, Database

 Explanation :	Unlocks a previously locked catalog database by deleting the
		lock file.

 Syntax      :	UNLOCK_DATABASE, LOCKFILE

 CALLED BY:
	ADD_EXPER, ADD_EXP_COMM, ADD_MAIN, FLUSH_CATALOG, MOD_EXPER, MOD_MAIN
 Examples    :	UNLOCK_DATABASE, 'experiment', LOCKFILE
		... write to database, e.g. using DBBUILD ...
		UNUNLOCK_DATABASE, LOCKFILE

 Inputs      :	LOCKFILE = The complete name of the lock file created by
			   LOCK_DATABASE, including the path.

 Opt. Inputs :	None.

 Outputs     :	None.

 Opt. Outputs:	None.

 Keywords    :	None.

 Calls       :	FIND_WITH_DEF, BREAK_FILE, FILE_EXIST, CDS_MESSAGE
 Common      :	None.

 Restrictions:	Must have write access in the directory containing the
		experiment catalog.

 Side effects:	There is no timeout to this procedure.  It will wait forever
		for the database to be unlocked.  If a process dies leaving the
		lock file in place, then it must be deleted by hand.

 Prev. Hist. :	None.

 History     :	Version 1, 09-Apr-1996, William Thompson, GSFC
               Version 2, 19 Mar 2003, Zarro (EER/GSFC) - replaced
               DELETE_FILE by improved FILE_DELETE

 Contact     :	WTHOMPSON


UNLOCK_ZDBASE $SSW/gen/idl/database/unlock_zdbase.pro
[Previous] [Next]
 Project     : SOHO - CDS     
                   
 Name        : UNLOCK_ZDBASE
               
 Purpose     : Unlock directories defined by ZDBASE 
               
 Category    : Planning
               
 Explanation : remove LOCK file created by LOCK_ZDBASE 
               
 Syntax      : IDL> UNLOCK_ZDBASE,FILE
    
 CALLED BY:
	MK_CDS_PLAN, UPDATE_IAP, UPDATE_KAP
 Examples    : 

 Inputs      : FILE = lock file name (with full path)
               
 Opt. Inputs : 
               
 Outputs     : None

 Opt. Outputs: None
               
 Keywords    :
               QUIET    = set to suppress messages
               ERR      = output messages
               STATUS = 1/0 for success/failure
               TIMER  = seconds to wait before retrying

 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], GET_ZDBASE, RM_LOCK, TRIM
	break_file [4], concat_dir [4]
 Common      : None
               
 Restrictions: Must have write access to ZDBASE directories
               
 Side effects: None.
               
 History     : Version 1,  17-July-1996,  D M Zarro.  Written

 Contact     : DZARRO@SOLAR.STANFORD.EDU


UNPACK_MAP $SSW/gen/idl/mapping/unpack_map.pro
[Previous] [Next]
 Project     : SOHO-CDS

 Name        : UNPACK_MAP

 Purpose     : Unpack data and pixel coordinate arrays for image
               saved in a map structure created by MK_MAP

 Category    : imaging

 Explanation : 

 Syntax      : unpack_map,map,data,xp,yp

 CALLS: ***
	EXIST, GET_MAP_PROP, GET_MAP_XP, GET_TAG_INDEX, GT_VMAP, TAG_EXIST [1]
	TAG_EXIST [2], VALID_MAP
 CALLED BY:
	DROT_COORD, DROT_MAP, DROT_RASTER, GRID_MAP, MAP2FITS, MEAN_MAP, MERGE_MAP, REBIN_MAP
	RESPACE_MAP, ROT_MAP, map2index
 Examples    :

 Inputs      : MAP = map structure created by MK_MAP

 Opt. Inputs : None


 Outputs     : DATA = 2d image array
               XP = cartesian coordinates of image pixels in x-direction (+ W)
               YP = cartesian coordinates of image pixels in y-direction (+ N)
 Opt. Outputs: 

 Keywords    : VELOCITY = set to check and extract velocity map data
                          stored with tag name starting with "VELOCITY"
               CENTROID = reference centroid for velocity maps
               DX,DY = mean spacing between pixels (arcsecs)
               XC,YC = mean center of image (arcsecs)
               XSIDE,YSIDE = mean x,y size of image (arcsecs)
               TAG_ID = tag name or index to extract
               ROLL_ANGLE = image roll angle (deg clockwise from N)
               ROLL_CENTER = coordinates of roll center [def = xc,yc] 
               XRANGE,YRANGE = coordinate limits

 History     : Written 22 October 1996, D. Zarro, ARC/GSFC

 Contact     : dzarro@solar.stanford.edu


UNPACK_STRUCT $SSW/gen/idl/struct/unpack_struct.pro
[Previous] [Next]
 Project     :	SOHO - CDS

 Name        : UNPACK_STRUCT

 Purpose     : unpacks the tag names of structure into dynamic variables

 Use         : INPUT_STRUCT=STRUCT & @UNPACK_STRUCT

 Inputs      : INPUT_STRUCT

 Opt. Inputs : None.

 Outputs     : All the variables associated with each tag are
               released into memory.

 Opt. Outputs: None.

 Keywords    : None.
               
 Explanation : 
               For example, to convert all the tag values of the
               structure system variable !d (e.g. !d.x_size) into 
               variables named with the corresponding tag name (e.g. x_size),
               type: 

               IDL> input_struct=!d    ;-- must use input_structure as input
               IDL> @unpack_struct     ;-- must be on a separate line

 Calls       : None.
 Common      : None.

 Restrictions: This program must be @'ed

 Side effects: None.

 Category    : Structure handling

 Prev. Hist. : None.

 Written     :	Zarro (ARC/GSFC) 14 June 1995

 Version     : 1


UNSETFLAG $SSW/gen/idl/image/unsetflag.pro
[Previous] [Next]
 Project     : SOHO - CDS

 Name        : 
	UNSETFLAG
 Purpose     : 
	Unset a flag field set by SETFLAG.
 Explanation : 
	Inverse procedure to SETFLAG and ENABLEFLAG.  Unsets one of the flag
	fields in the !IMAGE structure.
 Use         : 
	UNSETFLAG, /Keyword, ...

	Use only the /KEYWORD form for the keywords.  Do not use KEYWORD=VALUE.

 Inputs      : 
	None.  Only keyword parameters are used by this routine.
 Opt. Inputs : 
	None.
 Outputs     : 
	None.
 Opt. Outputs: 
	None.
 Keywords    : 
	NOSQUARE = If set, then pixels are not forced to be square.
	SMOOTH	 = If set, then image is expanded with interpolation.
	NOBOX	 = If set, then box is not drawn, and no space is reserved
		   for a border around the image.
	NOSCALE	 = If set, then the command TV is used instead of TVSCL to
		   display the image.
	MISSING	 = Value flagging missing pixels.  These points are scaled to
		   zero.  Ignored if NOSCALE is set.
	SIZE	 = If passed and positive, then used to determine the scale of
		   the image.
	NOEXACT  = If set, then exact scaling is not imposed.  Otherwise, the
		   image scale will be either an integer, or one over an
		   integer.  Ignored if SIZE is passed with a positive value.
	XALIGN	 = Alignment within the image display area.  Ranges between 0
		   (left) to 1 (right).  Default is 0.5 (centered).
	YALIGN	 = Alignment within the image display area.  Ranges between 0
		   (bottom) to 1 (top).  Default is 0.5 (centered).
	RELATIVE = Size of area to be used for displaying the image, relative
		   to the total size available.  Must be between 0 and 1.
		   Default is 1.  Passing SIZE explicitly will override this
		   keyword.
	MAX	 = The maximum value to be considered in scaling images, as
		   used by BYTSCL.
	MIN	 = The minimum value to be considered in scaling images, as
		   used by BYTSCL.
	VELOCITY = If set then the MIN and MAX values pertain to velocity
		   images rather than intensity images.  (An alternate way to
		   do the same thing is to use the keywords VMIN and VMAX.)
	TOP	 = The maximum value of the scaled image array, as used by
		   BYTSCL.
	BOTTOM	 = The minimum value of the scaled image array, as used by
		   BYTSCL.
	COMBINED = Signal to FORM_VEL to scale velocity images so that they can
		   be displayed together with intensity images.
 Calls       : ***
	TAG_EXIST [1], TAG_EXIST [2]
 CALLED BY:
	XCOR_CDS
 Common      : 
	None.
 Restrictions: 
	In general, the SERTS image display routines use several non-standard
	system variables.  These system variables are defined in the procedure
	IMAGELIB.  It is suggested that the command IMAGELIB be placed in the
	user's IDL_STARTUP file.

	Some routines also require the SERTS graphics devices software,
	generally found in a parallel directory at the site where this software
	was obtained.  Those routines have their own special system variables.

 Side effects: 
	None.
 Category    : 
	Utilities, Image_display.
 Prev. Hist. : 
	William Thompson, June 1991.
	W.T.T., Nov. 1991, added keywords MIN, MAX, VMIN, VMAX, TOP and
			   COMBINED.
	W.T.T., May 1992, added VELOCITY keyword, and made VMIN, VMAX alternate
			  format.
	William Thompson, August 1992, renamed BADPIXEL to MISSING.
 Written     : 
	William Thompson, GSFC, June 1991.
 Modified    : 
	Version 1, William Thompson, GSFC, 4 May 1993.
		Incorporated into CDS library.
       Version 2, William Thompson, GSFC, 3-Jan-2006
               Added keyword BOTTOM
 Version     : 
	Version 2, 3-Jan-2006


UNSIGN $SSW/gen/idl/util/unsign.pro
[Previous] [Next]
 Project     : SOHO - CDS     
                   
 Name        : UNSIGN()
               
 Purpose     : Produces longword equivalent of an unsigned 16-bit integer.
               
 Explanation : If an unsigned 16-bit value is held internally in IDL in an
               INT variable, overflow can occur.  This routine translates 
               the value to a longword so that the value can be handled as
               required.  Optionally, it can also be used to extract the lower
		NBITS bits in a number in which the higher order bits should be
		suppressed.
               
 Use         : lword = UNSIGN( INT16  [, NBITS ] )
    
 Inputs      : INT16  - 16-bit integer whose bytes represent an unsigned
                        2-byte integer.
               
 Opt. Inputs : NBITS  - Number of low-order bits to use in extracting the
			 unsigned value.  If not passed, then 16 is assumed.
               
 Outputs     : Function returns the longword equivalent.
               
 Opt. Outputs: None
               
 Keywords    : None

 Calls       : None
 CALLED BY:
	DISPLOI_MON5K, MK_RBMPC, OPEN_CALFITS, WRITE_CALFITS, ada2str, ccd_hdr_info
	check_sci5k_trunc, chekov, edac_summary, grs_plot, gt_tfss, gtt_mnem
	jitter_gif_xyimg, mk_ascii_list, mk_dpc_image, mk_list_image, mk_list_load
	mk_mdi_load, mk_trace_i1, mon_sci5k, new_edac_summary, plott_bda_dp
	raw_list2pixmap, redo_disploi, redo_mon_sci5k, reslot, set_list_addr, telem_sum
	tr_decode_head [1], tr_decode_head [2], wrt_fits_bin_exten [2], xdisp_fits
 Restrictions: None
               
 Side effects: None
               
 Category    : Util, numerical
               
 Prev. Hist. : Original by MK Carter

 Written     : CDS version by C D Pike, RAL, 22-Oct-93
               
 Modified    : Version 1, C D Pike, RAL 22-Oct-93
		Version 2, William Thompson, GSFC, 19 November 1993.
			Modified to speed up.  Added DATATYPE check.
		Version 3, William Thompson, GSFC, 20 June 1995
			Added optional parameter NBITS
		Version 4, William Thompson, GSFC, 24 May 1999
			Accommodated IDL/v5.2 hex constants change
		Version 5, William Thompson, GSFC, 7 June 1999
			Continue processing if something other than a short
			integer is passed, but print an error message.

 Version     : Version 5, 7 June 1999


UNZOOM_XY $SSW/gen/idl_libs/astron/tv/unzoom_xy.pro
[Previous] [Next]
 NAME:
      UNZOOM_XY
 PURPOSE:
      Converts X, Y position on the image display to the the X,Y position 
      on the corresponding image array.  (These  positions are identical 
      only for an unroamed, unzoomed image with with pixel (0,0) of the 
      image placed at position (0,0) on the TV.)

 CALLING SEQUENCE:
      UNZoom_XY, Xtv,Ytv,Xim,Yim, [ OFFSET =, ZOOM = ]   

 INPUTS:
      XTV - Scalar or vector giving X position(s) as read on the image
            display (e.g. with CURSOR,XTV,YTV,/DEVICE)
      XTV - Scalar or vector giving Y position(s) on the image display.
      If only 2 parameters are supplied then XTV and YTV will be modfied
      on output to contain the image array coordinates.

 CALLED BY:
	CURVAL, TVLIST
 OPTIONAL KEYWORD INPUT:
      OFFSET - 2 element vector giving the location of the image pixel (0,0) 
               on the window display.   OFFSET can be positive (e.g if the 
               image is centered in a larger window) or negative (e.g. if the
               only the central region of an image much larger than the window
               is being displayed. 
               Default value is [0,0], or no offset.
 OUTPUTS:
      XIM,YIM - X and Y coordinates of the image corresponding to the
            cursor position on the TV display.
 COMMON BLOCKS:
       If present, ZOOM_XY will use the TV and IMAGE common blocks which are
       defined in the MOUSSE software system (see 
        http://archive.stsci.edu/uit/analysis.html )If the user is not using
       the MOUSSE software (which keeps track of the offset and zoom in each
       window) then the common blocks are ignored.
 NOTES:
       The integer value of a pixel is assumed to refer to the *center*
       of a pixel.
 REVISON HISTORY:
       Adapted from MOUSSE procedure  W. Landsman       March 1996
       Converted to IDL V5.0   W. Landsman   September 1997
       Proper handling of offset option          S. Ott/W. Landsman May 2000
       Put back common blocks for MOUSSE compatibility    September 2004


UPDATE_CFIT $SSW/gen/idl/fitting/update_cfit.pro
[Previous] [Next]
 Project     : SOHO - CDS     
                   
 Name        : UPDATE_CFIT
               
 Purpose     : Update values in a fit structure.
               
 Explanation : Use this routine to store e.g., new parameter values into a
               component fit structure. You may also use it to simultaneously
               update the INCLUDE and CONST fields.
               
 Use         : UPDATE_CFIT,CFIT,AA_NOMINAL
    
 Inputs      : CFIT : Component fit structure

               AA_NOMINAL : Array of nominal values for the parameters. May
                            be left out, if only the const/include status is
                            to be updated.
               
 Opt. Inputs : None.
               
 Outputs     : None.
               
 Opt. Outputs: None.
               
 Keywords    : INITIAL : Set this to update the initial values instead of the
                         current values.

               INCLUDE : Supply as an array of bytes to update the INCLUDE
	CONST : Supply as an array of bytes to update CONST field.
	fields in the fit structure.
 Calls       : ***
	EXIST
 CALLED BY:
	CFIT, XCFIT_BLOCK
 Common      : None.
               
 Restrictions: None.
               
 Side effects: None.
               
 Category    : Analysis
               
 Prev. Hist. : None.

 Written     : S.V.H.Haugan, UiO,
               
 Modified    : Version 2, SVHH, 15 September 1997
                       Added calling mode without AA_NOM defined.

 Version     : 2, 15 September 1997


UPDATE_FITLIMB $SSW/gen/idl/image_tool/mk_limbfit_bs.pro
[Previous] [Next]
 PROJECT:
       SOHO - CDS/SUMER

 NAME:
       UPDATE_FITLIMB

 PURPOSE:
       Updates contents of the limb-fitting widget

 EXPLANATION:
       This routine updates contents of the limb-fitting widget and plot the
       fitted limb and solar disk center on the displayed image.

 CALLING SEQUENCE:
       update_fitlimb

 INPUTS:
       FIT_LIMB - A structure containing widget IDs and other info set as
                  UVALUE from MK_LIMBFIT_BS.

 OPTIONAL INPUTS:
       None.

 OUTPUTS:
       None.

 OPTIONAL OUTPUTS:
       None.

 KEYWORD PARAMETERS:
       None.

 CALLS: ***
	CNVT_COORD [1], CNVT_COORD [2], CURSOR_INFO, CW_FIELD, DELVARX [1], DELVARX [2]
	DELVARX [3], DELVARX [4], FLASH_MSG, ITOOL_COPY_TO_PIX, ITOOL_CROSS_HAIR
	ITOOL_DISPLAY, ITOOL_REFRESH, LIMBFIT_EVENT, LIMB_INFO, MAKE_AUTO_FIT
	MAKE_MANUAL_FIT, MK_LIMBFIT_BS, NL_LSQFIT, NUM2STR, PB0R, RESET_LIMBFIT
	SETWINDOW [1], SETWINDOW [2], XSHOW_HELP, delvarx [5]
 CALLED BY:
	ITOOL_LIMBFITTER, MAKE_AUTO_FIT, MAKE_MANUAL_FIT, MK_LIMBFIT_BS
 COMMON BLOCKS:
       None.

 RESTRICTIONS:
       None.

 SIDE EFFECTS:
       A dotted circle and a cross hair is over plotted on displayed image

 CATEGORY:

 PREVIOUS HISTORY:
       Written January 25, 1995, Liyun Wang, GSFC/ARC

 MODIFICATION HISTORY:
       Version 1, created, Liyun Wang, GSFC/ARC, January 25, 1995
       Version 2, Liyun Wang, GSFC/ARC, February 28, 1995
          Added elliptical limb fitting option
       Version 3, October 27, 1995, Liyun Wang, GSFC/ARC
          Modified to cope with the cursor tracking option
       Version 4, November 2, 1995, Liyun Wang, GSFC/ARC
          Modified to cope with image icon stacking
       Version 5, June 11, 1997, Liyun Wang, NASA/GSFC
          Changed call from CROSS_HAIR to ITOOL_CROSS_HAIR

 VERSION:
       Version 5, June 11, 1997


update_history $SSW/gen/idl/struct/update_history.pro
[Previous] [Next]
    Name: update_history

    Purpose: add history record(s) to input structure(s)

    Input Parameters:
      index   - structure vector or FITs header array
      records - info to add - string/string array

    Keyword Parameters:
      routine - if set , routine name to prepend to each history record -
                default is via: 'get_caller' unless /noroutine set
      caller - synonym for routine
      noroutine - if set, dont prepend 'Caller' to records
      version   - if set, verion number, include 'VERSION:' string
  
      mode - if set and #records=#index, add record(i)->index(i)
             (default mode = record(*)->index(*) (all records->all structure)
       
 CALLS: ***
	BOOST_TAG, BOX_MESSAGE, GET_CALLER, SINCE_VERSION [1], SINCE_VERSION [2]
	data_chk [1], data_chk [2], fitshead2struct, str2number [1], str2number [2]
	struct2fitshead
 CALLED BY:
	SSW_HOT_PIX, TRACE_ALIGN_CUBE, TRACE_PREP, TR_EXT_SUBIMG, TR_FLAT_SUB
	convert YohkohSXT history record  more legible form, difference_movie
	mreadfits_sxig12, safe_log10, ssw_build_trace, ssw_composite, ssw_unspike_cube
	trace_build_mosaic3, trace_make_tma, trace_make_tmr [1], trace_make_tmr [2]
	trace_make_tsma, trace_make_vignette, trace_sub2point, trace_unspike_time
	trace_wave2point, yo_xda2legacy
    History:
       3-November-1998 - S.L.Freeland - simplify history -> struct   
      26-November-1998 - S.L.Freeland - fixed problem w/multiple MODE1 calls
       8-jul-2003 - S.L.Freeland - Version 6. protect
                    (rsi subscript -> degenerate dimension)
  
    


UPDATE_MM $SSW/gen/idl/synoptic/update_mm.pro
[Previous] [Next]
 Project     : RHESSI

 Name        : UPDATE_MM

 Purpose     : update Max Millennium catalog with flare observations

 Category    : synoptic gbo 

 Syntax      : IDL> update_mm

 Inputs      : TSTART,TEND = time range to process
     
 Keywords    : REPROCESS = reprocess existing entries
               BACK = # of days back to process
               VERBOSE = set verbose output
             
 CALLS: ***
	ANYTIM2UTC [1], ANYTIM2UTC [2], CHKLOG [1], CHKLOG [2], EIT_GBO, GET_UTC, OS_FAMILY
	RD_GEV, RESTORE_GBO, SXI_GBO, TRACE_GBO, VALID_TIME, decode_gev, is_number [1]
	is_number [2]
 Restrictions: Unix only

 History     : Written 10 March 2003, D. Zarro (EER/GSFC)

 Contact     : dzarro@solar.stanford.edu


url_decode $SSW/gen/idl/http/url_decode.pro
[Previous] [Next]
   Name: url_decode

   Purpose: decode WWW URL-encoded query (ex: POST query -> IDL structure)

   Input Parameters:
      query - url encoded query (ex: from POST WWW Form)

   Keyword Parameters:
      qfile - file containing query (used in place of query parameter)

   Output:
      function returns IDL structure of form...
         { name1: value1		     ; values are string/string arrays
         [,name2: value2, nameN: valueN] }  ; one tag per query field

 CALLS: ***
	ARR2STR [1], Arr2Str [2], BREAK_FILE [1], BREAK_FILE [2], BREAK_FILE [3]
	CONCAT_DIR [1], CONCAT_DIR [2], CONCAT_DIR [3], FILE_EXIST [2], FIND_DUP
	FMT_TAG [1], FMT_TAG [2], MAKE_STR [1], MAKE_STR [2], STR2ARR [1], STR2ARR [2]
	UNIQ [1], UNIQ [2], UNIQ [3], URL_HEXREPLACE, break_file [4], concat_dir [4]
	extract_val, file_exist [1], file_exist [3], get_logenv [1], get_logenv [2]
	rd_tfile [1], rd_tfile [2], ssw_strsplit, str_replace [1], str_replace [2]
	where_pattern [1], where_pattern [2]
 CALLED BY:
	extract_val, soon_search_www, ssw_install [1], ssw_install [2], sswdb_install
	trace_submit_request
   History:
      20-Mar-1996 S.L.Freeland (for WWW/IDL server use)
       7-Jun-1996 S.L.Freeland - changed dynamic structure build 
      11-Jun-1996 S.L.Freeland - return null string if bad POST 
      22-Jan-1999 S.L.Freeland - allow encoded variables in addition to values
       4-oct-2002 S.L.Freeland - handle duplicate variable names
          (very rare so I immediately ran into them. .)
       09-May-2003, William Thompson - Use ssw_strsplit instead strsplit
      27-jan-2006, S.L.Freeland - merged divergent (last two mods)->online


url_encode $SSW/gen/idl/http/url_encode.pro
[Previous] [Next]
   Name: url_encode

   Purpose: urlencode a string

   Input Parameters:
      unencstr - string or string array to encode

 CALLED BY:
	HTTP__DEFINE
   History:
      5-Dec-2001 - for generating valid url-encoded POST Query string 
                   (see post_query.pro)

 CALLS: ***
	ARR2STR [1], Arr2Str [2], BOX_MESSAGE, STR2ARR [1], STR2ARR [2], data_chk [1]
	data_chk [2], str_replace [1], str_replace [2], strmids [1], strmids [2]
   Restrictions:
      written to get something online and going - needs some
      fleshing out to cover additional url-encdoding rules


URL_GET $SSW/gen/idl/system/url_get.pro
[Previous] [Next]
 Project     : SOHO-CDS

 Name        : URL_GET

 Purpose     : get a file from a URL location

 Category    : WWW

 Explanation : Uses PERL sockets for fast data transfers

 Syntax      : url_get,url,file,new_name,dir=out_dir

 Examples    :

 Inputs      : URL = address, e.g. http://orpheus.nascom.nasa.gov OR
               ftp://orpheus.nascom.nasa.gov 
               FILE = filename to retrieve

 Opt. Inputs : NEW_NAME = new name for file


 Outputs     : 

 Opt. Outputs: 

 Keywords    : DIR = location of retrieved file [def=current]
               NOVER = don't copy and overwrite existing file [def= over]
               QUIET = no messages
               NODELETE = don't delete source file
               OUTFILE= new name of copied file [def = same as file]

 Restrictions: Requires URL_GET PERL routines 
               (located in environ var 'URL_GET')

 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], ESPAWN, IS_BLANK
	LOC_FILE [1], LOC_FILE [2], LOC_FILE [3], MK_TEMP_FILE, PR_SYNTAX, RM_FILE
	TEST_OPEN, TRIM, break_file [4], concat_dir [4], ssw_bin
 Side effects: None

 History     : Written 31 January 1998, D. Zarro, SAC/GSFC
               Modified 22 August 2000, Zarro (EIT/GSFC)
               -- added check for filename in URL and OUTFILE keyword
  ;
 Contact     : dzarro@solar.stanford.edu


USE_EARTH_VIEW $SSW/gen/idl/image_tool/use_earth_view.pro
[Previous] [Next]
 PROJECT:
       SOHO - CDS/SUMER

 NAME:
       USE_EARTH_VIEW

 PURPOSE: 
       Set env variable SC_VIEW off to change point of view to Earth

 CATEGORY:
       Utility
 
 SYNTAX: 
       use_earth_view

 INPUTS:
       None.

 OPTIONAL INPUTS: 
       None.

 OUTPUTS:
       None.

 OPTIONAL OUTPUTS:
       None.

 KEYWORDS: 
       None.

 CALLED BY:
	DROT_COORD, DROT_RASTER, IMAGE_TOOL, IMAGE_TOOL_EVENT, ITOOL_RD_FITS, MK_IVM_MAP
	RD_IMAGE_FITS
 COMMON:
       None.

 RESTRICTIONS: 
       None.

 SIDE EFFECTS:
       None.

 HISTORY:
       Version 1, March 11, 1996, Liyun Wang, GSFC/ARC. Written

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


USE_SOHO_VIEW $SSW/gen/idl/image_tool/use_soho_view.pro
[Previous] [Next]
 PROJECT:
       SOHO - CDS/SUMER

 NAME:
       USE_SOHO_VIEW

 PURPOSE: 
       Set env variable SC_VIEW on to change point of view to SOHO

 CATEGORY:
       Utility
 
 SYNTAX: 
       use_soho_view

 INPUTS:
       None.

 OPTIONAL INPUTS: 
       None.

 OUTPUTS:
       None.

 OPTIONAL OUTPUTS:
       None.

 KEYWORDS: 
       None.

 CALLED BY:
	DROT_COORD, DROT_RASTER, IMAGE_TOOL, IMAGE_TOOL_EVENT, ITOOL_RD_FITS
	RD_IMAGE_FITS
 COMMON:
       None.

 RESTRICTIONS: 
       None.

 SIDE EFFECTS:
       None.

 HISTORY:
       Version 1, March 11, 1996, Liyun Wang, GSFC/ARC. Written

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


USE_VAX_FLOAT $SSW/gen/idl/system/use_vax_float.pro
[Previous] [Next]
 PROJECT:
	SDAC
 NAME: 
	USE_VAX_FLOAT

 PURPOSE:
	This function modifies new VMS floating point to reconcile old VMS float format.

 CATEGORY:
	GEN, UTIL, General Utility

 CALLING SEQUENCE:
	x = use_vax_float( x_in, /old2current ) ;convert old format to new.
	x = use_vax_float( x_in, /new2current ) ;convert new format to old.

 CALLS: ***
	CONV_UNIX_VAX, CONV_VAX_UNIX, DATATYPE [1], DATATYPE [2], DATATYPE [3]
	IDL_RELEASE
 INPUTS:
       X_in - input variable, may be structure, to convert.

 KEYWORD INPUTS:
	OLD2NEW - takes old VAX float format and converts to IEEE.  
	Use this when reading float data written in old format. 
	This keyword is disabled if the compiled version of conv_vax_unix also makes the
	conversion.  This function should normally be used in combination with 
	conv_vax_unix, e.g. 
	a = 0.0
	openr, lu,/get,file
	readu,lu,a
	a = conv_vax_unix( use_vax_float(/old2new, a))
	Normally, the call to conv_vax_unix would be present for transportable code.  The
	newer versions of conv_vax_unix may do the conversion, in which case this part of
	use_vax_float will be disabled.	

	NEW2OLD - takes IEEE float format and converts to old by
	running conv_unix_vax for non-vms architectures as will as vms for 5.1 and higher.  
	Use this when writing float data to files with old format.
	

 OUTPUTS:
       Function returns input argument in same dimension and type.

 OPTIONAL OUTPUTS:
	none

 CALLED BY:
	ASCII_RAW, BAT_MERGE, CALIB_HIST, COEFDATA, DN_FILE, EDITOC, FS_OPEN [1], GAP_FILE
	HV_FILE, MERGE_BURSTS, READ_DNFILE, READ_GAPFILE, READ_HVFILE, WRITE_DD, WRITE_FDB
	WRITE_LOG, batse_read_cat, batse_write_log, read_cat
 COMMON BLOCKS:
	none

 SIDE EFFECTS:
	none

 RESTRICTIONS:
	none

 PROCEDURE:
	Checks os and release and uses conv_vax_unix and conv_unix_vax as needed.

 MODIFICATION HISTORY:
	Version 1. 24-Jun-1998, richard.schwartz@gsfc.nasa.gov
	Version 2. 16-Jul-1998, richard.schwartz@gsfc.nasa.gov, enable X_in to be structures and
	enable conversion of IEEE floating point to vax format on all platforms other than VMS.
	The version must be 5.1 or higher on VMS.


USERLABEL $SSW/gen/idl/display/userlabel.pro
[Previous] [Next]

 NAME: USERLABEL


 PURPOSE: Place a user-specified string outside the upper right-hand corner
	of the plot window or at very bottom of entire window


 CATEGORY: Util,Gen, Graphics


 CALLING SEQUENCE: userlabel, text


 CALLED BY:


 CALLS: ***
	FCHECK, FCOLOR [1], fcolor [2]
 INPUTS:
       text - string to use for label

 OPTIONAL INPUTS:
  bottom - place timestamp in bottom right corner
	XYOUTS KEYWORDS-
	CHARSIZE
	CHARTHICK
	COLOR

 OUTPUTS:
       none

 OPTIONAL OUTPUTS:
	none

 CALLED BY:
	plotman
 COMMON BLOCKS:
	none

 SIDE EFFECTS:
	none

 RESTRICTIONS:
	text will be cut off after 80 characters

 PROCEDURE:
	none

 MODIFICATION HISTORY:
   kim, 20-Feb-2002, copied from timelabel
   5-Apr-2004, changed -90 to +90 orientation


UT_2_YYDOY [1] $SSW/gen/idl/utplot/ut_2_yydoy.pro
[Previous] [Next]
 Project     : SDAC     
                   
 Name        : UT_2_YYDOY 
               
 Purpose     : This function converts time from UTIME format, sec from 1-jan-1979,
		to Year (YY)  and Day of Year (DOY) as integers or strings.
               
 Category    : UTPLOT, TIME
               
 Explanation : 
               
 Use         : YYDOY = UT_2_YYDOY( Ut )
    
 Inputs      : Ut - Time in ANYTIM.PRO readable format.
               
 Opt. Inputs : None
               
 Outputs     : The funtion returns the output:
	  Default is a 2xN element INTARR where the first column is
         YY, the truncated year (i.e. 79 for 1979)
         and the second column is
         DOY, the day number where 1 January is DOY=1
         If only one time is passed, then a 2 element vector is returned


 Opt. Outputs: None
               
 Keywords    : STRING - If set, return answer as string 'YYDOY'

 Calls       : ***
	DAYCNV [1], DAYCNV [2], DAYCNV [3], JDCNV [1], JDCNV [2], JDCNV [3], anytim [1]
	anytim [2], anytim [3], anytim [4], anytim [5]
 CALLED BY:
	CP_CATREAD, HSI_UT_2_CLKDELTAFILETIME, Hsi_daily_catalog [1]
	Hsi_daily_catalog [2], TWIDGET, cp_catwidget, hsi_clk_delta_calc
	hsi_clock_drift_redo, hsi_clock_drift_soc, hsi_flare_id_check, hsi_orbpar4bck
	hsi_rd_orbit_files, hsi_state_vectors, mksort, uvspplot
 Common      : None
               
 Restrictions: 
		 Limited to 1950-2049              
 Side effects: None.
               
 Prev. Hist  :
	RAS, 93/1/25
	ras, 7-jan-94, take advantage of anytim	

 Modified    : 
		Version 3, RAS, 5-feb-1997, documentation header updated


UT_DIFF $SSW/gen/idl/time/ut_diff.pro
[Previous] [Next]
 Project     : HESSI     
                   
 Name        : UT_DIFF
               
 Purpose     : compute difference between local and UT time
               
 Category    : time utility
               
 Syntax      : IDL> print,ut_diff()

 Inputs      : None
               
 Outputs     : hours difference between local and UT time
               
 Keywords    : None
               
 CALLED BY:
	SYSTIM
 History     : 11-Nov-2002, Zarro (EER/GSFC)  Written
     
 Contact     : dzarro@solar.stanford.edu


ut_label $SSW/gen/idl/utplot/ut_label.pro
[Previous] [Next]
   Name: ut_label

   Purpose: label previously drawn utplot / outplot (via evt_grid.pro)

   Input Parameters:
      times - xvalue (any SSW time ok)
      ypos  - corresponding Y (data or normalized coords)
  
   Keyword Parameters:
      ( keywords accepted by evt_grid.pro, including)
      labsize, labcolor - (obvious)
      align (same interp as 'align' in xyouts)
      vertical - switch, if set, rotate label to vertical

   Calling Sequence:
      IDL> [utplot / outplot ]
      IDL> ut_label, times [, ypositions , labels] [,KEYWORDS=KEYWORDS ]
      
   History:
      4-March-1998 - S.L.Freeland - simplified one common evt_grid use  
    
 CALLS: ***
	BOX_MESSAGE, anytim [1], anytim [2], anytim [3], anytim [4], anytim [5], evt_grid
   Restrictions:
      current plot must be via utplot, times must fall within time range


ut_time [1] $SSW/gen/idl/genutil/ut_time.pro
[Previous] [Next]
NAME:
	ut_time
PURPOSE:
       Return UT time / convert input times between Local and UT time

OPTIONAL INPUT:
	time_in	- A time (or times) in the local time zone to be converted
		  to UT.  Input can be any of the 3 standard input formats.
                 OR - uttimes to be converted to local times (/TO_LOCAL kwrd) 

 CALLS: ***
	anytim2ex [1], anytim2ex [2], anytim2ints [1], anytim2ints [2], fmt_tim [1]
	fmt_tim [2], int2secarr [1], int2secarr [2], tbeep [1], tbeep [2], tbeep [3]
	udate2ex [1], udate2ex [2]
 CALLED BY:
	FIRST_LIGHT [1], FIRST_LIGHT [2], GOES_TODAY, MDI_SUMMARY, NORH_FITS_INTERP [1]
	NORH_FITS_INTERP [2], ROLL_PLOT, ace_files, adjust_times, cam_run_sum
	cfl_summary [1], cfl_summary [2], check_sci5k_trunc, disk_hog [1], disk_hog [2]
	disp_gen [1], disp_gen [2], disp_therm_rs232, edac_summary, eit_catrd [3]
	eit_files, eit_fulldisk, fl_goesplot [1], fl_goesplot [2], fl_goesplot [3]
	fl_mktext, genx2html [1], genx2html [2], get1gbo, get_epoch_sfcs [1]
	get_epoch_sfcs [2], get_newsoon, get_selsis, go_batch [1], go_batch [2]
	go_yo_prod_batch, goes3sec_copy, goes_plot [1], goes_plot [2], goes_plot [3]
	goes_plot [4], goes_plot [5], html_basics, html_doc, html_form_addtime [1]
	html_form_addtime [2], html_form_addtime [3], image2movie, iperr_sea, jst
	mdi_imagetool, mk_bad_pix_map_load, mk_formt_html [1], mk_formt_html [2]
	mk_formt_html [3], mk_gif_mag_index, mk_imgsum_html, mk_lasteit_movie
	mk_mdi_fits, mk_sfc [1], mk_sfc [2], mk_ssc_batch [1], mk_ssc_batch [2]
	mk_synsfc_coeff [1], mk_synsfc_coeff [2], mon_health [1], mon_health [2]
	mon_sci5k, new_edac_summary, new_mon_health [1], new_mon_health [2]
	plot_loi_mmad, plot_loi_summary [1], plot_loi_summary [2], plot_pzt_corr
	plot_shutter_perf, plot_therm_rs232a, plot_therm_rs232c, pr_maxmin_hk
	pr_mdihk_trans [1], pr_mdihk_trans [2], pr_seq_frame_info, pr_status [1]
	pr_status [2], pr_therm_rs232, pr_uniq_hk, quick_hkplot [1], quick_hkplot [2]
	redo_disploi, redo_mon_sci5k, reltime [1], reltime [2], search_obs
	sel_leak_image [1], sel_leak_image [3], sel_leak_image [4], selsis_copy [1]
	selsis_copy [2], selsis_week, seq_run_sum [1], seq_run_sum [2], show_contacts
	show_pix [1], show_pix [2], show_pix_event [1], show_pix_event [2]
	show_pix_event [3], ssw_check_contrib, sxt2file, sxt2mpeg, sxt_html, sxt_mornint
	sxt_plan, timeline, timeline2html, topsdb [1], topsdb [2], tr_lut_conv
	tr_mech_summary_img month, tr_mk_seq_alph, trace_cat, web_seq, xdate [1]
	xdate [2], xhkplot, xread_hist, xsearch_obs, xset_chain [1], xset_chain [2]
	yopos [1], yopos [2]
OPTIONAL KEYWORD INPUT:
	int	- If set, return the time in the internal structure format
		  Default is in string format
	ex	- If set, return the time in the 7-element external format
		  Default is in string format

Calling Examples:
      utnow      = ut_time()		; current UT time
      uttimes    = ut_time(localtimes)   ; local->ut
      localtimes = ut_time(uttimes,/to_local)
HISTORY:
	Written 4-Jun-93 by M.Morrison
	 9-Nov-93 (MDM) - Patch to work with SGI
        4-apr-95 (SLF) - add TO_LOCAL keyword and function 
	                  use /noshell with spawn
	 7-Jun-95 (MDM) - Added eastern time zones
			- Added check that time zone was recognized
       15-feb-96 (SLF) - fix bug when systime=GMT (!)
       21-aug-97 (SLF) - protect non-unix, non-vms from crash (per B.LaBonte) 
                         TODO - Extend to Windows, use 'SSW_TZ'
       15-jan-2003 (SLF) - use ut_diff (via RSI systime(/utc)) for
                         !version.relesase>=5.5 (could be 5.4?) 


UTC2DOW $SSW/gen/idl/time/utc2dow.pro
[Previous] [Next]
 Project     :	SOHO - CDS

 Name        :	UTC2DOW()

 Purpose     :	Calculates the day of the week from CDS UTC date/time.

 Explanation :	This procedure takes any of the UTC date/time formats, and
		calculates the appropriate day of the week.  This is returned
		as either a number between 0-6 (Sunday-Saturday), or as a three
		letter character string (e.g. "Mon") or as a longer character
		string (e.g. "Monday").

 Use         :	Result = UTC2DOW( UTC )
		Result = UTC2DOW( UTC, /STRING )
		Result = UTC2DOW( UTC, /ABBREVIATED )
		Result = STRUPCASE( UTC2DOW( UTC, /ABBREVIATED ))

 Inputs      :	UTC	= Coordinated Universal Time, in one of the following
			  formats:

			Internal:  A structure containing the tags:

				MJD:	The Modified Julian Day number.
				TIME:	The time of day, in milliseconds since
					the beginning of the day.

				   Both are long integers.

			External:  A structure containing the integer tags
	"1988-01-18T17:20:43.123Z"
	CCSDS:	   An ASCII string containing the UTC time to, DAY, HOUR, MILLISECOND.
	MINUTE, MONTH, SECOND, YEAR, and, e.g., for Space Data Systems (ISO 8601)
	millisecond accuracy in the format, more details.
	or one of its variants--see STR2UTC for
	recommended by the Consultative Committee
 Opt. Inputs :	None.

 Outputs     :	The result of the function is the day of the week in one of the
		following formats:

			     Default	String	    Abbreviated

				0	Sunday		Sun
				1	Monday		Mon
				2	Tuesday		Tue
				3	Wednesday	Wed
				4	Thursday	Thu
				5	Friday		Fri
				6	Saturday	Sat

 Opt. Outputs:	None.

 Keywords    :	STRING	    = If set, then the result of the function is a
			      character string containing the full name of the
			      day of the week, e.g. "Monday".

		ABBREVIATED = If set, then the result of the function is a
			      three-letter abbreviation for the day of the
			      week, e.g. "Mon".  If all uppercase letters are
			      desired, e.g. "TUE", then simply combine this
			      function with the STRUPCASE function.

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

				ERRMSG = ''
				RESULT = UTC2DOW( UTC, ERRMSG=ERRMSG )
				IF ERRMSG NE '' THEN ...

 Calls       : ***
	DATATYPE [1], DATATYPE [2], DATATYPE [3], STR2UTC [1], STR2UTC [2], STR2UTC [3]
	UTC2INT [1], UTC2INT [2], UTC2INT [3]
 CALLED BY:
	MK_TIMETICK, RTMVI [1], WEEK2UTC, dsp_menu, ssw_check_contrib, weeks_in_year [1]
	weeks_in_year [2]
 Common      :	None.

 Restrictions:	None.

 Side effects:	If an error is encountered and the ERRMSG keyword is set, 
		UTC2DOW returns an integer scalar equal to -1.

 Category    :	Utilities, Time.

 Prev. Hist. :	None.

 Written     :	William Thompson, GSFC, 27 September 1993.

 Modified    :	Version 1, William Thompson, GSFC, 27 September 1993.
		Version 2, William Thompson, GSFC, 14 November 1994.
			Changed .DAY to .MJD
		Version 3, Donald G. Luttermoser, GSFC/ARC, 28 December 1994.
			Added the keyword ERRMSG.
		Version 4, Donald G. Luttermoser, GSFC/ARC, 30 January 1995.
			Added ERRMSG keyword to internally called procedures.
			Made the error handling routine more robust.  Note 
			that this procedure can handle both scalars and
			vectors as input.
               Version 5, William Thompson, GSFC, 25-Oct-2005
                       Pass all structure interpretation to UTC2INT - treats
                       structures with MJD and TIME as CDS internal time

 Version     :	Version 5, 25-Oct-2005


UTC2DOY $SSW/gen/idl/time/utc2doy.pro
[Previous] [Next]
 Project     :	SOHO - CDS

 Name        :	UTC2DOY()

 Purpose     :	Calculates the day of the year from CDS UTC date/time.

 Explanation :	This procedure takes any of the UTC date/time formats, and
		calculates the appropriate day of the year, starting with the
		1st of January as day 1.

		See file aaareadme.txt for a listing of the proper UTC
		date/time formats.

 Use         :	Result = UTC2DOY( UTC )

 Inputs      :	UTC	= Coordinated Universal Time, in one of the following
			  formats:

			Internal:  A structure containing the tags:

				MJD:	The Modified Julian Day number.
				TIME:	The time of day, in milliseconds since
					the beginning of the day.

				   Both are long integers.

			External:  A structure containing the integer tags
	"1988-01-18T17:20:43.123Z"
	CCSDS:	   An ASCII string containing the UTC time to, DAY, HOUR, MILLISECOND.
	MINUTE, MONTH, SECOND, YEAR, and, e.g., for Space Data Systems (ISO 8601)
	millisecond accuracy in the format, more details.
	or one of its variants--see STR2UTC for
	recommended by the Consultative Committee
 Opt. Inputs :	None.

 Outputs     :	The result of the function is the day of the year.

 Opt. Outputs:	None.

 Keywords    :	FRACTIONAL   =	If set, then a fractional day-of-year will be
				returned, instead of a whole number.

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

					ERRMSG = ''
					RESULT = UTC2DOY( UTC, ERRMSG=ERRMSG )
					IF ERRMSG NE '' THEN ...

 Calls       : ***
	CHECK_EXT_TIME, DATATYPE [1], DATATYPE [2], DATATYPE [3], DATE2MJD [1]
	DATE2MJD [2], DATE2MJD [3], INT2UTC, STR2UTC [1], STR2UTC [2], STR2UTC [3]
	TAG_EXIST [1], TAG_EXIST [2]
 CALLED BY:
	CDS_VEL_SLICE [2], EIT_CATRD [1], EIT_DISPLAY, FTP_MLSO_IMAGES, GETBKGIMG
	IMAGE_TOOL, IMAGE_TOOL_EVENT, ITOOL_LOAD_IMAGE, make_avg_daily_roll
	todays_targets
 Common      :	None.

 Restrictions:	None.

 Side effects:	If an error is encountered and the ERRMSG keyword is set, 
		UTC2DOY returns an integer scalar equal to -1.

 Category    :	Utilities, Time.

 Prev. Hist. :	None.

 Written     :	William Thompson, GSFC, 27 September 1993.

 Modified    :	Version 1, William Thompson, GSFC, 27 September 1993.
		Version 2, William Thompson, GSFC, 14 November 1994
			Changed .DAY to .MJD
		Version 3, Donald G. Luttermoser, GSFC/ARC, 28 December 1994
			Added the keyword ERRMSG.  Added a check to see
			whether the calculated DOY is valid.
		Version 4, Donald G. Luttermoser, GSFC/ARC, 3 January 1995
			Fixed bug introduced in version 3 which did not allow
			for arrays to be sent/returned.
		Version 5, Donald G. Luttermoser, GSFC/ARC, 30 January 1995
			Added ERRMSG keyword to internally called procedures.
			Madec the error handling routine more robust.  Note
			that this procedure can handle both scalars and 
			vectors as input.
		Version 6, William Thompson, GSFC, 28 January 1997
			Allow for long input arrays.
		Version 7, 07-Mar-2000, William Thompson, GSFC
			Added keyword FRACTIONAL
               Version 8, William Thompson, GSFC, 25-Oct-2005
                       Treat all structures with MJD and TIME tags as CDS
                       internal time

 Version     :	Version 8, 25-Oct-2005


UTC2INT [1] $SSW/gen/idl/time/utc2int.pro
[Previous] [Next]
 Project     :	SOHO - CDS

 Name        :	UTC2INT()

 Purpose     :	Converts CCSDS calendar time to internal format.

 Explanation :	This procedure converts Coordinated Universal Time (UTC)
		calendar time, as either a seven element structure variable, or
		in the CCSDS/ISO 8601 ASCII calendar format, into CDS internal
		format.  For notes on various time formats, see file 
		aaareadme.txt.

 Use         :	Result = UTC2INT( UTC )

 Inputs      :	UTC	= This can either be a structure with the tags YEAR,
			  MONTH, DAY, HOUR, MINUTE, SECOND, MILLISECOND, or a
			  character string in CCSDS/ISO 8601 format, e.g.

				"1988-01-18T17:20:43.123Z"

			  or one of it's variants--see STR2UTC for more
			  details.

 Opt. Inputs :	None.

 Outputs     :	The result of the function is a structure with the tags:

			MJD	= The Modified Julian Day number
			TIME	= The time of day, in milliseconds since the
				  start of the day.

 Opt. Outputs:	None.

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

					ERRMSG = ''
					RESULT = UTC2INT( UTC, ERRMSG=ERRMSG )
					IF ERRMSG NE '' THEN ...

 Calls       : ***
	DATATYPE [1], DATATYPE [2], DATATYPE [3], DATE2MJD [1], DATE2MJD [2], DATE2MJD [3]
	STR2UTC [1], STR2UTC [2], STR2UTC [3]
 CALLED BY:
	ANYTIM2UTC [1], ANYTIM2UTC [2], CDS_VEL_SLICE [2], CHECK_EXT_TIME, STR2UTC [1]
	STR2UTC [2], STR2UTC [3], UTC2DOW, UTC2SEC, UTC2TAI
 Common      :	None.

 Restrictions:	None.

 Side effects:	If an error is encountered and the ERRMSG keyword is set, 
		UTC2INT returns an integer scalar equal to -1.

 Category    :	None.

 Prev. Hist. :	None.  However, the concept of "internal" and "external" time
		is based in part on the Yohkoh software by M. Morrison and G.
		Linford, LPARL.

 Written     :	William Thompson, GSFC, 13 September 1993.

 Modified    :	Version 1, William Thompson, GSFC, 21 September 1993.
		Version 2, William Thompson, GSFC, 14 November 1994
			Changed .DAY to .MJD
		Version 3, Donald G. Luttermoser, GSFC/ARC, 3 January 1995
			Added the keyword ERRMSG.  Check to see if the input
			structure (if sent) has 2 or 7 tags.  If 2 tags (MJD &
			TIME), this procedure returns the input variable with 
			no changes (i.e., already in CDS internal format).
		Version 4, Donald G. Luttermoser, GSFC/ARC, 30 January 1995
			Added ERRMSG keyword to internally called procedures.
			Made error handling routine more robust.  Note that 
			this procedure allows both scalars and vectors as
			input.
		Version 5, William Thompson, GSFC/SAC, 17 September 1997
			Fix bug where the time 23:60:00 or 24:00:00 would be
			misinterpreted as 23:59:60 on days containing leap
			seconds.  Include call to CHECK_INT_TIME.
               Version 6, William Thompson, GSFC, 25-Oct-2005
                       Interpret any structure with tags MJD and TIME as CDS
                       internal time.

 Version     :	Version 6, 25-Oct-2005


UTC2SEC $SSW/gen/idl/time/utc2sec.pro
[Previous] [Next]
 Project     : SOHO - CDS     
                   
 Name        : UTC2SEC()
               
 Purpose     : Converts CDS UTC time format to seconds since MJD=0.
               
 Explanation : Used in the UTPLOT programs, this function converts CDS 
               internal UTC format to seconds since MJD=0.
               It takes no account of leap seconds.
		For notes on various time formats, see file aaareadme.txt.
               
 Use         : IDL>  sec = utc2sec(str)
    
 Inputs      : str  - structure variable containing UTC time format
               
 Opt. Inputs : None
               
 Outputs     : Function returns seconds elapsed since MJD=0.
               
 Opt. Outputs: None
               
 Keywords    : ERRMSG       =	If defined and passed, then any error messages 
				will be returned to the user in this parameter 
				rather than being handled by the IDL MESSAGE 
				utility.  If no errors are encountered, then a 
				null string is returned.  In order to use this 
				feature, the string ERRMSG must be defined 
				first, e.g.,

					ERRMSG = ''
					RESULT = UTC2SEC( STR, ERRMSG=ERRMSG )
					IF ERRMSG NE '' THEN ...

 Calls       : ***
	DATATYPE [1], DATATYPE [2], DATATYPE [3], UTC2INT [1], UTC2INT [2], UTC2INT [3]
 CALLED BY:
	CDS_OUTPLOT, CDS_UTPLOT, CDS_UTSTRING, EIT_CATRD [1], GISPLOT, MK_GISPLOT_LBL
	MK_GIS_PLT, eit_find_last_cal, eit_findcalgroup, eit_getcal
 Common      : None
               
 Restrictions: No account is taken of leap seconds.
               
 Side effects: If an error is encountered and the ERRMSG keyword is set, 
		UTC2SEC returns an integer scalar equal to -1.
               
 Category    : Util, time
               
 Prev. Hist. : None

 Written     :	C D Pike, RAL, 20-Apr-94
               
 Modified    :	Version 1, C D Pike, RAL, 20-Apr-94
		Version 2, William Thompson, GSFC, 14 November 1994
			Changed .DAY to .MJD
		Version 3, Donald G. Luttermoser, GSFC/ARC, 3 January 1995
			Added the keyword ERRMSG.  Added ON_ERROR,2 flag.
			Allow for input of EXTERNAL format of UTC.
		Version 4, Donald G. Luttermoser, GSFC/ARC, 30 January 1995
			Added ERRMSG keyword to internally called procedures.
			Made the error handling routine more robust.  Note 
			that this routine can handle both scalars and vectors
			as input.
               Version 5, 25-Oct-2005, William Thompson, GSFC
                       Handle structures through UTC2INT - interprets any
                       structure with MJD and TIME as CDS internal time

 Version     :	Version 5, 25-Oct-2005


UTC2STR $SSW/gen/idl/time/utc2str.pro
[Previous] [Next]
 Project     :	SOHO - CDS

 Name        :	UTC2STR()

 Purpose     :	Converts CDS external time in UTC to string format.

 Explanation :	This procedure takes the UTC time in "internal" or "external"
		format, and converts it to a calendar string.  The default
		format is the Consultative Committee on Space Data Systems
		(CCSDS) ASCII Calendar Segmented Time Code format (ISO 8601),
		but other formats are also supported.  For notes on various 
		time formats, see file aaareadme.txt.

 Use         :	Result = UTC2STR( UTC )
		Result = UTC2STR( UTC, /ECS )

 Inputs      :	UTC	= The UTC date/time as a data structure with the
			  elements YEAR, MONTH, DAY, HOUR, MINUTE, SECOND,
			  and MILLISECOND.

 Opt. Inputs :	None.

 Outputs     :	The result of the function will be an ASCII string containing
		the UTC time to millisecond accuracy in CCSDS format, e.g.

			"1988-01-18T17:20:43.123Z"

		However, if the ECS keyword is set, then the following format
		will be used instead.

			"1988/01/18 17:20:43.123"

		Note that this isn't exactly the ECS string format, because the
		ECS does not use fractional seconds.  However, if /ECS is
		combined with /TRUNCATE, then the following output will result

			"1988/01/18 17:20:43"

		which matches what the ECS expects to see.

		Using the keyword /VMS writes out the time in a format similar
		to that used by the VMS operating system, e.g.

			"18-Jan-1988 17:20:43.123"

		A variation of this is obtained with the /STIME keyword, which
		emulates the value of !STIME in IDL.  It is the same as using
		/VMS except that the time is only output to 0.01 second
		accuracy, e.g.

			"18-Jan-1988 17:20:43.12"

		The keywords /DATE_ONLY and TIME_ONLY can be used to extract
		either the date or time part of the string.

 Opt. Outputs:	None.

 Keywords    :	ECS	  = If set, then the output will be in ECS format, as
			    described above.

		VMS	  = If set, then the output will be in VMS format, as
			    described above.

		STIME	  = If set, then the output will be in STIME format, as
			    described above.

		Only one of the above keywords can be set.  If none of them are
		set, then the output is in CCSDS format.

		TRUNCATE  = If set, then the time will be truncated to 1 second
			    accuracy.  Note that this is not the same thing as
			    rounding off to the nearest second, but is a
			    rounding down.

		DATE_ONLY = If set, then only the date part of the string is
			    returned.

		TIME_ONLY = If set, then only the time part of the string is
			    returned.

		UPPERCASE = If set, then the month field in either the VMS or
			    STIME format is returned as uppercase.

		NOZ	  = When set, the "Z" delimiter (which denotes UTC
			    time) is left off the end of the CCSDS/ISO-8601
			    string format.  It was decided by the FITS
			    committee to not append the "Z" in standard FITS
			    keywords.  NOZ=1 is now the default.

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

				ERRMSG = ''
				RESULT = UTC2STR( UTC, ERRMSG=ERRMSG )
				IF ERRMSG NE '' THEN ...

 Calls       : ***
	DATATYPE [1], DATATYPE [2], DATATYPE [3], INT2UTC, TAG_EXIST [1], TAG_EXIST [2]
 CALLED BY:
	ADJUST_DATE_OBS, ANYTIM2CAL, CDS_UTPLOT, CHECK_PRO_NAMES, CHKSCPCKTIME
	COMPUTE_MONEXP_FACTORS, CONGRID [1], CONGRID [2], DEF_CDS_UTPLOT, DOY2UTC
	EIS_CAT [1], EIS_CAT [2], FILE_DATE_MOD, FIX_TIME_JUMP, GENERIC_MOVIE, GETBKGIMG
	GET_SC_ATT [1], GT_START, INT2UTC, KDATE, LIST_CDROM, MAKE_DAILY_IMAGE
	MAKE_DIFF_MPEG, MISS_PCKTS, MKMOVIE, MKMOVIE0 obsolete version of mkmoviepro
	MKMOVIEM, MKMOVIEWLC, MKMOVIE_kpd, MK_ALL_MIN, MK_DAILY_C1_MED, MK_DAILY_MED
	MK_DAILY_MIN, MK_GISPLOT_LBL, MK_GIS_PLT, MK_MONTHLY_MIN, PLOT_HKLZ, PLOT_HT
	PLOT_MONEXP_STD, PLOT_SUBHTR, REDUCE_DAILY, REDUCE_LEVEL_1, RTMOVIE, RTMVI [1]
	SCAN_SC_HDR, SHOW_PLAN, SHOW_STUDY, SUM_IMAGE_HEAD, TIME_CORRECTION
	UNPACK_ALL_SCIENCE, UNPACK_LZ_SCIENCE, UPDATE_MPG, UTC2YYMMDD, WCS_FIND_TIME
	WCS_GET_TIME, WRITE_HKBYDATE, WRITE_SUMMARIES [1], WSAVE_PS [2], XCME_MES
	XCOR_CDS, XCPT, XPLOT_HT, carrmapmaker2
	cmap2gif ftsfile maxdmind ROOTroot CONTROLcontrol, cube_interp, datify
	eis_cpt_gui [1], eis_cpt_gui [2], eis_db_save_gui [1], eis_db_save_gui [2]
	eis_mk_plan_gui [1], eis_mk_plan_gui [2], fixinate_eit
	get_daily_list cam dte QLql FILTERfilter, laser8ew, make_avg_daily_roll
	plot_temps2 [1]
	rt_carrmapmaker yymmdd num_r rad limb wlimb hdr disp saveset nextrot
	zstructify
 Common      :	None.

 Restrictions:	None.

 Side effects:	If an error is encountered and the ERRMSG keyword is set, 
		UTC2STR returns an string scalar equal to '-1'.

 Category    :	Utilities, Time.

 Prev. Hist. :	None.  However, the concept of "internal" and "external" time
		is based in part on the Yohkoh software by M. Morrison and G.
		Linford, LPARL.

 Written     :	William Thompson, GSFC, 20 September 1993.

 Modified    :	Version 1, William Thompson, GSFC, 21 September 1993.
		Version 2, William Thompson, GSFC, 21 October 1993.
			Modified to overcome IDL formatted string limitation
			when processing more than 1024 values, based in part on
			a suggestion by Mark Hadfield, NIWA Oceanographic.
		Version 3, William Thompson, GSFC, 20 December 1994
			Added keywords TRUNCATE, DATE_ONLY, TIME_ONLY
		Version 4, Donald G. Luttermoser, GSFC/ARC, 3 January 1995
			Added the keyword ERRMSG.
		Version 5, Donald G. Luttermoser, GSFC/ARC, 30 January 1995
			Added ERRMSG to the internally called procedures.
			Made the error handling routine more robust.  Note 
			that this routine can handle both scalars and vectors
			as input.
		Version 6, William Thompson, GSFC, 14 March 1995
			Added keywords VMS, STIME, UPPERCASE
               Version 7  CDP, RAL  15-Mar-95.  Fixed typo in Version 6
		Version 8, William Thompson, GSFC, 17 September 1997
			Added keyword NOZ.
		Version 9, 07-Feb-2000, William Thompson, GSFC
			Once again overcome 1024 value limitation.
               Version 10, 09-Jul-2003, William Thompson, GSFC
                       Make /NOZ the default.
               Version 11, William Thompson, GSFC, 25-Oct-2005
                       Interpret any structure with tags MJD and TIME as CDS
                       internal time.

 Version     :	Version 11, 25-Oct-2005


UTC2TAI $SSW/gen/idl/time/utc2tai.pro
[Previous] [Next]
 Project     :	SOHO - CDS

 Name        :	UTC2TAI()

 Purpose     :	Converts UTC calendar time to TAI.

 Explanation :	This procedure converts Coordinated Universal Time (UTC)
		calendar time, in one of the CDS formats into Atomic
		International Time (TAI).  For notes on various time formats, 
		see file aaareadme.txt.

 Use         :	Result = UTC2TAI( UTC )

 Inputs      :	UTC	= Coordinated Universal Time, in one of the following
			  formats:

			Internal:  A structure containing the tags:

				MJD:	The Modified Julian Day number.
				TIME:	The time of day, in milliseconds since
					the beginning of the day.

				   Both are long integers.

			External:  A structure containing the integer tags
	"1988-01-18T17:20:43.123Z"
	CCSDS:	   An ASCII string containing the UTC time to, DAY, HOUR, MILLISECOND.
	MINUTE, MONTH, SECOND, YEAR, and, e.g., for Space Data Systems (ISO 8601)
	millisecond accuracy in the format, more details.
	or one of its variants--see STR2UTC for
	recommended by the Consultative Committee
 Opt. Inputs :	None.

 Outputs     :	The result of the function is the Atomic International Time
		calculated from the date and time, in seconds from midnight on
		1 January 1958.

 Opt. Outputs:	None.

 Keywords    :	NOCORRECT = If set, then the time will be assumed to be already
			    a TAI value, even though apparently in UTC format,
			    and no adjustment will be made for leap seconds.

                           This keyword can also be used to convert to the
                           number of non-leap seconds since 1-Jan-1958, as
                           used by the STEREO spacecraft.

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

				ERRMSG = ''
				RESULT = UTC2TAI( UTC, ERRMSG=ERRMSG )
				IF ERRMSG NE '' THEN ...

 Calls       : ***
	DATATYPE [1], DATATYPE [2], DATATYPE [3], GET_LEAP_SEC, STR2UTC [1], STR2UTC [2]
	STR2UTC [3], UTC2INT [1], UTC2INT [2], UTC2INT [3]
 CALLED BY:
	ADD_CDS_POINT, ADD_EFFICIENCY, ADD_EFF_AREA, ADD_EXPER, ADD_EXP_COMM, ADD_MAIN
	ADD_MIRSHIFT, ADD_TILTCAL, ADD_WAVECAL, ADD_WAVE_EFF, ADJUST_HDR_TCR, ANYTIM2CDF
	ANYTIM2TAI, AN_NIMCP_1_2, CALC_RAS_DUR, CARRLONG, CATRD_DAILY, CAT_DIRECTORY
	CAT_DURATION, CAT_FITS, CAT_OPEN [1], CAT_RAW, CAT_TO_TEXT, CDF2TAI, CDS_PLOT_ERR
	CDS_SLIT6_BURNIN, CLR_INST_DLYD, CLR_NRT_RES, CLR_OTHER_OBS, CLR_RESOURCE
	CLR_TEL_MODE, CLR_TEL_SUBMODE, COMBINE_MVI, COMPUTE_MONEXP_POLY, CORRSUBIMAGE
	DAYS2LAUNCH, DISPLAY_CDS_BURNIN, DMOVIE [1], DMOVIE [2], DSP_RASTER, EIS_CAT [1]
	EIS_CAT [2], EIS_CPT_COMMAND_STORE_CHECK [1]
	EIS_CPT_COMMAND_STORE_CHECK [2], EIS_IMAGE_TOOL [1], EIS_IMAGE_TOOL [2]
	EIS_IMAGE_TOOL_EVENT [1], EIS_IMAGE_TOOL_EVENT [2], EIS_ITOOL_PTOOL [1]
	EIS_ITOOL_PTOOL [2], EIS_PLOT_OBEV [1], EIS_PLOT_OBEV [2], EIS_PLOT_OPEV
	EIS_PLOT_STEV [1], EIS_PLOT_STEV [2], EIT_CATRD [1], EIT_FXPAR, EIT_SUBFIELD
	FAKE_POINT_STC, FILE_DATE_MOD, FLUSH_CATALOG, GETBKGIMG, GET_ALT, GET_CDS_TEMPS
	GET_CROTA, GET_DETAIL, GET_FLAG, GET_LIST, GET_NIMCP, GET_ORBIT_CDF2, GET_PLAN
	GET_PLAN_TT, GET_RAW_FIL, GET_ROLL_OR_XY, GET_SC_ATT [1], GET_SOHO_DET
	GET_SOLAR_RADIUS, GET_SUN_CENTER [1], GET_VDS_SLITPOS, GET_VDS_STATE
	GET_WAVECAL, GT_CDS_TIME, GT_DURATION, HC_SINCE, HTML_SPLAN, IMAGE_TOOL
	IMAGE_TOOL_EVENT, ITOOL_DIFF_ROT, ITOOL_OVERLAYER, ITOOL_PTOOL, LIST_ALT
	LIST_ANOMALY, LIST_CAMPAIGN, LIST_COM_TIMES, LIST_DETAIL, LIST_DLYD_TIMES
	LIST_DSN, LIST_EXPER, LIST_EXP_COMM, LIST_FITS, LIST_FLAG, LIST_INST_DLYD, LIST_MAIN
	LIST_MDI_M, LIST_NRT_RES, LIST_OTHER_OBS, LIST_OTHER_RES, LIST_PLAN, LIST_RESOURCE
	LIST_SOHO_DET, LIST_SUPPORT, MAKE_DAILY_IMAGE, MAKE_FITS_HDR, MKDI_C1, MKMOVIE
	MKMOVIE0 obsolete version of mkmoviepro, MKMOVIEM, MKMOVIEWLC, MKMOVIE_kpd
	MKQUERY, MK_CDS_PLAN, MK_DAILY_MED, MK_HEAD_CAT, MK_IMG, MK_PLAN_CHANGE
	MK_PLAN_CLONE, MK_PLAN_COPY, MK_PLAN_CUSTOM, MK_PLAN_FORM, MK_PLAN_HTML
	MK_PLAN_ORDER, MK_PLAN_PRIV, MK_PLAN_RECAL, MK_PLAN_SHIFT, MK_POINT_BASE, MK_SOHO
	MK_SOHO_CUSTOM, MK_TIMETICK, MOD_EXPER, MOD_MAIN, OPLOT_ERR, OPLOT_SPLAN, PLOT_ERR
	PLOT_EXPINT, PLOT_HT, PLOT_RASTER, PLOT_RESOURCE, PLOT_SPLAN, PLOT_SUBHTR, POINTING3
	PRED_PROG_NUM, QUERY_ANOMALY, RASTER_DUR, RD_PLAN, RD_RESOURCE, READ_CARR_LONG
	READ_DOOR_STATUS, READ_HT, READ_KAP_ITEM, READ_MERGED_DSN, READ_MSP_FILE
	READ_MSP_ITEM, REDUCE_MAIN, REMOVE_CR, ROLL_TIMES, RTMOVIE, RTMVI [1], RTMVIPLAY [1]
	RTMVIPLAY [2], RTMVIPLAYPNG, SHOW_SYNOP__DEFINE, STARFIELD, SUBFIELD_EV
	TIME_AVERAGE, TIME_CORRECTION, UPDATE_CAMPAIGN, UPDATE_MPG, VDS_BURNIN_NEW
	VDS_BURNIN_ORIG, WCS_GET_TIME, WMESSAGE [1], WPLOT_NONOP, WPLOT_SUBHTR [2]
	WRITE_ANOMALY, WRITE_CAP, WRITE_HT, WRITE_IAP, XCAMP, XCAT, XCME_MES, XCOR_CDS, XCPT, XIAP
	XPORT, XREPORT, XREPORT_EDIT, XZOOM_PLAN, carrmapmaker2, eis_cpt_gui [1]
	eis_cpt_gui [2], eis_dr_obj__DEFINE [1], eis_dr_obj__DEFINE [2]
	eis_mk_plan_gui [1], eis_mk_plan_gui [2]
	eis_timeline_graphics_axes_default [1]
	eis_timeline_graphics_axes_default [2], eis_timeline_plot_gui [1]
	eis_timeline_plot_gui [2], mk_atlas, smk_atlas
 Common      :	None.

 Restrictions:	Not valid for dates before 1 January 1972.

		This procedure requires a file containing the dates of all leap
		second insertions starting with 31 December 1971.  This file
		must have the name 'leap_seconds.dat', and must be in the
		directory given by the environment variable TIME_CONV.  It must
		be properly updated as new leap seconds are announced.

 Side effects:	If an error is encountered and the ERRMSG keyword is set, 
		UTC2TAI returns an integer scalar equal to -1.

 Category    :	None.

 Prev. Hist. :	None.  However, the concept of "internal" and "external" time
		is based in part on the Yohkoh software by M. Morrison and G.
		Linford, LPARL.

 Written     :	William Thompson, GSFC, 13 September 1993.

 Modified    :	Version 1, William Thompson, GSFC, 21 September 1993.
		Version 2, William Thompson, GSFC, 14 November 1994
			Changed .DAY to .MJD
		Version 3, Donald G. Luttermoser, GSFC/ARC, 3 January 1995
			Added the keyword ERRMSG.
		Version 4, Donald G. Luttermoser, GSFC/ARC, 30 January 1995
			Added ERRMSG keyword to internally called procedures.
			Made the error handling routine more robust.  Note
			that this procedure can handle both scalars and
			vectors as input.
		Version 5, William Thompson, GSFC, 28 January 1997
			Allow for long input arrays.
		Version 6, William Thompson, GSFC, 7 February 1997
			Added keyword NOCORRECT
               Version 7, William Thompson, GSFC, 25-Oct-2005
                       Handle structures through UTC2INT - interprets any
                       structure with MJD and TIME as CDS internal time
		Version 8, William Thompson, GSFC, 3-Jan-2006
			Use VALUE_LOCATE for IDL 5.3 or higher
   Version 9, Zarro (GSFC), 18 March 2006
     Added check for vector input in VALUE_LOCATE

 Version     :	Version 8, 3-Jan-2006


utcursor [1] $SSW/gen/idl/utplot/utcursor.pro
[Previous] [Next]
   Name: utcursor

   Purpose: allow user to click on utplot and return utplot time 

   Calling Sequence:
      (first display utplot)
      utcursor,x [,y, xd, /normal, /data, /device ,
		   /mark , /label , yrange=[y0,y1], /ticks , /quiet ,
		   err=err ]

   Output Parameters:
     x -  time coordinate (Yohkoh internal time  format)
     y -  y coordinate (default is data, use /device or /normal to override)
     xd - x coordinate (same format as y)

   Keyword Parameters:
     data, device, normal - switches specify y, xd output 
     mark, label, ticks - switches to control labeling (see evt_grid.pro)
     yrange - [y0,y1] in normalized coord for evt_grid vertical line
     err - gets !err value after selection

 CALLS: ***
	GETUT [1], GETUT [2], anytim2ints [1], anytim2ints [2], evt_grid, fmt_tim [1]
	fmt_tim [2]
 CALLED BY:
	evt_demo, goes_log
   History:
      11-Dec-1993 (SLF)


UTERRPLOT [1] $SSW/gen/idl/utplot/uterrplot.pro
[Previous] [Next]

pro uterrplot,time,plus,minus,skip=inskip,horizontal=horizontal,$
	thick=thick,color=color

NAME:
     UTERRPLOT
PURPOSE:
     Plot Error bars on a UTPLOT
CATEGORY:
CALLING SEQUENCE:
     uterrplot,time,plus,minus
INPUTS:
   IF HORIZONTAL=0:
     time = time vector 
     plus = the data value at the top of the error range
     minus = the data value at the bottom of the error range
   IF HORIZONTAL=1:
     time = time at earliest point in error range 
     plus = time at latest point in error range
     minus = the data value 
OPTIONAL INPUT PARAMETERS:
KEYWORD PARAMETERS:
     /horizontal = Plot a horizontal error bar rather than a vertical error
                   bar. 
     skip = integer specifying how frequently an error bar should be
            plotted. Default is 1 which means plot every error bar.  If skip
            is set to 2, then every other error bar si plotted, etc.
OUTPUTS:
 CALLS: ***
	OUTPLOT [1], OUTPLOT [2], OUTPLOT [3]
 CALLED BY:
	HXT_LCURVE
COMMON BLOCKS:
SIDE EFFECTS:
RESTRICTIONS:
     You must call utplot first to plot the data points.  This routine only
     adds error bars to a data plot which is assumed to already be plotted.
PROCEDURE:
     First call utplot to plot your data, then call uterrplot to add error
     bars. 
MODIFICATION HISTORY:
     T. Metcalf 2000-April-05
     L. Acton 2005-July-15, added thick and color keywords.


UTHELP $SSW/gen/idl/utplot/uthelp.pro
[Previous] [Next]
 Project     : SDAC    
                   
 Name        : UTHELP
               
 Purpose     : This procedure prints the normal calling arguments
		and purpose for the core UT plotting and time
		conversion routines developed at the SDAC.
               
 Category    : UTPLOT 
               
 Explanation : A text file is read and displayed.
               
 Use         : UTPLOT [,/LONG]
    
 Inputs      : 
               
 Opt. Inputs : None
               
 Outputs     : None

 Opt. Outputs: None
               
 Keywords    : LONG- Display the long format help file.

 Calls       : ***
	ATIME [1], ATIME [2], CHECKVAR [1], checkvar [2]
 Common      : UTCOMMON, UTSTART_TIME
               
 Restrictions: The UTPLOT directory should be in the !path.
               
 Side effects: None.
               
 Prev. Hist  :
        written AKT -- ???
        made UNIX/VMS compatible (DMZ, ARC April'93)

 Modified    : RAS, 5-feb-1997, looks for help files in !path.


UTIME [1] $SSW/gen/idl/utplot/utime.pro
[Previous] [Next]
 NAME:
   UTIME
 PURPOSE:
   Function to return time in seconds from 79/1/1,0000 corresponding to
       the ASCII time passed in the argument.
   N.B. Valid only from 1950-2050
 CATEGORY:
 CALLING SEQUENCE:
   RESULT = UTIME(UTSTRING,/ERROR)
 INPUTS:
   UTSTRING -    String containing time in form YY/MM/DD,HHMM:SS.XXX
      or YY/MM/DD HHMM:SS.XXX or YY/MM/DD HH:MM:SS.XXX
          Also accepts Yohkoh format time string:
      DD-MON-YY HH:MM:SS.XXX
      Will not accept HH:MM:SS.XXX DD-MON-YY
 Keywords:
   ERROR -     =0/1. If set to 1, there was an error in the ASCII
      time string.
   /date   - return only the calendar date component of the UTIME
   /time   - return only the time day
       MSGERR    = If defined and passed, then any error messages
                           will be returned to the user in this parameter
                           rather than being handled by the IDL MESSAGE
                           utility.  If no errors are encountered, then a
                           null string is returned.  In order to use this
                           feature, the string MSGERR must be defined
                           first, e.g.,

                               MSGERR = ''
                               RESULT = UTC2STR( UTC, MSGERR=MSGERR )
                               IF MSGERR NE '' THEN ...
      MSGERR used to avoid collisions with sloppy calls to error (using err instead)

 OUTPUTS:
   Double precision time in seconds since 79/1/1, 0000.
 CALLS: ***
	DATATYPE [1], DATATYPE [2], DATATYPE [3], JDCNV [1], JDCNV [2], JDCNV [3]
	Month_id [1], Month_id [2], anytim [1], anytim [2], anytim [3], anytim [4]
	anytim [5]
 CALLED BY:
	ACRIM, ACRIM_EV, ACRIM_OUT, BATSE_FILE2TIME, BATSE_ON, BATSE_ONTIMES, CHKPOINT
	CONT_READ, CREATE_GIF_HTML, CREATE_HTML, DCFREAD, DET_POINT, DISCSP_READ, DN_FILE
	DO_ALANSLIST, DO_FITSFILES, FILELIST, FIND_DBFILE, FLSTRING_TYPE, GAP_FILE, GETFLARE
	GET_DAYN, GET_DISCSP511, GET_LAD_GAIN, GET_SLLD, GET_SPEC_CAL, GRABTIME, HFLARE
	HV_FILE, HXARCHIVE, HXIS, HXRBS, HXRBS_FILETIMES, Load_sher, MEMORY_INTRVLS
	MK_DISCSP_CAL, OP_COM [1], OP_COM [2], PLOTBATSE, PLOTFIT, PLOTMAP, PURGE_KAPS
	QLDISPLAY, RDFCS, RDFIS, RDFIS_SPEC, RD_EXB, RD_TGRS_SPEC [1], RD_TGRS_SPEC [2]
	READ_EPHEM, SC4TREAD, SPEX_COMMONS [2], SPEX_COMMONS [4], SPEX_HANDLES [1]
	SPEX_HANDLES [2], SPEX_PROC [1], SPEX_PROC [2], SPEX_THISTORY [1]
	SPEX_THISTORY [2], UPDATE_HTML, YYDOY_2_UT, YYDOY_2_UT TIME, anytim [1]
	anytim [2], anytim [3], anytim [4], anytim [5], batse_create_html, batse_sea_html
	bfits_burst [1], bfits_burst [2], drot, find_uvexp, getbrr_spec, hxrbs_response
	mksort, mrdfits_spectra, plot_bda, rdfis_img, rdmap, read_dd, spex_evnt [1]
	spex_evnt [2], spex_soxs_specfile__define, spex_xsm_specfile__define, uvspplot
	wbs_response [1], wbs_response [2]
 COMMON BLOCKS:
   None.
 SIDE EFFECTS:
       If just a time is passed (no date - detected by absence of slash
       and comma in string), then just the time of day is converted to
   seconds relative to start of day and returned.  If date and time
   are passed, then day and time of day are converted to seconds and
   returned.  In other words, doesn't 'remember' last date used if
   no date is specified.  There is only rudimentary error checking,
   strings like 82/02/30 will have the same value as 82/03/02.
 PROCEDURE:
   Parses string into component parts, i.e. YY,MM,DD,HH,MM,SS.XXX,
   converts the strings into double precision seconds using a gregorian
   date to julian date algorithm.  Accepts vectors of strings as well
   as scalar strings.
 MODIFICATION HISTORY:
   Written by Kim Tolbert 7/89
   Modified for IDL Version 2 by Richard Schwartz Feb. 1991
   Corrected RAS 91/05/02, error should be initialized to 0
   Modified to accept vectors of dates by RAS, 92/07/07
   Modified to accept vectors of any dimensionality by RAS, 92/08/10
   Modified to automatically convert Yohkoh string format, ras, 01-May-93
   Corrected 07-May-93 to again take whitespace in old date format, RAS
   added time and date keywords, ras, 5-jan-94
   minor changes to error handling, ras, 7-jan-94
   ras, 18-jun-1995, hxrbs style strings may now be parsed with only a
       space between the date and time strings!
   richard.schwartz, 6-dec-1999.  Fixed bug with mixed length strings w/o commas.
     Correct code to insert commas wasn't used, producing possible errors.
   9-jan-2006, richard.schwartz@gsfc.nasa.gov, eliminate problems
     with more than 2^14 elements in utstring.


Utime2str [1] $SSW/gen/idl/utplot/utime2str.pro
[Previous] [Next]
Function :
	Utime2str
Use:
	ut_str= utime2str( seconds [,utbase=utime('yy/mm/dd, hhmm:ss.xxx')] )

Inputs:
	Seconds - time in seconds from basetime in UTcommon or as --->
	Utbase  -  Reference time in seconds from 79/1/1
		   0 is accepted as a valid argument.
Output:
	Structure UT_STR with two tagnames
		.DAY - Day from 79/1/1 (day=1), longword
		.TIME- Msec from start of day, longword

Purpose:
	To facilitate passing times to Yohkoh software without using double
	precision and to make it compatible with the Yohkoh UTPLOT package.

	N.B.  Not all versions of IDL can sucessfully translate double
	precision between DEC VMS and MIPS machines even in XDR
	format.  Also, integers cannot be used for .DAY and Longword
	for .TIME because it fails to be read properly.  Probably, an 
	alignment problem, Unix likes variables on fullword boundaries.

 CALLS: ***
	GETUTBASE [1], GETUTBASE [2]
 CALLED BY:
	READ_CONT_FITS, READ_DISCSP_FITS, anytim [1], anytim [2], anytim [3], anytim [4]
	anytim [5]
History:
	RAS, 93/4/6
	ras, 29-nov-93, fixed structure/scalar incompatibilty
	ras, 11-jan-94, fixed problem with negative numbers
	ras, 4-May-94, fixed round-off error in day calculation
	ras, 28-oct-95, rewrite using floor function


UTLABEL [1] $SSW/gen/idl/utplot/utlabel.pro
[Previous] [Next]
 NAME: UTLABEL
 PURPOSE: Print start date and time on plot drawn with UTPLOT routine.
 Called by UTPLOT.
 CALLING SEQUENCE: UTLABEL,LABEL,XPOS=XPOS,YPOS=YPOS
 CALLING PARAMETERS:
	LABEL -	Date and time string to be written
	XPOS -	x value of location where LABEL will be printed in
		normalized coordinates.
	YPOS -	Same as x for y location for printing LABEL.
	COLOR-  Normal color keyword
 CALLS: ***
	CHECKVAR [1], checkvar [2]
 MODIFICATION HISTORY:
	Written by Richard Schwartz, Feb. 1991


UTPLOT [1] $SSW/gen/idl/utplot/utplot.pro
[Previous] [Next]
 NAME:
   UTPLOT
 PURPOSE:
   Plot X vs Y with Universal time labels on bottom X axis.
 CALLING SEQUENCE:
   UTPLOT,X,Y,BASE_TIME( or Utstring or Xst0), $
     TIMERANGE=TIMERANGE, LABELPAR=LBL, /SAV,TICK_UNIT=TICK_UNIT,NTICKS=NTICKS, $
     MINORS=MINORS, /NOLABEL, ERROR=ERROR,$
               [& ALL KEYWORDS AVAILABLE TO PLOT]
       UTPLOT, roadmap, y
       utplot, x, y, '1-sep-91'
       utplot, x, y, '1-sep-91', timerange=['1-sep-91', '2-sep-92']
       utplot, x, y, '1-sep-91', timerange=[index(0), index(i)], xstyle=1
 INPUTS:
   X -   X array to plot in seconds relative to base time.
               (MDM) Structures allowed. X axis
     range can be as small as 5 msec or as large as 20 years.

   Y -   Y array to plot.
   Base_time (optional)- reference time, it's purpose is as a fiducial
     time to preserve the precision of the graphics, that is
     the range over which a plot is drawn must not be too small
     with respect to the absolute size of the start of the plot or
     roundoff errors will create strange effects.  In previous
     versions of Utplot, Base_time was called Utstring or Xst which
     are explained below:
           UTSTRING -
     (Optional) ASCII string containing base time for X axis.
     Format for time is YY/MM/DD,HHMM:SS.XXX.  If this parameter
     isn't present    and hasn't been set yet (by a previous call to
     UTPLOT, via routine SETUTBASE, or directly), user is
     prompted for base time.
           Xst0 - The reference time to use for converting a structure
               into a seconds array (OR) the time for the first value if
               passing a double prec. array.

   Optional Keyword Inputs

       TIMERANGE - Optional. This can be a two element time range to be
               plotted.  It can be a string representation or structure.

       LBL -   (Labelpar=LBL) 2 element vector selecting substring from publication format
               of ASCII time (YY/MM/DD, HH:MM:SS.XXX).  For example,
               LBL=[11,18] would select the HH:MM:SS part of the string.
       SAV -   If set, UTPLOT labels, tick positions, etc. in !X... system
               variables will remain set so that they can be used by
               subsequent plots (normally !x... structure is saved in
               temporary location before plot and restored after plot).
               To clear !x... structure, call CLEAR_UTPLOT.
       TICK_UNIT - Time (in seconds) between Major tick marks is forced to TICK_UNIT
                   Has no effect for axis longer than 62 days.
                   If TICK_UNIT is negative, then a standard value for TICK_UNIT is used
                   that is closest to abs(TICK_UNIT). Returned as new value.
   NTICKS - Previously unused in utplot.  The default tick_unit is adjusted such
     that the number of intervals is as close to NTICKS as possible. If two
     values are consistent, the longer interval (smaller value) is used.
       MINORS    - Number of minor tick marks is forced to MINORS
       NOLABEL If set then UTLABEL isn't printed on plot
       XTITLE - text string for x-axis label - If the string contains
                4 asterisks ('****'), the UT time will be substituted
                for that substring
   Year - Force the year to appear in the x axis labels
   YOHKOH - Use Yohkoh style labels, e.g. '03-May-93 18:11:30.732'

   DATE_LABEL_ONLY - Special format for the bottom label, showing Time (date)
     A format requested by Arnold Benz
   ANYTIM_LABEL_EXTRA - This is used to obtain alternate time formats for the
     bottom label, used with anytim(/truncate, start_time, _extra=ANYTIM_LABEL_EXTRA)
     Requested by Joe Gurman to accommodate the anytim2utc formats that are also
     available through anytim().  Use for VMS, CCSDS, STIME, ECS formats
     e.g.  ANYTIM_LABEL_EXTRA = {vms:1} for /vms or {ccsds:1} for /ccsds. ,etc.

 OPTIONAL OUTPUT PARAMETERS:
   ERROR - 0/1.  1 means there was an error in plotting.
 CALLS: ***
	ANYTIM2UTPLOT, ATIME [1], ATIME [2], CHECKVAR [1], Ex2Int [1], Ex2Int [2], FCHECK
	GETUTBASE [1], GETUTBASE [2], SET_UTPLOT [1], SET_UTPLOT [2], anytim2ex [1]
	anytim2ex [2], checkvar [2], int2secarr [1], int2secarr [2], str_replace [1]
	str_replace [2]
 CALLED BY:
	ACRIM, ACRIM_EV, ACRIM_OUT, ACRIM_READER, AR_AREAS, BATSE_FLARES_WEEK
	BCS_24HR_PLOT [1], BCS_24HR_PLOT [3], BCS_SPMOVIE [1], BCS_SPMOVIE [2]
	BORN_AGAIN, BOX_LC, CHECK_SFC_PNT, COMPUTE_MONEXP_FACTORS, COMPUTE_MONEXP_POLY
	DEMODULATOR_TEST, ECLIPSE_PLOTTER, EVAL_SHERB, FE25_BSC_TEMP, FIND_FAST_DATA
	FLAREMETER, FS_GRAPH, GET_HXRBS_FITS, GIS_UTPLOT, GLITCH_TRACKER
	HESSI FASTRATE CLASS DEFINITION, HESSI PACKET CLASS DEFINITION
	HESSI ROLL_DB CLASS DEFINITION, HSI_ANY_SOHDATA, HSI_DO_QLOOK_PLOTS
	HSI_NPAK_HISTOGRAM, HSI_VCFILE_PACKET_RATE, HXARCHIVE, HXFITS, HXISLIFE, HXISTPLOT
	HXT_4CHPLOT, HXT_AUTOIMG, HXT_BACK, HXT_FANS, HXT_LCURVE, HXT_SPECTRA, HXT_SUMMER
	LCBDA, NEUPERT_PLOT, NIS_BIAS_DEMO, NOV93_ECLIPSE, NOV_ECLIPSE, OBS_PLOT, ORB_EXTRAP
	OVER_THE_LIMB, OVSA_EXPLORER formerly OVSA_PRESUB, OVSA_PRESUB, OVSA__DEFINE
	PIXEL_LC, PLOTBATSE_QL, PLOT_BSC [1], PLOT_BSC [2], PLOT_BSC_AS2, PLOT_CDS_CRAYS
	PLOT_ERR, PLOT_EXPINT, PLOT_EXP_FACTOR, PLOT_GCPARM, PLOT_GRSPCH, PLOT_GRSPCL
	PLOT_GRSPHH, PLOT_GRSPHL, PLOT_HKLZ, PLOT_HT, PLOT_HXSPC, PLOT_HXSPH, PLOT_MED
	PLOT_MONEXP_STD, PLOT_OCCS, PLOT_OCC_ONDAY, PLOT_SUBHTR, PROFILES2, Plot
	QL_DAY_PLOT, QL_ORBIT_PLOT, QUICKATT [1], QUICKATT [2], QUICKDARK [2]
	QUICKDRIFT [1], QUICKDRIFT [2], QUICKSTRAY [2], QUICK_DPE, READ_HXT_CAL, ROLL_PLOT
	SET_UTAXIS, SOLAID, SPARTAN_PLANNER, SPEX_THISTORY [1], SPEX_THISTORY [2]
	SPLINE_PLOT, SXSPC, SXT_HYST, SYNOPTIC_STATS, Sxt_goes_teem, TERM_QUICK, TERM_REVIEW
	TERM_REVIEW_GIF, TEST_ATT, TV_SSX, TV_SYNOP, UTPLOT_IMAGE, UTPLOT_IO [1]
	UTPLOT_IO [2], UTPLOT_IO [3], UTPLOT__DEFINE, WINDMETER, WL_CUBE_II, WPLOT_NONOP
	WPLOT_SUBHTR [2], W_HISTOGRAM, XPLOT_HT, auto_bck_find, auto_bck_find0, avsig_temp
	bcs_survey, box_lc_plot, box_sxthxt_fsp, cal_fig_mich, db_gbo, edac_summary
	eis_status_sts1_conversions [5], eis_status_sts2_conversions [1]
	eis_status_sts3_conversions [1], eit_proton_summary, emi_plot [1]
	fit_bsc_plot, get_utevent [1], get_utevent [2], go_teem_plots, goes_plot [1]
	goes_plot [2], goes_plot [3], goes_plot [4], goes_plot [5], goes_teem, goes_widget
	goesem_eqn [1], goest_eqn [1], gr_summary_plot, grs32_fsp, grsl_fsp, high_mag_lat
	hsi_as_plquality, hsi_obs_times, hsi_sas_plot_scpointing, hsi_test_packet_rate
	hxs_fsp, hxsgrs_fsp, hxt_fsp, hxt_survey, hxt_utplot, hxtbox_fsp, imspec [10]
	imspec [11], imspec [12], imspec [13], imspec [14], imspec [15], imspec [16]
	imspec [17], imspec [18], imspec [19], imspec [1], imspec [20], imspec [21]
	imspec [22], imspec [23], imspec [24], imspec [25], imspec [26], imspec [27]
	imspec [28], imspec [29], imspec [2], imspec [30], imspec [31], imspec [32]
	imspec [33], imspec [34], imspec [35], imspec [36], imspec [3], imspec [4]
	imspec [5], imspec [6], imspec [7], imspec [8], imspec [9], jitter_gif_xyimg
	last_lc, lcbsd, lchda, lcobs, lcur_plot [1], lcur_plot [2], lcwda, lsplot
	mon_health [1], mon_health [2], mwlt_select, new_edac_summary
	new_mon_health [1], new_mon_health [2], ovsa_interact, pl_dt_genx
	pl_monitor_center, plot_door_open, plot_evn, plot_fem, plot_fft, plot_gbl [1]
	plot_gbl [2], plot_img_cadence, plot_lcur [1], plot_lcur [2], plot_loi_mmad
	plot_loi_summary [1], plot_loi_summary [2], plot_pzt_corr, plot_shutter_perf
	plot_ssl, plot_ssw_fov, plot_sxg, plot_sxl [1], plot_sxl [2], plot_temps2 [1]
	plot_trav [1], plot_trav [2], plot_trav [3], plotbft [1], plotbft [2], plotltc [1]
	plotltc [2], plott_bda, plott_bda_dp, plott_hda, plott_hi_sum, plott_low_sum
	plott_med1_sum, plott_med2_sum, plott_wda, ploty [1], ploty [2], pmtras_analysis
	psk_correlate, rd_so_at_ftr, rd_sxs_pha [1], rd_sxs_pha [2], rd_therm_rs232
	read_yohkoh_4_spex [1], read_yohkoh_4_spex [2], ref_day_plot, res_freq
	show_obs2, show_obs3, show_obs4, sld_sls_vstrips, sld_vstrips, soon_cadence
	soon_catstat, sooncat_cadence, soup_obs2, spectro_plot2, ssw_apkpbar, stt_plot
	sxt_align, sxt_temps, sxtbox_fsp, tim2tfss, tprofiles, uvspplot, wdefroi [1]
	wdefroi [2], yo_height
 COMMON BLOCKS:
   COMMON UTCOMMON, UTBASE, UTSTART, UTEND, xst = base, start, and
   end time for X axis in double precision variables containing
   seconds since 79/1/1, 00:00. xst is the fully referenced start
   time of the plot.
       COMMON UTSTART_TIME, PRINT_START_TIME = 0/1 ( don't/do print
       start time label on plot), ATIME_FORMAT ('YOHKOH'  or 'HXRBS')
 SIDE EFFECTS:
   X vs Y plot is produced on current graphics device.  The normal
   X-axis is replaced by an axis with ticks and labels showing the
   universal time.  The start time of the plot is displayed in the
   upper right inside corner of the plot if SET_UTLABEL,0 hasn't been
   called.
 RESTRICTIONS:
   Cannot be used for times before 1-JAN-1950 or after 31-DEC-2049
   Range of X axis can be anywhere between 5 msec and 20 years.
   Keywords DATA, DEVICE, NORMAL are not available
   The utbase time is only set if either base_time
   is passed or required as input.
 PROCEDURE:
   If start or end time hasn't been set, autoscale X axis.
   If either has been set (via routines SETUTSTART   and SETUTEND,
   or directly), only data between times selected will be displayed;
   i.e. X min = UTSTART - UTBASE; X max = UTEND - UTBASE.
   Calls SET_UTPLOT using keyword LABELPAR to customize X
   axis labels and tickmarks.  Otherwise it uses all normal plotting
   procedures and    the !X and !Y system variables and keywords.
   Note:   Format of time written in labels differs slightly from format
   used to pass times to routines.  Input format contains only one colon
   between minutes and seconds (makes the meaning of a partial string
   precise) while labels include an extra colon between hours and minutes
   (more acceptable for publication).
 MODIFICATION HISTORY:
   Written by Kim Tolbert, 4/88.
   Mod. by Richard Schwartz to Version 2 91/02/17
       Mod. by Richard Schwartz for compatibility with OPLOT. 3/26/91
   Mod. by RAS, keywords TICK_UNIT and MINORS added 91/05/02
   MOD. BY RAS TO ACCEPT ALL PLOT KEYWORDS, 91/10/03
       MOD. by AKT 11/12/92. Added error keyword argument.
       Mod. ras, yohkoh style keyword
   removed DATA, DEVICE, NORMAL keywords 14-May-93, ras
     so version 2 can compile the many keywords
   RAS, 93/6/8 -
   If X window, make sure window is open before saving any bang variables
   otherwise Linecolors will fail!
       Mod by MDM to work with YOHKOH data (structure data types)
       Mod by MDM to expand the COMMON block so that OUTPLOT will work
       Mod by MDM 21-Apr-92 to not set !quiet
       Mod by SLF 26-Apr-92 to reinstate the xtitle option
       Mod by MDM 28-Aug-92 to add keyword YEAR to print the year on the
                 tick label
       Mod by MDM  9-Apr-93 to added TIMERANGE option
       Mod by MDM 12-Apr-93 to removed ZMARGIN since older IDL versions had
                 trouble with 9-Apr addition of TIMERANGE parameter
   1-NOV-93, ras, integrate Yohkoh and SDAC software packages
   10-Nov-93, ras, accept single element arguments for x0 and y0
   14-Dec-93, MDM, - Added keyword XTHICK and YTHICK
      - Set the x-axis label to be Start Time ... by default
   4-jan-94, ras   - undeclared base_times are set to start of day
        for fully referenced times, used anytim to make time processing
        more resilient to the type of the x axis variable
   28-jan-94, ras  - fixed ynozero problem
   7-apr-94,  ras  - clarified some of the documentation on
        tick_unit and labelpar
   28-jul-94, ras - added keyword inheritance and eliminated explicit reference to zkeywords
       8-Aug-94,  MDM  - Modified so that /NOLABEL is recognized with Yohkoh time
                         format
   10-aug-94, ras  - xtype is set explicitly to zero to facilitate later use of oplot
               if utplot was used after a call to plot_oi, xtype not set properly
   16-aug-94, ras  - added zvalue keyword and removed _extra from call to oplot
        treatment of symsize is changed to allow control by !p.symsize
   2-aug-95, ras   - symsize was not being utilized through !p.symsize
        This is a clear IDL bug in version 4, also present in
        version 3.6.1.c, !p.symsize is not being used, where
        using the keyword symsize explicitly results in the
        expected symbol size?
        The second fix is to have the routine explicitly check for
        data values within the requested range and to plot only the
        plot box without data points.  So utplot will
        be much more resilient in the future and will not cause
        a code-stopping error.  However, an informative
        message is issued using "message,/continue"
   17-dec-98,        richard.schwartz@gsfc.nasa.gov
                         Now, NTICKS can be used to help control the number of intervals.
                         Default minor selection held to 12 or less.
                         Approximate selection of TICK_UNIT enabled through negative values.
   16-Aug-1999, William Thompson, GSFC
        Changed way that MAX_VALUE is calculated if not
        passed, to avoid problems with large Y ranges.
   7-Feb-2000, Richard Schwartz (gsfc.nasa.gov), correctly implemented MAX_VALUE so it is
                     really used.  Added MIN_VALUE.
   25-Sep-2000, Richard Schwartz (gsfc.nasa.gov), added NaN protection to max_value and min_value.
            Change per advice from Dale Gary, NJIT.
       23-apr-2004 - csillag@ssl.berkeley.edu added keyword data_label_only
   6-jan-2006, richard.schwartz@gsfc.nasa.gov,
   1-aug-2006, S.L.Freeland - removed Windows induced ^M from the @COMMON 


UTPLOT [2] $SSW/gen/idl_fix/soft/old240/utplot.pro
[Previous] [Next]
 NAME:
	UTPLOT
 PURPOSE:
	Plot X vs Y with Universal time labels on bottom X axis.  X axis
	range can be as small as 5 msec or as large as 20 years.
 CALLING SEQUENCE:
	UTPLOT,X,Y
	UTPLOT, roadmap, y
	utplot, x, y, '1-sep-91'
	utplot, x, y, '1-sep-91', timerange=['1-sep-91', '2-sep-92']
	utplot, x, y, '1-sep-91', timerange=[index(0), index(i)], xstyle=1
 INPUTS:
	X -	X array to plot in seconds relative to base time.
		(MDM) Structures allowed
	Y -	Y array to plot.
	xst -	Optional. The reference time to use for converting a structure
		into a seconds array (OR) the time for the first value if 
		passing a floating array.
	timerange - Optional. This can be a two element time range to be 
		plotted.  It can be a string representation or structure.

	LBL - 	2 element vector selecting substring from publication format
	   	of ASCII time (YY/MM/DD, HH:MM:SS.XXX).  For example, 
	   	LBL=[11,18] would select the HH:MM:SS part of the string.
       SAV -	If set, UTPLOT labels, tick positions, etc. in !X... system
		variables will remain set so that they can be used by 
		subsequent plots (normally !x... structure is saved in 
		temporary location before plot and restored after plot).  
		To clear !x... structure, call CLEAR_UTPLOT.
	TICK_UNIT - Time between Major tick marks is forced to TICK_UNIT
		    Has no effect for axis longer than 62 days.
	MINORS	  - Number of minor tick marks is forced to MINORS
	NOLABEL	If set then UTLABEL isn't printed on plot
	XTITLE - text string for x-axis label - If the string contains
		 4 asterisks ('****'), the UT time will be substituted
		 for that substring	
 OPTIONAL OUTPUT PARAMETERS:
	None.
 CALLS: ***
	ANYTIM2UTPLOT, ATIME [1], ATIME [2], CHECKVAR [1], Ex2Int [1], Ex2Int [2], FCHECK
	GETUTBASE [1], GETUTBASE [2], SET_UTPLOT [1], SET_UTPLOT [2], anytim2ex [1]
	anytim2ex [2], checkvar [2], int2secarr [1], int2secarr [2], str_replace [1]
	str_replace [2]
 CALLED BY:
	ACRIM, ACRIM_EV, ACRIM_OUT, ACRIM_READER, AR_AREAS, BATSE_FLARES_WEEK
	BCS_24HR_PLOT [1], BCS_24HR_PLOT [3], BCS_SPMOVIE [1], BCS_SPMOVIE [2]
	BORN_AGAIN, BOX_LC, CHECK_SFC_PNT, COMPUTE_MONEXP_FACTORS, COMPUTE_MONEXP_POLY
	DEMODULATOR_TEST, ECLIPSE_PLOTTER, EVAL_SHERB, FE25_BSC_TEMP, FIND_FAST_DATA
	FLAREMETER, FS_GRAPH, GET_HXRBS_FITS, GIS_UTPLOT, GLITCH_TRACKER
	HESSI FASTRATE CLASS DEFINITION, HESSI PACKET CLASS DEFINITION
	HESSI ROLL_DB CLASS DEFINITION, HSI_ANY_SOHDATA, HSI_DO_QLOOK_PLOTS
	HSI_NPAK_HISTOGRAM, HSI_VCFILE_PACKET_RATE, HXARCHIVE, HXFITS, HXISLIFE, HXISTPLOT
	HXT_4CHPLOT, HXT_AUTOIMG, HXT_BACK, HXT_FANS, HXT_LCURVE, HXT_SPECTRA, HXT_SUMMER
	LCBDA, NEUPERT_PLOT, NIS_BIAS_DEMO, NOV93_ECLIPSE, NOV_ECLIPSE, OBS_PLOT, ORB_EXTRAP
	OVER_THE_LIMB, OVSA_EXPLORER formerly OVSA_PRESUB, OVSA_PRESUB, OVSA__DEFINE
	PIXEL_LC, PLOTBATSE_QL, PLOT_BSC [1], PLOT_BSC [2], PLOT_BSC_AS2, PLOT_CDS_CRAYS
	PLOT_ERR, PLOT_EXPINT, PLOT_EXP_FACTOR, PLOT_GCPARM, PLOT_GRSPCH, PLOT_GRSPCL
	PLOT_GRSPHH, PLOT_GRSPHL, PLOT_HKLZ, PLOT_HT, PLOT_HXSPC, PLOT_HXSPH, PLOT_MED
	PLOT_MONEXP_STD, PLOT_OCCS, PLOT_OCC_ONDAY, PLOT_SUBHTR, PROFILES2, Plot
	QL_DAY_PLOT, QL_ORBIT_PLOT, QUICKATT [1], QUICKATT [2], QUICKDARK [2]
	QUICKDRIFT [1], QUICKDRIFT [2], QUICKSTRAY [2], QUICK_DPE, READ_HXT_CAL, ROLL_PLOT
	SET_UTAXIS, SOLAID, SPARTAN_PLANNER, SPEX_THISTORY [1], SPEX_THISTORY [2]
	SPLINE_PLOT, SXSPC, SXT_HYST, SYNOPTIC_STATS, Sxt_goes_teem, TERM_QUICK, TERM_REVIEW
	TERM_REVIEW_GIF, TEST_ATT, TV_SSX, TV_SYNOP, UTPLOT_IMAGE, UTPLOT_IO [1]
	UTPLOT_IO [2], UTPLOT_IO [3], UTPLOT__DEFINE, WINDMETER, WL_CUBE_II, WPLOT_NONOP
	WPLOT_SUBHTR [2], W_HISTOGRAM, XPLOT_HT, auto_bck_find, auto_bck_find0, avsig_temp
	bcs_survey, box_lc_plot, box_sxthxt_fsp, cal_fig_mich, db_gbo, edac_summary
	eis_status_sts1_conversions [5], eis_status_sts2_conversions [1]
	eis_status_sts3_conversions [1], eit_proton_summary, emi_plot [1]
	fit_bsc_plot, get_utevent [1], get_utevent [2], go_teem_plots, goes_plot [1]
	goes_plot [2], goes_plot [3], goes_plot [4], goes_plot [5], goes_teem, goes_widget
	goesem_eqn [1], goest_eqn [1], gr_summary_plot, grs32_fsp, grsl_fsp, high_mag_lat
	hsi_as_plquality, hsi_obs_times, hsi_sas_plot_scpointing, hsi_test_packet_rate
	hxs_fsp, hxsgrs_fsp, hxt_fsp, hxt_survey, hxt_utplot, hxtbox_fsp, imspec [10]
	imspec [11], imspec [12], imspec [13], imspec [14], imspec [15], imspec [16]
	imspec [17], imspec [18], imspec [19], imspec [1], imspec [20], imspec [21]
	imspec [22], imspec [23], imspec [24], imspec [25], imspec [26], imspec [27]
	imspec [28], imspec [29], imspec [2], imspec [30], imspec [31], imspec [32]
	imspec [33], imspec [34], imspec [35], imspec [36], imspec [3], imspec [4]
	imspec [5], imspec [6], imspec [7], imspec [8], imspec [9], jitter_gif_xyimg
	last_lc, lcbsd, lchda, lcobs, lcur_plot [1], lcur_plot [2], lcwda, lsplot
	mon_health [1], mon_health [2], mwlt_select, new_edac_summary
	new_mon_health [1], new_mon_health [2], ovsa_interact, pl_dt_genx
	pl_monitor_center, plot_door_open, plot_evn, plot_fem, plot_fft, plot_gbl [1]
	plot_gbl [2], plot_img_cadence, plot_lcur [1], plot_lcur [2], plot_loi_mmad
	plot_loi_summary [1], plot_loi_summary [2], plot_pzt_corr, plot_shutter_perf
	plot_ssl, plot_ssw_fov, plot_sxg, plot_sxl [1], plot_sxl [2], plot_temps2 [1]
	plot_trav [1], plot_trav [2], plot_trav [3], plotbft [1], plotbft [2], plotltc [1]
	plotltc [2], plott_bda, plott_bda_dp, plott_hda, plott_hi_sum, plott_low_sum
	plott_med1_sum, plott_med2_sum, plott_wda, ploty [1], ploty [2], pmtras_analysis
	psk_correlate, rd_so_at_ftr, rd_sxs_pha [1], rd_sxs_pha [2], rd_therm_rs232
	read_yohkoh_4_spex [1], read_yohkoh_4_spex [2], ref_day_plot, res_freq
	show_obs2, show_obs3, show_obs4, sld_sls_vstrips, sld_vstrips, soon_cadence
	soon_catstat, sooncat_cadence, soup_obs2, spectro_plot2, ssw_apkpbar, stt_plot
	sxt_align, sxt_temps, sxtbox_fsp, tim2tfss, tprofiles, uvspplot, wdefroi [1]
	wdefroi [2], yo_height
 COMMON BLOCKS:
	COMMON UTCOMMON, UTBASE, UTSTART, UTEND = base, start, and 
	end time for X axis in double precision variables containing
	seconds since 79/1/1, 00:00.
       COMMON UTSTART_TIME, PRINT_START_TIME = 0/1: don't/do print
       start time label on plot
 SIDE EFFECTS:
	X vs Y plot is produced on current graphics device.  The normal 
	X-axis is replaced by an axis with ticks and labels showing the 
	universal time.  The start time of the plot is displayed in the 
	upper right inside corner of the plot if SET_UTLABEL,0 hasn't been
	called.
 RESTRICTIONS:
	Cannot be used for times before 79/1/1 or after 99/1/1.
	Range of X axis can be anywhere between 5 msec and 20 years.
 PROCEDURE:
	If start or end time hasn't been set, autoscale X axis. 
	If either has been set (via routines SETUTSTART	and SETUTEND, 
	or directly), only data between times selected will be displayed; 
	i.e. X min = UTSTART - UTBASE; X max = UTEND - UTBASE.  
	Calls SET_UTPLOT using keyword LABELPAR to customize X 
	axis labels and tickmarks.  Otherwise it uses all normal plotting 
	procedures and 	the !X and !Y system variables.
	Note:   Format of time written in labels differs slightly from format
	used to pass times to routines.  Input format contains only one colon
	between minutes and seconds (makes the meaning of a partial string 
	precise) while labels include an extra colon between hours and minutes 
	(more acceptable for publication).
 MODIFICATION HISTORY:
	Written by Kim Tolbert, 4/88.
	Mod. by Richard Schwartz to Version 2 91/02/17
       Mod. by Richard Schwartz for compatibility with OPLOT. 3/26/91
	Mod. by RAS, keywords TICK_UNIT and MINORS added 91/05/02
	MOD. BY RAS TO ACCEPT ALL PLOT KEYWORDS, 91/10/03
	Mod. by MDM to only save utstart setting if it is already defined
	Mod by MDM to work with YOHKOH data (structure data types)
	Mod by MDM to expand the COMMON block so that OUTPLOT will work
	Mod by MDM 21-Apr-92 to not set !quiet
	Mod by SLF 26-Apr-92 to reinstate the xtitle option
	Mod by MDM 28-Aug-92 to add keyword YEAR to print the year on the
		  tick label
	Mod by MDM  9-Apr-93 to added TIMERANGE option
	Mod by MDM 12-Apr-93 to removed ZMARGIN since older IDL versions had
		  trouble with 9-Apr addition of TIMERANGE parameter


UTPLOT [3] $SSW/gen/idl_fix/soft/old310/utplot.pro
[Previous] [Next]
 NAME:
	UTPLOT
 PURPOSE:
	Plot X vs Y with Universal time labels on bottom X axis.  X axis
	range can be as small as 5 msec or as large as 20 years.
 CALLING SEQUENCE:
	UTPLOT,X,Y,BASE_TIME( or Utstring or Xst0), $
		timerange = timerange, LABELPAR=LBL, /SAV,TICK_UNIT=TICK_UNIT,$
		MINORS=MINORS, /NOLABEL, ERROR=ERROR,$
               [& ALL KEYWORDS AVAILABLE TO PLOT]
       UTPLOT, roadmap, y
       utplot, x, y, '1-sep-91'
       utplot, x, y, '1-sep-91', timerange=['1-sep-91', '2-sep-92']
       utplot, x, y, '1-sep-91', timerange=[index(0), index(i)], xstyle=1
 INPUTS:
	X -	X array to plot in seconds relative to base time.
               (MDM) Structures allowed
	Y -	Y array to plot.
	Base_time (optional)- reference time, it's purpose is as a fiducial
		time to preserve the precision of the graphics, that is
		the range over which a plot is drawn must not be too small
		with respect to the absolute size of the start of the plot or
		roundoff errors will create strange effects.  In previous
		versions of Utplot, Base_time was called Utstring or Xst which
		are explained below:
	        UTSTRING - 
		(Optional) ASCII string containing base time for X axis. 
		Format for time is YY/MM/DD,HHMM:SS.XXX.  If this parameter 
		isn't present  	and hasn't been set yet (by a previous call to 
		UTPLOT, via routine SETUTBASE, or directly), user is 
		prompted for base time.
      		xst0 -   
		Optional. The reference time to use for converting a structure
               into a seconds array (OR) the time for the first value if
               passing a double prec. array.
		
		N.B.-
		While there are 

       timerange - Optional. This can be a two element time range to be
               plotted.  It can be a string representation or structure.

       LBL -   (Labelpar=LBL) 2 element vector selecting substring from publication format
               of ASCII time (YY/MM/DD, HH:MM:SS.XXX).  For example,
               LBL=[11,18] would select the HH:MM:SS part of the string.
       SAV -   If set, UTPLOT labels, tick positions, etc. in !X... system
               variables will remain set so that they can be used by
               subsequent plots (normally !x... structure is saved in
               temporary location before plot and restored after plot).
               To clear !x... structure, call CLEAR_UTPLOT.
       TICK_UNIT - Time (in seconds) between Major tick marks is forced to TICK_UNIT
                   Has no effect for axis longer than 62 days.
       MINORS    - Number of minor tick marks is forced to MINORS
       NOLABEL If set then UTLABEL isn't printed on plot
       XTITLE - text string for x-axis label - If the string contains
                4 asterisks ('****'), the UT time will be substituted
                for that substring
	Year - Force the year in the x axis labels
	YOHKOH - Use Yohkoh style labels, e.g. '03-May-93 18:11:30.732'
 OPTIONAL OUTPUT PARAMETERS:
	ERROR - 0/1.  1 means there was an error in plotting.
 CALLS: ***
	ANYTIM2UTPLOT, ATIME [1], ATIME [2], CHECKVAR [1], Ex2Int [1], Ex2Int [2], FCHECK
	GETUTBASE [1], GETUTBASE [2], SET_UTPLOT [1], SET_UTPLOT [2], anytim2ex [1]
	anytim2ex [2], checkvar [2], int2secarr [1], int2secarr [2], str_replace [1]
	str_replace [2]
 CALLED BY:
	ACRIM, ACRIM_EV, ACRIM_OUT, ACRIM_READER, AR_AREAS, BATSE_FLARES_WEEK
	BCS_24HR_PLOT [1], BCS_24HR_PLOT [3], BCS_SPMOVIE [1], BCS_SPMOVIE [2]
	BORN_AGAIN, BOX_LC, CHECK_SFC_PNT, COMPUTE_MONEXP_FACTORS, COMPUTE_MONEXP_POLY
	DEMODULATOR_TEST, ECLIPSE_PLOTTER, EVAL_SHERB, FE25_BSC_TEMP, FIND_FAST_DATA
	FLAREMETER, FS_GRAPH, GET_HXRBS_FITS, GIS_UTPLOT, GLITCH_TRACKER
	HESSI FASTRATE CLASS DEFINITION, HESSI PACKET CLASS DEFINITION
	HESSI ROLL_DB CLASS DEFINITION, HSI_ANY_SOHDATA, HSI_DO_QLOOK_PLOTS
	HSI_NPAK_HISTOGRAM, HSI_VCFILE_PACKET_RATE, HXARCHIVE, HXFITS, HXISLIFE, HXISTPLOT
	HXT_4CHPLOT, HXT_AUTOIMG, HXT_BACK, HXT_FANS, HXT_LCURVE, HXT_SPECTRA, HXT_SUMMER
	LCBDA, NEUPERT_PLOT, NIS_BIAS_DEMO, NOV93_ECLIPSE, NOV_ECLIPSE, OBS_PLOT, ORB_EXTRAP
	OVER_THE_LIMB, OVSA_EXPLORER formerly OVSA_PRESUB, OVSA_PRESUB, OVSA__DEFINE
	PIXEL_LC, PLOTBATSE_QL, PLOT_BSC [1], PLOT_BSC [2], PLOT_BSC_AS2, PLOT_CDS_CRAYS
	PLOT_ERR, PLOT_EXPINT, PLOT_EXP_FACTOR, PLOT_GCPARM, PLOT_GRSPCH, PLOT_GRSPCL
	PLOT_GRSPHH, PLOT_GRSPHL, PLOT_HKLZ, PLOT_HT, PLOT_HXSPC, PLOT_HXSPH, PLOT_MED
	PLOT_MONEXP_STD, PLOT_OCCS, PLOT_OCC_ONDAY, PLOT_SUBHTR, PROFILES2, Plot
	QL_DAY_PLOT, QL_ORBIT_PLOT, QUICKATT [1], QUICKATT [2], QUICKDARK [2]
	QUICKDRIFT [1], QUICKDRIFT [2], QUICKSTRAY [2], QUICK_DPE, READ_HXT_CAL, ROLL_PLOT
	SET_UTAXIS, SOLAID, SPARTAN_PLANNER, SPEX_THISTORY [1], SPEX_THISTORY [2]
	SPLINE_PLOT, SXSPC, SXT_HYST, SYNOPTIC_STATS, Sxt_goes_teem, TERM_QUICK, TERM_REVIEW
	TERM_REVIEW_GIF, TEST_ATT, TV_SSX, TV_SYNOP, UTPLOT_IMAGE, UTPLOT_IO [1]
	UTPLOT_IO [2], UTPLOT_IO [3], UTPLOT__DEFINE, WINDMETER, WL_CUBE_II, WPLOT_NONOP
	WPLOT_SUBHTR [2], W_HISTOGRAM, XPLOT_HT, auto_bck_find, auto_bck_find0, avsig_temp
	bcs_survey, box_lc_plot, box_sxthxt_fsp, cal_fig_mich, db_gbo, edac_summary
	eis_status_sts1_conversions [5], eis_status_sts2_conversions [1]
	eis_status_sts3_conversions [1], eit_proton_summary, emi_plot [1]
	fit_bsc_plot, get_utevent [1], get_utevent [2], go_teem_plots, goes_plot [1]
	goes_plot [2], goes_plot [3], goes_plot [4], goes_plot [5], goes_teem, goes_widget
	goesem_eqn [1], goest_eqn [1], gr_summary_plot, grs32_fsp, grsl_fsp, high_mag_lat
	hsi_as_plquality, hsi_obs_times, hsi_sas_plot_scpointing, hsi_test_packet_rate
	hxs_fsp, hxsgrs_fsp, hxt_fsp, hxt_survey, hxt_utplot, hxtbox_fsp, imspec [10]
	imspec [11], imspec [12], imspec [13], imspec [14], imspec [15], imspec [16]
	imspec [17], imspec [18], imspec [19], imspec [1], imspec [20], imspec [21]
	imspec [22], imspec [23], imspec [24], imspec [25], imspec [26], imspec [27]
	imspec [28], imspec [29], imspec [2], imspec [30], imspec [31], imspec [32]
	imspec [33], imspec [34], imspec [35], imspec [36], imspec [3], imspec [4]
	imspec [5], imspec [6], imspec [7], imspec [8], imspec [9], jitter_gif_xyimg
	last_lc, lcbsd, lchda, lcobs, lcur_plot [1], lcur_plot [2], lcwda, lsplot
	mon_health [1], mon_health [2], mwlt_select, new_edac_summary
	new_mon_health [1], new_mon_health [2], ovsa_interact, pl_dt_genx
	pl_monitor_center, plot_door_open, plot_evn, plot_fem, plot_fft, plot_gbl [1]
	plot_gbl [2], plot_img_cadence, plot_lcur [1], plot_lcur [2], plot_loi_mmad
	plot_loi_summary [1], plot_loi_summary [2], plot_pzt_corr, plot_shutter_perf
	plot_ssl, plot_ssw_fov, plot_sxg, plot_sxl [1], plot_sxl [2], plot_temps2 [1]
	plot_trav [1], plot_trav [2], plot_trav [3], plotbft [1], plotbft [2], plotltc [1]
	plotltc [2], plott_bda, plott_bda_dp, plott_hda, plott_hi_sum, plott_low_sum
	plott_med1_sum, plott_med2_sum, plott_wda, ploty [1], ploty [2], pmtras_analysis
	psk_correlate, rd_so_at_ftr, rd_sxs_pha [1], rd_sxs_pha [2], rd_therm_rs232
	read_yohkoh_4_spex [1], read_yohkoh_4_spex [2], ref_day_plot, res_freq
	show_obs2, show_obs3, show_obs4, sld_sls_vstrips, sld_vstrips, soon_cadence
	soon_catstat, sooncat_cadence, soup_obs2, spectro_plot2, ssw_apkpbar, stt_plot
	sxt_align, sxt_temps, sxtbox_fsp, tim2tfss, tprofiles, uvspplot, wdefroi [1]
	wdefroi [2], yo_height
 COMMON BLOCKS:
	COMMON UTCOMMON, UTBASE, UTSTART, UTEND, xst = base, start, and 
	end time for X axis in double precision variables containing
	seconds since 79/1/1, 00:00. xst is the fully referenced start
	time of the plot.
       COMMON UTSTART_TIME, PRINT_START_TIME = 0/1 ( don't/do print
       start time label on plot), ATIME_FORMAT ('YOHKOH'  or 'HXRBS')
 SIDE EFFECTS:
	X vs Y plot is produced on current graphics device.  The normal 
	X-axis is replaced by an axis with ticks and labels showing the 
	universal time.  The start time of the plot is displayed in the 
	upper right inside corner of the plot if SET_UTLABEL,0 hasn't been
	called.
 RESTRICTIONS:
	Cannot be used for times before 1-JAN-1950 or after 31-DEC-2049
	Range of X axis can be anywhere between 5 msec and 20 years.
	Keywords DATA, DEVICE, NORMAL are not available
	The utbase time is only set if either base_time
	is passed or required as input.
 PROCEDURE:
	If start or end time hasn't been set, autoscale X axis. 
	If either has been set (via routines SETUTSTART	and SETUTEND, 
	or directly), only data between times selected will be displayed; 
	i.e. X min = UTSTART - UTBASE; X max = UTEND - UTBASE.  
	Calls SET_UTPLOT using keyword LABELPAR to customize X 
	axis labels and tickmarks.  Otherwise it uses all normal plotting 
	procedures and 	the !X and !Y system variables.
	Note:   Format of time written in labels differs slightly from format
	used to pass times to routines.  Input format contains only one colon
	between minutes and seconds (makes the meaning of a partial string 
	precise) while labels include an extra colon between hours and minutes 
	(more acceptable for publication).
 MODIFICATION HISTORY:
	Written by Kim Tolbert, 4/88.
	Mod. by Richard Schwartz to Version 2 91/02/17
       Mod. by Richard Schwartz for compatibility with OPLOT. 3/26/91
	Mod. by RAS, keywords TICK_UNIT and MINORS added 91/05/02
	MOD. BY RAS TO ACCEPT ALL PLOT KEYWORDS, 91/10/03
       MOD. by AKT 11/12/92. Added error keyword argument.
       Mod. ras, yohkoh style keyword
	removed DATA, DEVICE, NORMAL keywords 14-May-93, ras
		so version 2 can compile the many keywords
	RAS, 93/6/8 -
	If X window, make sure window is open before saving any bang variables
	otherwise Linecolors will fail!
       Mod by MDM to work with YOHKOH data (structure data types)
       Mod by MDM to expand the COMMON block so that OUTPLOT will work
       Mod by MDM 21-Apr-92 to not set !quiet
       Mod by SLF 26-Apr-92 to reinstate the xtitle option
       Mod by MDM 28-Aug-92 to add keyword YEAR to print the year on the
                 tick label
       Mod by MDM  9-Apr-93 to added TIMERANGE option
       Mod by MDM 12-Apr-93 to removed ZMARGIN since older IDL versions had
                 trouble with 9-Apr addition of TIMERANGE parameter
	1-NOV-93, ras, integrate Yohkoh and SDAC software packages
	10-Nov-93, ras, accept single element arguments for x0 and y0
	14-Dec-93, MDM, - Added keyword XTHICK and YTHICK
			- Set the x-axis label to be Start Time ... by default
	4-jan-94, ras   - undeclared base_times are set to start of day
			  for fully referenced times, used anytim to make time processing
			  more resilient to the type of the x axis variable
	28-jan-94, ras  - fixed ynozero problem
	7-apr-94,  ras  - clarified some of the documentation on
			  tick_unit and labelpar
	8-Aug-94,  MDM  - Modified so that /NOLABEL is recognized with Yohkoh time
			  format


UTPLOT__DEFINE $SSW/gen/idl/objects/utplot__define.pro
[Previous] [Next]

 Name        : UTPLOT__DEFINE

 Purpose     : Define a UTPLOT plot class

 Category    : objects

 Syntax      : IDL> new=obj_new('utplot')

 CALLS: ***
	ANYTIM2TAI, ANYTIM2UTC [1], ANYTIM2UTC [2], DELVARX [1], DELVARX [2], DELVARX [3]
	DELVARX [4], DPRINT, EXIST, IS_BLANK, IS_STRING, OUTPLOT [1], OUTPLOT [2], OUTPLOT [3]
	STRUP, UTPLOT [1], UTPLOT [2], UTPLOT [3], UTPLOT [4], UTPLOT [5], UTPLOT [6]
	UTPLOT::CLEANUP, UTPLOT::GET, UTPLOT::GETDATA, UTPLOT::INIT, UTPLOT::PLOT_CMD
	UTPLOT::SET, UTPLOT::SET_TRANGE, UTPLOT::SET_UTBASE, UTPLOT::SHOW
	UTPLOT::TIM2SECS, UTPLOT::WHERE_ZERO, VALID_RANGE, VALID_TIME, WHERE2, anytim [1]
	anytim [2], anytim [3], anytim [4], anytim [5], delvarx [5], is_number [1]
	is_number [2]
 History     : Written 3 April 2001, D. Zarro (EITI/GSFC)
               Modified 6 Sept 2001, Zarro (EITI/GSFC) - added ->SET_TRANGE
               Modified 6 Jan  2002, Zarro (EITI/GSFC) - added TIMES,DATA keywords
               Modified 16 Sep 2002, Zarro (LAC/GSFC) - added GETDATA
               Modified 24 Nov 2002, Zarro (EER/GSFC) - added checks for different
                                                        input time formats
               Modified 5 Feb 2003, Zarro (EER/GSFC) - added ability to
                                                       override UTBASE
               Modified 7 May 2003, Zarro (EER/GSFC) - added check for
               simultaneous XRANGE and TIMERANGE keywords in PLOT method.
               Previously XRANGE could override TIMERANGE. Now TIMERANGE takes
               precedence.
               Modified 24 Jan 2004, Zarro (L-3Com/GSFC) - allowed UTBASE
                to be entered independently of XDATA
               Modified 17-Apr-2004, Zarro (L-3Com/GSFC) - replaced WHERE by WHERE2
               Modified 8-Jul-2004, Zarro (L-3Com/GSFC) - fixed UTBASE problem
               when seconds array is entered
               Modified 1-August-2004, Zarro (L-3Com/GSFC) - made UTBASE units
               self-consistent with input times.
               Modified 1-April-2005, Zarro (L-3Com/GSFC) - use _REF_EXTRA
                to pass keyword values back to caller.
               Modified 16-Jun-2005, Kim - allow utbase to be 0, and in set_trange,
                if timerange is integer, float it so won't be misinterpreted by anytim
               Modified 17-Jan-2006, Zarro. Made err and err_msg self consistent.
               Modified 14-Sep-2006, Zarro. Added e (errorbar) argument to init


 Contact     : dzarro@solar.stanford.edu


UTPLOT_IMAGE $SSW/gen/idl/image/utplot_image.pro
[Previous] [Next]
 Name:
 
	UTPLOT_IMAGE

 Purpose:
 
	Display time series data as images with plot axes around it.
       For example a time series of spectra.

 Explanation:
 
	Display images with plot axes around it.  Subsequent graphics commands,
	such as OPLOT and CURSOR, can then be called in the ordinary way.

       If the time series or the second dimension (e.g. wavelength) is not 
       linear the data is remapped onto a regular grid using INTERPOLATE.

	Axes are plotted with utplot, and EXPAND_TV/CONTV is called to display
       the image/contours. 

 Use:
 
	UTPLOT_IMAGE, IMAGE, TIME, YY

 Inputs:
 
	IMAGE	 = Two dimensional time series data to be displayed. With time
                  in the x direction.
       TIME	 = The time array of the data, must be increasing.
       YY       = The second dimension, for example wavelength. Must be 
                  increasing.

 Opt. Inputs:
 
	None.

 Outputs     : 

	None.

 Opt. Outputs: 

	None.

 Keywords    : 

       CONTOUR  = Display the image as contours
	CUBIC    = Set for initial interpolation to regular grid
	NOERASE	 = If set, then the screen is not erased before putting up the
		   plot. When !p.multi is set this will make the plot appear 
                  over the last one. 
	SMOOTH	 = If set, then the image is expanded with bilinear
		   interpolation.
	NOSCALE  = If set, then the command TV is used instead of TVSCL to
		   display the image.
	MISSING	 = Value flagging missing pixels.  These points are scaled to
		   zero.  Ignored if NOSCALE is set.
	COLOR	 = Color used for drawing the axes.
       LCOLOR   = Color for drawing the contours
       LEVELS   = Levels for the contours
	MAX	 = The maximum value of ARRAY to be considered in scaling the
		   image, as used by BYTSCL.  The default is the maximum value
		   of ARRAY.
	MIN	 = The minimum value of ARRAY to be considered in scaling the
		   image, as used by BYTSCL.  The default is the minimum value
		   of ARRAY.
	TOP	 = The maximum value of the scaled image array, as used by
		   BYTSCL.  The default is !D.N_COLORS-1.
	BOTTOM	 = The minimum value of the scaled image array, as used by
		   BYTSCL.  The default is 0.
	VELOCITY = If set, then the image is scaled using FORM_VEL as a
		   velocity image.  Can be used in conjunction with COMBINED
		   keyword.  Ignored if NOSCALE is set.
	COMBINED = Signals that the image is to be displayed in one of two
		   combined color tables.  Can be used by itself, or in
		   conjunction with the VELOCITY or LOWER keywords.
	LOWER	 = If set, then the image is placed in the lower part of the
		   color table, rather than the upper.  Used in conjunction
		   with COMBINED keyword.
       BSCALED  = Returns the bytescaled image passed to the TV command.
	TITLE	 = Main plot title, default is !P.TITLE.
	XTITLE	 = X axis title, default is !X.TITLE.
	YTITLE	 = Y axis title, default is !Y.TITLE.
	XTICK_GET= Same as for PLOT
	YTICK_GET= Same as for PLOT
	CHARSIZE = Character size to use in making plot.

	Also, any other keyword used by UTPLOT is supported.

 Calls       : ***
	CONTV, DSPLINE, EXPAND_TV, UNIQ [1], UNIQ [2], UNIQ [3], UTPLOT [1], UTPLOT [2]
	UTPLOT [3], UTPLOT [4], UTPLOT [5], UTPLOT [6], anytim [1], anytim [2], anytim [3]
	anytim [4], anytim [5]
 Common      : 
	None.
 Restrictions: 
	The graphics device must be capable of displaying images.

	In general, the SERTS image display routines use several non-standard
	system variables.  These system variables are defined in the procedure
	IMAGELIB.  It is suggested that the command IMAGELIB be placed in the
	user's IDL_STARTUP file.

	Some routines also require the SERTS graphics devices software,
	generally found in a parallel directory at the site where this software
	was obtained.  Those routines have their own special system variables.

 Side effects: 

	System variables may be changed even if the routine exits with an error
	message.

 Category    : 
	Utilities, Image_display.
 Prev. Hist. : 
	Derived from PLOT_IMAGE of William Thompson
	Version 6, 29 March 2000
 Written    
       Neale Ranns, MSSL, November 2000
 Version     : 
       Version 1, Neale Ranns, MSSL, 21-Nov-00 
	Version 2, 13-Sep-2002, William Thompson, GSFC
		Fixed bug when interpolation not used.
	Version 3, 18-Dec-2002, William Thompson, GSFC
		Changed !COLOR to !P.COLOR
	Version 4, 30-Jan-2003, William Thompson, GSFC
		Changed bug with titles, best handled through _EXTRA
	Version 5, 3-Jan-2006, William Thompson, GSFC
		Added keyword BOTTOM
       Version 6, William Thompson, GSFC, 26-Sep-2006
               Added keyword BSCALED
 Version     : 
	Version 6, 26-Sep-2006


UTPLOT_IO [1] $SSW/gen/idl/utplot/utplot_io.pro
[Previous] [Next]
 NAME:
	UTPLOT_IO
 PURPOSE:
	Plot X vs Y with Universal time labels on bottom X axis.  X axis
	range can be as small as 5 msec or as large as 99 years. Y-axis is
	logarithmic.

 CALLS: ***
	UTPLOT [1], UTPLOT [2], UTPLOT [3], UTPLOT [4], UTPLOT [5], UTPLOT [6]
 CALLED BY:
	AR_AREAS, AR_SPECTRUM, BORN_AGAIN, GIS_UTPLOT, GOES_SAFE, GOES_TEK [1], GOES_TEK [2]
	MAKE_TPOVIEW, NEUPERT_PLOT, PLOTBATSE, PLOT_ASC, QUICK_DPE, SOLAID
 NOTE: 
	This is an archaic routine.  Please change your calls to Utplot, /ytype instead
	of calling Utplot_io.  Utplot_io will no longer be upgraded.

 CALLING SEQUENCE:
	UTPLOT_IO,X,Y,UTSTRING,LABELPAR=LBL, /SAV,TICK_UNIT=TICK_UNIT,$
		MINORS=MINORS, /NOLABEL, /YOHKOH ,$
		[& ALL KEYWORDS AVAILABLE TO PLOT]
 
 IDENTICAL TO UTPLOT	
 HISTORY:
       11-Nov-92 (MDM) - Removed "ztype" keyword call to UTPLOT
       19-Apr-93 (MDM) - Removed "zmargin" keyword call to UTPLOT
	 7-jan-94 ras   - added xthick and ythick
       23-feb-94 JRL   - Fixed xthick and ythick options
       11-aug-94 ras   - added keyword inheritance
	17-aug-94 ras   - removed keyword inheritance, with keyword inheritance
			  no variables can be passed to utplot undefined!
			  z keywords available through !z have been removed.
		          loss of capability due to bug in IDL Version 3.6.1
	10-jun-01 LWA   - added keyword ytickformat


UTPLOT_IO [2] $SSW/gen/idl_fix/soft/old310/utplot_io.pro
[Previous] [Next]
 NAME:
	UTPLOT_IO
 PURPOSE:
	Plot X vs Y with Universal time labels on bottom X axis.  X axis
	range can be as small as 5 msec or as large as 99 years. Y-axis is
	logarithmic.
 CALLING SEQUENCE:
	UTPLOT_IO,X,Y,UTSTRING,LABELPAR=LBL, /SAV,TICK_UNIT=TICK_UNIT,$
		MINORS=MINORS, /NOLABEL, /YOHKOH ,$
		[& ALL KEYWORDS AVAILABLE TO PLOT]
 
 IDENTICAL TO UTPLOT	
 CALLS: ***
	UTPLOT [1], UTPLOT [2], UTPLOT [3], UTPLOT [4], UTPLOT [5], UTPLOT [6]
 CALLED BY:
	AR_AREAS, AR_SPECTRUM, BORN_AGAIN, GIS_UTPLOT, GOES_SAFE, GOES_TEK [1], GOES_TEK [2]
	MAKE_TPOVIEW, NEUPERT_PLOT, PLOTBATSE, PLOT_ASC, QUICK_DPE, SOLAID
 HISTORY:
       11-Nov-92 (MDM) - Removed "ztype" keyword call to UTPLOT
       19-Apr-93 (MDM) - Removed "zmargin" keyword call to UTPLOT
	 7-jan-94 ras   - added xthick and ythick
       23-feb-94 JRL   - Fixed xthick and ythick options


utplot_UTIME [1] $SSW/gen/idl/utplot/utplot_utime.pro
[Previous] [Next]
 NAME:
	utplot_UTIME
 PURPOSE:
	Function to return time in seconds from 79/1/1,0000 corresponding to
       the ASCII time passed in the argument.
 CATEGORY: 
 CALLING SEQUENCE: 
	RESULT = utplot_UTIME(UTSTRING,/ERROR)
 INPUTS:
	UTSTRING -	String containing time in form YY/MM/DD,HHMM:SS.XXX
	ERROR -		=0/1. If set to 1, there was an error in the ASCII
			time string.
 OUTPUTS:
	Double precision time in seconds since 79/1/1, 0000.
 CALLS: ***
	YMD2SEC [1], YMD2SEC [2]
 CALLED BY:
	SETUT [1], SETUT [2]
 COMMON BLOCKS:
	None.
 SIDE EFFECTS:
       If just a time is passed (no date - detected by absence of slash
       and comma in string), then just the time of day is converted to 
	seconds relative to start of day and returned.  If date and time 
	are passed, then day and time of day are converted to seconds and 
	returned.  In other words, doesn't 'remember' last date used if 
	no date is specified.
 PROCEDURE:
	Parses string into component parts, i.e. YY,MM,DD,HH,MM,SS.XXX,
	converts the strings into double precision seconds, and sums them.
 MODIFICATION HISTORY:
 	Written by Kim Tolbert 7/89
	Modified for IDL Version 2 by Richard Schwartz Feb. 1991
	Corrected RAS 91/05/02, error should be initialized to 0
	15-Nov-91 (MDM) Renamed from UTIME to UTPLOT_UTIME to avoid
			conflict with existing routine


UVBYBETA $SSW/gen/idl_libs/astron/astro/uvbybeta.pro
[Previous] [Next]
 NAME:
       UVBYBETA
 PURPOSE:
       Derive dereddened colors, metallicity, and Teff from Stromgren colors.
 EXPLANATION:
       Adapted from FORTRAN routine of same name published by T.T. Moon, 
       Communications of University of London Observatory, No. 78. Parameters 
       can either be input interactively (with /PROMPT keyword) or supplied 
       directly.   

 CALLING SEQUENCE:
       uvbybeta, /PROMPT               ;Prompt for all parameters
       uvbybeta,by,m1,c1,Hbeta,n        ;Supply inputs, print outputs
       uvbybeta, by, m1, c1, Hbeta, n, Te, Mv, Eby, delm0, radius, 
                       [ TEXTOUT=, Eby_in =, Name =  ]

 INPUTS:
       by - Stromgren b-y color, scalar or vector
       m1 - Stromgren line-blanketing parameter, scalar or vector
       c1 - Stromgren Balmer discontinuity parameter, scalar or vector
       Hbeta - H-beta line strength index.  Set  Hbeta to 0 if it is not 
            known, and UVBYBETA will estimate a value based on by, m1,and c1.
            Hbeta is not used for stars in group 8.
       n -  Integer (1-8), scalar or vector,  giving approximate stellar 
            classification

       (1) B0 - A0, classes III - V, 2.59 < Hbeta < 2.88,-0.20 <   c0  < 1.00
       (2) B0 - A0, class   Ia     , 2.52 < Hbeta < 2.59,-0.15 <   c0  < 0.40
       (3) B0 - A0, class   Ib     , 2.56 < Hbeta < 2.61,-0.10 <   c0  < 0.50
       (4) B0 - A0, class   II     , 2.58 < Hbeta < 2.63,-0.10 <   c0  < 0.10
       (5) A0 - A3, classes III - V, 2.87 < Hbeta < 2.93,-0.01 < (b-y)o< 0.06
       (6) A3 - F0, classes III - V, 2.72 < Hbeta < 2.88, 0.05 < (b-y)o< 0.22
       (7) F1 - G2, classes III - V, 2.60 < Hbeta < 2.72, 0.22 < (b-y)o< 0.39
       (8) G2 - M2, classes  IV _ V, 0.20 < m0   < 0.76, 0.39 < (b-y)o< 1.00


 OPTIONAL INPUT KEYWORD:
       Eby_in - numeric scalar specifying E(b-y) color to use.   If not
             supplied, then E(b-y) will be estimated from the Stromgren colors
       NAME - scalar or vector string giving name(s) of star(s).  Used only 
               when writing to  disk for identification purposes.
       /PROMPT - if set, then uvbybeta.pro will prompt for Stromgren indicies
                interactively
       TEXTOUT  -  Used to determine output device.  If not present, the
               value of the !TEXTOUT system variable is used (see TEXTOPEN)
               textout=1       Terminal with /MORE (if a tty)
               textout=2       Terminal without /MORE
               textout=3       uvbybeta.prt   (output file)
               textout=4       Laser Printer 
               textout=5       User must open file         
               textout=7       Append to existing uvbybeta.prt file
               textout = filename (default extension of .prt)
      /PRINT - if set, then force display output information to the device 
               specified by !TEXTOUT.    By default, UVBYBETA does not display
               information if output variables are supplied (and TEXTOUT is
               not set). 

 OPTIONAL OUTPUTS:
       Te - approximate effective temperature
       MV - absolute visible magnitude
       Eby - Color excess E(b-y)
       delm0 - metallicity index, delta m0, (may not be calculable for early
               B stars).
       radius - Stellar radius (R/R(solar))
 CALLS: ***
	ASTROLIB, DEREDD, GETOPT, POLY, TEXTCLOSE [1], TEXTCLOSE [2], TEXTCLOSE [3]
	TEXTOPEN [1], TEXTOPEN [2], TEXTOPEN [3]
 EXAMPLE:
       Suppose 5 stars have the following Stromgren parameters

       by = [-0.001 ,0.403, 0.244, 0.216, 0.394 ]
       m1 = [0.105, -0.074, -0.053, 0.167, 0.186 ]
       c1 = [0.647, 0.215, 0.051, 0.785, 0.362] 
       hbeta = [2.75, 2.552, 2.568, 2.743, 0 ]
       nn = [1,2,3,7,8]              ;Processing group number

       Determine stellar parameters and write to a file uvbybeta.prt
       IDL> uvbybeta, by,m1,c1,hbeta, nn, t=3
            ==> E(b-y) = 0.050    0.414   0.283  0.023  -0.025
                Teff =   13060    14030   18420  7250    5760
                M_V =    -0.27    -6.91   -5.94  2.23    3.94
                radius=  2.71     73.51    39.84 2.02    1.53
 SYSTEM VARIABLES:
       The non-standard system variables !TEXTOUT and !TEXTUNIT will be  
       automatically defined if they are not already present.   

       DEFSYSV,'!TEXTOUT',1
       DEFSYSV,'!TEXTUNIT',0

 NOTES:
       (1) **This procedure underwent a major revision in January 2002
       and the new calling sequence may not be compatible with the old** (NAME
       is now a keyword rather than a parameter.)

       (2) Napiwotzki et al. (1993, A&A, 268, 653) have written a FORTRAN
           program that updates some of the Moon (1985) calibrations.  These
           updates are *not* included in this IDL procedure.
 PROCEDURES USED:
       DEREDD, TEXTOPEN, TEXTCLOSE
 REVISION HISTORY:                                           
       W. Landsman          IDL coding              February, 1988
       Keyword textout added, J. Isensee, July, 1990
       Made some constants floating point.   W. Landsman    April, 1994
       Converted to IDL V5.0   W. Landsman   September 1997
       Added Eby_in, /PROMPT keywords, make NAME a keyword and not a parameter
                 W. Landsman      January 2002