ABSCAL $SSW/gen/idl_libs/astron/astrom/abscal.pro
[Next]
 NAME:
       ABSCAL
 PURPOSE:
       Apply the FITS BZERO and BSCALE keyword values to a data array

 CALLING SEQUENCE:
       RESULT = ABSCAL( Value, Header, /DEBUG)

 INPUTS:
       VALUE -  Any scalar, vector, or array (usually an integer type giving a
               relative intensity).
       HEADER - A FITS  header array containing the absolute calibration
               keyword BSCALE, and optionally BZERO and BUNIT.

 OUTPUT:
       RESULT = BSCALE*VALUE + BZERO, where the BSCALE and BZERO scalars
               are taken from the FITS header.  
               If the absolute calibration keywords do not exist, then
               RESULT = VALUE, and !ERR = -1.

 OPTIONAL INPUT KEYWORD:
       /DEBUG - If DEBUG is set, then ABSCAL will print the
               calibration units given by the BUNIT keyword.

 REVISION HISTORY:
       Written W. Landsman, STX Corporation     January 1987
       Use DEBUG keyword instead of !DEBUG      September 1995
       Converted to IDL V5.0   W. Landsman   September 1997
 CALLS:


ace_files $SSW/gen/idl/solar/ace_files.pro
[Previous] [Next]

   Name: ace_files

   Purpose: return ace data file names for desired time range & type

   Input Parameters:
      t0,t1 - desired time range

   Output:
      function returns file list
     
 CALLS: ***
	BOX_MESSAGE, BREAK_FILE [1], BREAK_FILE [2], BREAK_FILE [3], CONCAT_DIR [1]
	CONCAT_DIR [2], CONCAT_DIR [3], FILE2TIME, TIME2FILE, break_file [4]
	concat_dir [4], data_chk [1], data_chk [2], file_list [1], file_list [2]
	get_logenv [1], get_logenv [2], ssw_strsplit, ut_time [1], ut_time [2]
 CALLED BY:
	get_acedata
   History:

      5-Sep-2001 - S.L.Freeland
      6-Sep-2001 - S.L.Freeland - handle "current" daily file (fixed name)


ACGAUNT [1] $SSW/gen/idl/spectra/acgaunt.pro
[Previous] [Next]
 NAME:		ACGAUNT
 PURPOSE:	Calculate continuum gaunt factor using approximations
		of R. Mewe (18-JUN-85) to full calculations of 
		paper VI (Arnaut and Rothenflug for ion balances).
 CATEGORY:
 CALLING SEQUENCE: cgauntf = acgaunt( wave, te_6)
               cgauntf = acgaunt( wave, te_6, G1=gff, G2=gfb, G3=g2p)

 INPUTS:	wave = Wavelength in Angstrom (1-d vector or scalar)
		te_6 = Temperature in 10^6 K  (1-d vector or scalar)
 OPTIONAL INPUTS: none.
 OUTPUTS: 	Function result
		 = cgauntf(n_elements(te_6), n_elements(wave)) 
		 = array of approximate continuum gaunt factors.
 OPTIONAL OUTPUTS:
		G1 = Free-free  Gaunt factor
		G2 = Free-bound Gaunt factor
		G3 = 2-photon   Gaunt factor

 CALLS: ***
	INDD [1], INDD [2], MKDARR [1], MKDARR [2]
 CALLED BY:
	BREM_49, CONFLX [1], CONFLX [2]
 COMMON BLOCKS: none
 SIDE EFFECTS:  none
 RESTRICTIONS:  none
 PROCEDURE:	see a paper of R. Mewe et al. (A & Ap)
 MODIFICATIONS: written by N.Nitta from a Fortran version, March 1991.
	31-jul-93, JRL, Added a check on the exponent to prevent floating underflow message
       23-Jun-94, DMZ, made Gaunt factors double precision


AD2XY $SSW/gen/idl_libs/astron/astrom/ad2xy.pro
[Previous] [Next]
 NAME:
     AD2XY
 PURPOSE:
     Compute X and Y from native coordinates and a FITS  astrometry structure
 EXPLANATION:
     If a WCS projection (Calabretta & Greisen 2002, A&A, 395, 1077) is 
     present, then the procedure WCSXY2SPH is used to compute native 
     coordinates.   If distortion is present then this is corrected.  
     In all cases, the inverse of the CD matrix is applied and offset 
     from the reference pixel to obtain X and Y. 

     AD2XY is generally meant to be used internal to other procedures.   For 
     interactive purposes, use ADXY.

 CALLING SEQUENCE:
     AD2XY, a ,d, astr, x, y   

 INPUTS:
     A -     R.A. or longitude in DEGREES, scalar or vector
     D -     Dec. or longitude in DEGREES, scalar or vector
     ASTR - astrometry structure, output from EXTAST procedure containing:
        .CD   -  2 x 2 array containing the astrometry parameters CD1_1 CD1_2
               in DEGREES/PIXEL                                   CD2_1 CD2_2
        .CDELT - 2 element vector giving increment at reference point in
               DEGREES/PIXEL
        .CRPIX - 2 element vector giving X and Y coordinates of reference pixel
               (def = NAXIS/2) in FITS convention (first pixel is 1,1)
        .CRVAL - 2 element vector giving coordinates of the reference pixel 
               in DEGREES
        .CTYPE - 2 element vector giving projection types 
        .LONGPOLE - scalar longitude of north pole (default = 180) 
        .PV2 - Vector of additional parameter (e.g. PV2_1, PV2_2) needed in 
               some projections
        .DISTORT - Optional substructure specifying distortion parameters

 OUTPUTS:
     X     - row position in pixels, scalar or vector
     Y     - column position in pixels, scalar or vector

     X,Y will be in the standard IDL convention (first pixel is 0), and
     *not* the FITS convention (first pixel is 1)
 NOTES:
      AD2XY tests for presence of WCS coordinates by the presence of a dash 
      in the 5th character position in the value of CTYPE (e.g 'DEC--SIN').       
 PROCEDURES USED:
       TAG_EXIST(), WCSSPH2XY
 REVISION HISTORY:
     Converted to IDL by B. Boothman, SASC Tech, 4/21/86
     Use astrometry structure,  W. Landsman      Jan. 1994   
     Do computation correctly in degrees  W. Landsman       Dec. 1994
     Only pass 2 CRVAL values to WCSSPH2XY   W. Landsman      June 1995
     Don't subscript CTYPE      W. Landsman       August 1995        
     Converted to IDL V5.0   W. Landsman   September 1997
     Understand reversed X,Y (X-Dec, Y-RA) axes,   W. Landsman  October 1998
     Consistent conversion between CROTA and CD matrix W. Landsman October 2000
     No special case for tangent projection W. Landsman June 2003
     Work for non-WCS coordinate transformations W. Landsman Oct 2004
 CALLS:
 CALLED BY
	ADXY, ARCBAR, ATV, CONS_DEC, CONS_RA, HASTROM, IMDBASE, POINTING3, STARFIELD, XYXY


add_arr $SSW/gen/idl/util/add_arr.pro
[Previous] [Next]

 PURPOSE:	Add two 2-d arrays, where the dimensions do not need to
               be equal.  Allow the second array to be rotated 
               (not yet implemented) and translated with respect 
               to the first array. If (because of size difference or
               translation) the second array is not added
               completely into the first array, either clip (the default)
               the part of the second array that 'hangs outside' of the
               dimensions of the first, or expand the output array
               to hold both arrays completely via the no_clip keyword.

 PARAMETERS:	
	REQ:	arr1     - First array to be added to.
	REQ:	arr2     - Array to be added to arr1

 OPTIONAL KEYWORDS:
		x_tr     - x-translation of arr2 prior to addition to arr_1
		y_tr     - y-translation of arr2 prior to addition to arr_1
		rot_d    - degrees to rotate arr1 prior to addition to arr_1
                          NOT CURRENTLY IMPLEMENTED
               no_clip  - Return the array that is the union of the two
                          arrays, with elements in neither set to zero.
               min_thr1 - Minimum scalar threshold below which array values 
                          from arr1 should not be added to the new composite array.
               max_thr1 - Maximum scalar Threshold above which array values 
                          from arr1 should not be added to the new composite array.
               min_thr2 - Minimum scalar threshold below which array values 
                          from arr2should not be added to the new composite array.
               max_thr2 - Maximum scalar Threshold above which array values 
                          from arr2 should not be added to the new composite array.
               max_dim  - Maximum dimensions of output array.
                          NOT CURRENTLY IMPLEMENTED
               no_out   - If not no_clip, return array 1 if arrays have no
                          overlap.  Default is to return an error.
                          NOT CURRENTLY IMPLEMENTED
		arr_av   - Averages the result of array addition by pixel.
                          (divides each pixel by 1. or 2.); THIS WILL BE
                          EXPANDED.

 OPTIONAL OUTPUT:
               arr_tally - Array with same dimensions as output array, whose 
                           integer entries count how many times each pixel 
                           had a value added to it.  (This array can be used 
                           to keep a running tally when this function is 
                           called iteratively.) Must be the same dimensions 
                           as 'arr1'.  NOT YET IMLEMENTED WITH NO_CLIP OPTION.
                           


 HISTORY:     Jan-20-2000, Phil Shirts
              May-26-2000, (PGS) allowed each array to have a max and min
                                 threshold with, min_thr1, min_thr2, max_thr1,
                                 max_thr2 INSTEAD of min_thr, max_thr.


add_kw2hdr $SSW/gen/idl/fits/add_kw2hdr.pro
[Previous] [Next]
 Name: add_kw2hdr

 Category: UTIL

 Purpose: Add keywords set in _EXTRA to a FITS header.  The mapping of _extra
 	keywords to header keywords is controlled via the keywords kw_list and
 	hdr_list

 Calling sequence:  new_hdr = add_kw2hdr( header, KW_LIST=kws, HDT_LIST=hdrs )

 Input:
 	hdr - FITS header for modification.

 Output:
	Modified FITS header.

 Input keywords:
 	KW_LIST - list of keywords to search for in _extra
 	HDR_LIST - names keyword parameters will be given in FITS header.
 	HDR_COMMENTS - string array containing comments for added parameters.

 Output keywords:
 	ERR_MSG - string containing error message.  Null if no errors occurred during
 		execution.
	ERR_CODE - 0/1 if no error/ an error occurred during execution.

 Calls: ***
	FXADDPAR [1], FXADDPAR [2], FXPAR [1], FXPAR [2], wc_where [1], wc_where [2]
 CALLED BY
	mk_rmf_hdr, wrt_ebounds_ext


ADD_METHOD $SSW/gen/idl/objects/add_method.pro
[Previous] [Next]
 Project     : HESSI

 Name        : ADD_METHOD

 Purpose     : Dynamically add a method to a class (and it's objects)

 Category    : utility objects

 Explanation : Based on method name (e.g. CLONE), looks for a class
               definition file (e.g. CLONE__DEFINE.PRO). It then makes a 
               temporary copy of this file, and replaces all instances
               of CLASS::METHOD with OBJ::METHOD where OBJ is the
               class name that you want to add METHOD to. It then
               compiles this temporary file.

 Syntax      : IDL> add_method,method,object

 CALLED BY:
	CHAN_DEFINE, HTTP__DEFINE, MAP__DEFINE, PLOT_MAP_DEFINE, XYPLOT__DEFINE, plotman
 Examples    : IDL> add_method,'clone',map_object
                             or
               IDL> add_method,'gen::getprop',map_object

 Inputs      : METHOD = string method name
             : OBJECT = object reference (or class name) 

 Outputs     : None

 Keywords    : ERR = error string
               VERBOSE = set for output messages

 Restrictions: METHOD must have a METHOD__DEFINE.PRO in !path 
               If user enters method such as, for example, GEN::GETPROP
               the method name is the part after the ::
               If :: is not present, then the input is assumed to be a 
               class and all it's methods are added.
               Added method(s) will only apply during current IDL session

 CALLS: ***
	APPEND_ARR, ARR2STR [1], Arr2Str [2], BREAK_FILE [1], BREAK_FILE [2]
	BREAK_FILE [3], EXIST, GET_TEMP_DIR, HAVE_PROC, IS_METHOD_ADDED, MK_TEMP_FILE
	OBJ_COMPILE, PR_SYNTAX, RD_ASCII [1], RD_ASCII [2], TRIM, VALID_CLASS
	break_file [4], file_append [1], file_append [2], get_uniq, str_replace [1]
	str_replace [2]
 Side Effects: New method will override existing method of target object

 History     : Written: 9 July 2000, D. Zarro (EIT/GSFC)
               Modified: 24 August 2000, Zarro (EIT/GSFC) - vectorized
               Modified: 3 Sept 2001, Zarro (EITI/GSFC) - added option
               to add specific method via: class::method_name
               Modified: 4 May 2002, Zarro (EER/GSFC) - switched to
               using CD instead of adding temporary path when using
               RESOLVE_ROUTINE. IDL 6.0 has a problem with this.

 Contact     : dzarro@solar.stanford.edu


ADD_PATH [1] $SSW/gen/idl/system/add_path.pro
[Previous] [Next]
 PROJECT:
       SOHO - CDS

 NAME:
       ADD_PATH

 PURPOSE:
       Add directory (and optionally all its subdirs) into IDL path

 CALLING SEQUENCE:
       ADD_PATH, path_name [,/append] [,index=index]

 INPUTS:
       path_name -- A string scalar of a valid directory name.

 OPTIONAL INPUTS:
       INDEX -- Position in the !path where the directory name is inserted;
                ignored if the keyword APPEND is set.

 OUTPUTS:
       None, but !path is changed.

 OPTIONAL OUTPUTS:
       None.

 KEYWORD PARAMETERS:
       APPEND -- By default, the given directory name is added in the
                 beginning of !path. Set this keyword will add the directory
                 name in the end of !path.
       EXPAND -- Set this keyword if the PATH_NAME needs to be expanded.

       SORT_PATH   -- sort added path alphabetically

 CATEGORY:
       Utilities, OS

 PREVIOUS HISTORY:
       Written October 8, 1994, by Liyun Wang, GSFC/ARC

 CALLS: ***
	ARR2STR [1], Arr2Str [2], CHK_DIR [1], CHK_DIR [2], CONCAT_DIR [1], CONCAT_DIR [2]
	CONCAT_DIR [3], DATATYPE [1], DATATYPE [2], DATATYPE [3], STR_SEP, concat_dir [4]
 CALLED BY:
	DO_EIT_SCALING, EIT__DEFINE, GET_GEV, GET_NAR, HSI_LIGHTCURVE_TEST, HXRS__DEFINE
	ITOOL_RD_FITS, LOAD_EIT_COLOR, LOAD_PATH, READ_EIT_FILE, SPECPLOT__DEFINE
	hessi_version
 MODIFICATION HISTORY:
       Version 2, Liyun Wang, GSFC/ARC, October 17, 1994
          Added EXPAND keyword
	Version 3, William Thompson, GSFC, 29 August 1995
		Modified to use OS_FAMILY
	Version 4, Zarro (EITI/GSFC), 20 Jan 2002, added /QUIET
       25-May-2002, Zarro (EITI/GSFC) - added /SORT_PATH and cleaned up
       18-Feb-2004, Zarro (L-3Com/GSFC) - added calls to LOCAL_NAME and
                                          GET_PATH_DELIM


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

 Name        : ADD_PROP

 Purpose     : Add a property to a map object

 Category    : imaging

 Explanation : 

 Syntax      : add_prop,map,property=value

 CALLED BY:
	DIFF_MAP, DROT_RASTER, HESSI IMAGE STRATEGY CLASS DEFINITION, HSI_FITS2MAP [1]
	INDEX2MAP, MK_EIT_MAP, hsi_image__getaxis [2]
 Examples    : add_prop,map,units='arcsecs'

 Inputs      : MAP = map structure
               PROPERTY = property name
               VALUE = property value
               REPLACE = set to replace with new value if property exists

 Opt. Inputs : None


 Outputs     : MAP = new map with property added

 Opt. Outputs: 

 Keywords    : See inputs

 CALLS: ***
	DATATYPE [1], DATATYPE [2], DATATYPE [3], JOIN_STRUCT [1], JOIN_STRUCT [2]
	PR_SYNTAX, REP_PROP, VALID_MAP
 Common      : None

 Restrictions: Cannot have two properties with same name

 Side effects: None

 History     : Written 18 March 1998, D. Zarro, SAC/GSFC

 Contact     : dzarro@solar.stanford.edu


ADD_PSYS $SSW/gen/idl/system/add_psys.pro
[Previous] [Next]
 Project     : SOHO - CDS     
                   
 Name        : ADD_PSYS
               
 Purpose     : Add plotting system variables
               
 Category    : utility
               
 Syntax      : IDL> add_sys

 Inputs      : None
               
 Outputs     : None

 CALLS: ***
	DEVICELIB [1], DEVICELIB [2], IMAGELIB, UITDBLIB [1], UITDBLIB [2]
 CALLED BY:
	EIS_IMAGE_TOOL [1], EIS_IMAGE_TOOL [2], IMAGE_TOOL
 Side Effects: !device, !image, etc defined

 History     : 6-May-2004,  D. Zarro (L-3Con/GSFC).  Written

 Contact     : DZARRO@SOLAR.STANFORD.EDU


ADD_TAG [1] $SSW/gen/idl/struct/add_tag.pro
[Previous] [Next]
 Project     :	SDAC

 Name        :	ADD_TAG

 Purpose     :	add a tag to a structure

 Use         : NEW_STRUCT=ADD_TAG(STRUCT,TAG,TAG_NAME)

 Inputs      :	STRUCT = input structure (array or scalar)
             : TAG_VALUE = tag variable to add
             : TAG_NAME = tag name

 Outputs     :	NEW_STRUCT = new structure

 Keywords    :	NAME = new name for structure
               INDEX = index or tag name where to append new tag [def = last]
               ERR   = error message [blank if ok]
               DUPLICATE = set to allow duplicate tag names
		TOP_LEVEL = If set, then only the top level is searched to
			    determine if the tag already exists.
               NO_COPY = do not make copy of input TAG variable
                         (it will be destroyed after input)
               NO_PAIR = if adding an array to a structure array, then
                         add_tag will pair each array element with the
                         corresponding structure array element. Setting
                         /NO_PAIR disables this behavior and will add the
                         entire array to each structure array element.

 CALLS: ***
	ADD_TAG2, ADD_TAG_ERR, ERR_STATE, EXIST, HAVE_PROC, IDL_RELEASE, IS_STRING, LAST_ITEM
	PR_SYNTAX, REPLICATE2, SINCE_VERSION [1], SINCE_VERSION [2], STRUP, TAG_EXIST [1]
	TAG_EXIST [2], is_struct
 CALLED BY:
	BBSO__DEFINE, BOOST_TAG, CH_READ_FITS, CIV_SUBTRACT, COORD_ADDINDEX, CWF_STATUS
	DEF_CDS_DETAIL, DEF_CDS_STUDY, DROT_MAP, DROT_MAP_FAST, EIS_RASTER_BROWSER [1]
	EIT__DEFINE, FITS WRITER CLASS FOR ANY RHESSI DATA TYPES
	FITSFILE__DEFINE [2], FIT_CDS_MAP, GEN__DEFINE, GET_CDS_STUDY, GET_NAR
	GET_UDP_HEAD, GOES__DEFINE, HEAD2STC, HESSI BINNED EVENTLIST CLASS DEFINITION
	HESSI IMAGE RAW CLASS DEFINITION [2]
	HESSI IMAGE STRATEGY CLASS DEFINITION
	HESSI IMAGING ALGORITHM ABSTRACT CLASS DEFINITION
	HESSI PARAMETER SELECTION TOOL [1], HSI_EVENTLIST_TO_SPECTROGRAM [1]
	HSI_SPECTROGRAMACCBIN [5], HSI_SPECTROGRAMCHAN_OVERLAP_FIX
	HSI_SPECTROGRAM_DECIM_CORRECT, HSI_SPECTROGRAM_DECIM_TABLE
	HSI_SPECTRUM__DEFINE, KPNO__DEFINE, Load_Main [1], Load_Main [2]
	MAKE_CHIANTI_SPEC, MAP2WCS, MAP__DEFINE, MDI__DEFINE, MK_CDS_STUDY, MK_HELP_STC
	MK_NEW_MAP, MK_OLD_MAP, MK_POINT_STC, NANCAY__DEFINE, NIS_ROTATE, NORH_FIXINDEX
	PLOT_MAP, PLOT_MAP2 WARNINGTEMPORARY FIX ONLY FOR 16 bit ZBuffer support
	RD_GOES, RD_RESOURCE, READ_NRH, REP_TAG_NAME, REP_TAG_VALUE, ROT_MAP, SHOW_RES_STC
	SHOW_SYNOP__DEFINE, SPECTROGRAM CLASS DEFINITION, SPECTRUM CLASS DEFINITION
	SPEX_DATA_OUT [1], SPEX_DATA_OUT [2], SPEX_GEN__DEFINE, SPEX__DEFINE, SPLIT_TAGS
	ST_SUMER, TR_DARK_SUB, UPDATE_CAMPAIGN, UPDATE_KAP, WCS_DECOMP_ANGLE
	WCS_FIND_PIXEL_LIST, WCS_FIND_POSITION, WCS_FIND_SPECTRUM, WCS_FIND_TABLE
	WCS_FIND_TIME, WCS_RECTIFY, WCS_SIMPLE, XYPLOT__DEFINE, XZOOM_PLAN, ZHOVER, ch_ss
	eis_raster_browser [2], fit_comp_kw, fitshead2struct, get_gevloc_data
	hsi_clean_options, hsi_flarelistdata_ext__define, hsi_image__getaxis [2]
	hsi_image_fitsread, hsi_params_2_top_struct, hsi_select_by_coincidence
	hsi_show_flags [2], 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_ui_img
	hsi_ui_spec, make_grid_sphere, make_mirror, mdi_write_genxcat, mk_sxh, plotman, ptim
	read_trace, setssw_windows, spectrogram__define, spex_bk__define
	spex_bksub__define, spex_convert_results [1], spex_convert_results [2]
	spex_data__define, ssw_kyoto2dst, str_key, str_sub2top, str_top2sub
	sxt_cba2os1 [1], sxt_cba2os1 [2], sxt_mornint, trace_last_movie [1]
	trace_last_movie [3], trace_scale, trace_special_movie [1]
	trace_special_movie [2], trace_special_movie [3], trace_special_movie2
	wrt_fits_bin_exten [2], wrt_rate_ext, xpickfile, xpickfile2
 Restrictions:	Cannot add more than one tag at a time

 Category    :	Structure handling

 Written     :	Dominic Zarro (ARC)

 Version     :	Version 1, 7 November 1994 -- written
               Version 2, 16 June 1996    -- cleaned up
		Version 3, 11-Aug-1997, William Thompson, GSFC
			Added keyword TOP_LEVEL
		Version 4, 8-Oct-1998, Zarro (SMA/GSFC) - converted to using
                       CREATE_STRUCT
               Version 5, 24-Dec-2004, Zarro (L-3Com/GSFC) - vectorized
                          01-Feb-05, Csillaghy (Univ. Applied Sciences NW Switzerland)
                          - changed n_elements( struct ) to size(struct /dim ), see at the end.
                          02-Nov-2005, Kim Tolbert - Previously only handled 1-D structure in
                            the pairing mode.  Now if structure is > 1-D, and last
                            dimension matches last dimension of tag_value, then add_tag will
                            place each tag_value in the corresponding structure element, unless
                            no_pair is set.


ADD_TAG [2] $SSW/gen/idl/struct/add_tag2.pro
[Previous] [Next]
 Project     :	SDAC

 Name        :	ADD_TAG

 Purpose     :	add a tag to a structure

 Use         : NEW_STRUCT=ADD_TAG(STRUCT,TAG,TAG_NAME)

 Inputs      :	STRUCT = input structure (array or scalar)
             : TAG_VALUE = tag variable to add 
             : TAG_NAME = tag name 

 Outputs     :	NEW_STRUCT = new structure

 Opt. Outputs:	None.

 Keywords    :	NAME = new name for structure
               INDEX = index or tag name where to append new tag [def = last]
               ERR   = error message [blank if ok]
               DUPLICATE = set to allow duplicate tag names
		TOP_LEVEL = If set, then only the top level is searched to
			    determine if the tag already exists.
               NO_COPY = do not make copy of input TAG variable
                         (it will be destroyed after input)

 CALLS: ***
	ADD_TAG2, ADD_TAG_ERR, DATATYPE [1], DATATYPE [2], DATATYPE [3], DELVARX [1]
	DELVARX [2], DELVARX [3], DELVARX [4], EXIST, IDL_RELEASE, MERGE_STRUCT
	SPLIT_STRUCT, TAG_EXIST [1], TAG_EXIST [2], TRIM, delvarx [5]
 CALLED BY:
	BBSO__DEFINE, BOOST_TAG, CH_READ_FITS, CIV_SUBTRACT, COORD_ADDINDEX, CWF_STATUS
	DEF_CDS_DETAIL, DEF_CDS_STUDY, DROT_MAP, DROT_MAP_FAST, EIS_RASTER_BROWSER [1]
	EIT__DEFINE, FITS WRITER CLASS FOR ANY RHESSI DATA TYPES
	FITSFILE__DEFINE [2], FIT_CDS_MAP, GEN__DEFINE, GET_CDS_STUDY, GET_NAR
	GET_UDP_HEAD, GOES__DEFINE, HEAD2STC, HESSI BINNED EVENTLIST CLASS DEFINITION
	HESSI IMAGE RAW CLASS DEFINITION [2]
	HESSI IMAGE STRATEGY CLASS DEFINITION
	HESSI IMAGING ALGORITHM ABSTRACT CLASS DEFINITION
	HESSI PARAMETER SELECTION TOOL [1], HSI_EVENTLIST_TO_SPECTROGRAM [1]
	HSI_SPECTROGRAMACCBIN [5], HSI_SPECTROGRAMCHAN_OVERLAP_FIX
	HSI_SPECTROGRAM_DECIM_CORRECT, HSI_SPECTROGRAM_DECIM_TABLE
	HSI_SPECTRUM__DEFINE, KPNO__DEFINE, Load_Main [1], Load_Main [2]
	MAKE_CHIANTI_SPEC, MAP2WCS, MAP__DEFINE, MDI__DEFINE, MK_CDS_STUDY, MK_HELP_STC
	MK_NEW_MAP, MK_OLD_MAP, MK_POINT_STC, NANCAY__DEFINE, NIS_ROTATE, NORH_FIXINDEX
	PLOT_MAP, PLOT_MAP2 WARNINGTEMPORARY FIX ONLY FOR 16 bit ZBuffer support
	RD_GOES, RD_RESOURCE, READ_NRH, REP_TAG_NAME, REP_TAG_VALUE, ROT_MAP, SHOW_RES_STC
	SHOW_SYNOP__DEFINE, SPECTROGRAM CLASS DEFINITION, SPECTRUM CLASS DEFINITION
	SPEX_DATA_OUT [1], SPEX_DATA_OUT [2], SPEX_GEN__DEFINE, SPEX__DEFINE, SPLIT_TAGS
	ST_SUMER, TR_DARK_SUB, UPDATE_CAMPAIGN, UPDATE_KAP, WCS_DECOMP_ANGLE
	WCS_FIND_PIXEL_LIST, WCS_FIND_POSITION, WCS_FIND_SPECTRUM, WCS_FIND_TABLE
	WCS_FIND_TIME, WCS_RECTIFY, WCS_SIMPLE, XYPLOT__DEFINE, XZOOM_PLAN, ZHOVER, ch_ss
	eis_raster_browser [2], fit_comp_kw, fitshead2struct, get_gevloc_data
	hsi_clean_options, hsi_flarelistdata_ext__define, hsi_image__getaxis [2]
	hsi_image_fitsread, hsi_params_2_top_struct, hsi_select_by_coincidence
	hsi_show_flags [2], 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_ui_img
	hsi_ui_spec, make_grid_sphere, make_mirror, mdi_write_genxcat, mk_sxh, plotman, ptim
	read_trace, setssw_windows, spectrogram__define, spex_bk__define
	spex_bksub__define, spex_convert_results [1], spex_convert_results [2]
	spex_data__define, ssw_kyoto2dst, str_key, str_sub2top, str_top2sub
	sxt_cba2os1 [1], sxt_cba2os1 [2], sxt_mornint, trace_last_movie [1]
	trace_last_movie [3], trace_scale, trace_special_movie [1]
	trace_special_movie [2], trace_special_movie [3], trace_special_movie2
	wrt_fits_bin_exten [2], wrt_rate_ext, xpickfile, xpickfile2
 Restrictions:	Cannot add more than one tag at a time

 Category    :	Structure handling

 Written     :	Dominic Zarro (ARC)
               
 Version     :	Version 1.0, 7 November 1994 -- written
               Version 2.0, 16 June 1996    -- cleaned up
		Version 3, 11-Aug-1997, William Thompson, GSFC
			Added keyword TOP_LEVEL
		Version 4 8-Oct-1998, Zarro (SMA/GSFC) - converted to using
                       CREATE_STRUCT


ADDTIME [1] $SSW/gen/idl/genutil/addtime.pro
[Previous] [Next]
  Name:
    ADDTIME
  Purpose:
    If optional keyword delta_min is supplied, then add a offset in 
		decimal minutes to an external time (H,M,S,MS,D,M,Y).
    If optional keyword difference is supplied, return the difference 
		as Value = [A] - [B], where Value will be minutes (floating).

  Inputs:
    A	= Base time, any format.

  Calling Sequence:
    Result = addtime(A,delta_min=delta_min)	; Result is [h,m,s,ms,d,m,y]
    Result = addtime(A,difference=B)		; Result is minutes (float)
    Result = addtime(A,difference=B,/sec)	; Result is seconds (float)

  Outputs:
    Function returns New time time, if delta_min keyword is provided.
    Function returns difference of A-B, if B keyword is provied.

  OPTIONAL INPUT KEYWORDS:
    delta_min	Decimal minutes (positive or negative) to add to A.
		If /secs is set, this should be in secs.
    B		2nd time to subtract from A in any format.
    secs	If set, return the result in seconds with diff=keyword
               If set, the input delta should be specified in secs

 CALLS: ***
	Ex2Int [1], Ex2Int [2], Int2Ex [1], Int2Ex [2], anytim2ex [1], anytim2ex [2]
 CALLED BY:
	ACOPY [1], ANAL_BCS_PHA, ANAL_STIMS, BCS_SPMOVIE [1], BCS_SPMOVIE [2]
	COVER_PAGE [1], COVER_PAGE [2], DR, DSN_DMP_FINDER, DSN_FINAL, FIND_CAL [1]
	FIND_CAL [2], GET_TRANGE, MK_HXI_MAP, MK_ORB_WEEK, OBS_EVENT, OBS_PLOT
	OP_ADD_SPECIAL, PLOT_HXT, SXT_POWL, Sxt_goes_teem, TRACE_SSWHERE [1]
	UPDATE_SXT_CO_INDEX, WOBS_PLOT, XMOVIE_SFM, any_decay_time, any_fsp, anyrts
	auto_bck_find, bck_interp, choose_interval, contact_sum, contacts [1]
	contacts [2], copy_visible, diskbench, dsn_input, fidrange [1], fidrange [2]
	fmt_pass, fmt_rasm, get_dn_rate [1], get_dn_rate [2], getm1ans
	go_lasdisk golaserdisk, go_lasdisk2 golaserdisk, go_nvs5, goes_plot [1]
	goes_plot [2], goes_plot [3], goes_plot [4], goes_plot [5], hxt_images2ps
	hxt_utplot, interp_arr [1], interp_arr [2], interp_arr [3], last_lc, launch [1]
	launch [2], make_32 [1], make_32 [2], mk_orbit_files, mk_orbit_sum, mult_th_fsp
	op_bdr_opt, op_edit [1], op_edit [2], op_get_event [1], op_get_event [2]
	op_pass_sheets [1], op_pass_sheets [2], op_saa_med [1], op_saa_med [2]
	op_same_time [1], op_same_time [2], op_term_score, op_terminator [1]
	op_terminator [2], op_time_sort, op_times, pass_sheets, plot_ar_pfi, plot_fov [1]
	plot_nar [1], plot_nar [2], plot_ssw_fov, pr_maxmin_hk, rdtbl, run_dsnfil
	save_event [1], save_event [2], sft_files, sgt_time, sxt_anycomp, sxt_dn_int
	sxt_mwave, sxt_resp_inp, sxt_t6_resp0, tim2tfss, tim_bin, time_interp
	trace_sswhere [2], trace_sswhere [3], trace_sswhere [4], valid_pass, valid_pass2
	valid_pass3, valid_pass4 [1], valid_pass4 [2], ycopy, ydump
  Procedure:
    Calls ex2int and int2ex to do the calculations. 

  MODIFICATION HISTORY:
    15-oct-91, Written, JRL
    26-oct-91, Update, JRL - To handle hrs > 24 case
    22-jun-92, Update, JRL - eliminate the 24:00 hour case
    11-sep-92, Update, JRL - Call anytim2ex to convert input to external.
    27-jul-94, JRL - Return the result in secs (with massive help from JMM!)
     6-Mar-95, JRL - Improved logic so delta=<large numbers> doesn't overflow


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

 Name        : 
	ADJUST()
 Purpose     : 
	Adjust the range of an image.
 Explanation : 
	Adjusts the range of an image.  Basically equivalent to using the
	">" and "<" operators, except that pixels equal to MISSING are ignored
	and not changed by this procedure.
 Use         : 
	Result = ADJUST( ARRAY, <keywords> )
 Inputs      : 
	ARRAY	= Array to be scaled.
 Opt. Inputs : 
	None.
 Outputs     : 
	Result of function is scaled image.
 Opt. Outputs: 
	None.
 Keywords    : 
	MINIMUM	= Lower limit to scale image into.  If not passed, then
		  MIN(ARRAY) is assumed.
	MAXIMUM	= Upper limit to scale image into.  If not passed, then
		  MAX(ARRAY) is assumed.
	MISSING	= Value flagging missing pixels.
 Calls       : ***
	GET_IM_KEYWORD, GOOD_PIXELS
 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, March 1991.
	William Thompson, August 1992, renamed BADPIXEL to MISSING.
 Written     : 
	William Thompson, GSFC, March 1991.
 Modified    : 
	Version 1, William Thompson, GSFC, 14 May 1993.
		Incorporated into CDS library.
       Version 2, 11-May-2005, William Thompson, GSFC
               Handle NaN values
 Version     : 
	Version 2, 11-May-2005


ADJUST_COLOR $SSW/gen/idl/display/adjust_color.pro
[Previous] [Next]
 Project     : SOHO - CDS

 Name        : 
	ADJUST_COLOR
 Purpose     : 
	Adjust the color table with the cursor.
 Explanation : 
	Use the graphics cursor to control the lower limit and range of the
	color tables.

	Cursor is repeatedly sampled.  X position is the lower limit (e.g.
	cutoff).  Y position controls range of color table.  Initially, the
	cutoff is set to 0 and the range is 255 with the cursor at the upper
	left corner.  When any key is struck the lower limit and range are
	printed and the procedure is exited.

 Use         : 
	ADJUST_COLOR  [, R,G,B ]
 Inputs      : 
	None required.
 Opt. Inputs : 
	R = Red color gun vector, 256 elements, 0 to 255.
		(usually read from device)
	G = Green color gun vector.
	B = Blue color gun vector.
 Outputs     : 
	None.
 Opt. Outputs: 
	None.
 Keywords    : 
	DISABLE	 = If passed, then TVSELECT is not used.
	NOCURSOR = If passed, then TVCRS is not called.  TVCRS is not called
		   for Tektronix terminals in any case.
 Calls       : ***
	TVSELECT, TVUNSELECT
 Common      : 
	If the parameters are omitted, the color vectors are read using
	TVLCT,/GET.  Regardless of the number of parameters, the colors in
	common are not changed.
 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. : 
	DMS, JULY, 1982. Written.
	WTT, AUGUST, 1990.  Ported to version 2 for non-windowed devices.
	William Thompson, April 1992, changed to use TVLCT,/GET instead of
				      common block.
 Written     : 
	David M. Stern, RSI, July 1982.
 Modified    : 
	Version 1, William Thompson, GSFC, 14 May 1993.
		Incorporated into CDS library.
	Version 2, William Thompson, GSFC, 8 April 1998
		Changed !D.N_COLORS to !D.TABLE_SIZE for 24-bit displays
 Version     : 
	Version 2, 8 April 1998


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

   Purpose: check input times and adjust if required 

   Input Parameters:
      t0 - start time 	- any Yohkoh format
      t1 - stop time

   Output Parameters:
      t0 - start time (adjusted)	; output is always Yohkoh string format
      t1 - stop time (adjusted)

   Keyword Parameters
      maxdays   - if set, maximum number of days allowed (t1-t0)
      timerange - 2 element vector; force times to fall in this range
      earliest  - same as timerange(0)
      latest    - same as timerange(1)
      status (output) - true (1) if no problems, false (0) if problems/adjust.
      deltat (output) - delta Time (seconds between final output times)

 CALLS: ***
	anytim2ints [1], anytim2ints [2], fmt_tim [1], fmt_tim [2], int2secarr [1]
	int2secarr [2], timegrid, ut_time [1], ut_time [2]
   History:
      28-sep-1995 (S.L.Freeland) to simplify checking WWW form times

   Warning - input times may be clobbered (I mean adjusted)


ADSTRING $SSW/gen/idl_libs/astron/astro/adstring.pro
[Previous] [Next]
 NAME:
       ADSTRING
 PURPOSE:
       Return RA and Dec as character string(s) in sexigesimal format.
 EXPLANATION:
       RA and Dec may be entered as either a 2 element vector or as
       two separate vectors (or scalars).  One can also specify the precision 
       of the declination in digits after the decimal point.

 CALLING SEQUENCE
       result = ADSTRING( ra_dec, precision, /TRUNCATE )           
               or
       result = ADSTRING( ra,dec,[ precision, /TRUNCATE ] )

 INPUTS:
       RA_DEC - 2 element vector giving the Right Ascension and declination
               in decimal degrees.
                     or
       RA     - Right ascension in decimal degrees, numeric scalar or vector
       DEC    - Declination in decimal degrees, numeric scalar or vector

 OPTIONAL INPUT:
       PRECISION  - Integer scalar (0-4) giving the number of digits after the 
               decimal of DEClination.   The RA is automatically 1 digit more.
               This parameter may either be the third parameter after RA,DEC 
               or the second parameter after [RA,DEC].  It is not available 
               for just DEC.   If no PRECISION parameter is passed, a 
               precision of 1 for both RA and DEC is returned to maintain 
               compatibility with past ADSTRING functions.    Values of 
               precision larger than 4 will be truncated to 4.    If
               PRECISION is 3 or 4, then RA and Dec should be input as 
               double precision.
 OPTIONAL INPUT KEYWORD:
       /TRUNCATE - if set, then the last displayed digit in the output is 
               truncated in precision rather than rounded.   This option is
               useful if ADSTRING() is used to form an official IAU name 
               (see http://vizier.u-strasbg.fr/Dic/iau-spec.htx )with
               coordinate specification.   The IAU name will typically be
               be created by applying STRCOMPRESS/REMOVE) after the ADSTRING()
               call, e.g. 
              strcompress( adstring(ra,dec,0,/truncate), /remove)   ;IAU format
 OUTPUT:
       RESULT - Character string(s) containing HR,MIN,SEC,DEC,MIN,SEC formatted
               as ( 2I3,F5.(p+1),2I3,F4.p ) where p is the PRECISION 
               parameter.    If only a single scalar is supplied it is 
               converted to a sexigesimal string (2I3,F5.1).

 CALLS: ***
	RADEC, SIXTY
 CALLED BY:
	ADXY, ASTDISP, ASTRO, CURVAL, EQ2HOR, HOR2EQ, IMCONTOUR, PRECESS, TVLASER
 EXAMPLE:
       (1) Display CRVAL coordinates in a FITS header, H

       IDL> crval = sxpar(h,'CRVAL*')  ;Extract 2 element CRVAL vector (degs)
       IDL> print, adstring(crval)     ;Print CRVAL vector sexigesimal format

       (2)  print,adstring(30.42,-1.23,1)  ==>  ' 02 01 40.80  -01 13 48.0'
            print,adstring(30.42,+0.23)    ==>  ' 02 01 40.8   +00 13 48.0'    
            print,adstring(+0.23)          ==>  '+00 13 48.0'

       (3) The first two calls in (2) can be combined in a single call using
           vector input
              print,adstring([30.42,30.42],[-1.23,0.23], 1)
 PROCEDURES CALLED:
       RADEC, SIXTY()

 REVISION HISTORY:
       Written   W. Landsman                      June 1988
       Addition of variable precision and DEC seconds precision fix. 
       ver.  Aug. 1990 [E. Deutsch]
       Output formatting spiffed up       October 1991 [W. Landsman]
       Remove ZPARCHECK call, accept 1 element vector  April 1992 [W. Landsman]
       Call ROUND() instead of NINT()    February 1996  [W. Landsman]
       Check roundoff past 60s           October 1997   [W. Landsman]
       Work for Precision =4             November 1997  [W. Landsman]
       Converted to IDL V5.0   W. Landsman 24-Nov-1997
       Major rewrite to allow vector inputs   W. Landsman  February 2000
       Fix possible error in seconds display when Precision=0 
                               P. Broos/W. Landsman April 2002
       Added /TRUNCATE keyword, put leading zeros in seconds display
                               P. Broos/W. Landsman September 2002
       Fix declination zero values under vector processing W.Landsman Feb 2004
       Fix possible problem in leading zero display W. Landsman June 2004
       Assume since V5.4, omit fstring() call  W. Landsman April 2006


ADXY $SSW/gen/idl_libs/astron/astrom/adxy.pro
[Previous] [Next]
 NAME:
       ADXY
 PURPOSE:
       Use a FITS header to convert astronomical to pixel coordinates
 EXPLANATION:
       Use an image header to compute X and Y positions, given the
       RA and Dec (or longitude, latitude) in decimal degrees.  

 CALLING SEQUENCE:
       ADXY, HDR               ;Prompt for Ra and DEC 
       ADXY, hdr, a, d, x, y, [ /PRINT, ALT= ]

 INPUTS:
       HDR - FITS Image header containing astrometry parameters

 OPTIONAL INPUTS:
       A - Right ascension in decimal DEGREES, scalar or vector
       D - Declination in decimal DEGREES, scalar or vector        

       If A and D are not supplied, user will be prompted to supply
       them in either decimal degrees or HR,MIN,SEC,DEG,MN,SC format.

 OPTIONAL OUTPUT:
       X     - row position in pixels, same number of elements as A and D
       Y     - column position in pixels

       X and Y will be in standard IDL convention (first pixel is 0) and not
       the FITS convention (first pixel is 1).      As in FITS an integral
       value corresponds to the center of a pixel.
 CALLS: ***
	AD2XY, ADSTRING, EXTAST, GETOPT, GSSSADXY, REPCHR [1], REPCHR [2], REPCHR [3], SXPAR [1]
	SXPAR [2], SXPAR [3], TEN
 OPTIONAL KEYWORD INPUT:
       /PRINT - If this keyword is set and non-zero, then results are displayed
               at the terminal.
       ALT -  single character 'A' through 'Z' or ' ' specifying an alternate 
             astrometry system present in the FITS header.    The default is
             to use the primary astrometry or ALT = ' '.   If /ALT is set, 
             then this is equivalent to ALT = 'A'.   See Section 3.3 of 
             Greisen & Calabretta (2002, A&A, 395, 1061) for information about
             alternate astrometry keywords.

 OPERATIONAL NOTES:
       If less than 5 parameters are supplied, or if the /PRINT keyword is
       set, then the X and Y positions are displayed at the terminal.

       If the procedure is to be used repeatedly with the same header,
       then it would be faster to use AD2XY.

 PROCEDURES CALLED:
       AD2XY, ADSTRING(), EXTAST, GETOPT(), TEN()

 REVISION HISTORY:
       W. Landsman                 HSTX          January, 1988
       Use astrometry structure   W. Landsman   January, 1994  
       Changed default ADSTRING format   W. Landsman    September, 1995
       Converted to IDL V5.0   W. Landsman   September 1997
       Check if latitude/longitude reversed in CTYPE keyword W. L. Feb. 2004
       Added ALT keyword   W. Landsman   September 2004
       Work for non-spherical coordinate transformation W. Landsman May 2005        


AFFINE $SSW/gen/idl/image/affine.pro
[Previous] [Next]
 NAME:
	AFFINE

 PURPOSE:
	Apply the affine transformation given by the input parameters
       to IMAGE. 
	
 CATEGORY:
	Z3 - Image processing, geometric transforms, image registration.

 CALLING SEQUENCE:
	transformed_image = AFFINE(image,mx,my,sx,theta,xc,yc)

 INPUTS:
       IMAGE:  The image to be transformed. Must be 2-D.
       MX, MY: Magnification factors in x and y directions.
       SX:     Horizontal shear term.
       THETA:  Rotation angle in DEGREES. THETA > 0 => counterclockwise rotation.
       XC, YC: Center of rotation.
               
 KEYWORDS:
	INTERP:	Set this keyword for bilinear interpolation.  If this keyword
		is set to 0 or omitted, nearest neighbor sampling is used.
		Note that setting this keyword is the same as using the 
		ROT_INT User Library function.  This change (and others) 
		essentially makes ROT_INT obsolete.

	CUBIC:	If specified and non-zero, "Cubic convolution"
		interpolation is used.  This is a more
		accurate, but more time-consuming, form of interpolation.
		CUBIC has no effect when used with 3 dimensional arrays.
		If this parameter is negative and non-zero, it specifies the
		value of the cubic interpolation parameter as described
		in the INTERPOLATE function.  Valid ranges are -1 <= Cubic < 0.
		Positive non-zero values of CUBIC (e.g. specifying /CUBIC)
		produce the default value of the interpolation parameter
		which is -1.0.

      MISSING:	The data value to substitute for pixels in the output image 
		that map outside the input image.       

 OUTPUTS:
       NONE

 RETURNS:
       TIMAGE: the affine transformation of input image IMAGE.

 COMMON BLOCKS:
	None.

 SIDE EFFECTS:
	None.

 RESTRICTIONS:
	None.

 PROCEDURE:
	Uses POLY_2D to warp the input image according to the 
       given parameters.

	See:	Image Processing for Scientific Applications
               Bernd J\"ahne
		CRC Press, 1997, Chapter 8.

       Same as ROT.PRO but includes shear term and /PIVOT is assumed.

 MODIFICATION HISTORY:
	T. Berger, LMATC, 26-February-1998.
       S.L.Freeland, LMSAL, 10-March-1998 - backward compatible IDV V < 5


AFFINE_SOLVE $SSW/gen/idl/image/affine_solve.pro
[Previous] [Next]
 NAME:
	AFFINE_SOLVE

 PURPOSE:
	Calculate the parameters of a general affine image
       transformation given a set of points from two images:
       one of the images is assumed to be the reference image,
       the other is assumed to be an image translated, rotated,
       scaled, and possibly sheared relative to the reference image.

       The form of the general transformation is affine:
       X = tranformed coordinates = [T+ M S R T-] X'
       where, in homogeneous coordinates,

              X  = TRANSPOSE[x, y, 1]: test image vector
              T+ = [[1,0,x0],[0,1,y0],[0,0,1]]: translatation of (0,0) back to (x0,y0) 
              M  = [[mx,0,0],[0,my,0],[0,0,1]]:scale
              S  = [[1,sx,0],[0,1,0],[0,0,1]]: horizontal shear
              R  = [[cos(t),-sin(t),0],[sin(t),cos(t),0],[0,0,1]]:
                   rotate clockwise by angle t about origin.
              T- = [[1,0,-x0],[0,1,-y0],[0,0,1]]:center of rotation to (0,0)
              X' = TRANSPOSE[x',y',1]: reference image vector
	
 CATEGORY:
	Z3 - Image processing, geometric transforms, image registration.

 CALLING SEQUENCE:
	AFFINE_SOLVE, xin,xrefin,sx,sy,s,theta,x0,y0

 INPUTS:
	XIN:    2xN dimensional array of points taken from image1 
               which correspond to the same points in the reference image.
               Xi = XIN(0,*)
		Yi = XIN(1,*)
               N is the number of points. 

	XPIN:   2xN dimensional array of points from the "reference image"
               which correspond to points in the image. 
               
 KEYWORDS:
       VERBOSE: If set, print the transformation elements to the screen.

 OUTPUTS:
       MX, MY: Magnification factors in x and y axes, respectively.

       SX:      Horizontal shearing factor.

       THETA:  Rotation angle in degrees. 

       XC,YC:  Center of rotation vector elements OR translation
               vector elements.

 CALLED BY:
	IMAGE_REGISTER
 COMMON BLOCKS:
	None.

 SIDE EFFECTS:
	None.

 RESTRICTIONS:
	N, the number of matched points in the transformed and reference
       images should be large (greater than 20), should be taken from
       widely spaced locations in the image field-of-view, and should
       be measured to within 1-pixel for greatest accuracy.

       Off-center rotation and translation require a two-stage approach
       for image registration. i.e. in the first stage, apply the parameters 
       given by this routine to the test image. A second set of points
       is then selected from the image and the reference image, and 
       a second run of this program should output a final translation
       to be applied to the test image to bring it in registration with
       the reference image. This is tested for and the user is alerted.

 PROCEDURE:
	Using least squares estimation, determine the elements 
       of the general affine transformation (rotation and/or scaling
       and/or translation and/or shearing) of an image onto a reference 
       image. 

	See:	Image Processing for Scientific Applications
               Bernd J\"ahne
		CRC Press, 1997, Chapter 8.

       Use AFFINE.PRO (or ROT.PRO if no shear is found) to apply the 
       transformation to the test image after computing them with this routine.

 MODIFICATION HISTORY:
	Written: T. Berger, LMATC, 24-Feb-1998.
       Added no rotation/translation test. TEB, 2-March-98.
       10-March-1998 - S.L.Freeland - Backward compatible for IDL V<5


AIRTOVAC $SSW/gen/idl_libs/astron/astro/airtovac.pro
[Previous] [Next]
 NAME:
       AIRTOVAC
 PURPOSE:
       Convert air wavelengths to vacuum wavelengths 
 EXPLANATION:
       Wavelengths are corrected for the index of refraction of air under 
       standard conditions.  Wavelength values below 2000 A will not be 
       altered.  Uses the IAU standard for conversion given in Morton 
       (1991 Ap.J. Suppl. 77, 119)

 CALLING SEQUENCE:
       AIRTOVAC, WAVE

 INPUT/OUTPUT:
       WAVE - Wavelength in Angstroms, scalar or vector
               WAVE should be input as air wavelength(s), it will be
               returned as vacuum wavelength(s).  WAVE is always converted to
               double precision upon return.

 EXAMPLE:
       If the air wavelength is  W = 6056.125 (a Krypton line), then 
       AIRTOVAC, W yields an vacuum wavelength of W = 6057.8019

 METHOD:
       See Morton (Ap. J. Suppl. 77, 119) for the formula used

 REVISION HISTORY
       Written W. Landsman                November 1991
       Converted to IDL V5.0   W. Landsman   September 1997


AITOFF $SSW/gen/idl_libs/astron/astro/aitoff.pro
[Previous] [Next]
 NAME:
       AITOFF
 PURPOSE:
       Convert longitude, latitude to X,Y using an AITOFF projection.
 EXPLANATION:
       This procedure can be used to create an all-sky map in Galactic 
       coordinates with an equal-area Aitoff projection.  Output map 
       coordinates are zero longitude centered.

 CALLING SEQUENCE:
       AITOFF, L, B, X, Y 

 INPUTS:
       L - longitude - scalar or vector, in degrees
       B - latitude - same number of elements as L, in degrees

 OUTPUTS:
       X - X coordinate, same number of elements as L.   X is normalized to
               be between -180 and 180
       Y - Y coordinate, same number of elements as L.  Y is normalized to
               be between -90 and 90.

 NOTES:
       See AIPS memo No. 46, page 4, for details of the algorithm.  This
       version of AITOFF assumes the projection is centered at b=0 degrees.

 REVISION HISTORY:
       Written  W.B. Landsman  STX          December 1989
       Modified for Unix:
               J. Bloch        LANL SST-9      5/16/91 1.1
       Converted to IDL V5.0   W. Landsman   September 1997
 CALLED BY
	AITOFF_GRID, MASK_OFF, PE_GRID


AITOFF_GRID $SSW/gen/idl_libs/astron/astro/aitoff_grid.pro
[Previous] [Next]
 NAME:
       AITOFF_GRID

 PURPOSE:
       Produce an overlay of latitude and longitude lines over a plot or image
 EXPLANATION:
       The grid is plotted on the current graphics device. AITOFF_GRID 
       assumes that the ouput plot coordinates span the x-range of 
       -180 to 180 and the y-range goes from -90 to 90.

 CALLING SEQUENCE:

       AITOFF_GRID [,DLONG,DLAT, LABEL=, /NEW, CHARTHICK=, CHARSIZE=, 
                     FONT=, _EXTRA=]

 OPTIONAL INPUTS:

       DLONG   = Optional input longitude line spacing in degrees. If left
                 out, defaults to 30.
       DLAT    = Optional input latitude line spacing in degrees. If left
                 out, defaults to 30.

 OPTIONAL INPUT KEYWORDS:

       LABEL           = Optional keyword specifying that the latitude and
                         longitude lines on the prime meridian and the
                         equator should be labeled in degrees. If LABELS is
                         given a value of 2, i.e. LABELS=2, then the longitude
                         labels will be in hours instead of degrees.
        CHARSIZE       = If /LABEL is set, then CHARSIZE specifies the size
                         of the label characters (passed to XYOUTS)
        CHARTHICK     =  If /LABEL is set, then CHARTHICK specifies the 
                         thickness of the label characters (passed to XYOUTS)
       FONT          =   scalar font graphics keyword (-1,0 or 1) for text
       /NEW          =   If this keyword is set, then AITOFF_GRID will create
                         a new plot grid, rather than overlay an existing plot.

       Any valid keyword to OPLOT such as COLOR, LINESTYLE, THICK can be 
       passed to AITOFF_GRID (though the _EXTRA facility) to to specify the
       color, style, or thickness of the grid lines.
 OUTPUTS:
       Draws grid lines on current graphics device.

 CALLS: ***
	AITOFF
 CALLED BY:
	PE_GRID
 EXAMPLE:
       Create a labeled Aitoff grid of the Galaxy, and overlay stars at 
       specified Galactic longitudes, glong and latitudes, glat

       IDL> aitoff_grid,/label,/new        ;Create labeled grid
       IDL> aitoff, glong, glat, x,y      ;Convert to X,Y coordinates
       IDL> plots,x,y,psym=2              ;Overlay "star" positions

 PROCEDURES USED:
       AITOFF
 NOTES:
       If labeling in hours (LABEL=2) then the longitude spacing should be
       a multiple of 15 degrees

 AUTHOR AND MODIFICATIONS:

       J. Bloch        1.2     6/2/91
       Converted to IDL V5.0   W. Landsman   September 1997
       Create default plotting coords, if needed   W. Landsman  August 2000
       Added _EXTRA, CHARTHICK, CHARSIZE keywords  W. Landsman  March 2001
       Several tweaks, plot only hours not minutes W. Landsman January 2002
       Allow FONT keyword to be passed to XYOUTS.  T. Robishaw Apr. 2006


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

   Purpose: align a data cube via cross correlation; update coordinates

   Input Parameters:
      index - the header structures   ; SSW standards w/pointing fields
      data  - the data cube       
      offsets - the derived offesets fltarr(2,nimage) 

   Calling Sequence:
        align_cube_correl, index, incube, outindex, outcube ; header & cube 
   -OR- align_cube_correl, incube, outcube                  ; just cube?
   -OR- align_cube_correl, inoutcube                        ; just cube?
     
   History:
      15-October-1998 - S.L.Freeland
      Distillation based on review of SSW correlation/alignment SW  by:
         G.L.Slater  (SXT..)     get_off, cube-align, translate
         J.P.Wuelser (SXT/MEES)  korrel, poly_movie
         T.Tarbell   (TRACE)     tr_get_disp
       5-Feb-2003 - S.L.Freeland - assure all calling modes permitted

      Proto type - When called with 'index' structures, will
      adjust the 'pointing' standard tags to reflect alignement and
      return in 'outindex'
   
 CALLS: ***
	BOX_MESSAGE, IMAGE_TRANSLATE, data_chk [1], data_chk [2], get_correl_offsets
   Side Effects:
      Called with one paramater, (input cube), the input is overwritten
      by the aligned version (memory conservation, for example)

   Method: 
      call get_correl_offsets to get the cross correlation offsets for cube
      call image_translate to align the cube (via poly2d method)

   Category:
      2D , 3D, Image, Alignment, Cross Correlation      

   Restrictions:
      update of coordinates not yet implemented


align_label $SSW/gen/idl/display/align_label.pro
[Previous] [Next]
    Name:  align_label

    Purpose:  meta-label (via xyouts) an image via relative positions/align

    Input Parameters:
      label - the text label
    
    Output Parameters:
       ddevx, devy - derived x and y position in device coord
       sizex, sizey - width and heighth of LABEL in device coord
  
    Keyword Parameters:
       ur/ul/uc  - upper right, upper left, upper center
       lr/ll/lc  - lower right, lower left, lower center
       cr/cl/cc  - center right, center left, center center

       charsize / size (synonums) - desired label SIZE (per xyouts) def=1.0
       pixpad / pad (synonyms) - number of pixels to 'pad' 
       info_only - if set, do not issue xyouts (return devx, devy...)
       _extra - pass unknown keywords to xyouts via inherit.
  
    Calling Examples:
       IDL> align_label,'Label Text', /ur            ; label upper right
       IDL> align_label,'Label Text', /uc,pad=10     ; top center, 10 pix pad 
       IDL> align_label,'TEXT',/lr,color=100,size=2  ; lower right
                                                     ; keywords->xyouts
 CALLED BY:
	ssw_find_transit
    History:
       17-Nov-1999 S.L.Freeland - integrate a couple of existing functions
                                  size determination from xyouts/ 
 CALLS: ***
	BOX_MESSAGE, STR2ARR [1], STR2ARR [2], WDEF [1], WDEF [2], data_chk [1]
	data_chk [2], str_subset
    See Also:
	Knight et al), label_image.pro (W.Thompson), legend.pro (Astronomy Lib


ALL_VALS [1] $SSW/gen/idl/util/all_vals.pro
[Previous] [Next]
 NAME:
       ALL_VALS
 PURPOSE:
       Find and sort unique values in an array
 CATEGORY:
 CALLING SEQUENCE:
       out = all_vals(in)
 INPUTS:
	in	any array
 OPTIONAL INPUT PARAMETERS:
 KEYWORD PARAMETERS:
 OUTPUTS:
	out	sorted array of unique values
 OPTIONAL OUTPUT PARAMETERS:
 CALLS: ***
	UNIQ [1], UNIQ [2], UNIQ [3]
 CALLED BY:
	ANAL_BCS_PHA, ANAL_STIMS, BCS_SPMOVIE [1], BCS_SPMOVIE [2], FIND_CAL [1]
	FIND_CAL [2], GOOD_MAX [1], GOOD_MAX [2], MEMCHK_TIMES, OBS_PLOT, SUMM_CALS
	SXT_TVEC, TRACE_SSWHERE [1], WBS_TVEC, ext_bcschan [1], ext_bcschan [2]
	plot_fov [1], plot_goesp, plot_ssw_fov, plotbft [1], pr_plan_area [1]
	pr_plan_area [2], read_trace, ssw_fs_cat2db, ssw_install [2], ssw_swmap_uniqinfo
	trace_sswhere [2], trace_sswhere [3], trace_sswhere [4]
 COMMON BLOCKS:
 SIDE EFFECTS:
 RESTRICTIONS:
 PROCEDURE:
 MODIFICATION HISTORY:
       RDB     Sep-98  Written, modelled on old library routine


ALLOW_FONT $SSW/gen/idl/display/allow_font.pro
[Previous] [Next]
 Project     : HESSI
                  
 Name        : ALLOW_FONT
               
 Purpose     : platform/OS independent check if current system
               supports given font
                             
 Category    : system utility
               
 Syntax      : IDL> a=allow_font()
                                        
 Outputs     : 1/0 if yes/no
                   
 CALLS: ***
	ALLOW_WINDOWS, EXIST, IS_STRING, IS_WOPEN, OS_FAMILY, STRUP, WDEL
 History     : 14 May 2003, Zarro (EER/GSFC)

 Contact     : dzarro@solar.stanford.edu


ALLOW_GIF $SSW/gen/idl/image/allow_gif.pro
[Previous] [Next]
 Project     : HESSI
                  
 Name        : ALLOW_GIF
               
 Purpose     : platform/OS independent check if current system
               supports writing GIF files
                             
 Category    : system utility
               
 Syntax      : IDL> a=allow_gif()
                                        
 Outputs     : 1/0 if yes/no
                   
 CALLS: ***
	CLOSE_LUN, EXIST, GET_TEMP_DIR, MK_TEMP_FILE, WRITE_GIF, is_open
 CALLED BY:
	SSW_WRITE_GIF, WR_MOVIE, sxi_latest
 History     : 7 Apr 2003, Zarro (EER/GSFC)

 Contact     : dzarro@solar.stanford.edu


ALLOW_SOCKETS $SSW/gen/idl/sockets/allow_sockets.pro
[Previous] [Next]
 Project     : HESSI
                  
 Name        : ALLOW_SOCKETS
               
 Purpose     : check if sockets are supported
                             
 Category    : system utility sockets
               
 Syntax      : IDL> a=allow_sockets()
                                        
 Outputs     : 1/0 if yes/no
                   
 CALLS: ***
	OS_FAMILY, XACK
 CALLED BY:
	GET_SOHO_ROLL, GOES__DEFINE, HSI_FIND_FILE, HTTP__DEFINE, SOCK_OPEN, SYNOP_DEFINE
 History     : 28 Mar 2002, Zarro (L-3Com/GSFC)

 Contact     : dzarro@solar.stanford.edu


ALLOW_WINDOWS $SSW/gen/idl/display/allow_windows.pro
[Previous] [Next]
 Project     : HESSI
                  
 Name        : ALLOW_WINDOWS
               
 Purpose     : platform/OS independent check if current device
               allows windows 
                             
 Category    : system utility
               
 Syntax      : IDL> a=allow_windows()
                                        
 Outputs     : 1/0 if yes/no
                   
 CALLS: ***
	HAVE_WIDGETS [1], HAVE_WIDGETS [2], HAVE_WINDOWS [1], HAVE_WINDOWS [2]
	SINCE_VERSION [1], SINCE_VERSION [2]
 CALLED BY:
	ALLOW_FONT, CHAN_DEFINE, COLORSET, GET_XWIN [1], IS_WOPEN, OVSA_LTC_DEFINE
	RDWRT_BUFF, SMART_WINDOW, SPECPLOT__DEFINE, XACK, XTEXT, get_xwin [2]
 History     : Version 1,  4-Nov-1999, Zarro (SM&A/GSFC)
               13 Dec 2001, Zarro (EITI/GSFC) - added DEVICE call
               22 Oct 2002, Zarro (EER/GSFC) - added FSTAT check

 Contact     : dzarro@solar.stanford.edu


ALPHA_PAGE [1] $SSW/gen/idl/fund_lib/sdac/alpha_page.pro
[Previous] [Next]
 PROJECT:
       SDAC
 	
 NAME:
	ALPHA_PAGE

 PURPOSE:
 	This procedure switches to alpha from graphics page under Tektronix.

 CATEGORY:
	GRAPHICS

 CALLING SEQUENCE:
	ALPHA_PAGE

 INPUTS:
	None

 OUTPUTS:
	None

 CALLED BY:
	CAL_SHER, FLDISPLAY, FSOC, FS_ARCHIVE_DRAW, FS_AUTO_LOG, FS_GRAPH, GET_TRIG
	Intervals [1], Intervals [2], LOG_MENU, PAGE_PRINT, QLDISPLAY, RATESDUMPOC
	RAWDUMPOC, SPEX_BACKGROUND [1], SPEX_BACKGROUND [2], SPEX_COMMONS [2]
	SPEX_COMMONS [4], SPEX_PROC [1], SPEX_PROC [2], TYPE_FLARE, batse_menu
	drm_4_spex [1], drm_4_spex [2], spec_plot [1], spec_plot [2], spec_plot [3]
	spec_plot [4], spex_intervals [1], spex_intervals [2], spex_spec_plot [1]
	spex_spec_plot [2], spex_spec_plot [3], spex_spec_plot [4]
 SIDE EFFECTS:
	Issues a carriage return if called.

 RESTRICTIONS:

 PROCEDURE:
	A command string (string(24b)) is issued through print to switch the terminal

 COMMON BLOCKS:
	None.

 MODIFICATION HISTORY:
 	Written by:	AKT
	Version 2:	RAS, 23-Mar-1995, only called for Tektronix
	Version 3, richard.schwartz@gsfc.nasa.gov, 7-sep-1997, more documentation


alphagen [1] $SSW/gen/idl/string/alphagen.pro
[Previous] [Next]
   Name: alphagen

   Purpose: return array ['A', 'B', 'C'...] (sindgen with alpha)

   Calling Sequence: 
      alpha=alphagen(10 [,/lower])

 CALLED BY
	where_title [1], where_title [2]


ALTAZ2HADEC $SSW/gen/idl_libs/astron/astro/altaz2hadec.pro
[Previous] [Next]
  NAME:
    ALTAZ2HADEC
 PURPOSE:
    Convert Horizon (Alt-Az) coordinates to Hour Angle and Declination.
 EXPLANATION::
    Can deal with the NCP singularity.    Intended mainly to be used by
    program hor2eq.pro
 CALLING SEQUENCE:
   ALTAZ2HADEC, alt, az, lat, ha, dec

 INPUTS
   alt - the local apparent altitude, in DEGREES, scalar or vector
   az  - the local apparent azimuth, in DEGREES, scalar or vector,
         measured EAST of NORTH!!!  If you have measured azimuth west-of-south
        (like the book MEEUS does), convert it to east of north via:
                       az = (az + 180) mod 360

   lat -  the local geodetic latitude, in DEGREES, scalar or vector.

 OUTPUTS
   ha  -  the local apparent hour angle, in DEGREES.  The hour angle is the 
          time that right ascension of 0 hours crosses the local meridian.  
          It is unambiguously defined.
   dec -  the local apparent declination, in DEGREES.

 CALLED BY:
	HOR2EQ
 EXAMPLE:
     Arcturus is observed at an apparent altitude of 59d,05m,10s and an 
     azimuth (measured east of north) of 133d,18m,29s while at the 
     latitude of +43.07833 degrees.
     What are the local hour angle and declination of this object?

     IDL> altaz2hadec, ten(59,05,10), ten(133,18,29), 43.07833, ha, dec
     ===> Hour angle ha = 336.683 degrees
          Declination, dec = 19.1824 degrees

       The widely available XEPHEM code gets:
                 Hour Angle = 336.683
                 Declination = 19.1824

 REVISION HISTORY:
    Written  Chris O'Dell Univ. of Wisconsin-Madison May 2002


AMEDIAN $SSW/gen/idl/util/amedian.pro
[Previous] [Next]
 NAME:
	AMEDIAN
 PURPOSE:
	Works the same as MEDIAN, but the effect tapers off at the edges.
 CALLING SEQUENCE:
	Result = AMEDIAN( ARRAY, WIDTH )
 INPUT PARAMETERS:
	ARRAY	= One or two-dimensional array to be median filtered.
	WIDTH	= Width of the median filter box.
 OPTIONAL KEYWORD PARAMETERS:
	None.
 CALLS: ***
	REVERSE
 CALLED BY:
	GUESS_FIT_PAR
 COMMON BLOCKS:
	None.
 SIDE EFFECTS:
	None.
 RESTRICTIONS:
	ARRAY must be one or two-dimensional.
 PROCEDURE:
	A larger array is constructed with the border filled with the reflected
	edges of the original array.  Then MEDIAN is applied to this larger
	array, and the area corresponding to the original array is returned as
	the result of the function.
 MODIFICATION HISTORY:
	William Thompson, February 1993.


AMOEBA_C $SSW/gen/idl/fitting/amoeba_c.pro
[Previous] [Next]
 Project     :	SOHO - CDS

 Name        :	AMOEBA_C

 Purpose     :	Reiteratively fits an arbitrary function

 Explanation :	Fits an arbitrary function to a series of data points via a
		least-squares reiterative technique.

		The procedure used is taken from Numerical Recipes.

 Use         :	AMOEBA_C, X, Y, FNAME, PARAM

 Inputs      :	X	= Positions.
		Y	= Data values.
		FNAME	= Name of function to be fitted (string variable).
		PARAM	= Parameters of fit.  Passed as first guess.  Returned
			  as fitted values.

 Opt. Inputs :	None.

 Outputs     :	PARAM	= Parameters of fit.  See note above.

 Opt. Outputs:	None.

 Keywords    :	
	ACCURACY = Accuracy to cut off at.  Defaults to 1E-5.
	MAX_ITER = Maximum number of reiterations.  Defaults to 20.
	POISSON	 = If set, then a Poisson error distribution is assumed, and
		   the weights are set accordingly to 1/Y.
	ERROR	 = Array of errors.  The weights are set accordingly to
		   1/ERROR^2 (normal distribution).  Overrides POISSON.
	LAMBDA	 = Initial step sizes for PARAM, or if scalar then fraction of
		   PARAM.  Defaults to 1E-2.  When passed as an array, this
		   parameter can be used to hold parameters constant by setting
		   LAMBDA(I)=0 for those parameters.
	NOPRINT	 = If set, then no printout is generated.
	CHISQR	 = Returned value of chi-squared.  Only relevant if ERROR
		   passed explicitly.
	N_ITER	 = Number of iterations used.
	ABSOLUTE = If set, then the sum of the absolute differences is
		   minimized instead of the sum of the squares.  This is
		   equivalent to assuming a double-sided exponential
		   distribution.
	LORENTZ	 = If set, then a Lorentz distribution is used instead of a
		   normal distribution.  Not truely meaningful unless ERROR is
		   passed.
	PRANGE	 = Range of acceptable parameter values.  Must have the
		   dimensions (NPAR,2), where PRANGE(*,0) are the minimum
		   values and PRANGE(*,1) are the maximum values.  Only those
		   ranges where PRANGE(*,1) are larger than PRANGE(*,0) are
		   implemented--all other parameters are considered to be
		   unbounded.

 Calls       : ***
	FORM_CHISQR, FORM_SIGMAS
 CALLED BY:
	CDS_LINEFIT_WRAP, DSPEXP, WCS_FIT_GRISM, hrts_w [1]
 Common      :	None

 Restrictions:	The user defined function is passed by name as a character
		string in the variable FNAME.  The function must have the form.

				    Y = F(X,PARAM)

		where X is the independent variable, and PARAM is the vector
		containing the parameters of the fit.

		Unless LAMBDA is passed as an array, if the initial guess for
		PARAM contains any zeroes, then those parameters will be kept
		constant at zero.

 Side effects:	The statistical interpretation of CHISQR is unclear if either
		ABSOLUTE or LORENTZ is set.

 Category    :	Utilities, Curve_Fitting

 Prev. Hist. :	
	William Thompson, August, 1989.
	William Thompson, June 1991, modified to use keywords.
	William Thompson, December 1992, modified to use other fitting
		strategies besides minimizing the root-mean-square.  Also
		removed keyword WEIGHTS as this was incompatible with this
		strategy.

 Written     :	William Thompson, GSFC, August 1989

 Modified    :	Version 1, William Thompson, GSFC, 9 January 1995
			Incorporated into CDS library
		Version 2, William Thompson, GSFC, 6 October 1995
			Fixed typo.
		Version 3, William Thompson, GSFC, 10 December 1997
			Renamed to AMOEBA_C to avoid conflict with IDL/v5
			routine of the same name.
		Version 4, William Thompson, GSFC, 05-Jun-1998
			Fixed bug where LAMBDA was not being properly accepted
			if a vector.
		Version 5, William Thompson, GSFC, 27-Apr-1999
			Added keyword PRANGE.
		Version 6, William Thompson, GSFC, 04-May-1999
			Allow for case where either PARAM or LAMBDA is set to
			zero to keep a parameter constant.
               Version 7, William Thompson, GSFC, 23-Dec-2005
                       Use CALL_FUNCTION instead of EXECUTE

 Version     :	Version 7, 23-Dec-2005


AMOEBA_F $SSW/gen/idl/fitting/amoeba_f.pro
[Previous] [Next]
 Project     :	SOHO - CDS

 Name        :	AMOEBA_F

 Purpose     :	Reiteratively minimizes an arbitrary function

 Explanation :	Minimizes an arbitrary function via a least-squares reiterative
		technique.

		The procedure used is taken from Numerical Recipes.

 Use         :	AMOEBA_F, FNAME, PARAM

 Inputs      :	FNAME	= Name of function to be minimized (string variable).
		PARAM	= Parameters of fit.  Passed as first guess.  Returned
			  as fitted values.

 Opt. Inputs :	None.

 Outputs     :	PARAM	= Parameters of fit.  See note above.

 Opt. Outputs:	None.

 Keywords    :	ACCURACY = Accuracy to cut off at.  Defaults to 1E-5.
		MAX_ITER = Maximum number of reiterations.  Defaults to 20.
		LAMBDA	 = Initial step sizes for PARAM, or if scalar then
			   fraction of PARAM.  Defaults to 1E-2.
		NOPRINT	 = If set, then no printout is generated.
		CHISQR	 = Returned value of chi-squared.  Only relevant if
			   ERROR passed explicitly.
		N_ITER	 = Number of iterations used.

 Calls       :	None.
 Common      :	None

 Restrictions:	The user defined function is passed by name as a character
		string in the variable FNAME.  The function must have the form.

				    Y = F(PARAM)

		where PARAM is the vector containing the parameters of the fit.

		Unless LAMBDA is passed as an array, the initial guess for
		PARAM must not contain any zeroes.

 Side effects:	None.

 Category    :	Utilities, Curve_Fitting

 Prev. Hist. :	William Thompson, August, 1989.
		William Thompson, June 1991, modified to use keywords.

 Written     :	William Thompson, GSFC, August 1989

 Modified    :	Version 1, William Thompson, GSFC, 9 January 1995
			Incorporated into CDS library
		Version 2, William Thompson, GSFC, 6 October 1995
			Fixed typo.
		Version 3, William Thompson, GSFC, 05-Jun-1998
			Fixed bug where LAMBDA was not being properly accepted
			if a vector.
               Version 4, William Thompson, GSFC, 23-Dec-2005
                       Use CALL_FUNCTION instead of EXECUTE

 Version     :	Version 4, 23-Dec-2005


AMOEBAX $SSW/gen/idl/fitting/amoebax.pro
[Previous] [Next]
 NAME:
	AMOEBAX

 PURPOSE:
	Multidimensional minimization of a function FUNC(X), where
	X is an N-dimensional vector, using the downhill simplex
	method of Nelder and Mead, 1965, Computer Journal, Vol 7, pp 308-313.

	This routine is based on the AMOEBA routine, Numerical
	Recipes in C: The Art of Scientific Computing (Second Edition), Page
	411, and is used by permission.

       Amoebax adds to the built in amoeba with a convergence
       criterion on the location of the minimum in addition to the
       value of the minimum.

 CATEGORY:
	Function minimization/maximization. Simplex method.

 CALLING SEQUENCE:
	Result = AMOEBAX(Ftol, Xtol, ....)
 INPUTS:
    FTOL:  the fractional tolerance to be achieved in the function
	value.  e.g. the fractional decrease in the function value in the
	terminating step.  This should never be less than the
	machine's single or double precision.  Set ftol LE 0.0 to turn
	this criterion off
    XTOL:  the tolerance in the function variables to be achieved,
           i.e. the convergence criterion on the *location* of the minimum.
           Set xtol LE 0.0 to turn this criterion off.  If xtol LE 0,
           amoebax behaves just like the built in amoeba.  Do not set
           both ftol and xtol LE 0.0 or the routine will exit
           immediately without finding the minimum.
 KEYWORD PARAMETERS:
    FUNCTION_NAME: a string containing the name of the function to
	be minimized.  If omitted, the function FUNC is minimized.
	This function must accept an Ndim vector as its only parameter and
	return a scalar single or double precision floating point value as its
	result. 
    FUNCTION_VALUE: (output) on exit, an Ndim+1 element vector
	containing the function values at the simplex points.  The first
	element contains the function minimum. 
    NCALLS: (output) the of times the function was evaluated. 
    NMAX: the maximum number of function evaluations allowed
	before terminating.  Default = 5000.
    P0: Initial starting point, an Ndim element vector.  The starting
	point must be specified using either the keyword SIMPLEX, or P0 and
	SCALE.  P0 may be either single or double precision floating.
	For example, in a 3-dimensional problem, if the initial guess
	is the point [0,0,0], and it is known that the function's
	minimum value occurs in the interval: -10 <
	X(0) < 10, -100 < X(1) < 100, -200 < X(2) < 200, specify: P0=[0,0,0],
	SCALE=[10, 100, 200]. 
    SCALE: a scalar or Ndim element vector contaiing the problem's
	characteristic length scale for each dimension.
	SCALE is used with P0 to form an initial (Ndim+1) point simplex.
	If all dimensions have the same	scale, specify a scalar.
    SIMPLEX: (output and/or optional input) On input, if P0 and SCALE
	are not set, SIMPLEX contains the Ndim+1 vertices, each of
	Ndim elements, of starting simplex, in either single or double
	precision floating point, in an (Ndim, Ndim+1) array. On output,
	SIMPLEX contains the simplex, of dimensions (Ndim, Ndim+1), enclosing
	the function minimum.  The first point, Simplex(*,0), corresponds to
	the function's minimum.

 OUTPUTS:
   Result: If the minimum is found, an Ndim vector, corresponding to
	the Function's minimum value is returned.  If a function minimum
	within the given tolerance, is NOT found in the given number of
	evaluations, a scalar value of -1 is returned.

 CALLS: ***
	AMOTRY
 CALLED BY:
	AUTO_ALIGN_IMAGES, STOKESFIT
 COMMON BLOCKS:
	None.

 SIDE EFFECTS:
	None.

 PROCEDURE:
	This procedure implements the Simplex method, described in
	Numerical Recipes, Section 10.4.  See also the POWELL procedure.

	Advantages:  requires only function evaluations, not
	derivatives, may be more reliable than the POWELL method.
	Disadvantages: not as efficient as Powell's method, and usually
	requires more function evaluations.

	Results are performed in the mode (single or double precision)
	returned by the user-supplied function.  The mode of the inputs P0,
	SCALE, or SIMPLEX, should match that returned by the function. The
	mode of the input vector supplied to the user-written function, is
	determined by P0, SCALE, or SIMPLEX.

 EXAMPLE:
	Use Amoeba to find the slope and intercept of a straight line fitting
	a given set of points minimizing the maximum error:

	The function to be minimized returns the maximum error,
	given p(0) = intercept, and p(1) = slope:
 FUNCTION FUNC, p
 COMMON FUNC_XY, x, y
 RETURN, MAX(ABS(y - (p(0) + p(1) * x)))
 END

	Put the data points into a common block so they are accessible to the
	function: 
 COMMON FUNC_XY, x, y
	Define the data points:
   x = findgen(17)*5
   y = [ 12.0,  24.3,  39.6,  51.0,  66.5,  78.4,  92.7, 107.8, 120.0, $
        135.5, 147.5, 161.0, 175.4, 187.4, 202.5, 215.4, 229.9]

	Call the function.  Fractional tolerance = 1 part in 10^5, 
	Initial guess = [0,0], and the minimum should be found within
	a distance of 100 of that point: 
   r = AMOEBAX(1.0e-5, 1.e-4, SCALE=1.0e2, P0 = [0, 0], FUNCTION_VALUE=fval)

	Check for convergence:
   if n_elements(r) eq 1 then message,'AMOEBA failed to converge'
	Print results.
   print, 'Intercept, Slope:', r, 'Function value (max error): ', fval(0)
Intercept, Slope:      11.4100      2.72800
Function value:       1.33000

 MODIFICATION HISTORY:
	DMS, May, 1996.	Written.
       T. Metcalf 2005-03-30 Added check on convergence of the
                             minimum location in addition to the
                             minimum value (xtol).


anahead2struct $SSW/gen/idl/ana/anahead2struct.pro
[Previous] [Next]
   Name: anahead2struct

   Purpose: convert an ana header (per lapalma) -> SSW structure
  
 CALLS:


anydata2paper $SSW/gen/idl/util/anydata2paper.pro
[Previous] [Next]
   Name: anydata2paper

   Purpose: analyze your data and submit to selected Journal

   Input Parameters:
      index, data  - any SSW standards

   Keyword Parameters:
      filling_factor - if not supplied, will derive a number between
                       10e-4 and 1 which best suppports your theory

      buzzwords - buzzwords to include - if supplied as a switch, will
                  default to buzzword-du-jour

      bypass_peer_review - obvious (may make this the default...)

      journal - (default='Apj')

      landmark - if set, make this a landmark paper

      error_analysis - if set, include detailed error analysis
           (by popular demand, default denies any and all sources of error)

      fast - if set, run an order of magnitude faster

  Calling Example:

  IDL> anydata2paper,index,data,journal='Nature',title='How CMEs Work',$
          filling_factor='best_fudge', equations='NONE', $
          buzzwords=['sigmoids','helicity','exploding sheared core fields',$
          'magnetic carpet','dimming'], /bypass_peer_review, /fast

  Side Effects
     Generated paper will be written to selected journal data base for 
     publication in next available issue.

 CALLS: ***
	BOX_MESSAGE
  History:
     Circa 1990  - S.L.Freeland - Written
     15-Feb-2000 - Pons and Fleischman - add /BYPASS_PEER_REVIEW 


anytim [1] $SSW/gen/idl/utplot/anytim.pro
[Previous] [Next]
 CALLS: ***
	ATIME [1], ATIME [2], CHECKVAR [1], DATATYPE [1], DATATYPE [2], DATATYPE [3]
	Int2Ex [1], Int2Ex [2], UTIME [1], UTIME [2], Utime2str [1], Utime2str [2]
	anytim2ints [1], anytim2ints [2], checkvar [2], gt_day [1], gt_day [2]
	gt_time [1], gt_time [2], int2sec [1], int2sec [2], timstr2ex [1], timstr2ex [2]
 CALLED BY:
	ALIGN1BIGGRAM, ANYTIM_REPORT, BATSE_FLARES_WEEK, BATSE_ON, BATSE_SPEC_GAIN_FDB
	BATSE_TIME_INPUT, BCS, Build_Schedule, CALC_LOI_ROLL, CALIBRATE [1], CARR2DATE
	CARR2EX, CH2KVT, CH2KVT_GAIN, CHECK_FOR_30S, CHECK_OVERFLOW, CHECK_SFC_PNT, CHKPOINT
	CLEAN_GOES, CONT_EDGES, CONT_READ, CP_CATREAD, CP_CATRESET, CP_CATTIME
	CREATE_GIF_HTML, CREATE_HTML, CRYSTAL_RES, Create_update_tar, DATETIME OBJECT
	DATPLOT, DISCSP_BANDS, DISCSP_EDGES, DISCSP_READ, DISPLOI_MON5K, DO_EVENTLISTS
	DO_QLARCHIVE, DROT_NAR, ECI2GEOGRAPHIC, ECL_FRAC, EIT_COPY, EUTPLOT, FDBREAD
	FILT_EVENTS, FIND_DBFILE, FIND_GOOD_OCCS, FIND_PACKET
	FITS WRITER CLASS FOR ANY RHESSI DATA TYPES, FITS_TIME, FLIST, FLISTOC
	FORMAT_INTERVALS, FSOC, FSPLOT, FS_ACC_CONT, FS_ACC_DISCSP, FS_GEN_ARR, FS_GRAPH
	FS_OPEN [1], FS_READ_DD, Fits_spectra [1], Fits_spectra [2], GAP_FILE, GAP_FINDER
	GEOGRAPHIC2ECI, GETGPSaVG [1], GETGPSaVG [2], GETSATaVG, GET_BATSE_POINTING
	GET_DISCSP511, GET_DROT_DUR, GET_FITS_TIME, GET_LAD_GAIN, GET_NAR, GET_OCCS
	GET_OCC_ONDAY, GET_SLLD, GET_SPEC_CAL, GET_SPEC_GAIN, GFITS_R, GFITS_W
	GOES_CHIANTI_TEM, GOES_FITS_FILES, GOES_MEWE_TEM, GOES_TEM, GOES_TF, GOES_TF_COEFF
	GOES_TRANSFER, GOES__DEFINE, GRS_EXTRACT, GRWCH_ST, HESSI
	HESSI CALIBRATED EVENTLIST CLASS DEFINITION [3]
	HESSI FASTRATE CLASS DEFINITION, HESSI IMAGE FILE CLASS DEFINITION [1]
	HESSI IMAGE RAW CLASS DEFINITION [2]
	HESSI IMAGE STRATEGY CLASS DEFINITION
	HESSI MONITOR RATE  CLASS DEFINITION
	HESSI MULTI IMAGE CLASS DEFINITION [2]
	HESSI MULTI IMAGE CLASS DEFINITION [3], HESSI PACKET FILE ABSTRACT CLASS
	HESSI ROLL_DB CLASS DEFINITION, HESSI SIMULATION CLASS DEFINITION
	HESSI SOHDATA CLASS DEFINITION, HESSI Search Lookup Table Index
	HESSI_REF_TIME, HSI_ANY2SCTIME, HSI_ANY_SOHDATA, HSI_ASPECT_SIM
	HSI_BUILD_OBS_TIME, HSI_CLKDELTAFILETIME_2_UT, HSI_CLK_DELTA_WRITE
	HSI_CLOCK_DRIFT, HSI_DO_QLOOK_PLOTS, HSI_EVENTLIST_TEST, HSI_FITS2MAP [1]
	HSI_GET_CLOCK_SYNCH, HSI_GET_TIMEBIN, HSI_IMAGE_TEST [2]
	HSI_IMAGE_TEST__define, HSI_LOCATE_FLARE [2], HSI_LOCATE_FLARE [4]
	HSI_MAP_EVALUATOR [1], HSI_MODEL_TO_SCORE, HSI_NOSAAN, HSI_NPAK_HISTOGRAM
	HSI_ORBFILETIME_2_UT, HSI_PACKET2FITS, HSI_PAK2FILETIMES, HSI_QLOOK_ASPECT
	HSI_QLOOK_SUMMARY_PAGE__DEFINE, HSI_RD_FITS_SPECTRUM, HSI_REF_TIME
	HSI_SCORE2FILE, HSI_SCTIME2ANY, HSI_SEQ_CNT_CHECK, HSI_SET_FILE_TIME
	HSI_SMEXHDR_RCVD_TIME, HSI_SPECTROGRAMCHAN_OVERLAP_FIX
	HSI_SPECTROGRAM_DECIM_CORRECT, HSI_SPECTROGRAM_DECIM_TABLE
	HSI_SPECTRUM__DEFINE, HSI_SRM__DEFINE, HSI_SSR_FILL_PER_ORBIT [2]
	HSI_TIME_N_ORBITS, HSI_TOHBAN_FLARE_COUNTER, HSI_UT_2_CLKDELTAFILETIME
	HSI_VCFILE_PACKET_RATE, HSI_VCFILE_TIMES, HSI_WRITE_LEVEL0, HSI_tplot2any
	HXARCHIVE, HXFITS, HXR2FILE, HXRBS, HXRBS_ESC, HXRFITS_ARCHIVE, HXRFITS_HEAD
	HXRS__DEFINE, HXT_CAL_FIX [1], HXT_CAL_FIX [2], Hessi_obs_summary
	Hsi_contact2fits [1], Hsi_contact2fits [2], Hsi_daily_catalog [1]
	Hsi_daily_catalog [2], Hsi_monitor_rate_read, LAY1GKM, LONLAT2XY, Load_sher
	MAKE_SOLCALTRAJ, MDI__DEFINE, MERGE_DISCSP_HKG_OCC, MJD2ANY, MK_MER_CONT
	NAR2COORD, NEAREST_GEV, NEAR_CONJ, NORH_F2EVF [1], NORH_F2EVF [2], NORH_FIXINDEX
	NORH_IMG2IDX [1], NORH_IMG2IDX [2], NORH_JST2UT [1], NORH_JST2UT [2], NORH_MKSZ
	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_SEL_DIFF [1], NORH_SEL_DIFF [2], NORH_SYNTH_BYF [1], NORH_SYNTH_BYF [2]
	NORH_TCX2IDX [1], NORH_TCX2IDX [2], NORH_TIM2F [1], NORH_TIM2F [2]
	NORH_TRANS_BYF [1], NORH_TRANS_BYF [2], NORH_UT2JST [1], NORH_UT2JST [2]
	NORP_CLB_INTEG, NORP_CLB_SN, NORP_GT_NDATA, NORP_NCLB_TIME, NORP_RDT2DATA_17G
	NORP_RDT2DATA_1G, NORP_RDT2DATA_2G, NORP_RDT2DATA_35G, NORP_RDT2DATA_4G
	NORP_RDT2DATA_80G, NORP_RDT2DATA_9G, NORP_RDT2TIMEJ [1], NORP_RDT2TIMEJ [2]
	NORP_RD_AVG [1], NORP_RD_AVG [2], NORP_RD_DAILY [1], NORP_RD_DAILY [2]
	NORP_RD_DAT, NORP_RD_RDT, OCC_DBASE, ORBIT_DN, ORBIT_INPUT_TIME, PARSE_ATIME [1]
	PARSE_GROSSC_ATTITUDE, PLOTBATSE, PLOTBATSE_QL, PLOT_HSI, PLOT_MAP, PLOT_OCCS
	PLOT_OCC_ONDAY, PROFILES2, PR_PATROLS, PURGE_KAPS, Pointing_Change, QL_DAY_PLOT
	QL_ORBIT_PLOT, QL_PLOTTER, QL_READBDB, RD_GOES, RD_GOES_SDAC, RD_NEAR_PIN [1]
	RD_NEAR_PIN [2], READCOL [3], READQUAL, READ_CONT, READ_DISCLA, READ_HXRS_FITS [1]
	READ_HXRS_FITS [2], READ_HXRS_FITS [3], READ_MINICAT, READ_MONTH_CAT
	READ_OCC_DISCSP, RESTORE_QLOOK, ROLL_PLOT, Radio Spectrogram FITS File reader
	Radiospectrogram FITS File reader [1]
	Radiospectrogram FITS File reader [2], SET_UTAXIS, SITE__DEFINE
	SOLB_PLOT_POINTING [1], SOLB_PLOT_POINTING [2], SOLB_READ_REPOINT [1]
	SOLB_READ_REPOINT [2], SOLB_SPACECRAFT_POINTING [1]
	SOLB_SPACECRAFT_POINTING [2], SOLEPHUT, SPARTAN_PLANNER, SPECPLOT__DEFINE
	SPECTRA2FITS, SPECTROGRAM CLASS DEFINITION, SPECTRUM CLASS DEFINITION
	SPEX_COMMONS [2], SPEX_COMMONS [4], SPEX_DATA_GENX [1], SPEX_DATA_GENX [2]
	SPEX_DRM__DEFINE, SPEX_FITINT__DEFINE, SPEX_GEN__DEFINE, SPEX_PROC [1]
	SPEX_PROC [2], SPEX_SAVE [1], SPEX_SAVE [2], SPEX__DEFINE, STEREO_SIMUL
	SXT_BAKEOUT_IN, SXT_COVERAGE, SXT_ECLIPSE, SXT_EXPOSURE_MAP, Shers_load [1]
	TEMP_BCK_TIME_INTV, TEST_CAL, TIM2CARR, TIMESTAMP, TIME_AXIS__DEFINE, TIME_F_NAME
	TJD2YMD, TOK_RD_DAILY, TRACE_ALIGN_CUBE, TRACE_COPY, TRACE_CUBE_POINTING
	TRACE_GBO, TRACE_MDI_ALIGN, TRACE_SSWHERE [1], TV_SYNOP, TWIDGET, TYKW_RDT2TIMEJ
	TYKW_RD_DAILY, TYKW_RD_DAT, UNFORMAT_INTERVALS, UPDATE_HTML, UTIME [1], UTIME [2]
	UTPLOT_IMAGE, UTPLOT__DEFINE, UT_2_YYDOY [1], VIEW_TRACE_MOSAIC, WRITE_MONTH_CAT
	XSM_VALID, XYPLOT__DEFINE, YMD2TJD, YOHKOH_TERM_PREDICT, ZDEROTATE, ZHDRUNIT
	accum_counts [1], accum_counts [2], anahead2struct, anytim2weekinfo
	auto_bck_find0, avsig_1 [1], avsig_1 [4], avsig_1 [6], avsig_temp
	batse_create_html, batse_sea_html, check_cals, cp_catwidget, cw_ut_range
	data2files, days_til_next_solar_max, db_gbo, decode_gev, default_rate_header
	difference_movie, disp_sci160k [1], disp_sci160k [2], doytim2ints
	drm_4_spex [1], drm_4_spex [2], eit_fulldisk, eit_proton_summary, evt_grid
	find_uvexp, fix_decon_pits, fixinate_trace, flare_hist, get_acedata
	get_epoch_sfcs [1], get_epoch_sfcs [2], get_gevloc_data, get_goes_defsat [1]
	get_goes_defsat [2], get_infox, get_solar_indices, get_utevent [1]
	get_utevent [2], get_utrange, go_sxt_sss2secondary, go_yo_prod_batch
	goes_plot [1], goes_plot [2], goes_plot [3], goes_plot [4], goes_plot [5]
	grid_data [1], grid_data [2], gtab_summary, gtt_orbit, has_overlap [1]
	has_overlap [2], hsi_1orbit_allpak, hsi_anytim_2_filename, hsi_as_sim
	hsi_as_sim_packet, hsi_aspect [1], hsi_aspect [2], hsi_ast_seesource_time
	hsi_ast_sourceangle, hsi_atten_state, hsi_bad_pak, hsi_badpak_test
	hsi_bproj2size, hsi_chk_obj, hsi_cld_sav_init, hsi_clk_delta_calc
	hsi_clock_drift_dxdt, hsi_clock_drift_redo, hsi_clock_drift_soc
	hsi_create_filedb, hsi_cw_ut_range, hsi_data_recovery_fraction
	hsi_decimation_anomaly, hsi_default_resolutions, hsi_default_tailfracs
	hsi_demodulator [1], hsi_do_qlook_image [1], hsi_do_qlook_image [2]
	hsi_earthangle, hsi_endfileinfo_fill, hsi_ephemeris__define
	hsi_ephemeris_concat, hsi_ephemeris_fill, hsi_filedb__define [1]
	hsi_filedb__define [2], hsi_filedb_filename, hsi_filedb_read [1]
	hsi_filedb_read [2], hsi_filedb_write, hsi_filedb_write_ascii
	hsi_filename_2_anytim, hsi_fits_header, hsi_flare2time, hsi_flare_flag
	hsi_flare_id_assign, hsi_flare_id_check, hsi_flare_in_int, hsi_flare_list2ar
	hsi_flare_list2goes [1], hsi_flare_list2goes [2], hsi_flare_list__define [1]
	hsi_flare_list__define [2], hsi_flare_list_fill [1], hsi_flare_list_fill [2]
	hsi_flare_position_image [1], hsi_flare_position_image [2], hsi_format_flare
	hsi_full_sun_image [1], hsi_full_sun_image [2], hsi_gbo, hsi_get_e_edges [1]
	hsi_get_orbit_info, hsi_get_total_time, hsi_getflare, hsi_image__getaxis [2]
	hsi_image_plot, hsi_image_raw__define, hsi_imagefile_2_plotman
	hsi_lambda_vs_t, hsi_last_id_write filename last_id, hsi_locate_flare [1]
	hsi_locate_flare [3], hsi_mod_variance__define, hsi_mod_variance_concat
	hsi_monthly_filename, hsi_mult_filedb_otp, hsi_mult_flare_list_inp
	hsi_mult_qspec, hsi_new_spec_bck, hsi_night_bck, hsi_obs_flag
	hsi_obs_summ_allrates [1], hsi_obs_summ_concat, hsi_obs_summ_fill [1]
	hsi_obs_summ_fill [2], hsi_obs_summ_flag__define, hsi_obs_summ_flag_concat
	hsi_obs_summ_otp, hsi_obs_summ_rate__define, hsi_obs_summ_rate_concat
	hsi_obs_summ_soc__define, hsi_obs_summ_soc_concat, hsi_obs_summ_timarr
	hsi_obs_summ_write, hsi_obs_summary__define [1], hsi_obs_summary__define [2]
	hsi_obs_summary_adapter__define, hsi_obs_summary_concat, hsi_obs_times
	hsi_ok_intv [1], hsi_ok_intv [2], hsi_onedatagap__define, hsi_orbpar4bck
	hsi_params2script, hsi_particle_rate__define, hsi_particle_rate_concat
	hsi_plot_flux, hsi_pmtras_lookup, hsi_print_decimation_state
	hsi_qlook__define, hsi_qlook_call_ospex [1], hsi_qlook_call_ospex [2]
	hsi_qlook_concat, hsi_qlook_image, hsi_qlook_monitor_rate__define
	hsi_qlook_packet_rate__define, hsi_qlook_pointing__define
	hsi_qlook_rate_per_det__define, hsi_qlook_roll_angle__define
	hsi_qlook_roll_period__define, hsi_qlook_spectrum
	hsi_qlook_spin_axis__define, hsi_qspec [1], hsi_qspec [2], hsi_rd_ephfile
	hsi_rd_orbit_files, hsi_rdstatevectorfile, hsi_read_all_flare_list
	hsi_read_vcfiletimes, hsi_replace_flare_list, hsi_select_flare
	hsi_show_flags [2], hsi_show_flare_on_image, hsi_sim_pflux_2_cflux
	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_spectrum__filewrite, hsi_spectrum__fitswrite, hsi_ssr_fill_per_orbit [1]
	hsi_state_vectors, hsi_test_files, hsi_test_packet_rate, hsi_test_qlook
	hsi_time_widget, hsi_ui_flarecat, hsi_ui_img, hsi_ui_img_doimage [1]
	hsi_ui_img_doimage [2], hsi_ui_lc, hsi_ui_obs, hsi_ui_qlimage, hsi_ui_spec
	hsi_vcfile_gaps, hsi_vis_fwdfit, hsi_whichflare, hsi_whole_flare_list
	hsi_write_all_flare_list, hsi_write_decimation_settings
	hsi_write_txt_flare_list, hsi_xy_test [1], hsi_xy_test [2], hsi_xy_test_new
	hxrbs_response, hxrs_drm2fits [1], hxrs_drm2fits [2], hxrs_drm2fits [3]
	image2movie, 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]
	index2fov, kluge_att, lasco_time2file, lasco_time2nrlwww, lastgki, later, lcur_image
	les_archive_info, make_goes_chianti_response [1]
	make_goes_chianti_response [2], make_goes_chianti_response [3]
	make_goes_chianti_response [4], make_grid_sphere, map2index, mark_intervals
	may_eclipse, mdi_time2file, mees_log_read, mees_name_format, mk_mdi_fits
	mk_sff_pair [1], mk_sff_pair [2], mk_ssc [1], mk_ssc [2], mk_ssc_batch [1]
	mk_ssc_batch [2], mk_sumer_dbase_ff, mk_synsfc_coeff [1], mk_synsfc_coeff [2]
	mksort, mon_sci5k, mrdfits_spectra, norh_alpha, norh_t2azel, op_term_score
	option_changer [1], option_changer [2], parse_atime [2], pctime2ssw
	phoenix_filedb_get, phoenix_spg_get, plot_ace, plot_fov [1], plot_goes_ospex
	plotman, plotman_draw_event, plotman_setaxes, plotman_zoom, pmtras_analysis
	pr_his_index [1], pr_his_index [2], pr_his_index [3], ptim, rapp_get_spectrogram
	rd_goesp_ascii, rd_goesx_ascii, rd_mdi [1], rd_mdi [2], rd_sxs_pha [1]
	rd_sxs_pha [2], rd_therm_rs232, rd_wbs_pha [1], rd_wbs_pha [2], rdbda_smm
	read_eit, read_genxcat, read_hessi_4_ospex, read_hessi_4_spex [1]
	read_hessi_4_spex [2], read_hessi_fits_4_spex [1]
	read_hessi_fits_4_spex [2], read_lapalma, read_mdi, read_soxs_4_ospex
	read_trace, read_xsm_4_ospex, read_yohkoh_4_spex [1], read_yohkoh_4_spex [2]
	redo_disploi, redo_mon_sci5k, rhessi_get_spin_axis_position, save_idl_routines
	sec_name_format, soxs_readfile, special_movie, spectro_plot2
	spectrogram__define, spex_bk__define, spex_bkint__define, spex_bksub__define
	spex_data__define, spex_evnt [1], spex_evnt [2], spex_hessi_image__define
	spex_image__define, ssc_files [1], ssc_files [2], ssc_files [3], ssw_build_trace
	ssw_composite, ssw_deltat, ssw_expand_times, ssw_flare_locator, ssw_fov_context
	ssw_fs_cat2db, ssw_getcme_cactus, ssw_getcme_cdaw, ssw_getdst
	ssw_gxd_remove_flares, ssw_javamovie, ssw_nar2armurl, ssw_pos2zenith
	ssw_sec_aktxt2struct, ssw_time2filelist, ssw_time2paths, ssw_timestat
	ssw_track_fov, sswdb_files, sswstruct_fill [1], stt_plot, sxi_files, sxt_files
	sxt_his2dbase, sxt_is_synsfc, sxt_mk3 mk3 index data [1]
	sxt_mk3 mk3 index data [2], sxt_orhis, sxt_prep [1], sxt_prep [2], sxt_prep [3]
	sxt_ssn2fits [1], sxt_uvf_info [1], sxt_uvf_info [3], t_utplot [1], t_utplot [2]
	time_at_meridian, time_window, timegrid, tr_lut_conv, tr_rd_index
	tr_wrt_fits_i1 [2], trace_cosmic2hist_accum, trace_files, trace_get_vignette
	trace_goodobs, trace_movie_index [1], trace_movie_index [2]
	trace_recent_movie_summary, trace_sswhere [2], trace_sswhere [3]
	trace_sswhere [4], trace_wave2point, ut_2_yydoy [2], ut_label, valid_time_range
	wbs_response [1], wbs_response [2], week_loop [1], week_loop [2], week_loop [3]
	weeks_in_year [1], weeks_in_year [2], where_are [1], where_are [2]
	which_hessi_version, write_genxcat, xy2lonlat, xzchange, yo_index2path
	yoh_orb_interp [1], yoh_orb_interp [2], yohkoh_files, yohkoh_legacy_files [1]
	yohkoh_legacy_files [2], zcheck_hdr, zmovify, ztrack
   Procedure: TAI2_SEC1979

   Purpose:  This function converts an array of seconds with ref to 1-jan-1958
     including leap seconds to an array referenced to 1-jan-1979


   History;
       11-jan-2006, richard.schwartz@gsfc.nasa.gov


anytim [2] $SSW/gen/idl/utplot/anytim.pro
[Previous] [Next]
 CALLS: ***
	ATIME [1], ATIME [2], CHECKVAR [1], DATATYPE [1], DATATYPE [2], DATATYPE [3]
	Int2Ex [1], Int2Ex [2], UTIME [1], UTIME [2], Utime2str [1], Utime2str [2]
	anytim2ints [1], anytim2ints [2], checkvar [2], gt_day [1], gt_day [2]
	gt_time [1], gt_time [2], int2sec [1], int2sec [2], timstr2ex [1], timstr2ex [2]
 CALLED BY:
	ALIGN1BIGGRAM, ANYTIM_REPORT, BATSE_FLARES_WEEK, BATSE_ON, BATSE_SPEC_GAIN_FDB
	BATSE_TIME_INPUT, BCS, Build_Schedule, CALC_LOI_ROLL, CALIBRATE [1], CARR2DATE
	CARR2EX, CH2KVT, CH2KVT_GAIN, CHECK_FOR_30S, CHECK_OVERFLOW, CHECK_SFC_PNT, CHKPOINT
	CLEAN_GOES, CONT_EDGES, CONT_READ, CP_CATREAD, CP_CATRESET, CP_CATTIME
	CREATE_GIF_HTML, CREATE_HTML, CRYSTAL_RES, Create_update_tar, DATETIME OBJECT
	DATPLOT, DISCSP_BANDS, DISCSP_EDGES, DISCSP_READ, DISPLOI_MON5K, DO_EVENTLISTS
	DO_QLARCHIVE, DROT_NAR, ECI2GEOGRAPHIC, ECL_FRAC, EIT_COPY, EUTPLOT, FDBREAD
	FILT_EVENTS, FIND_DBFILE, FIND_GOOD_OCCS, FIND_PACKET
	FITS WRITER CLASS FOR ANY RHESSI DATA TYPES, FITS_TIME, FLIST, FLISTOC
	FORMAT_INTERVALS, FSOC, FSPLOT, FS_ACC_CONT, FS_ACC_DISCSP, FS_GEN_ARR, FS_GRAPH
	FS_OPEN [1], FS_READ_DD, Fits_spectra [1], Fits_spectra [2], GAP_FILE, GAP_FINDER
	GEOGRAPHIC2ECI, GETGPSaVG [1], GETGPSaVG [2], GETSATaVG, GET_BATSE_POINTING
	GET_DISCSP511, GET_DROT_DUR, GET_FITS_TIME, GET_LAD_GAIN, GET_NAR, GET_OCCS
	GET_OCC_ONDAY, GET_SLLD, GET_SPEC_CAL, GET_SPEC_GAIN, GFITS_R, GFITS_W
	GOES_CHIANTI_TEM, GOES_FITS_FILES, GOES_MEWE_TEM, GOES_TEM, GOES_TF, GOES_TF_COEFF
	GOES_TRANSFER, GOES__DEFINE, GRS_EXTRACT, GRWCH_ST, HESSI
	HESSI CALIBRATED EVENTLIST CLASS DEFINITION [3]
	HESSI FASTRATE CLASS DEFINITION, HESSI IMAGE FILE CLASS DEFINITION [1]
	HESSI IMAGE RAW CLASS DEFINITION [2]
	HESSI IMAGE STRATEGY CLASS DEFINITION
	HESSI MONITOR RATE  CLASS DEFINITION
	HESSI MULTI IMAGE CLASS DEFINITION [2]
	HESSI MULTI IMAGE CLASS DEFINITION [3], HESSI PACKET FILE ABSTRACT CLASS
	HESSI ROLL_DB CLASS DEFINITION, HESSI SIMULATION CLASS DEFINITION
	HESSI SOHDATA CLASS DEFINITION, HESSI Search Lookup Table Index
	HESSI_REF_TIME, HSI_ANY2SCTIME, HSI_ANY_SOHDATA, HSI_ASPECT_SIM
	HSI_BUILD_OBS_TIME, HSI_CLKDELTAFILETIME_2_UT, HSI_CLK_DELTA_WRITE
	HSI_CLOCK_DRIFT, HSI_DO_QLOOK_PLOTS, HSI_EVENTLIST_TEST, HSI_FITS2MAP [1]
	HSI_GET_CLOCK_SYNCH, HSI_GET_TIMEBIN, HSI_IMAGE_TEST [2]
	HSI_IMAGE_TEST__define, HSI_LOCATE_FLARE [2], HSI_LOCATE_FLARE [4]
	HSI_MAP_EVALUATOR [1], HSI_MODEL_TO_SCORE, HSI_NOSAAN, HSI_NPAK_HISTOGRAM
	HSI_ORBFILETIME_2_UT, HSI_PACKET2FITS, HSI_PAK2FILETIMES, HSI_QLOOK_ASPECT
	HSI_QLOOK_SUMMARY_PAGE__DEFINE, HSI_RD_FITS_SPECTRUM, HSI_REF_TIME
	HSI_SCORE2FILE, HSI_SCTIME2ANY, HSI_SEQ_CNT_CHECK, HSI_SET_FILE_TIME
	HSI_SMEXHDR_RCVD_TIME, HSI_SPECTROGRAMCHAN_OVERLAP_FIX
	HSI_SPECTROGRAM_DECIM_CORRECT, HSI_SPECTROGRAM_DECIM_TABLE
	HSI_SPECTRUM__DEFINE, HSI_SRM__DEFINE, HSI_SSR_FILL_PER_ORBIT [2]
	HSI_TIME_N_ORBITS, HSI_TOHBAN_FLARE_COUNTER, HSI_UT_2_CLKDELTAFILETIME
	HSI_VCFILE_PACKET_RATE, HSI_VCFILE_TIMES, HSI_WRITE_LEVEL0, HSI_tplot2any
	HXARCHIVE, HXFITS, HXR2FILE, HXRBS, HXRBS_ESC, HXRFITS_ARCHIVE, HXRFITS_HEAD
	HXRS__DEFINE, HXT_CAL_FIX [1], HXT_CAL_FIX [2], Hessi_obs_summary
	Hsi_contact2fits [1], Hsi_contact2fits [2], Hsi_daily_catalog [1]
	Hsi_daily_catalog [2], Hsi_monitor_rate_read, LAY1GKM, LONLAT2XY, Load_sher
	MAKE_SOLCALTRAJ, MDI__DEFINE, MERGE_DISCSP_HKG_OCC, MJD2ANY, MK_MER_CONT
	NAR2COORD, NEAREST_GEV, NEAR_CONJ, NORH_F2EVF [1], NORH_F2EVF [2], NORH_FIXINDEX
	NORH_IMG2IDX [1], NORH_IMG2IDX [2], NORH_JST2UT [1], NORH_JST2UT [2], NORH_MKSZ
	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_SEL_DIFF [1], NORH_SEL_DIFF [2], NORH_SYNTH_BYF [1], NORH_SYNTH_BYF [2]
	NORH_TCX2IDX [1], NORH_TCX2IDX [2], NORH_TIM2F [1], NORH_TIM2F [2]
	NORH_TRANS_BYF [1], NORH_TRANS_BYF [2], NORH_UT2JST [1], NORH_UT2JST [2]
	NORP_CLB_INTEG, NORP_CLB_SN, NORP_GT_NDATA, NORP_NCLB_TIME, NORP_RDT2DATA_17G
	NORP_RDT2DATA_1G, NORP_RDT2DATA_2G, NORP_RDT2DATA_35G, NORP_RDT2DATA_4G
	NORP_RDT2DATA_80G, NORP_RDT2DATA_9G, NORP_RDT2TIMEJ [1], NORP_RDT2TIMEJ [2]
	NORP_RD_AVG [1], NORP_RD_AVG [2], NORP_RD_DAILY [1], NORP_RD_DAILY [2]
	NORP_RD_DAT, NORP_RD_RDT, OCC_DBASE, ORBIT_DN, ORBIT_INPUT_TIME, PARSE_ATIME [1]
	PARSE_GROSSC_ATTITUDE, PLOTBATSE, PLOTBATSE_QL, PLOT_HSI, PLOT_MAP, PLOT_OCCS
	PLOT_OCC_ONDAY, PROFILES2, PR_PATROLS, PURGE_KAPS, Pointing_Change, QL_DAY_PLOT
	QL_ORBIT_PLOT, QL_PLOTTER, QL_READBDB, RD_GOES, RD_GOES_SDAC, RD_NEAR_PIN [1]
	RD_NEAR_PIN [2], READCOL [3], READQUAL, READ_CONT, READ_DISCLA, READ_HXRS_FITS [1]
	READ_HXRS_FITS [2], READ_HXRS_FITS [3], READ_MINICAT, READ_MONTH_CAT
	READ_OCC_DISCSP, RESTORE_QLOOK, ROLL_PLOT, Radio Spectrogram FITS File reader
	Radiospectrogram FITS File reader [1]
	Radiospectrogram FITS File reader [2], SET_UTAXIS, SITE__DEFINE
	SOLB_PLOT_POINTING [1], SOLB_PLOT_POINTING [2], SOLB_READ_REPOINT [1]
	SOLB_READ_REPOINT [2], SOLB_SPACECRAFT_POINTING [1]
	SOLB_SPACECRAFT_POINTING [2], SOLEPHUT, SPARTAN_PLANNER, SPECPLOT__DEFINE
	SPECTRA2FITS, SPECTROGRAM CLASS DEFINITION, SPECTRUM CLASS DEFINITION
	SPEX_COMMONS [2], SPEX_COMMONS [4], SPEX_DATA_GENX [1], SPEX_DATA_GENX [2]
	SPEX_DRM__DEFINE, SPEX_FITINT__DEFINE, SPEX_GEN__DEFINE, SPEX_PROC [1]
	SPEX_PROC [2], SPEX_SAVE [1], SPEX_SAVE [2], SPEX__DEFINE, STEREO_SIMUL
	SXT_BAKEOUT_IN, SXT_COVERAGE, SXT_ECLIPSE, SXT_EXPOSURE_MAP, Shers_load [1]
	TEMP_BCK_TIME_INTV, TEST_CAL, TIM2CARR, TIMESTAMP, TIME_AXIS__DEFINE, TIME_F_NAME
	TJD2YMD, TOK_RD_DAILY, TRACE_ALIGN_CUBE, TRACE_COPY, TRACE_CUBE_POINTING
	TRACE_GBO, TRACE_MDI_ALIGN, TRACE_SSWHERE [1], TV_SYNOP, TWIDGET, TYKW_RDT2TIMEJ
	TYKW_RD_DAILY, TYKW_RD_DAT, UNFORMAT_INTERVALS, UPDATE_HTML, UTIME [1], UTIME [2]
	UTPLOT_IMAGE, UTPLOT__DEFINE, UT_2_YYDOY [1], VIEW_TRACE_MOSAIC, WRITE_MONTH_CAT
	XSM_VALID, XYPLOT__DEFINE, YMD2TJD, YOHKOH_TERM_PREDICT, ZDEROTATE, ZHDRUNIT
	accum_counts [1], accum_counts [2], anahead2struct, anytim2weekinfo
	auto_bck_find0, avsig_1 [1], avsig_1 [4], avsig_1 [6], avsig_temp
	batse_create_html, batse_sea_html, check_cals, cp_catwidget, cw_ut_range
	data2files, days_til_next_solar_max, db_gbo, decode_gev, default_rate_header
	difference_movie, disp_sci160k [1], disp_sci160k [2], doytim2ints
	drm_4_spex [1], drm_4_spex [2], eit_fulldisk, eit_proton_summary, evt_grid
	find_uvexp, fix_decon_pits, fixinate_trace, flare_hist, get_acedata
	get_epoch_sfcs [1], get_epoch_sfcs [2], get_gevloc_data, get_goes_defsat [1]
	get_goes_defsat [2], get_infox, get_solar_indices, get_utevent [1]
	get_utevent [2], get_utrange, go_sxt_sss2secondary, go_yo_prod_batch
	goes_plot [1], goes_plot [2], goes_plot [3], goes_plot [4], goes_plot [5]
	grid_data [1], grid_data [2], gtab_summary, gtt_orbit, has_overlap [1]
	has_overlap [2], hsi_1orbit_allpak, hsi_anytim_2_filename, hsi_as_sim
	hsi_as_sim_packet, hsi_aspect [1], hsi_aspect [2], hsi_ast_seesource_time
	hsi_ast_sourceangle, hsi_atten_state, hsi_bad_pak, hsi_badpak_test
	hsi_bproj2size, hsi_chk_obj, hsi_cld_sav_init, hsi_clk_delta_calc
	hsi_clock_drift_dxdt, hsi_clock_drift_redo, hsi_clock_drift_soc
	hsi_create_filedb, hsi_cw_ut_range, hsi_data_recovery_fraction
	hsi_decimation_anomaly, hsi_default_resolutions, hsi_default_tailfracs
	hsi_demodulator [1], hsi_do_qlook_image [1], hsi_do_qlook_image [2]
	hsi_earthangle, hsi_endfileinfo_fill, hsi_ephemeris__define
	hsi_ephemeris_concat, hsi_ephemeris_fill, hsi_filedb__define [1]
	hsi_filedb__define [2], hsi_filedb_filename, hsi_filedb_read [1]
	hsi_filedb_read [2], hsi_filedb_write, hsi_filedb_write_ascii
	hsi_filename_2_anytim, hsi_fits_header, hsi_flare2time, hsi_flare_flag
	hsi_flare_id_assign, hsi_flare_id_check, hsi_flare_in_int, hsi_flare_list2ar
	hsi_flare_list2goes [1], hsi_flare_list2goes [2], hsi_flare_list__define [1]
	hsi_flare_list__define [2], hsi_flare_list_fill [1], hsi_flare_list_fill [2]
	hsi_flare_position_image [1], hsi_flare_position_image [2], hsi_format_flare
	hsi_full_sun_image [1], hsi_full_sun_image [2], hsi_gbo, hsi_get_e_edges [1]
	hsi_get_orbit_info, hsi_get_total_time, hsi_getflare, hsi_image__getaxis [2]
	hsi_image_plot, hsi_image_raw__define, hsi_imagefile_2_plotman
	hsi_lambda_vs_t, hsi_last_id_write filename last_id, hsi_locate_flare [1]
	hsi_locate_flare [3], hsi_mod_variance__define, hsi_mod_variance_concat
	hsi_monthly_filename, hsi_mult_filedb_otp, hsi_mult_flare_list_inp
	hsi_mult_qspec, hsi_new_spec_bck, hsi_night_bck, hsi_obs_flag
	hsi_obs_summ_allrates [1], hsi_obs_summ_concat, hsi_obs_summ_fill [1]
	hsi_obs_summ_fill [2], hsi_obs_summ_flag__define, hsi_obs_summ_flag_concat
	hsi_obs_summ_otp, hsi_obs_summ_rate__define, hsi_obs_summ_rate_concat
	hsi_obs_summ_soc__define, hsi_obs_summ_soc_concat, hsi_obs_summ_timarr
	hsi_obs_summ_write, hsi_obs_summary__define [1], hsi_obs_summary__define [2]
	hsi_obs_summary_adapter__define, hsi_obs_summary_concat, hsi_obs_times
	hsi_ok_intv [1], hsi_ok_intv [2], hsi_onedatagap__define, hsi_orbpar4bck
	hsi_params2script, hsi_particle_rate__define, hsi_particle_rate_concat
	hsi_plot_flux, hsi_pmtras_lookup, hsi_print_decimation_state
	hsi_qlook__define, hsi_qlook_call_ospex [1], hsi_qlook_call_ospex [2]
	hsi_qlook_concat, hsi_qlook_image, hsi_qlook_monitor_rate__define
	hsi_qlook_packet_rate__define, hsi_qlook_pointing__define
	hsi_qlook_rate_per_det__define, hsi_qlook_roll_angle__define
	hsi_qlook_roll_period__define, hsi_qlook_spectrum
	hsi_qlook_spin_axis__define, hsi_qspec [1], hsi_qspec [2], hsi_rd_ephfile
	hsi_rd_orbit_files, hsi_rdstatevectorfile, hsi_read_all_flare_list
	hsi_read_vcfiletimes, hsi_replace_flare_list, hsi_select_flare
	hsi_show_flags [2], hsi_show_flare_on_image, hsi_sim_pflux_2_cflux
	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_spectrum__filewrite, hsi_spectrum__fitswrite, hsi_ssr_fill_per_orbit [1]
	hsi_state_vectors, hsi_test_files, hsi_test_packet_rate, hsi_test_qlook
	hsi_time_widget, hsi_ui_flarecat, hsi_ui_img, hsi_ui_img_doimage [1]
	hsi_ui_img_doimage [2], hsi_ui_lc, hsi_ui_obs, hsi_ui_qlimage, hsi_ui_spec
	hsi_vcfile_gaps, hsi_vis_fwdfit, hsi_whichflare, hsi_whole_flare_list
	hsi_write_all_flare_list, hsi_write_decimation_settings
	hsi_write_txt_flare_list, hsi_xy_test [1], hsi_xy_test [2], hsi_xy_test_new
	hxrbs_response, hxrs_drm2fits [1], hxrs_drm2fits [2], hxrs_drm2fits [3]
	image2movie, 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]
	index2fov, kluge_att, lasco_time2file, lasco_time2nrlwww, lastgki, later, lcur_image
	les_archive_info, make_goes_chianti_response [1]
	make_goes_chianti_response [2], make_goes_chianti_response [3]
	make_goes_chianti_response [4], make_grid_sphere, map2index, mark_intervals
	may_eclipse, mdi_time2file, mees_log_read, mees_name_format, mk_mdi_fits
	mk_sff_pair [1], mk_sff_pair [2], mk_ssc [1], mk_ssc [2], mk_ssc_batch [1]
	mk_ssc_batch [2], mk_sumer_dbase_ff, mk_synsfc_coeff [1], mk_synsfc_coeff [2]
	mksort, mon_sci5k, mrdfits_spectra, norh_alpha, norh_t2azel, op_term_score
	option_changer [1], option_changer [2], parse_atime [2], pctime2ssw
	phoenix_filedb_get, phoenix_spg_get, plot_ace, plot_fov [1], plot_goes_ospex
	plotman, plotman_draw_event, plotman_setaxes, plotman_zoom, pmtras_analysis
	pr_his_index [1], pr_his_index [2], pr_his_index [3], ptim, rapp_get_spectrogram
	rd_goesp_ascii, rd_goesx_ascii, rd_mdi [1], rd_mdi [2], rd_sxs_pha [1]
	rd_sxs_pha [2], rd_therm_rs232, rd_wbs_pha [1], rd_wbs_pha [2], rdbda_smm
	read_eit, read_genxcat, read_hessi_4_ospex, read_hessi_4_spex [1]
	read_hessi_4_spex [2], read_hessi_fits_4_spex [1]
	read_hessi_fits_4_spex [2], read_lapalma, read_mdi, read_soxs_4_ospex
	read_trace, read_xsm_4_ospex, read_yohkoh_4_spex [1], read_yohkoh_4_spex [2]
	redo_disploi, redo_mon_sci5k, rhessi_get_spin_axis_position, save_idl_routines
	sec_name_format, soxs_readfile, special_movie, spectro_plot2
	spectrogram__define, spex_bk__define, spex_bkint__define, spex_bksub__define
	spex_data__define, spex_evnt [1], spex_evnt [2], spex_hessi_image__define
	spex_image__define, ssc_files [1], ssc_files [2], ssc_files [3], ssw_build_trace
	ssw_composite, ssw_deltat, ssw_expand_times, ssw_flare_locator, ssw_fov_context
	ssw_fs_cat2db, ssw_getcme_cactus, ssw_getcme_cdaw, ssw_getdst
	ssw_gxd_remove_flares, ssw_javamovie, ssw_nar2armurl, ssw_pos2zenith
	ssw_sec_aktxt2struct, ssw_time2filelist, ssw_time2paths, ssw_timestat
	ssw_track_fov, sswdb_files, sswstruct_fill [1], stt_plot, sxi_files, sxt_files
	sxt_his2dbase, sxt_is_synsfc, sxt_mk3 mk3 index data [1]
	sxt_mk3 mk3 index data [2], sxt_orhis, sxt_prep [1], sxt_prep [2], sxt_prep [3]
	sxt_ssn2fits [1], sxt_uvf_info [1], sxt_uvf_info [3], t_utplot [1], t_utplot [2]
	time_at_meridian, time_window, timegrid, tr_lut_conv, tr_rd_index
	tr_wrt_fits_i1 [2], trace_cosmic2hist_accum, trace_files, trace_get_vignette
	trace_goodobs, trace_movie_index [1], trace_movie_index [2]
	trace_recent_movie_summary, trace_sswhere [2], trace_sswhere [3]
	trace_sswhere [4], trace_wave2point, ut_2_yydoy [2], ut_label, valid_time_range
	wbs_response [1], wbs_response [2], week_loop [1], week_loop [2], week_loop [3]
	weeks_in_year [1], weeks_in_year [2], where_are [1], where_are [2]
	which_hessi_version, write_genxcat, xy2lonlat, xzchange, yo_index2path
	yoh_orb_interp [1], yoh_orb_interp [2], yohkoh_files, yohkoh_legacy_files [1]
	yohkoh_legacy_files [2], zcheck_hdr, zmovify, ztrack
   Procedure: SEC1979_2TAI

   Purpose:  This function converts an array of seconds with ref to 1-jan-1979
     to an array referenced to 1-jan-1958 plus leap seconds


   History;
       11-jan-2006, richard.schwartz@gsfc.nasa.gov


anytim [3] $SSW/gen/idl/utplot/anytim.pro
[Previous] [Next]
 CALLS: ***
	ATIME [1], ATIME [2], CHECKVAR [1], DATATYPE [1], DATATYPE [2], DATATYPE [3]
	Int2Ex [1], Int2Ex [2], UTIME [1], UTIME [2], Utime2str [1], Utime2str [2]
	anytim2ints [1], anytim2ints [2], checkvar [2], gt_day [1], gt_day [2]
	gt_time [1], gt_time [2], int2sec [1], int2sec [2], timstr2ex [1], timstr2ex [2]
 CALLED BY:
	ALIGN1BIGGRAM, ANYTIM_REPORT, BATSE_FLARES_WEEK, BATSE_ON, BATSE_SPEC_GAIN_FDB
	BATSE_TIME_INPUT, BCS, Build_Schedule, CALC_LOI_ROLL, CALIBRATE [1], CARR2DATE
	CARR2EX, CH2KVT, CH2KVT_GAIN, CHECK_FOR_30S, CHECK_OVERFLOW, CHECK_SFC_PNT, CHKPOINT
	CLEAN_GOES, CONT_EDGES, CONT_READ, CP_CATREAD, CP_CATRESET, CP_CATTIME
	CREATE_GIF_HTML, CREATE_HTML, CRYSTAL_RES, Create_update_tar, DATETIME OBJECT
	DATPLOT, DISCSP_BANDS, DISCSP_EDGES, DISCSP_READ, DISPLOI_MON5K, DO_EVENTLISTS
	DO_QLARCHIVE, DROT_NAR, ECI2GEOGRAPHIC, ECL_FRAC, EIT_COPY, EUTPLOT, FDBREAD
	FILT_EVENTS, FIND_DBFILE, FIND_GOOD_OCCS, FIND_PACKET
	FITS WRITER CLASS FOR ANY RHESSI DATA TYPES, FITS_TIME, FLIST, FLISTOC
	FORMAT_INTERVALS, FSOC, FSPLOT, FS_ACC_CONT, FS_ACC_DISCSP, FS_GEN_ARR, FS_GRAPH
	FS_OPEN [1], FS_READ_DD, Fits_spectra [1], Fits_spectra [2], GAP_FILE, GAP_FINDER
	GEOGRAPHIC2ECI, GETGPSaVG [1], GETGPSaVG [2], GETSATaVG, GET_BATSE_POINTING
	GET_DISCSP511, GET_DROT_DUR, GET_FITS_TIME, GET_LAD_GAIN, GET_NAR, GET_OCCS
	GET_OCC_ONDAY, GET_SLLD, GET_SPEC_CAL, GET_SPEC_GAIN, GFITS_R, GFITS_W
	GOES_CHIANTI_TEM, GOES_FITS_FILES, GOES_MEWE_TEM, GOES_TEM, GOES_TF, GOES_TF_COEFF
	GOES_TRANSFER, GOES__DEFINE, GRS_EXTRACT, GRWCH_ST, HESSI
	HESSI CALIBRATED EVENTLIST CLASS DEFINITION [3]
	HESSI FASTRATE CLASS DEFINITION, HESSI IMAGE FILE CLASS DEFINITION [1]
	HESSI IMAGE RAW CLASS DEFINITION [2]
	HESSI IMAGE STRATEGY CLASS DEFINITION
	HESSI MONITOR RATE  CLASS DEFINITION
	HESSI MULTI IMAGE CLASS DEFINITION [2]
	HESSI MULTI IMAGE CLASS DEFINITION [3], HESSI PACKET FILE ABSTRACT CLASS
	HESSI ROLL_DB CLASS DEFINITION, HESSI SIMULATION CLASS DEFINITION
	HESSI SOHDATA CLASS DEFINITION, HESSI Search Lookup Table Index
	HESSI_REF_TIME, HSI_ANY2SCTIME, HSI_ANY_SOHDATA, HSI_ASPECT_SIM
	HSI_BUILD_OBS_TIME, HSI_CLKDELTAFILETIME_2_UT, HSI_CLK_DELTA_WRITE
	HSI_CLOCK_DRIFT, HSI_DO_QLOOK_PLOTS, HSI_EVENTLIST_TEST, HSI_FITS2MAP [1]
	HSI_GET_CLOCK_SYNCH, HSI_GET_TIMEBIN, HSI_IMAGE_TEST [2]
	HSI_IMAGE_TEST__define, HSI_LOCATE_FLARE [2], HSI_LOCATE_FLARE [4]
	HSI_MAP_EVALUATOR [1], HSI_MODEL_TO_SCORE, HSI_NOSAAN, HSI_NPAK_HISTOGRAM
	HSI_ORBFILETIME_2_UT, HSI_PACKET2FITS, HSI_PAK2FILETIMES, HSI_QLOOK_ASPECT
	HSI_QLOOK_SUMMARY_PAGE__DEFINE, HSI_RD_FITS_SPECTRUM, HSI_REF_TIME
	HSI_SCORE2FILE, HSI_SCTIME2ANY, HSI_SEQ_CNT_CHECK, HSI_SET_FILE_TIME
	HSI_SMEXHDR_RCVD_TIME, HSI_SPECTROGRAMCHAN_OVERLAP_FIX
	HSI_SPECTROGRAM_DECIM_CORRECT, HSI_SPECTROGRAM_DECIM_TABLE
	HSI_SPECTRUM__DEFINE, HSI_SRM__DEFINE, HSI_SSR_FILL_PER_ORBIT [2]
	HSI_TIME_N_ORBITS, HSI_TOHBAN_FLARE_COUNTER, HSI_UT_2_CLKDELTAFILETIME
	HSI_VCFILE_PACKET_RATE, HSI_VCFILE_TIMES, HSI_WRITE_LEVEL0, HSI_tplot2any
	HXARCHIVE, HXFITS, HXR2FILE, HXRBS, HXRBS_ESC, HXRFITS_ARCHIVE, HXRFITS_HEAD
	HXRS__DEFINE, HXT_CAL_FIX [1], HXT_CAL_FIX [2], Hessi_obs_summary
	Hsi_contact2fits [1], Hsi_contact2fits [2], Hsi_daily_catalog [1]
	Hsi_daily_catalog [2], Hsi_monitor_rate_read, LAY1GKM, LONLAT2XY, Load_sher
	MAKE_SOLCALTRAJ, MDI__DEFINE, MERGE_DISCSP_HKG_OCC, MJD2ANY, MK_MER_CONT
	NAR2COORD, NEAREST_GEV, NEAR_CONJ, NORH_F2EVF [1], NORH_F2EVF [2], NORH_FIXINDEX
	NORH_IMG2IDX [1], NORH_IMG2IDX [2], NORH_JST2UT [1], NORH_JST2UT [2], NORH_MKSZ
	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_SEL_DIFF [1], NORH_SEL_DIFF [2], NORH_SYNTH_BYF [1], NORH_SYNTH_BYF [2]
	NORH_TCX2IDX [1], NORH_TCX2IDX [2], NORH_TIM2F [1], NORH_TIM2F [2]
	NORH_TRANS_BYF [1], NORH_TRANS_BYF [2], NORH_UT2JST [1], NORH_UT2JST [2]
	NORP_CLB_INTEG, NORP_CLB_SN, NORP_GT_NDATA, NORP_NCLB_TIME, NORP_RDT2DATA_17G
	NORP_RDT2DATA_1G, NORP_RDT2DATA_2G, NORP_RDT2DATA_35G, NORP_RDT2DATA_4G
	NORP_RDT2DATA_80G, NORP_RDT2DATA_9G, NORP_RDT2TIMEJ [1], NORP_RDT2TIMEJ [2]
	NORP_RD_AVG [1], NORP_RD_AVG [2], NORP_RD_DAILY [1], NORP_RD_DAILY [2]
	NORP_RD_DAT, NORP_RD_RDT, OCC_DBASE, ORBIT_DN, ORBIT_INPUT_TIME, PARSE_ATIME [1]
	PARSE_GROSSC_ATTITUDE, PLOTBATSE, PLOTBATSE_QL, PLOT_HSI, PLOT_MAP, PLOT_OCCS
	PLOT_OCC_ONDAY, PROFILES2, PR_PATROLS, PURGE_KAPS, Pointing_Change, QL_DAY_PLOT
	QL_ORBIT_PLOT, QL_PLOTTER, QL_READBDB, RD_GOES, RD_GOES_SDAC, RD_NEAR_PIN [1]
	RD_NEAR_PIN [2], READCOL [3], READQUAL, READ_CONT, READ_DISCLA, READ_HXRS_FITS [1]
	READ_HXRS_FITS [2], READ_HXRS_FITS [3], READ_MINICAT, READ_MONTH_CAT
	READ_OCC_DISCSP, RESTORE_QLOOK, ROLL_PLOT, Radio Spectrogram FITS File reader
	Radiospectrogram FITS File reader [1]
	Radiospectrogram FITS File reader [2], SET_UTAXIS, SITE__DEFINE
	SOLB_PLOT_POINTING [1], SOLB_PLOT_POINTING [2], SOLB_READ_REPOINT [1]
	SOLB_READ_REPOINT [2], SOLB_SPACECRAFT_POINTING [1]
	SOLB_SPACECRAFT_POINTING [2], SOLEPHUT, SPARTAN_PLANNER, SPECPLOT__DEFINE
	SPECTRA2FITS, SPECTROGRAM CLASS DEFINITION, SPECTRUM CLASS DEFINITION
	SPEX_COMMONS [2], SPEX_COMMONS [4], SPEX_DATA_GENX [1], SPEX_DATA_GENX [2]
	SPEX_DRM__DEFINE, SPEX_FITINT__DEFINE, SPEX_GEN__DEFINE, SPEX_PROC [1]
	SPEX_PROC [2], SPEX_SAVE [1], SPEX_SAVE [2], SPEX__DEFINE, STEREO_SIMUL
	SXT_BAKEOUT_IN, SXT_COVERAGE, SXT_ECLIPSE, SXT_EXPOSURE_MAP, Shers_load [1]
	TEMP_BCK_TIME_INTV, TEST_CAL, TIM2CARR, TIMESTAMP, TIME_AXIS__DEFINE, TIME_F_NAME
	TJD2YMD, TOK_RD_DAILY, TRACE_ALIGN_CUBE, TRACE_COPY, TRACE_CUBE_POINTING
	TRACE_GBO, TRACE_MDI_ALIGN, TRACE_SSWHERE [1], TV_SYNOP, TWIDGET, TYKW_RDT2TIMEJ
	TYKW_RD_DAILY, TYKW_RD_DAT, UNFORMAT_INTERVALS, UPDATE_HTML, UTIME [1], UTIME [2]
	UTPLOT_IMAGE, UTPLOT__DEFINE, UT_2_YYDOY [1], VIEW_TRACE_MOSAIC, WRITE_MONTH_CAT
	XSM_VALID, XYPLOT__DEFINE, YMD2TJD, YOHKOH_TERM_PREDICT, ZDEROTATE, ZHDRUNIT
	accum_counts [1], accum_counts [2], anahead2struct, anytim2weekinfo
	auto_bck_find0, avsig_1 [1], avsig_1 [4], avsig_1 [6], avsig_temp
	batse_create_html, batse_sea_html, check_cals, cp_catwidget, cw_ut_range
	data2files, days_til_next_solar_max, db_gbo, decode_gev, default_rate_header
	difference_movie, disp_sci160k [1], disp_sci160k [2], doytim2ints
	drm_4_spex [1], drm_4_spex [2], eit_fulldisk, eit_proton_summary, evt_grid
	find_uvexp, fix_decon_pits, fixinate_trace, flare_hist, get_acedata
	get_epoch_sfcs [1], get_epoch_sfcs [2], get_gevloc_data, get_goes_defsat [1]
	get_goes_defsat [2], get_infox, get_solar_indices, get_utevent [1]
	get_utevent [2], get_utrange, go_sxt_sss2secondary, go_yo_prod_batch
	goes_plot [1], goes_plot [2], goes_plot [3], goes_plot [4], goes_plot [5]
	grid_data [1], grid_data [2], gtab_summary, gtt_orbit, has_overlap [1]
	has_overlap [2], hsi_1orbit_allpak, hsi_anytim_2_filename, hsi_as_sim
	hsi_as_sim_packet, hsi_aspect [1], hsi_aspect [2], hsi_ast_seesource_time
	hsi_ast_sourceangle, hsi_atten_state, hsi_bad_pak, hsi_badpak_test
	hsi_bproj2size, hsi_chk_obj, hsi_cld_sav_init, hsi_clk_delta_calc
	hsi_clock_drift_dxdt, hsi_clock_drift_redo, hsi_clock_drift_soc
	hsi_create_filedb, hsi_cw_ut_range, hsi_data_recovery_fraction
	hsi_decimation_anomaly, hsi_default_resolutions, hsi_default_tailfracs
	hsi_demodulator [1], hsi_do_qlook_image [1], hsi_do_qlook_image [2]
	hsi_earthangle, hsi_endfileinfo_fill, hsi_ephemeris__define
	hsi_ephemeris_concat, hsi_ephemeris_fill, hsi_filedb__define [1]
	hsi_filedb__define [2], hsi_filedb_filename, hsi_filedb_read [1]
	hsi_filedb_read [2], hsi_filedb_write, hsi_filedb_write_ascii
	hsi_filename_2_anytim, hsi_fits_header, hsi_flare2time, hsi_flare_flag
	hsi_flare_id_assign, hsi_flare_id_check, hsi_flare_in_int, hsi_flare_list2ar
	hsi_flare_list2goes [1], hsi_flare_list2goes [2], hsi_flare_list__define [1]
	hsi_flare_list__define [2], hsi_flare_list_fill [1], hsi_flare_list_fill [2]
	hsi_flare_position_image [1], hsi_flare_position_image [2], hsi_format_flare
	hsi_full_sun_image [1], hsi_full_sun_image [2], hsi_gbo, hsi_get_e_edges [1]
	hsi_get_orbit_info, hsi_get_total_time, hsi_getflare, hsi_image__getaxis [2]
	hsi_image_plot, hsi_image_raw__define, hsi_imagefile_2_plotman
	hsi_lambda_vs_t, hsi_last_id_write filename last_id, hsi_locate_flare [1]
	hsi_locate_flare [3], hsi_mod_variance__define, hsi_mod_variance_concat
	hsi_monthly_filename, hsi_mult_filedb_otp, hsi_mult_flare_list_inp
	hsi_mult_qspec, hsi_new_spec_bck, hsi_night_bck, hsi_obs_flag
	hsi_obs_summ_allrates [1], hsi_obs_summ_concat, hsi_obs_summ_fill [1]
	hsi_obs_summ_fill [2], hsi_obs_summ_flag__define, hsi_obs_summ_flag_concat
	hsi_obs_summ_otp, hsi_obs_summ_rate__define, hsi_obs_summ_rate_concat
	hsi_obs_summ_soc__define, hsi_obs_summ_soc_concat, hsi_obs_summ_timarr
	hsi_obs_summ_write, hsi_obs_summary__define [1], hsi_obs_summary__define [2]
	hsi_obs_summary_adapter__define, hsi_obs_summary_concat, hsi_obs_times
	hsi_ok_intv [1], hsi_ok_intv [2], hsi_onedatagap__define, hsi_orbpar4bck
	hsi_params2script, hsi_particle_rate__define, hsi_particle_rate_concat
	hsi_plot_flux, hsi_pmtras_lookup, hsi_print_decimation_state
	hsi_qlook__define, hsi_qlook_call_ospex [1], hsi_qlook_call_ospex [2]
	hsi_qlook_concat, hsi_qlook_image, hsi_qlook_monitor_rate__define
	hsi_qlook_packet_rate__define, hsi_qlook_pointing__define
	hsi_qlook_rate_per_det__define, hsi_qlook_roll_angle__define
	hsi_qlook_roll_period__define, hsi_qlook_spectrum
	hsi_qlook_spin_axis__define, hsi_qspec [1], hsi_qspec [2], hsi_rd_ephfile
	hsi_rd_orbit_files, hsi_rdstatevectorfile, hsi_read_all_flare_list
	hsi_read_vcfiletimes, hsi_replace_flare_list, hsi_select_flare
	hsi_show_flags [2], hsi_show_flare_on_image, hsi_sim_pflux_2_cflux
	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_spectrum__filewrite, hsi_spectrum__fitswrite, hsi_ssr_fill_per_orbit [1]
	hsi_state_vectors, hsi_test_files, hsi_test_packet_rate, hsi_test_qlook
	hsi_time_widget, hsi_ui_flarecat, hsi_ui_img, hsi_ui_img_doimage [1]
	hsi_ui_img_doimage [2], hsi_ui_lc, hsi_ui_obs, hsi_ui_qlimage, hsi_ui_spec
	hsi_vcfile_gaps, hsi_vis_fwdfit, hsi_whichflare, hsi_whole_flare_list
	hsi_write_all_flare_list, hsi_write_decimation_settings
	hsi_write_txt_flare_list, hsi_xy_test [1], hsi_xy_test [2], hsi_xy_test_new
	hxrbs_response, hxrs_drm2fits [1], hxrs_drm2fits [2], hxrs_drm2fits [3]
	image2movie, 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]
	index2fov, kluge_att, lasco_time2file, lasco_time2nrlwww, lastgki, later, lcur_image
	les_archive_info, make_goes_chianti_response [1]
	make_goes_chianti_response [2], make_goes_chianti_response [3]
	make_goes_chianti_response [4], make_grid_sphere, map2index, mark_intervals
	may_eclipse, mdi_time2file, mees_log_read, mees_name_format, mk_mdi_fits
	mk_sff_pair [1], mk_sff_pair [2], mk_ssc [1], mk_ssc [2], mk_ssc_batch [1]
	mk_ssc_batch [2], mk_sumer_dbase_ff, mk_synsfc_coeff [1], mk_synsfc_coeff [2]
	mksort, mon_sci5k, mrdfits_spectra, norh_alpha, norh_t2azel, op_term_score
	option_changer [1], option_changer [2], parse_atime [2], pctime2ssw
	phoenix_filedb_get, phoenix_spg_get, plot_ace, plot_fov [1], plot_goes_ospex
	plotman, plotman_draw_event, plotman_setaxes, plotman_zoom, pmtras_analysis
	pr_his_index [1], pr_his_index [2], pr_his_index [3], ptim, rapp_get_spectrogram
	rd_goesp_ascii, rd_goesx_ascii, rd_mdi [1], rd_mdi [2], rd_sxs_pha [1]
	rd_sxs_pha [2], rd_therm_rs232, rd_wbs_pha [1], rd_wbs_pha [2], rdbda_smm
	read_eit, read_genxcat, read_hessi_4_ospex, read_hessi_4_spex [1]
	read_hessi_4_spex [2], read_hessi_fits_4_spex [1]
	read_hessi_fits_4_spex [2], read_lapalma, read_mdi, read_soxs_4_ospex
	read_trace, read_xsm_4_ospex, read_yohkoh_4_spex [1], read_yohkoh_4_spex [2]
	redo_disploi, redo_mon_sci5k, rhessi_get_spin_axis_position, save_idl_routines
	sec_name_format, soxs_readfile, special_movie, spectro_plot2
	spectrogram__define, spex_bk__define, spex_bkint__define, spex_bksub__define
	spex_data__define, spex_evnt [1], spex_evnt [2], spex_hessi_image__define
	spex_image__define, ssc_files [1], ssc_files [2], ssc_files [3], ssw_build_trace
	ssw_composite, ssw_deltat, ssw_expand_times, ssw_flare_locator, ssw_fov_context
	ssw_fs_cat2db, ssw_getcme_cactus, ssw_getcme_cdaw, ssw_getdst
	ssw_gxd_remove_flares, ssw_javamovie, ssw_nar2armurl, ssw_pos2zenith
	ssw_sec_aktxt2struct, ssw_time2filelist, ssw_time2paths, ssw_timestat
	ssw_track_fov, sswdb_files, sswstruct_fill [1], stt_plot, sxi_files, sxt_files
	sxt_his2dbase, sxt_is_synsfc, sxt_mk3 mk3 index data [1]
	sxt_mk3 mk3 index data [2], sxt_orhis, sxt_prep [1], sxt_prep [2], sxt_prep [3]
	sxt_ssn2fits [1], sxt_uvf_info [1], sxt_uvf_info [3], t_utplot [1], t_utplot [2]
	time_at_meridian, time_window, timegrid, tr_lut_conv, tr_rd_index
	tr_wrt_fits_i1 [2], trace_cosmic2hist_accum, trace_files, trace_get_vignette
	trace_goodobs, trace_movie_index [1], trace_movie_index [2]
	trace_recent_movie_summary, trace_sswhere [2], trace_sswhere [3]
	trace_sswhere [4], trace_wave2point, ut_2_yydoy [2], ut_label, valid_time_range
	wbs_response [1], wbs_response [2], week_loop [1], week_loop [2], week_loop [3]
	weeks_in_year [1], weeks_in_year [2], where_are [1], where_are [2]
	which_hessi_version, write_genxcat, xy2lonlat, xzchange, yo_index2path
	yoh_orb_interp [1], yoh_orb_interp [2], yohkoh_files, yohkoh_legacy_files [1]
	yohkoh_legacy_files [2], zcheck_hdr, zmovify, ztrack
   Procedure: ANYTIM_SEC_TEST

   Purpose: This function returns 1 if it detects an anytim seconds format.


anytim [4] $SSW/gen/idl/utplot/anytim.pro
[Previous] [Next]
NAME:
   anytim
PURPOSE:
   This function converts one of several recognized time formats into the selected
   output format.

CALLING SEQUENCE:
       xx = anytim(roadmap, out_styl='ints')
       or
       xx = anytim(roadmap, /INTS)

       xx = anytim('12:33 5-Nov-91', out_sty='ex')
       or
       xx = anytim('12:33 5-Nov-91', /EX)

       xx = anytim('12:33 91/11/5',/EX)


       xx = anytim([0, 4000], out_style= 'sec')
       or
       xx = anytim([0, 4000], /SEC)

CATEGORY:
   Time, Utplot, time conversions
INPUT:
   item  - The input time
       Form can be
      (1) structure with a .time and .day
       tags, those tags may also appear in a .gen tag
       which is the first tag of the top structure,
       if one element in structure, will return scalar output
       for 1-d datatypes,  or
      (2) the standard 7-element longword external (EX) representation [hh,mm,ss,msec,dd,mm,(yy)yy],
       or (3) a string of the format "hh:mm dd-mmm-yy" or "yy/mm/dd",
       or (4) a 2xN array where the two dimensions hold (MSOD, DS79),
       .i.e. (MilliSecondsOfDay, DaySince 1-jan-1979), so called Internal Structure (INTS),
          1-jan-1979 is {anytim2ints_full, time:0L, day:1L}

       or (5) a double or float array of seconds from 1-jan-79.
       1-d, single time element inputs, the EX or array form of INTS, i.e.
      size(item) is   [ 1, 7, 2, 7] or [1, 2, 3, 2] return scalar results for
       /sec output.
       N.B.  Within other SSW procedures, notably those of CDS and probably others, the epoch
      for double(single) precision seconds is NOT 00:00:00.00 1 January 1979.  This
      function DOES NOT work properly with times relative to other epochs.  To work with
      times with other epochs, there is normally a conversion routine to put the
      time in unversal format, such as the UTC_INT or UTC_EXT format. Please see
      the aaareadme.txt file in $SSW/gen/idl/time/aaareadme.txt
      You'll find many useful time handling routines in
      $SSW/gen/idl/time, $SSW/gen/idl/genutil, $SSW/gen/idl/utplot,
      $SSW/gen/idl_libs/astron/...

   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
   N.B. 2 digit year representations in EX or String formats are interpreted between
   years 1950 and 2049.
   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
       The UTC procedures, utc2int, str2utc, and int2utc are included using
   CALL_FUNCTION so anytim will compile and work without these routines
   and their subsequent calls to procedures in the utc directory.
   Allowed formats include those supported under UTC  code, see STR2UTC.PRO:
        = A character string containing the date and time.  The
        target format is the CCSDS ASCII Calendar Segmented
        Time Code format (ISO 8601), e.g.

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

        The "Z" is optional.  The month and day can be
        replaced with the day-of-year, e.g.

          "1988-018T17:20:43.123Z"

        Other variations include

          "1988-01-18T17:20:43.12345"
          "1988-01-18T17:20:43"
          "1988-01-18"
          "17:20:43.123"

        Also, the "T" can be replaced by a blank, and the
        dashes "-" can be replaced by a slash "/".  This is
        the format used by the SOHO ECS.

        In addition this routine can parse dates where only
        two digits of the year is given--the year is assumed
        to be between 1950 and 2049.

        Character string months, e.g. "JAN" or "January", can
        be used instead of the number.  In that case, it
        assumes that the date is either in day-month-year or
        month-day-year format, e.g. "18-JAN-1988" or
        "Jan-18-1988".  However, if the first parameter is
        four digits, then year-month-day is assumed, e.g.
        "1988-Jan-18".

        Dates in a different order than year-month-day are
        supported, but unless the month is given as a
        character string, then these are only supported
        through the /MDY and /DMY keywords.

   End UTC documentation

 CALLS: ***
	ATIME [1], ATIME [2], CHECKVAR [1], DATATYPE [1], DATATYPE [2], DATATYPE [3]
	Int2Ex [1], Int2Ex [2], UTIME [1], UTIME [2], Utime2str [1], Utime2str [2]
	anytim2ints [1], anytim2ints [2], checkvar [2], gt_day [1], gt_day [2]
	gt_time [1], gt_time [2], int2sec [1], int2sec [2], timstr2ex [1], timstr2ex [2]
 CALLED BY:
	ALIGN1BIGGRAM, ANYTIM_REPORT, BATSE_FLARES_WEEK, BATSE_ON, BATSE_SPEC_GAIN_FDB
	BATSE_TIME_INPUT, BCS, Build_Schedule, CALC_LOI_ROLL, CALIBRATE [1], CARR2DATE
	CARR2EX, CH2KVT, CH2KVT_GAIN, CHECK_FOR_30S, CHECK_OVERFLOW, CHECK_SFC_PNT, CHKPOINT
	CLEAN_GOES, CONT_EDGES, CONT_READ, CP_CATREAD, CP_CATRESET, CP_CATTIME
	CREATE_GIF_HTML, CREATE_HTML, CRYSTAL_RES, Create_update_tar, DATETIME OBJECT
	DATPLOT, DISCSP_BANDS, DISCSP_EDGES, DISCSP_READ, DISPLOI_MON5K, DO_EVENTLISTS
	DO_QLARCHIVE, DROT_NAR, ECI2GEOGRAPHIC, ECL_FRAC, EIT_COPY, EUTPLOT, FDBREAD
	FILT_EVENTS, FIND_DBFILE, FIND_GOOD_OCCS, FIND_PACKET
	FITS WRITER CLASS FOR ANY RHESSI DATA TYPES, FITS_TIME, FLIST, FLISTOC
	FORMAT_INTERVALS, FSOC, FSPLOT, FS_ACC_CONT, FS_ACC_DISCSP, FS_GEN_ARR, FS_GRAPH
	FS_OPEN [1], FS_READ_DD, Fits_spectra [1], Fits_spectra [2], GAP_FILE, GAP_FINDER
	GEOGRAPHIC2ECI, GETGPSaVG [1], GETGPSaVG [2], GETSATaVG, GET_BATSE_POINTING
	GET_DISCSP511, GET_DROT_DUR, GET_FITS_TIME, GET_LAD_GAIN, GET_NAR, GET_OCCS
	GET_OCC_ONDAY, GET_SLLD, GET_SPEC_CAL, GET_SPEC_GAIN, GFITS_R, GFITS_W
	GOES_CHIANTI_TEM, GOES_FITS_FILES, GOES_MEWE_TEM, GOES_TEM, GOES_TF, GOES_TF_COEFF
	GOES_TRANSFER, GOES__DEFINE, GRS_EXTRACT, GRWCH_ST, HESSI
	HESSI CALIBRATED EVENTLIST CLASS DEFINITION [3]
	HESSI FASTRATE CLASS DEFINITION, HESSI IMAGE FILE CLASS DEFINITION [1]
	HESSI IMAGE RAW CLASS DEFINITION [2]
	HESSI IMAGE STRATEGY CLASS DEFINITION
	HESSI MONITOR RATE  CLASS DEFINITION
	HESSI MULTI IMAGE CLASS DEFINITION [2]
	HESSI MULTI IMAGE CLASS DEFINITION [3], HESSI PACKET FILE ABSTRACT CLASS
	HESSI ROLL_DB CLASS DEFINITION, HESSI SIMULATION CLASS DEFINITION
	HESSI SOHDATA CLASS DEFINITION, HESSI Search Lookup Table Index
	HESSI_REF_TIME, HSI_ANY2SCTIME, HSI_ANY_SOHDATA, HSI_ASPECT_SIM
	HSI_BUILD_OBS_TIME, HSI_CLKDELTAFILETIME_2_UT, HSI_CLK_DELTA_WRITE
	HSI_CLOCK_DRIFT, HSI_DO_QLOOK_PLOTS, HSI_EVENTLIST_TEST, HSI_FITS2MAP [1]
	HSI_GET_CLOCK_SYNCH, HSI_GET_TIMEBIN, HSI_IMAGE_TEST [2]
	HSI_IMAGE_TEST__define, HSI_LOCATE_FLARE [2], HSI_LOCATE_FLARE [4]
	HSI_MAP_EVALUATOR [1], HSI_MODEL_TO_SCORE, HSI_NOSAAN, HSI_NPAK_HISTOGRAM
	HSI_ORBFILETIME_2_UT, HSI_PACKET2FITS, HSI_PAK2FILETIMES, HSI_QLOOK_ASPECT
	HSI_QLOOK_SUMMARY_PAGE__DEFINE, HSI_RD_FITS_SPECTRUM, HSI_REF_TIME
	HSI_SCORE2FILE, HSI_SCTIME2ANY, HSI_SEQ_CNT_CHECK, HSI_SET_FILE_TIME
	HSI_SMEXHDR_RCVD_TIME, HSI_SPECTROGRAMCHAN_OVERLAP_FIX
	HSI_SPECTROGRAM_DECIM_CORRECT, HSI_SPECTROGRAM_DECIM_TABLE
	HSI_SPECTRUM__DEFINE, HSI_SRM__DEFINE, HSI_SSR_FILL_PER_ORBIT [2]
	HSI_TIME_N_ORBITS, HSI_TOHBAN_FLARE_COUNTER, HSI_UT_2_CLKDELTAFILETIME
	HSI_VCFILE_PACKET_RATE, HSI_VCFILE_TIMES, HSI_WRITE_LEVEL0, HSI_tplot2any
	HXARCHIVE, HXFITS, HXR2FILE, HXRBS, HXRBS_ESC, HXRFITS_ARCHIVE, HXRFITS_HEAD
	HXRS__DEFINE, HXT_CAL_FIX [1], HXT_CAL_FIX [2], Hessi_obs_summary
	Hsi_contact2fits [1], Hsi_contact2fits [2], Hsi_daily_catalog [1]
	Hsi_daily_catalog [2], Hsi_monitor_rate_read, LAY1GKM, LONLAT2XY, Load_sher
	MAKE_SOLCALTRAJ, MDI__DEFINE, MERGE_DISCSP_HKG_OCC, MJD2ANY, MK_MER_CONT
	NAR2COORD, NEAREST_GEV, NEAR_CONJ, NORH_F2EVF [1], NORH_F2EVF [2], NORH_FIXINDEX
	NORH_IMG2IDX [1], NORH_IMG2IDX [2], NORH_JST2UT [1], NORH_JST2UT [2], NORH_MKSZ
	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_SEL_DIFF [1], NORH_SEL_DIFF [2], NORH_SYNTH_BYF [1], NORH_SYNTH_BYF [2]
	NORH_TCX2IDX [1], NORH_TCX2IDX [2], NORH_TIM2F [1], NORH_TIM2F [2]
	NORH_TRANS_BYF [1], NORH_TRANS_BYF [2], NORH_UT2JST [1], NORH_UT2JST [2]
	NORP_CLB_INTEG, NORP_CLB_SN, NORP_GT_NDATA, NORP_NCLB_TIME, NORP_RDT2DATA_17G
	NORP_RDT2DATA_1G, NORP_RDT2DATA_2G, NORP_RDT2DATA_35G, NORP_RDT2DATA_4G
	NORP_RDT2DATA_80G, NORP_RDT2DATA_9G, NORP_RDT2TIMEJ [1], NORP_RDT2TIMEJ [2]
	NORP_RD_AVG [1], NORP_RD_AVG [2], NORP_RD_DAILY [1], NORP_RD_DAILY [2]
	NORP_RD_DAT, NORP_RD_RDT, OCC_DBASE, ORBIT_DN, ORBIT_INPUT_TIME, PARSE_ATIME [1]
	PARSE_GROSSC_ATTITUDE, PLOTBATSE, PLOTBATSE_QL, PLOT_HSI, PLOT_MAP, PLOT_OCCS
	PLOT_OCC_ONDAY, PROFILES2, PR_PATROLS, PURGE_KAPS, Pointing_Change, QL_DAY_PLOT
	QL_ORBIT_PLOT, QL_PLOTTER, QL_READBDB, RD_GOES, RD_GOES_SDAC, RD_NEAR_PIN [1]
	RD_NEAR_PIN [2], READCOL [3], READQUAL, READ_CONT, READ_DISCLA, READ_HXRS_FITS [1]
	READ_HXRS_FITS [2], READ_HXRS_FITS [3], READ_MINICAT, READ_MONTH_CAT
	READ_OCC_DISCSP, RESTORE_QLOOK, ROLL_PLOT, Radio Spectrogram FITS File reader
	Radiospectrogram FITS File reader [1]
	Radiospectrogram FITS File reader [2], SET_UTAXIS, SITE__DEFINE
	SOLB_PLOT_POINTING [1], SOLB_PLOT_POINTING [2], SOLB_READ_REPOINT [1]
	SOLB_READ_REPOINT [2], SOLB_SPACECRAFT_POINTING [1]
	SOLB_SPACECRAFT_POINTING [2], SOLEPHUT, SPARTAN_PLANNER, SPECPLOT__DEFINE
	SPECTRA2FITS, SPECTROGRAM CLASS DEFINITION, SPECTRUM CLASS DEFINITION
	SPEX_COMMONS [2], SPEX_COMMONS [4], SPEX_DATA_GENX [1], SPEX_DATA_GENX [2]
	SPEX_DRM__DEFINE, SPEX_FITINT__DEFINE, SPEX_GEN__DEFINE, SPEX_PROC [1]
	SPEX_PROC [2], SPEX_SAVE [1], SPEX_SAVE [2], SPEX__DEFINE, STEREO_SIMUL
	SXT_BAKEOUT_IN, SXT_COVERAGE, SXT_ECLIPSE, SXT_EXPOSURE_MAP, Shers_load [1]
	TEMP_BCK_TIME_INTV, TEST_CAL, TIM2CARR, TIMESTAMP, TIME_AXIS__DEFINE, TIME_F_NAME
	TJD2YMD, TOK_RD_DAILY, TRACE_ALIGN_CUBE, TRACE_COPY, TRACE_CUBE_POINTING
	TRACE_GBO, TRACE_MDI_ALIGN, TRACE_SSWHERE [1], TV_SYNOP, TWIDGET, TYKW_RDT2TIMEJ
	TYKW_RD_DAILY, TYKW_RD_DAT, UNFORMAT_INTERVALS, UPDATE_HTML, UTIME [1], UTIME [2]
	UTPLOT_IMAGE, UTPLOT__DEFINE, UT_2_YYDOY [1], VIEW_TRACE_MOSAIC, WRITE_MONTH_CAT
	XSM_VALID, XYPLOT__DEFINE, YMD2TJD, YOHKOH_TERM_PREDICT, ZDEROTATE, ZHDRUNIT
	accum_counts [1], accum_counts [2], anahead2struct, anytim2weekinfo
	auto_bck_find0, avsig_1 [1], avsig_1 [4], avsig_1 [6], avsig_temp
	batse_create_html, batse_sea_html, check_cals, cp_catwidget, cw_ut_range
	data2files, days_til_next_solar_max, db_gbo, decode_gev, default_rate_header
	difference_movie, disp_sci160k [1], disp_sci160k [2], doytim2ints
	drm_4_spex [1], drm_4_spex [2], eit_fulldisk, eit_proton_summary, evt_grid
	find_uvexp, fix_decon_pits, fixinate_trace, flare_hist, get_acedata
	get_epoch_sfcs [1], get_epoch_sfcs [2], get_gevloc_data, get_goes_defsat [1]
	get_goes_defsat [2], get_infox, get_solar_indices, get_utevent [1]
	get_utevent [2], get_utrange, go_sxt_sss2secondary, go_yo_prod_batch
	goes_plot [1], goes_plot [2], goes_plot [3], goes_plot [4], goes_plot [5]
	grid_data [1], grid_data [2], gtab_summary, gtt_orbit, has_overlap [1]
	has_overlap [2], hsi_1orbit_allpak, hsi_anytim_2_filename, hsi_as_sim
	hsi_as_sim_packet, hsi_aspect [1], hsi_aspect [2], hsi_ast_seesource_time
	hsi_ast_sourceangle, hsi_atten_state, hsi_bad_pak, hsi_badpak_test
	hsi_bproj2size, hsi_chk_obj, hsi_cld_sav_init, hsi_clk_delta_calc
	hsi_clock_drift_dxdt, hsi_clock_drift_redo, hsi_clock_drift_soc
	hsi_create_filedb, hsi_cw_ut_range, hsi_data_recovery_fraction
	hsi_decimation_anomaly, hsi_default_resolutions, hsi_default_tailfracs
	hsi_demodulator [1], hsi_do_qlook_image [1], hsi_do_qlook_image [2]
	hsi_earthangle, hsi_endfileinfo_fill, hsi_ephemeris__define
	hsi_ephemeris_concat, hsi_ephemeris_fill, hsi_filedb__define [1]
	hsi_filedb__define [2], hsi_filedb_filename, hsi_filedb_read [1]
	hsi_filedb_read [2], hsi_filedb_write, hsi_filedb_write_ascii
	hsi_filename_2_anytim, hsi_fits_header, hsi_flare2time, hsi_flare_flag
	hsi_flare_id_assign, hsi_flare_id_check, hsi_flare_in_int, hsi_flare_list2ar
	hsi_flare_list2goes [1], hsi_flare_list2goes [2], hsi_flare_list__define [1]
	hsi_flare_list__define [2], hsi_flare_list_fill [1], hsi_flare_list_fill [2]
	hsi_flare_position_image [1], hsi_flare_position_image [2], hsi_format_flare
	hsi_full_sun_image [1], hsi_full_sun_image [2], hsi_gbo, hsi_get_e_edges [1]
	hsi_get_orbit_info, hsi_get_total_time, hsi_getflare, hsi_image__getaxis [2]
	hsi_image_plot, hsi_image_raw__define, hsi_imagefile_2_plotman
	hsi_lambda_vs_t, hsi_last_id_write filename last_id, hsi_locate_flare [1]
	hsi_locate_flare [3], hsi_mod_variance__define, hsi_mod_variance_concat
	hsi_monthly_filename, hsi_mult_filedb_otp, hsi_mult_flare_list_inp
	hsi_mult_qspec, hsi_new_spec_bck, hsi_night_bck, hsi_obs_flag
	hsi_obs_summ_allrates [1], hsi_obs_summ_concat, hsi_obs_summ_fill [1]
	hsi_obs_summ_fill [2], hsi_obs_summ_flag__define, hsi_obs_summ_flag_concat
	hsi_obs_summ_otp, hsi_obs_summ_rate__define, hsi_obs_summ_rate_concat
	hsi_obs_summ_soc__define, hsi_obs_summ_soc_concat, hsi_obs_summ_timarr
	hsi_obs_summ_write, hsi_obs_summary__define [1], hsi_obs_summary__define [2]
	hsi_obs_summary_adapter__define, hsi_obs_summary_concat, hsi_obs_times
	hsi_ok_intv [1], hsi_ok_intv [2], hsi_onedatagap__define, hsi_orbpar4bck
	hsi_params2script, hsi_particle_rate__define, hsi_particle_rate_concat
	hsi_plot_flux, hsi_pmtras_lookup, hsi_print_decimation_state
	hsi_qlook__define, hsi_qlook_call_ospex [1], hsi_qlook_call_ospex [2]
	hsi_qlook_concat, hsi_qlook_image, hsi_qlook_monitor_rate__define
	hsi_qlook_packet_rate__define, hsi_qlook_pointing__define
	hsi_qlook_rate_per_det__define, hsi_qlook_roll_angle__define
	hsi_qlook_roll_period__define, hsi_qlook_spectrum
	hsi_qlook_spin_axis__define, hsi_qspec [1], hsi_qspec [2], hsi_rd_ephfile
	hsi_rd_orbit_files, hsi_rdstatevectorfile, hsi_read_all_flare_list
	hsi_read_vcfiletimes, hsi_replace_flare_list, hsi_select_flare
	hsi_show_flags [2], hsi_show_flare_on_image, hsi_sim_pflux_2_cflux
	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_spectrum__filewrite, hsi_spectrum__fitswrite, hsi_ssr_fill_per_orbit [1]
	hsi_state_vectors, hsi_test_files, hsi_test_packet_rate, hsi_test_qlook
	hsi_time_widget, hsi_ui_flarecat, hsi_ui_img, hsi_ui_img_doimage [1]
	hsi_ui_img_doimage [2], hsi_ui_lc, hsi_ui_obs, hsi_ui_qlimage, hsi_ui_spec
	hsi_vcfile_gaps, hsi_vis_fwdfit, hsi_whichflare, hsi_whole_flare_list
	hsi_write_all_flare_list, hsi_write_decimation_settings
	hsi_write_txt_flare_list, hsi_xy_test [1], hsi_xy_test [2], hsi_xy_test_new
	hxrbs_response, hxrs_drm2fits [1], hxrs_drm2fits [2], hxrs_drm2fits [3]
	image2movie, 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]
	index2fov, kluge_att, lasco_time2file, lasco_time2nrlwww, lastgki, later, lcur_image
	les_archive_info, make_goes_chianti_response [1]
	make_goes_chianti_response [2], make_goes_chianti_response [3]
	make_goes_chianti_response [4], make_grid_sphere, map2index, mark_intervals
	may_eclipse, mdi_time2file, mees_log_read, mees_name_format, mk_mdi_fits
	mk_sff_pair [1], mk_sff_pair [2], mk_ssc [1], mk_ssc [2], mk_ssc_batch [1]
	mk_ssc_batch [2], mk_sumer_dbase_ff, mk_synsfc_coeff [1], mk_synsfc_coeff [2]
	mksort, mon_sci5k, mrdfits_spectra, norh_alpha, norh_t2azel, op_term_score
	option_changer [1], option_changer [2], parse_atime [2], pctime2ssw
	phoenix_filedb_get, phoenix_spg_get, plot_ace, plot_fov [1], plot_goes_ospex
	plotman, plotman_draw_event, plotman_setaxes, plotman_zoom, pmtras_analysis
	pr_his_index [1], pr_his_index [2], pr_his_index [3], ptim, rapp_get_spectrogram
	rd_goesp_ascii, rd_goesx_ascii, rd_mdi [1], rd_mdi [2], rd_sxs_pha [1]
	rd_sxs_pha [2], rd_therm_rs232, rd_wbs_pha [1], rd_wbs_pha [2], rdbda_smm
	read_eit, read_genxcat, read_hessi_4_ospex, read_hessi_4_spex [1]
	read_hessi_4_spex [2], read_hessi_fits_4_spex [1]
	read_hessi_fits_4_spex [2], read_lapalma, read_mdi, read_soxs_4_ospex
	read_trace, read_xsm_4_ospex, read_yohkoh_4_spex [1], read_yohkoh_4_spex [2]
	redo_disploi, redo_mon_sci5k, rhessi_get_spin_axis_position, save_idl_routines
	sec_name_format, soxs_readfile, special_movie, spectro_plot2
	spectrogram__define, spex_bk__define, spex_bkint__define, spex_bksub__define
	spex_data__define, spex_evnt [1], spex_evnt [2], spex_hessi_image__define
	spex_image__define, ssc_files [1], ssc_files [2], ssc_files [3], ssw_build_trace
	ssw_composite, ssw_deltat, ssw_expand_times, ssw_flare_locator, ssw_fov_context
	ssw_fs_cat2db, ssw_getcme_cactus, ssw_getcme_cdaw, ssw_getdst
	ssw_gxd_remove_flares, ssw_javamovie, ssw_nar2armurl, ssw_pos2zenith
	ssw_sec_aktxt2struct, ssw_time2filelist, ssw_time2paths, ssw_timestat
	ssw_track_fov, sswdb_files, sswstruct_fill [1], stt_plot, sxi_files, sxt_files
	sxt_his2dbase, sxt_is_synsfc, sxt_mk3 mk3 index data [1]
	sxt_mk3 mk3 index data [2], sxt_orhis, sxt_prep [1], sxt_prep [2], sxt_prep [3]
	sxt_ssn2fits [1], sxt_uvf_info [1], sxt_uvf_info [3], t_utplot [1], t_utplot [2]
	time_at_meridian, time_window, timegrid, tr_lut_conv, tr_rd_index
	tr_wrt_fits_i1 [2], trace_cosmic2hist_accum, trace_files, trace_get_vignette
	trace_goodobs, trace_movie_index [1], trace_movie_index [2]
	trace_recent_movie_summary, trace_sswhere [2], trace_sswhere [3]
	trace_sswhere [4], trace_wave2point, ut_2_yydoy [2], ut_label, valid_time_range
	wbs_response [1], wbs_response [2], week_loop [1], week_loop [2], week_loop [3]
	weeks_in_year [1], weeks_in_year [2], where_are [1], where_are [2]
	which_hessi_version, write_genxcat, xy2lonlat, xzchange, yo_index2path
	yoh_orb_interp [1], yoh_orb_interp [2], yohkoh_files, yohkoh_legacy_files [1]
	yohkoh_legacy_files [2], zcheck_hdr, zmovify, ztrack
OPTIONAL KEYWORD INPUT:
   out_style - Output representation, specified by a string:.r ../anytim

       INTS    - structure with [msod, ds79] - day 0 N.B. 31-dec-1978
      IDL> help,/st,anytim('1-jan-1979',/ints)
          ** Structure ANYTIM2INTS_FULL, 2 tags, length=8, data length=8:
             TIME            LONG                 0
             DAY             LONG                 1
     STC     - same as INTS
           2XN        - longword array [msod,ds79] X N
           EX         - 7 element external representation (hh,mm,ss,msec,dd,mm,yyyy)
     UTIME    - Utime format, Real*8 seconds since 1-jan-79, DEFAULT!!!!
               SEC     - same as Utime format
               SECONDS - same as Utime format
     TAI  - standard seconds from 1-jan-1958.  Includes leap seconds unlike "SECONDS" output.
      NB- The TAI format cannot be used as an input to ANYTIM because it will be interpreted as
      number of days (in seconds) from 1-jan-1979.
     ATIME   - Variable Atime format, Yohkoh
        Yohkoh style - 'dd-mon-yy hh:mm:ss.xxx'   or
        HXRBS pub style  - 'yy/mm/dd, hh:mm:ss.xxx'
        depending on atime_format set by
        hxrbs_format or yohkoh_format
     YOHKOH  - yohkoh style string
     HXRBS   - HXRBS Atime format /pub, 'yy/mm/dd, hh:mm:ss.xxx'
               YY/MM/DD- same as HXRBS
     MJD     - UTC-type structure
      = The UTC date/time as a data structure with the
        elements:

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

        Both are long integers.
     UTC_INT - Same as MJD
     UTC_EXT - UTC external format, a structure
               containing the elements, YEAR, MONTH, DAY, HOUR, MINUTE,
               SECOND, and MILLISECOND as shortword integers.
     CCSDS   - A string variable containing the calendar date in the
       format recommended by the Consultative Committee for
       Space Data Systems (ISO 8601), e.g.

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

     ECS     - A variation on the CCSDS format used by the EOF Core
       System.  The "T" and "Z" separators are eliminated, and
       slashes are used instead of dashes in the date, e.g.

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

     VMS     - Similar to that used by the VMS operating system, this
       format uses a three-character abbreviation for the
       month, and rearranges the day and the year, e.g.

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

     STIME   - Based on !STIME in IDL, this format is the same as the
       second accuracy, e.g.
       VMS format, except that the time is only given to 0.01
       second accuracy, e.g.

          "18-JAN-1988 17:20:43.12"
     SYSTEM  -  Based on IDL's system time, seconds from 1-jan-1970
     TAI   - another seconds from time specification. This time from
     1-jan-1958 including leap seconds

   or by keywords
     /ints   -
           /stc
     /_2xn
     /external
     /utime
     /seconds
     /atimes
     /yohkoh
     /hxrbs
     /yymmdd
     /mjd
     /utc_int
     /utc_ext
     /ccsds
     /ecs
     /vms
     /stime
     /TAI

   mdy   - If set, use the MM/DD/YY order for converting the string date

     date_only - return only the calendar date portion,
                     e.g. anytim('93/6/1, 20:00:00',/date_only,/hxrbs) ==> '93/06/01'
     time_only - return only the time of day portion
                     e.g. anytim('93/6/1, 20:00:00',/time_only,/hxrbs) ==> '20:00:00.000'
   truncate - truncate the msec portion of the time displayed in strings.
   FIDUCIAL - string input
     If the string contains 'tai' or 'sys' then the fiducial used to interpret
     seconds input and output is changed from the default one of 1-jan-1979 to
     1-jan-1970 or 1-jan-1958 respectively.  Otherwise the 1-jan-1979 epoch is
     used to reference double precision floating point values.
   ORDINATE - the number of elements in this variable is compared to the number of elements
     in item if item is an integer format. If the ratio of number of elements is 2 or 7 then
     the routine will interpret item as being in the 2xN or 7xN formats
keyword output:
   error - set if an error, dummy for now, ras 18-Nov-93
restrictions:
   one dimensional or scalar longwords will be interpreted as
   double precision seconds unless they have either two or seven
   elements
       Should not be used to interpret an array of mixed string formats.
       If the formats are mixed then the array should be processed element by element.
HISTORY:
   Written 31-Oct-93 ras
   modified 4-jan-94 ras, made argument recognition more robust
     also made output dimensions similar for /yohkoh  and /hxrbs
   modified 25-jan-94 ras, made SEC or SECONDS work
   ras 30-jan-94, fixed string outputs for /date and /time
   ras 9-feb-94, fixed typo
   ras 15-jun-1995, integrated Bill Thompson's UTC formats, for input and output
     start adjusting to 4 digit years
   ras, 20-jun-1995, put calls to utc functions inside call_function to reduce need
   to include utc directories, default structure is Yohkoh as before,
   utc structures are tested for explicitly
       ras, 23-jun-1995, stopped searching for 'T' to identify CCSDS format, now 'Z'
      made sear for 4 digit year more exacting
   ras, 28-jul-95, restored item using item_old if necessary
   Version 11, ras, 27-mar-1997, added truncate keyword
   Version 12, ras, 16-jul-1997, fixed truncation problem with date strings
   using atime, yohkoh, hxrbs, or yymmdd keywords.
   Version 13, richard.schwartz@gsfc.nasa.gov
     1. Supports input and output of 4 digit years.
     2. Longword support on all integer day structures.
     3. No modulo reduction of ex year format.
     4. Simplify structure checking for input.
   Version 14, richard.schwartz@gsfc.nasa.gov, 24-oct-1997, cleared bug in checking tags
   in structure inhibiting finding of yohkoh gen tag.  Bug put in on mod 13.
   Version 15, richard.schwartz@gsfc.nasa.gov, 28-oct-1997, DATE and TRUNCATE
   keywords can be used together with vms, ecs, and stime output format
   without producing null strings, same effect as using only DATE keyword.
   Version 16, richard.schwartz@gsfc.nasa.gov, 30-oct-1997, change
   time and date keywords to time_only and date_only for consistency
   with SSW/gen/idl/time routines by W. Thompson.
   Version 17, richard.schwartz@gsfc.nasa.gov, 16-Mar-1998, scalar output for EX format
   in only 1-D array.
   Version 18, richard.schwartz@gsfc.nasa.gov, 20-Apr-1998, added TAI output and supports
       'hh:mm:ss.xxx yy/mm/dd' now.
       Version 19, richard.schwartz@gsfc.nasa.gov, 13-aug-1998, route 4+ month strings to STR2UTC.
   Version 20, richard.schwartz@gsfc.nasa.gov, 9-sep-1998, converts 2 digit years in EXternal format to
   4 digit years using 1950-2049 window.
   Version 21, richard.schwartz@gsfc.nasa.gov, 24-oct-1998, passes double and single precision seconds through
   unchanged except float converted to double.
   Version 22, richard.schwartz@gsfc.nasa.gov, 12-nov-1999, uses error code in str2utc to trap errors for that
   function.
   Version 23, richard.schwartz@gsfc.nasa.gov, 15-dec-1999, handle strings like dd/mon/yy with STR2UTC.
   Version 23, richard.schwartz@gsfc.nasa.gov, 20-jun-2000.  Fixed problem with non 1d structures. Now
   it can handle them and return the same dimensions.
   Version 24, richard.schwartz@gsfc.nasa.gov, 16-feb-2001. Made compatible with new timstr2ex.
   Version 25, richard.schwartz@gsfc.nasa.gov, 2-apr-2001. Use input dimensions for output as default
   when possible, that is for all input/output formats except 2xN and 7xN int and longword. Also, treat
   single element string arrays as scalars for output.
   Version 26, richard.schwartz@gsfc.nasa.gov, 14-jun-2001. unsigned and double long integers
   are now supported identically to normal integers within anytim.
   1-jul-2001, richard.schwartz@gsfc.nasa.gov, replace [0] with (0)
   2-jul-2002, richard.schwartz@gsfc.nasa.gov, changed documentation re fiducial for
     INTS (STC) output and input formats.
   8-sep-2005, richard.schwartz@gsfc.nasa.gov, fix longword input for seconds roundoff
     problem.
   21-dec-2005, richard.schwartz@gsfc.nasa.gov, added FIDUCIAL to allow switching
     time bases from idl system of 1-jan-1970, to hxrbs standard 1-jan-1979, or tai system
     starting 1-jan-1958 but including leap seconds
   6-jan-2006, added test routine for determining seconds input format. Assumes that floats and
     doubles are seconds as before, organizes the acceptance of integer formats better. Integers
     are accepted as long as they aren't blocked 2xN or 7xN which are assumed to be special
     integer formats EXTERNAL and _2xn, added keyword ordinate which can be used
     with item to eliminate ambiguity of the integer formats.


ANYTIM2CAL $SSW/gen/idl/time/anytim2cal.pro
[Previous] [Next]
 Project     : SOHO - CDS     
                   
 Name        : ANYTIM2CAL()
               
 Purpose     : Converts (almost) any time format to calendar format.
               
 Explanation : Tests the type of input and tries to use the appropriate
               conversion routine to create the date/time in a user
               selectable calendar format for, for example, printing in
               documents, tables etc.
               
 Use         : IDL>  utc = anytim2cal(any_format, form=xx)
    
 Inputs      : any_format - date/time in any of the acceptable CDS 
                            time formats -- for acceptable formats see file 
                            aaareadme.txt.
               
 Opt. Inputs : None
               
 Outputs     : Function returns string array in format requested.
               
 Opt. Outputs: None
               
 Keywords    : 
      FORM  = n   where... 
			    n		  output format
			    0		dd/mmm/yy hh:mm:ss  [default]
			    1		dd-mmm-yy hh:mm:ss
			    2		dd/mm/yy  hh:mm:ss
			    3		dd-mm-yy hh:mm:ss
			    4		mm/dd/yy hh:mm:ss
			    5		mm-dd-yy hh:mm:ss
			    6		yy/mm/dd hh:mm:ss
			    7		yy-mm-dd hh:mm:ss
			    8		yyyymmddhhmmss
                           9           dd-mmm-yyyy hh:mm:ss.sss (VMS-like)
                          10           dd-mmm-yyyy hh:mm:ss.ss (!stime-like)
                          11           yyyy/mm/dd hh:mm:ss.sss (cpt use)
			    etc TBD
      DATE   - Output only the date in format above.
      TIME   - Output only the time in format above.
      MSEC   -	Include milliseconds in the "ss" fields above (="ss.sss").
      ERRMSG - If defined and passed, then any error messages will be returned
               to the user in this parameter rather than being printed to
               the screen.  If no errors are encountered, then a null string 
               is returned.  In order to use this feature, the string ERRMSG
               must be defined first, e.g.,

                   ERRMSG = ''
                   ANYTIM2CAL, DT, ERRMSG=ERRMSG, ...
                   IF ERRMSG NE '' THEN ...

 Calls       : ***
	ANYTIM2UTC [1], ANYTIM2UTC [2], CHECK_EXT_TIME, PRINT_STR, SAFE_STRING, TRIM
	UTC2STR
 CALLED BY:
	ANYTIM2UTC [1], ANYTIM2UTC [2], CAT_FITS, CDS_VEL_SLICE [1], CHIANTI_NE
	CHIANTI_TE, CH_LINE_LIST, DROT_COORD, DROT_RASTER, EIS_CPT_COMMAND_STORE_ADD [1]
	EIS_CPT_COMMAND_STORE_ADD [2], EIS_CPT_DAISY_CHAIN [1]
	EIS_CPT_DAISY_CHAIN [2], EIS_CPT_DATARATE_OUTPUT [1]
	EIS_CPT_DATARATE_OUTPUT [2], EIS_CPT_DATA_RATE_PROCESS [1]
	EIS_CPT_DATA_RATE_PROCESS [2], EIS_CPT_NOW [1], EIS_CPT_NOW [2]
	EIS_CPT_OBSTBL [1], EIS_CPT_OBSTBL [2], EIS_CPT_TIMEFORMAT [1]
	EIS_CPT_TIMEFORMAT [2], EIS_CPT_TIMELINE_ITEM_OUTPUT [1]
	EIS_CPT_TIMELINE_ITEM_OUTPUT [2], EIT_DAILY, EIT_PREP, EXPORT_PLAN
	GET_CDS_TEMPS, GET_ORBIT [1], GET_ORBIT [2], GET_ORBIT_CDF, GET_ORBIT_CDF2
	GET_ORBIT_FITS, GET_SC_ATT [1], GET_SC_ATT [2], LIST_FITS, MK_SYNOPTIC
	ORBIT_FILE_TYPE, PLOT_HKLZ, QCALIB, QWAVECAL, READ_FULL_ATT, READ_SC_ATT, SHOW_CDHS
	SHOW_PLAN, SHOW_SYNOPTIC, TP_WRT_IEF, WPLOT_NONOP, WPLOT_SUBHTR [2], ch_ss
	eis_cpt_gui [1], eis_cpt_gui [2], eis_dr_obj__DEFINE [1]
	eis_dr_obj__DEFINE [2], eis_ti2utc [1], eis_ti2utc [2], sgt_raster_time
 Common      : None
               
 Restrictions: None
               
 Side effects: If no parameters are passed, ERRMSG is returned as a string
               array.  If any other error occurs and ERRMSG is set, ERRMSG
		is returned as a string of '-1'.
               
 Category    : Util, time
               
 Prev. Hist. : None

 Written     : C D Pike, RAL, 24-May-94
               
 Modified    :	Version 1, C.D. Pike, RAL, 24 May 1994
		Version 2, Donald G. Luttermoser, GSFC/ARC, 20 December 1994
			Added the keyword ERRMSG.  Added forms 4 and 5.
               Version 3, CDP, make work with vector input and
                               added formats 6 & 7.   5-Jan-95
               Version 4, CDP, fix round off giving 60 in seconds field.
                               23-Jan-95
		Version 5, William Thompson, GSFC, 25 January 1995
			Changed to call intrinsic ROUND instead of NINT.  The
			version of NINT in the Astronomy User's Library doesn't
			automatically select between short and long integers as
			the CDS version does.
		Version 6, Donald G. Luttermoser, GSFC/ARC, 30 January 1995
			Added ERRMSG keyword to internally called procedures.
		Version 7, Donald G. Luttermoser, GSFC/ARC, 8 February 1995
			Added form 8.  Allowed for input to be either scalar
			or vector.
		Version 8, Donald G. Luttermoser, GSFC/ARC, 13 February 1995
			Added the /MSEC keyword.  Streamlined code to get
			rid of redundancies.
		Version 9, William Thompson, GSFC/ARC, 16 February 1995
			Rewrote to call CHECK_EXT_TIME.  This is used instead
			of the logic introduced in version 4 for checking the
			validity of the time returned.
               Version 10 Fixed array input bug in /msec code.  CDP, 20-Feb-95
               Version 11 Add VMS and !stime-like formats 9/10. CDP, 15/3/95
               Version 12 Add type 11 format.  CDP, 15-DEc-95
		Version 13, 18-Mar-1998, William Thompson, GSFC
			Use SAFE_STRING instead of STRING
               Version 14, 27-Apr-2005, William Thompson, GSFC
                       Fix problem with FORM=11 and /DATE or /TIME

 Version     :	Version 13, 18-Mar-1998


ANYTIM2CDF $SSW/gen/idl/time/anytim2cdf.pro
[Previous] [Next]
 Project     : STEREO - SSC
                   
 Name        : ANYTIM2CDF()
               
 Purpose     : Convert CDS time values to CDF epoch values
               
 Explanation : This procedure calls ANYTIM2UTC and CDF_EPOCH to convert CDS
               time values to the "CDF_EPOCH" datatype used within Common Data
               Format files.

 Use         : EPOCH = ANYTIM2CDF(DATE)
    
 Inputs      : DATE = Array of epoch values from a CDF file.
               
 Opt. Inputs : None
               
 Outputs     : Function returns the dates converted into CDF_EPOCH format.
               The CDF documentation describes this as the number of
               milliseconds since 1-Jan-0000.  (Experiment shows that this
               value omits leap seconds.)
               
 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 = ANYTIM2CDF( DATE, ERRMSG=ERRMSG )
				IF ERRMSG NE '' THEN ...

               Also accepts any keywords for ANYTIM2UTC

 Calls       : ***
	ANYTIM2UTC [1], ANYTIM2UTC [2], UTC2TAI
 Common      : None
               
 Restrictions: None
               
 Side effects: If an error condition is encountered, and the ERRMSG keyword is
               used, then the single value -1 is returned.

               Leap seconds, e.g. "2005-12-31T23:59:60", are treated as the
               same as the first second of the next day.  The previous
               behavior was to treat them as a repeat of 23:59:59.
               
 Category    : CDF, Time
               
 Prev. Hist. : None

 History     :	Version 1, 11-Jan-2006, William Thompson, GSFC
               Version 2, 17-Feb-2006, William Thompson, GSFC
                       Speed up by using CDF_EPOCH only for a single date, and
                       then using UTC2TAI with /NOCORRECT for more
                       processing.  Note that this changes the behavior of
                       leap seconds.

 Contact     :	WTHOMPSON


anytim2dd79 $SSW/gen/idl/time/anytim2dd79.pro
[Previous] [Next]
Name:
	anytim2dd79
Purpose:
	Convert time in any standard format to decimal d79,
Input:
	TIME_ARR - The usual suspects
Output:
	N vector of dd79's
 CALLS: ***
	Ex2Int [1], Ex2Int [2], anytim2ex [1], anytim2ex [2]
 CALLED BY:
	GET_SUMER_FLAT, mk_sumer_dbase_ff, sumer_ffdb
History:


anytim2doy [1] $SSW/gen/idl/genutil/anytim2doy.pro
[Previous] [Next]
NAME:
	anytim2doy
PURPOSE:
	Given a time in the form of a (1) structure, (2) 7-element time
	representation, or (3) a string representation, 
	return the day of the year for that day
CALLING SEQUENCE:
	xx = anytim2doy(roadmap)
	xx = anytim2doy('12:33 5-Nov-91')
INPUT:
	tim_in	- The input time
		  Form can be (1) structure with a .time and .day
		  field, (2) the standard 7-element external representation
		  or (3) a string of the format "hh:mm dd-mmm-yy"
 CALLS: ***
	anytim2ex [1], anytim2ex [2], anytim2ints [1], anytim2ints [2]
 CALLED BY:
	auto_toban, mees_name_format, mk_bad_pix_map_load, mk_daily_ints, mk_nar [1]
	mk_nar [2], sec_name_format, timeline, topsdb [1], topsdb [2], web_seq
OPTIONAL KEYWORD INPUT:
	string	- If set, return the output in the form YYDDD (ie: 98020)
OPTIONAL KEYWORD OUTPUT:
	year	- The year for the time(s) passed in
HISTORY:
	Written 7-Jun-92 by M.Morrison
	11-Jan-94 (MDM) - Updated the header information
	18-Feb-98 (MDM) - Added /STRING option
	 5-Mar-98 (MDM) - Changed from STRING to FSTRING
			- Changed logic to do '1-Jan-YY' conversion
			  once per year rather than the full array
			  (speeds it up considerably for 


anytim2ex [1] $SSW/gen/idl/time/anytim2ex.pro
[Previous] [Next]
NAME:
	anytim2ex
PURPOSE:
       Given a time in the form of a (1) structure, (2) 7-element time
       representation, or (3) a string representation, or (4) an array
       2xN where the first dimension holds (MSOD, DS79)
	convert to the 7-element time representation (hh,mm,ss,msec,dd,mm,yy)
CALLING SEQUENCE:
	xx = anytim2ex(roadmap)
	xx = anytim2ex('12:33 5-Nov-91')
	xx = anytim2ex([0, 4000])
INPUT:
	tim_in	- The input time
		  Form can be (1) structure with a .time and .day
		  field, (2) the standard 7-element external representation
		  or (3) a string of the format "hh:mm dd-mmm-yy"
 CALLS: ***
	Int2Ex [1], Int2Ex [2], gt_day [1], gt_day [2], gt_time [1], gt_time [2]
	timstr2ex [1], timstr2ex [2]
 CALLED BY:
	ACOPY [1], ADDTIME [1], ADDTIME [2], ALIGN_AR, ANAL_BCS_PHA, BCS_ADDGOES
	BCS_BROWSE24, BCS_LOAD_CAT, BCS_SPMOVIE [1], BCS_SPMOVIE [2], BUILD_SSX, CARR2EX
	CV_BSC2BSD, DISK_SUMMARY, DISPLOI_MON5K, DR, DSN_DMP_FINDER, DSN_FINAL, EUTPLOT
	GBO_HEL, GET_FRAME_TIME, GET_SID, GET_SUBARR2, GET_TRACUBE, GET_TRANGE
	GO_DSN_FINAL [1], GO_DSN_FINAL [2], G_H, HXTPIXON, HXT_QLOOK, JD2EX, MK_BSC [1]
	MK_BSC [2], MK_ORB_WEEK, OBS_PLOT, OP_ADD_SPECIAL, OUTPLOT [1], OUTPLOT [2]
	OUTPLOT [3], OUT_GRSPHL1, OUT_GRSPHL2, OUT_HXSPH, PRINT_OP, RD_AR, READ_SPFDGRS
	READ_SPFDHXS, SEL_AR, TIM2JD [1], TIM2JD [2], TV_SSX, UPDATE_SXT_CO_INDEX
	UPDATE_TERM, UTPLOT [1], UTPLOT [2], UTPLOT [3], UTPLOT [4], UTPLOT [5], WBDA [1]
	WBDA [2], WBS_DB2, WOBS_PLOT, any_decay_time, any_fsp, anyrts, anytim2dd79
	anytim2doy [1], anytim2doy [2], anytim2weekid [1], anytim2weekid [2]
	anytim2weeks [1], anytim2weeks [2], ar_prep, auto_bck_find, auto_toban
	bbso_copy [1], bbso_copy [2], bbso_name_fix, cam_run_sum, cancel_dsn_fil
	cfl_summary [1], cfl_summary [2], check_compile [1], check_compile [2]
	check_dumps [1], check_sci5k_trunc, chk_flares [1], chk_flares [2], contacts [1]
	contacts [2], daily_forecast [2], days_2_xmas, disp_sci5k, disp_therm_rs232
	do_reg_backup, doy2ex [1], doy2ex [2], dsn_input, event_movie [1], event_movie [2]
	file_info2 [1], file_info2 [2], fits2time [1], fits2time [2], fits2time [3]
	fits_disp_month [1], fits_disp_month [2], gbo_pfi, get1hk_info [1]
	get1hk_info [2], get_gbo_pfi, get_hk_info [1], get_hk_info [2], get_mk3 [1]
	get_mk3 [2], get_sfm, get_sirius_yr, get_sunset, getm1ans, go_lasdisk golaserdisk
	go_lasdisk2 golaserdisk, go_nvs5, goes3sec_copy, goes_teem, goesem_eqn [1]
	goest_eqn [1], grs32_fsp, grsl_fsp, gtab_file, hxi_interp, hxs_fsp, hxsgrs_fsp
	hxt_fsp, hxt_fsp1, hxt_sources, hxtimg_accum, interp_arr [1], interp_arr [2]
	interp_arr [3], interp_img, ip_que_dmpver, jitter_gif_xyimg, kp_name_fix
	ksc_commands, last_lc, laststat [1], laststat [2], launch [1], launch [2], mk_aoslos
	mk_bad_pix_map_load, mk_daily_ints, mk_gbl, mk_gev [1], mk_gev [2], mk_gsn_obs
	mk_gsn_obs_s1, mk_gx, mk_hst_summary, mk_imgsum_html, mk_lasteit_movie
	mk_mdi_fits, mk_mdi_iap, mk_op_file, mk_orbit_files, mk_pnt, mk_ptv_title, mk_sd2
	mk_sdc [2], mk_sdc [3], mk_sdc [4], mk_sdl, mk_sfc [1], mk_sfc [2], mk_sl [1]
	mk_sl [2], mk_sot, mk_ssl, mk_trace_i1, mk_week_file [1], mk_week_file [2]
	monthly_summary, mplot_nar, mult_th_fsp, mwlt_select, new_disp_sci5k [1]
	new_disp_sci5k [2], nob_img_copy, nob_name_fix, norik_name_fix, op_facom_ftp
	op_get_special, plot_ar_pfi, plot_nar [1], plot_nar [2], plot_ref, plot_trav [1]
	plot_trav [2], plot_trav [3], pr_evn [2], pr_nar, pr_trav_summ, pref_super
	print_ogsel, rd_gbl_raw [1], rd_gbl_raw [2], rd_goes_fits, rd_lonlat, rd_sci5k
	rd_so_at_ftr, rd_therm_rs232, rd_week_file [1], rd_week_file [2]
	rd_week_file [3], rd_week_file [4], redo_disploi, redo_mon_sci5k, reslot, sda2fits
	selsis_copy [1], selsis_copy [2], seq_run_sum [1], seq_run_sum [2], sft2sfc
	soon2fits, sxt2file, sxt2mpeg, sxt_interp [1], sxt_interp [2], sxthxt_fsp, sxtth_hxt
	syst2ex [1], syst2ex [2], syst2ex [3], term_times, time_2_fileid, timeline
	topsdb [1], topsdb [2], tr_reformat, unixtime2ex, ut_time [1], ut_time [2], web_seq
	week2ex [1], week2ex [2], weekid [2], weekid2ex [1], weekid2ex [2], weekid2ex [3]
	wfile, xdisp_fits, xdisp_trace [1], xdisp_trace2, xdisp_trace3, xhkplot, xread_hist
	xset_chain [1], xset_chain [2], xwrite_hist, ycopy, ydb_exist [2], ydump
OPTIONAL KEYWORD INPUT:
	mdy	- If set, use the MM/DD/YY order for converting the string date
HISTORY:
	Written 15-Nov-91 by M.Morrison
	 5-Jan-93 (MDM) - Added /MDY option for TIMSTR2EX
	11-Jan-93 (MDM) - Updated document header


anytim2ints [1] $SSW/gen/idl/genutil/anytim2ints.pro
[Previous] [Next]
NAME:
	anytim2ints
PURPOSE:
	Given a time in the form of a (1) structure, (2) 7-element time
	representation, or (3) a string representation, or (4) an array 
	2xN where the first dimension holds (MSOD, DS79)
	convert to the a simple structure with .TIME and .DAY
CALLING SEQUENCE:
	xx = anytim2ints(roadmap)
	xx = anytim2ints('1-sep-91', off=findgen(1000)*86400)
	xx = anytim2ints('12:33 5-Nov-91')
	xx = anytim2ints([0, 4000])
INPUT:
	tim_in	- The input time
		  Form can be (1) structure with a .time and .day
		  field, (2) the standard 7-element external representation
		  or (3) a string of the format "hh:mm dd-mmm-yy"
 CALLS: ***
	CHECK_TIME, Ex2Int [1], Ex2Int [2], gt_day [1], gt_day [2], gt_time [1], gt_time [2]
	timstr2ex [1], timstr2ex [2]
 CALLED BY:
	ANAL_BCS_PHA, ANAL_STIMS, ANYTIM2MSV, Alt_tim_sel, BCS_24HR_PLOT [1]
	BCS_24HR_PLOT [3], BCS_CONT [1], BCS_CONT [2], BCS_SPMOVIE [1], BCS_SPMOVIE [2]
	BCS_TVEC, BSC_TIM2DSET, BUILD_SSX, CARR2EX, CCCA, CONV_A2H [1], CONV_A2H [2]
	CONV_H2A [1], CONV_H2A [2], CONV_LP2INDEX, CV_BSC2BSD, DISPLOI_MON5K, DO_TEEM
	DSN_DMP_FINDER, FE25_BSC_TEMP, FIRST_LIGHT [1], FIRST_LIGHT [2], FITIM2INTS
	FITS_TIME, GET_FRAME_TIME, GET_LATLON, GET_SUBARR2, GET_SUNCENTER [1]
	GET_SUNCENTER [2], GET_TIME_LAPSE, GET_TRACUBE, GOES2DPE, GOES_TEK [1]
	GOES_TEK [2], GOES_TODAY, GT_BSC_TIME, Goes_bck0, HELIOCENTRIC, HXASCAN2HXAXY
	HXTIMG2INTS, HXTPIXON, HXT_FLARE_POS, HXT_IMAGE_TIME, HXT_LCURVE, HXT_QLOOK
	HXT_TIME2FRAME, IRUHXA2SXT, IRUHXASCAN2SXT [1], IRUHXASCAN2SXT [2], JD2EX
	MAKE_VTRANGE, MK_ORB_WEEK, MSV2INTS, NORH_IMG2IDX [1], NORH_IMG2IDX [2]
	NORH_JST2UT [1], NORH_JST2UT [2], NORH_PR_EVX [1], NORH_PR_EVX [2]
	NORH_TCX2IDX [1], NORH_TCX2IDX [2], NORH_TSX2IDX [1], NORH_TSX2IDX [2]
	NORH_UT2JST [1], NORH_UT2JST [2], NORP_RDT2DATA_17G, NORP_RDT2DATA_1G
	NORP_RDT2DATA_2G, NORP_RDT2DATA_35G, NORP_RDT2DATA_4G, NORP_RDT2DATA_9G
	NORP_RD_DAT, OBS_PLOT, OVER_THE_LIMB, PLOT_BSC_AS2, PLOT_CLON, PP_MWLT2SXT
	PP_SXT2VLA, QUICKATT [1], QUICKATT [2], QUICKDARK [2], RD_HXT_DBOOK, SSDA
	SXT_OBSRPT, Sxt_goes_teem, TIM2JD [1], TIM2JD [2], TIM2UPOS, TRACE_MDI_ALIGN
	TRACE_SSWHERE [1], TV_SSX, TV_SYNOP, TYKW_RD_DAT, ULYSSES_FEM, VIEW_TRACE_MOSAIC
	WBS_DB2, WOBS_PLOT, XMOVIE_SFM, adjust_times, ads_into_att, ads_into_pnt
	adsdirs [1], adsdirs [2], align_hxi, align_prep [1], align_prep [2]
	align_prep [3], any_decay_time, anystr2tim [1], anystr2tim [2], anytim [1]
	anytim [2], anytim [3], anytim [4], anytim [5], anytim2doy [1], anytim2doy [2]
	anytim2weekid [1], anytim2weekid [2], anytim2weeks [1], anytim2weeks [2]
	ars2_plan, atr2hxa_dbase, auto_bck_find, auto_toban, bbso_copy [1], bbso_copy [2]
	bck_interval, bcs_clock_fix, bcs_trange, box_sxtth_hxt, build_timarr [1]
	build_timarr [2], cam_run_sum, ccd_hdr_info, cfl_summary [1], cfl_summary [2]
	check_oldprocess [1], check_oldprocess [2], check_oldprocess [3]
	check_oldprocess [4], check_sci5k_trunc, choose_interval, cnvt [2]
	cont2time [1], cont2time [2], contact_num [1], contact_num [2], contacts [1]
	contacts [2], conv_a2ap, conv_a2p [1], conv_a2p [2], conv_p2a [1], conv_p2a [2]
	copy_visible, dat2bsc, days_2_xmas, deciyr2ints, decode_gev, def_yssysv [1]
	def_yssysv [2], delete_week [1], delete_week [2], disp_sci5k, disp_therm_rs232
	do_ads, do_tr_reformat, doy2ex [1], doy2ex [2], doytim2ints, dps_fname2time
	ea_view_angle [2], edac_summary, emi_plot [1], event_movie [1], event_movie [2]
	evt_grid, ex2week [1], ex2week [2], fem_grid [1], fem_grid [2], file_info2 [1]
	file_info2 [2], fits_disp_month [1], fits_disp_month [2], fix_hxtindex
	fl_mktext, fort2hxi [1], fort2hxi [2], gbo_pfi, get1gbo, get1hk_info [1]
	get1hk_info [2], get_ar, get_atr, get_att, get_del_pnt, get_hk_info [1]
	get_hk_info [2], get_hxt_pos, get_ksc_holiday, get_mk3 [1], get_mk3 [2]
	get_mwlt_roll, get_orb_epoch, get_pnt, get_rb0p [1], get_rb0p [2], get_roll
	get_selsis, get_seq_tab, get_sfm, get_sirius [1], get_sirius [2], get_suncenter2
	get_sunset, get_sxa, get_utevent [1], get_utevent [2], go_teem [1], go_teem [2]
	go_teem_nn, go_teem_t, goes2str, goes3sec_copy, goes_gaps, goes_log, goes_plot [1]
	goes_plot [2], goes_plot [3], goes_plot [4], goes_plot [5], goes_summary
	goes_teem, goesem_eqn [1], goest_eqn [1], grs32_fsp, grsl_fsp, gt_day [1]
	gt_day [2], gt_time [1], gt_time [2], gtab_summary, gtt_info, gtt_orbit, hkplot_info
	hxi_interp, hxs_chsums, hxs_fsp, hxsgrs_fsp, hxt_chsums, hxt_fsp, hxt_fsp1, hxt_utplot
	hxtaccumulate, hxtimg_accum, image2movie, in_fov, int2secarr [1], int2secarr [2]
	interpol_yoh, ip_que_dmpver, iperr_sea, jitter_gif_xyimg, jst, killold [1]
	killold [2], ksc_commands, last_lc, list_nrt_times, list_tfi, mk_att [1], mk_att [2]
	mk_daily_ints, mk_evn [1], mk_evn [2], mk_fem [1], mk_fem [2], mk_gbl, mk_gsn_obs
	mk_gsn_obs_s1, mk_gx, mk_hst_summary, mk_mdi_fits, mk_mdi_iap, mk_mo_log, mk_obs_str
	mk_orbit [1], mk_orbit [2], mk_pnt, mk_sdm, mk_sdmi, mk_sfc [1], mk_sfc [2]
	mk_sun_mosaic, mk_timarr [1], mk_timarr [2], mk_trace_i1, mk_week_file [1]
	mk_week_file [2], mk_ydbtab, mon_health [1], mon_health [2], mon_sci5k
	monthly_summary, mwlt_select, mwlt_tape2jpeg, new_disp_sci5k [1]
	new_disp_sci5k [2], new_edac_summary, new_mon_health [1], new_mon_health [2]
	nn_rd3_sxt_noaa, nob_img_copy, obs_summary, op_times, oplot_nts, pfi_dominant
	pfi_loc, pl_dt_genx, pl_monitor_center, plot_door_open, plot_evn, plot_fem
	plot_fov [1], plot_gbl [1], plot_gbl [2], plot_gsn, plot_loi_mmad
	plot_loi_summary [1], plot_loi_summary [2], plot_pzt_corr, plot_shutter_perf
	plot_ssw_fov, plot_therm_rs232a, plot_therm_rs232c, plot_trav [1], plot_trav [2]
	plot_trav [3], plott_bda, plott_hda, plott_wda, ploty [1], ploty [2], pr_evn [2]
	pr_fem, pr_gbe, pr_gev, pr_gsn [1], pr_gsn [2], pr_his_index [1], pr_his_index [2]
	pr_his_index [3], pr_nar, pr_nel, pr_seq_frame_info, pr_sxtobs, pr_tim2week [1]
	pr_tim2week [2]
	pro interpretfemfemfemtimefemflgfemstrfemstrverboseverbose
	pro loadopfemfiletimeOGfemverboseverbose
	pro loadoptextfiletimeOGverboseverbose
	pro plotogonalgdogtimeogfemtimefemflgstarttimestarttimeendtimeendtimepsps
	pro showaoslosgdfemtimefemflg, quick_hkplot [1], quick_hkplot [2]
	quick_plottrav, rd_gbl_raw [1], rd_gbl_raw [2], rd_goes3sec [1], rd_goes3sec [2]
	rd_goes_fits, rd_gxd [1], rd_gxd [2], rd_gxd [3], rd_old_obs, rd_pnt_hist, rd_rasm
	rd_raw_station_plan, rd_rdb [1], rd_rdb [2], rd_so_at_ftr, rd_sol, rd_soup
	rd_srspas, rd_station_plan, rd_therm_rs232, rd_week_file [1], rd_week_file [2]
	rd_week_file [3], rd_week_file [4], read_eit, read_mdi, read_spartan, redo_disploi
	redo_mon_sci5k, ref_term [2], reget_dc_image, res_freq, reslot
	return  a solar disk mask using SSW standard keywords, sda2fits, search_obs
	sel_dc_image [1], sel_dc_image [2], sel_dc_image [3], sel_filetimes [1]
	sel_filetimes [2], sel_timrange [1], sel_timrange [2], selsis_copy [1]
	selsis_copy [2], seq_run_sum [1], seq_run_sum [2], show_contacts, show_hxafid
	soon_cadence, soon_search [1], soon_search [3], soon_table, ssw_check_contrib
	sswstruct_fill [1], sxl2radiance, sxt_anycomp, sxt_eff_area, sxt_fl_analxpro
	sxt_flux [1], sxt_flux [2], sxt_flux [3], sxt_interp [1], sxt_interp [2]
	sxt_mwave, sxt_t6_resp0, sxtbox_teem, sxthxt_fsp, sxtth_hxt, telem_sum, term_obs
	term_times, tfr_summary, tfr_summary2, tim2dset [1], tim2dset [2], tim2match [1]
	tim2match [2], tim2match [3], tim2orbit [1], tim2orbit [2], tim_bin, time_interp
	time_smooth, timegrid, timeline, timeline2html, topsdb [1], topsdb [2]
	tr_decode_head [1], tr_decode_head [2], tr_inventory_telem, tr_rd_index
	tr_rd_inventory, tr_reformat, tr_wrt_fits_i1 [1], trace_sswhere [2]
	trace_sswhere [3], trace_sswhere [4], track_h2a [1], track_h2a [2]
	track_h2a [3], ut_time [1], ut_time [2], utcursor [1], utcursor [2], v_orbital
	wdefroi [3], wdefroi [4], web_seq, week2ex [1], week2ex [2], weekid [2]
	weekid2ex [1], weekid2ex [2], weekid2ex [3], wrt_fits_bin_exten [2], xanal_emi
	xdate [1], xdate [2], xdisp_sci5k, xdisp_trace2, xfem_grid, xhkplot, xread_hist
	xset_chain [1], xset_chain [2], xso_search, xspr [1], xspr [2], ydb_exist [2]
	yopos [1], yopos [2], yoyo_man2
OPTIONAL KEYWORD INPUT:
	offset	- The input time can be offset by a scalar or vector number of
		  seconds.  If "offset" is an array, it should be the same 
		  length at tim_in
HISTORY:
	Written 30-May-92 by M.Morrison
        5-Jan-93 (MDM) - Added /MDY option for TIMSTR2EX
	12-May-93 (MDM) - Modified to allow TIM_IN to be a single time, and
			  OFFSET to be an array
	11-Jan-94 (MDM) - Updated document header
       15-jan-00 (PGS) - Added 'def_for' to pass to timstr2ex.pro for rd_srspas.pro, y2k fix


anytim2jd $SSW/gen/idl/time/anytim2jd.pro
[Previous] [Next]
 Project     : SOHO - CDS     
                   
 Name        : anytim2jd()
               
 Purpose     : Converts any input time format to full Julian day.
               
 Explanation : Converts any time format to the equivalent Julian
               day value.  Returns result in a structure with the
               tags int (long) and frac (double).
               
 Use         : IDL>  jd = anytim2jd(any_format)
    
 Inputs      : any_format - date/time in any of the acceptable CDS 
                            time formats -- for acceptable formats see file 
                            aaareadme.txt.
               
 Opt. Inputs : None
               
 Outputs     : Function returns JD in a structure {int:0L,frac:0.0d0}.
               
 Opt. Outputs: None
               
 Keywords    : ERRMSG  =  If defined and passed, then any error messages will
                          be returned to the user in this parameter rather 
                          than being printed to the screen.  If no errors are
                          encountered, then a null string is returned.  In 
                          order to use this feature, the string ERRMSG must 
                          be defined first, e.g.,

                             ERRMSG = ''
                             JD = anytim2jd ( DT, ERRMSG=ERRMSG, ...)
                             IF ERRMSG NE '' THEN ...

 Calls       : ***
	ANYTIM2UTC [1], ANYTIM2UTC [2], INT2UTC, JULDAY
 CALLED BY:
	PB0R, SXIG12_PREP
 Common      : None
               
 Restrictions: None
               
 Side effects: None
               
 Category    : Util, time
               
 Prev. Hist. : None

 Written     : C D Pike, RAL, 16-May-94
               
 Modified    :	Version 1, C D Pike, RAL, 16-May-94
		Version 2, William Thompson, GSFC, 14 November 1994
			Changed .DAY to .MJD
		Version 3, Donald G. Luttermoser, GSFC/ARC, 20 December 1994
			Added the keyword ERRMSG.  Included ON_ERROR flag.
		Version 4, Donald G. Luttermoser, GSFC/ARC, 30 January 1995
			Added ERRMSG keyword to internally called procedured.
			Made error handling routine more robust.
		Version 5, Donald G. Luttermoser, GSFC/ARC, 13 February 1995
			Allowed for input to be either scalar or vector.
		Version 6, William Thompson, GSFC, 28 January 1997
			Allow for long input arrays.
		Version 7, Zarro, GSFC, 4 Feb 1997
			Changed name from ANYTIM2JD

 Version     :	Version 7


ANYTIM2TAI $SSW/gen/idl/time/anytim2tai.pro
[Previous] [Next]
 Project     : SOHO - CDS     
                   
 Name        : ANYTIM2TAI()
               
 Purpose     : Converts any standard CDS time format to TAI.
               
 Explanation : Tests the type of input and tries to use the appropriate
               conversion routine to create the date/time in CDS TAI
               time format.
               
 Use         : IDL>  tai = anytim2tai(any_format)
    
 Inputs      : any_format - date/time in any of the acceptable CDS 
                            time formats -- for acceptable formats see file 
                            aaareadme.txt.
               
 Opt. Inputs : None
               
 Outputs     : Function returns CDS TAI double precision time value.
               
 Opt. Outputs: None
               
 Keywords    : ERRMSG    = If defined and passed, then any error messages 
                           will be returned to the user in this parameter 
                           rather than being printed to the screen.  If no
                           errors are encountered, then a null string is
                           returned.  In order to use this feature, the 
                           string ERRMSG must be defined first, e.g.,

                                ERRMSG = ''
                                TAI = ANYTIM2TAI ( DT, ERRMSG=ERRMSG, ...)
                                IF ERRMSG NE '' THEN ...

 Calls       : ***
	ANYTIM2UTC [1], ANYTIM2UTC [2], DATATYPE [1], DATATYPE [2], DATATYPE [3], UTC2TAI
 CALLED BY:
	ADD_CDS_POINT, ADD_EFFICIENCY, ADD_EFF_AREA, ADD_MIRSHIFT, ADD_TILTCAL
	ADD_WAVECAL, ADD_WAVE_EFF, BBSO__DEFINE, CACHE_LIST, CDS_SLIT6_BURNIN, CHECK_LOCK
	CHKSCPCKTIME, CRONTAB, DISPLAY_CDS_BURNIN, DROT_COORD, DROT_RASTER, DROT_XY
	DSP_POINT, EIS_CPT_CHECK_TIME_PERIOD [1], EIS_CPT_CHECK_TIME_PERIOD [2]
	EIS_CPT_NOW [1], EIS_CPT_NOW [2], EIS_CPT_OBSTBL_MAP_PARSE [1]
	EIS_CPT_OBSTBL_MAP_PARSE [2], EIS_CPT_TEST [1], EIS_CPT_TEST [2]
	EIS_CPT_test_parameters [1], EIS_CPT_test_parameters [2], EIS_DROT_FOV [1]
	EIS_DROT_FOV [2], EIS_IMAGE_TOOL [1], EIS_IMAGE_TOOL [2], EIS_ITOOL_STC [1]
	EIS_ITOOL_STC [2], EIS_LIST_EXPER [1], EIS_LIST_EXPER [2], EIS_LIST_MAIN [1]
	EIS_LIST_MAIN [2], EIT_COPY, EIT_GBO, EIT__DEFINE, EXPORT_PLAN, FID2TIME
	FID__DEFINE, FILE_CONTENT, FILE_SINCE, FIND_CAMPAIGN, FIND_CAT, FIND_PROC
	GET_CDS_OH, GET_CDS_PLAN, GET_CDS_PNTCAL, GET_CDS_STATE, GET_CDS_TEMPS
	GET_DROT_DUR, GET_EFFICIENCY, GET_EFF_AREA, GET_FID, GET_FITS_TIME, GET_LATEST_KAP
	GET_MAP_TIME, GET_MIRSHIFT, GET_NIMCP, GET_RECENT_EIT, GET_SID, GET_SOHO_ROLL
	GET_SUMER_FILES, GET_TILTCAL, GET_WAVE_EFF, GET_WIDTH_CORR, GIS_CALIB_FF_LTGD
	GIS_ERROR, GOES__DEFINE, GT_DURATION, HC_SINCE, HFITS__DEFINE, HSI_SOCK_LIST
	IMAGE_TOOL, ITOOL_DIFF_ROT, ITOOL_GETFILE, ITOOL_PICKFILE, LABEL_TAI, LATEST_IMAGE
	LIST_CACHE__DEFINE, LVIEW_XY, MAP2WCS, MDI_GBO, MEAN_MAP, MK_HXI_MAP, MK_IVM_MAP
	MK_PLAN_CAMP, MK_PLAN_PLOT, MK_PLAN_WHERE, MK_POINT_STC, MK_SUMMARY, MK_SXT_MAP
	MK_WAVECAL, MOVIE_MAP, NEAREST_GEV, NEAR_TIME, PARSE_TIME, PICK_TIMES
	PLAN_XCAT_SUMM, PLOT_MAP, PLOT_SPLAN, PRED_PROG_NUM, RD_CDS_POINT, RD_PLAN
	RD_RESOURCE, RD_RSTN, READ_KAP, REDUCE_LEVEL_1, ROT_XY, ROUND_TIME, RSTN__DEFINE
	SHOW_SYNOP__DEFINE, SITE__DEFINE, SUM_ANA_TEMP, SXI_GBO, SYNOP_DEFINE, SYNOP_PATH
	SYSTIM, TRACE_COPY, TRACE_GBO, UPDATE_CAMPAIGN, UPDATE_KAP, UTPLOT__DEFINE, WCS2MAP
	WHERE_MAP, WHERE_TIMES, XCAMP, XCAT, XCPT, XCRON, XIAP, XREPORT, XVALIDATE, Y2KFIX, YMD2DATE
	db_gbo, eis_datetime_gui [1], eis_datetime_gui [2], eis_dr_obj__DEFINE [1]
	eis_dr_obj__DEFINE [2], eis_get_current_time [1], eis_get_current_time [2]
	eis_mk_plan_gui [1], eis_mk_plan_gui [2]
	eis_timeline_graphics_axes_default [1]
	eis_timeline_graphics_axes_default [2], get_def_times, hsi_gbo, ihy_db
	mk_sumer_map [1], mk_sumer_map [2], mk_sumer_map [3], sgt_raster_time
	trace_build_mosaic3
 Common      : None
               
 Restrictions: None
               
 Side effects: None
               
 Category    : Util, time
               
 Prev. Hist. : Based on ANYTIM2UTC by C. D. Pike.

 Written     : William Thompson, GSFC, 20 May 1996
               
 Modified    :	Version 1, William Thompson, GSFC, 20 May 1996
		Version 2, 05-Oct-1999, William Thompson, GSFC
			Add support for Yohkoh 7-element external time.
		Version 3, 31-Jul-2001, William Thompson, GSFC
			Changed MESSAGE to MESSAGE, /CONTINUE
               Version 4, 16-Feb-2004, CDP.  Added /quiet keyword because it was
                                             already required in the code.
               Version 5, 08-Sep-2004, William Thompson, GSFC
                       Added keyword NOCORRECT
               Version 6, 07-Dec-2005, William Thompson, GSFC
                       Moved handling of Yohkoh formats to ANYTIM2UTC

 Version     :	Version 6, 07-Dec-2005


ANYTIM2UTC [1] $SSW/gen/idl/time/anytim2utc.pro
[Previous] [Next]
 Project     : SOHO - CDS     
                   
 Name        : ANYTIM2UTC()
               
 Purpose     : Converts (almost) any time format to CDS UTC format.
               
 Explanation : Tests the type of input and tries to use the appropriate
               conversion routine to create the date/time in CDS UTC
               format (either internal (default), external or string)
               CDS time format.
               
 Use         : IDL>  utc = anytim2utc(any_format)
    
 Inputs      : any_format - date/time in any of the acceptable CDS 
                            time formats -- for acceptable formats see file 
                            aaareadme.txt.
               
 Opt. Inputs : None
               
 Outputs     : Function returns CDS UTC time structure.
               
 Opt. Outputs: None
               
 Keywords    : EXTERNAL  = Create output in external format
               CCSDS     = Create string output in CCSDS format
               ECS       = Create string output in ECS format
		VMS	  = Create string output in VMS format
		STIME	  = Create string output in STIME format

		Only one of the above keywords can be set.  If none of them are
		set, then the output is in internal format.  The following
		keywords are only valid if a string format was selected.

		DMY	  = Normally the date is in the order year-month-day.
			    However, if DMY is set then the order is
			    day-month-year.  Note that if the month is given as
			    a character string, then the default is
			    day-month-year.

		MDY	  = If set, then the date is in the order
			    month-day-year.

		YMD	  = If set, then the date is in the order
			    year-month-day.

		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.

		The following keywords are always valid.

		QUIET	  = If set, then no informational messages are printed.

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

                                ERRMSG = ''
                                UTC = ANYTIM2UTC ( DT, ERRMSG=ERRMSG, ...)
                                IF ERRMSG NE '' THEN ...

               Other keywords to the underlying routines can also be passed,
               via the _EXTRA mechanism.

 Calls       : ***
	ANYTIM2CAL, DATATYPE [1], DATATYPE [2], DATATYPE [3], GET_UTC, INT2UTC, STR2UTC [1]
	STR2UTC [2], STR2UTC [3], STR_SEP, TAG_EXIST [1], TAG_EXIST [2], TAI2UTC
	UTC2INT [1], UTC2INT [2], UTC2INT [3]
 CALLED BY:
	ADJUST_HDR_TCR, ANYTIM2CAL, ANYTIM2CDF, ANYTIM2TAI, ANYTIM2WEEK, ARCMIN2HEL2
	BBSO__DEFINE, CAT_DIRECTORY, CAT_DURATION, CAT_FITS, CAT_OPEN [1], CAT_TO_TEXT
	CDS2JD, CDSPICKFILE, CDS_ASRUN_POINT, CDS_FILES, CDS_PLAN_BRIEF, CDS_PLAN_POINT
	CDS_SNAPSHOT, CFITSLIST, CF_GIS1A, CF_GIS1B, CF_GIS1C, CF_GIS2A [1], CF_GIS4A
	CF_GIS4B, CF_GIS4C, CHECK_KAP, CHKSCPCKTIME, DATE_CODE, DISPLAY_CDS_BURNIN
	DISPLAY_NIMCP, DMOVIE [1], DMOVIE [2], DROT_MAP, DROT_MAP_FAST, DROT_NAR, DSP_WAV
	DTSELECT, EIS_CAT [1], EIS_CAT [2], EIS_CPT_NOW [1], EIS_CPT_NOW [2]
	EIS_CPT_OBSTBL_MAP_TEXT [1], EIS_CPT_OBSTBL_MAP_TEXT [2]
	EIS_CPT_TIMEFORMAT [1], EIS_CPT_TIMEFORMAT [2]
	EIS_CPT_TIME_PERIOD_DEFAULT [1], EIS_CPT_TIME_PERIOD_DEFAULT [2]
	EIS_DROT_FOV [1], EIS_DROT_FOV [2], EIS_IMAGE_TOOL [1], EIS_IMAGE_TOOL [2]
	EIS_IMAGE_TOOL_EVENT [1], EIS_IMAGE_TOOL_EVENT [2], EIS_LOAD_IMAGE [1]
	EIS_LOAD_IMAGE [2], EIS_PLAN_STC [1], EIS_PLAN_STC [2], EIS_PLOT_OBEV [1]
	EIS_PLOT_OBEV [2], EIS_PLOT_OPEV, EIS_PLOT_STEV [1], EIS_PLOT_STEV [2]
	EIT_CATRD [1], EIT_COPY, EIT_DAILY, EIT_DISPLAY, EIT_FXPAR, EIT_GBO, EIT_IMAGE
	EIT_MKMOVIE, EIT_PA, EIT_PA_PROCESS, EIT_PA_ev, EIT_POSTAGE, EIT_PREP, EIT_SUBFIELD
	EIT_SUB_DRAW, EIT_SUB_MAN_INPUT, EIT_SUB_ROTATE, EIT_SUB_UTIL_HELIO
	EIT_TIME_CORRECTION, EIT__DEFINE, ETHZ__DEFINE, EXPORT_PLAN, FILE_CONTENT
	FILE_DATE_MOD, FILT_EVENTS, FIND_CAMPAIGN, FIND_FID, FIND_KAP_FILE, FLUSH_CATALOG
	FTP_BBSO, FTP_KISF, FTP_MLSO_IMAGES, FTP_MWSO, FTP_NOBE, FTP_SYNOP, GDSPSPEC
	GET_CDS_OH, GET_CDS_PNTCAL, GET_DETAIL, GET_EFFICIENCY, GET_EFF_AREA, GET_FID
	GET_FITS_CDELT, GET_FITS_CEN, GET_FITS_TIME, GET_GEV, GET_LATEST_IAP
	GET_LATEST_KAP, GET_LIST, GET_MAP_TIME, GET_MIRSHIFT, GET_NAR, GET_NOAA
	GET_ORBIT [1], GET_ORBIT [2], GET_ORBIT_CDF, GET_ORBIT_CDF2, GET_ORBIT_FITS
	GET_PLAN, GET_PLAN_TIME, GET_PLAN_TT, GET_RECENT_EIT, GET_ROLL_OR_XY
	GET_SC_ATT [1], GET_SC_ATT [2], GET_SC_POINT, GET_SOHO_ROLL, GET_SOLAR_RADIUS
	GET_SUMER_FILES, GET_SYNOPTIC, GET_TILTCAL, GET_VDS_SLITPOS, GET_VDS_STATE
	GET_WAVECAL, GET_WAVE_EFF, GET_WIDTH_CORR, GISPLOT, GIS_UTPLOT, GOES__DEFINE
	GT_BIMAGE, GT_CDS_TIME, GT_LAMBDA, GT_MIMAGE, GT_VALID, GT_WLIMITS, HEL2ARCMIN [1]
	HFITS__DEFINE, HTML_SPLAN, HTTP__DEFINE, IMAGE_TOOL, IMAGE_TOOL_EVENT, ITOOL2MAP
	ITOOL_BUTTON_REFRESH, ITOOL_DIFF_ROT, ITOOL_DISP_ROT, ITOOL_EIT_DEGRID
	ITOOL_GETFILE, ITOOL_LOAD_IMAGE, ITOOL_PICKFILE, ITOOL_RD_GIF, ITOOL_SET_CSI
	LABEL_TAI, LAST_KAP_VERS, LAT2Y, LATEST_IMAGE, LIST_ANOMALY, LIST_CACHE__DEFINE
	LIST_CDROM, LIST_DETAIL, LIST_EXP_COMM, LIST_FITS, LIST_PLAN, LIST_RESOURCE
	LIST_SUPPORT, MAKE_MAP, MAP2WCS, MAP__DEFINE, MDI_GBO, MKDI_C1, MKQUERY, MK_CDS_PLAN
	MK_GISPLOT_LBL, MK_GIS_PLT, MK_IVM_MAP, MK_PLAN_CHANGE, MK_PLAN_CLONE
	MK_PLAN_CUSTOM, MK_PLAN_FORM, MK_PLAN_HTML, MK_PLAN_PLOT, MK_PLAN_PRIV
	MK_PLAN_RECAL, MK_SOHO, MK_SOHO_CUSTOM, MK_SOHO_EDP, MK_SOHO_TARGET, MK_TIMETICK
	MK_WAVECAL, MONO_SPEC, MOVIE_MAKER, NDSPSPEC, NIS_BIAS_DEMO, NRL2EIT, OPLOT_SPLAN
	OSRA__DEFINE, OVSA_LTC_DEFINE, PARSE_TIME, PB0R, PLOT_HELIO [1], PLOT_HELIO [2]
	PLOT_MAP, PLOT_MAP2 WARNINGTEMPORARY FIX ONLY FOR 16 bit ZBuffer support
	PLOT_RESOURCE, PLOT_VDS_BIAS, POINTING3, POLY_SPEC, PRG_DETAIL, PRG_PLAN, QTILT
	QUERY_ANOMALY, RD_CDS_POINT, RD_GOES, RD_PLAN, RD_RESOURCE, RD_RSTN, READCDSFITS
	READ_FULL_ATT, READ_KAP, READ_MERGED_DSN, READ_SC_ATT, REDUCE_LEVEL_1
	ROT_SUBIMAGE, ROT_XY, ROUND_TIME, RSTN__DEFINE, RTMOVIE, SELECTD, SET_KAP_VERS
	SHOW_PLAN, SHOW_SYNOP__DEFINE, SID__DEFINE, SITE__DEFINE, SOHOFILE2TIME
	SOHO_CAMPAIGN, SOHO_ITEMS_HTML, SOHO_XY, STARFIELD, SUBFIELD_EV, SUM_ANA_TEMP
	SUN_EPHEM, SURVANAL, SXI_GBO, S_HK0_SYSCONFIG, TEXT_ANOMALY, TIME2FID, TIME_AVERAGE
	TIME_CHECK, TIME_CORRECTION, TPANALYZE, TRACE_COPY, TRACE_GBO, TRACE_MOSAIC_IMAGE
	UPDATE_CAMPAIGN, UPDATE_CDS_TARGETS, UPDATE_IAP, UPDATE_KAP, UPDATE_MM
	UPDATE_SOHO_TARGETS, UTC2DIFF, UTPLOT__DEFINE, V4DIFF_ROT, VALID_TIME, VDS_CALIB
	VDS_READ_FLAT, VSO__DEFINE, WCS2MAP, WCS_FIND_TIME, WEEK2UTC, WHERE_OFF_LIMB
	WRITE_ANOMALY, WRITE_CAP, WRITE_CIF, WRITE_IAP, XCALENDAR, XCAMP, XCAT, XCLONE_PLAN
	XCPT, XGET_SYNOPTIC, XGET_UTC, XIAP, XREPORT, XREPORT_EDIT, XVALIDATE, XZOOM_PLAN
	Y2KFIX, YMD2DATE, anytim2jd, closest_time, datify, datify_fname, db_gbo, dsp_menu
	ef2time, eis_cpt_gui [1], eis_cpt_gui [2], eis_ct_summary_gui [1]
	eis_ct_summary_gui [2], eis_datetime_gui [1], eis_datetime_gui [2]
	eis_dr_obj__DEFINE [1], eis_dr_obj__DEFINE [2], eis_get_events_filename [2]
	eis_get_events_filename [4], eis_import_linelist [1]
	eis_import_linelist [2], eis_mk_plan_gui [1], eis_mk_plan_gui [2]
	eis_read_linelist_block [1], eis_read_linelist_block [2]
	eis_read_raster_block [1], eis_read_raster_block [2]
	eis_read_study_block [1], eis_read_study_block [2]
	eis_timeline_plot_gui [1], eis_timeline_plot_gui [2], eit_dark, eit_degrid
	eit_degrid_fft, eit_dump, eit_file2path, eit_find_last_cal, eit_findcalgroup
	eit_flat, eit_getcal, eit_getlimb, eit_norm_response [1], eit_point
	fitshead2struct, get_def_times, get_eit_data, hsi_gbo, hsi_plot_flux, ihy_db
	mk_atlas, mk_mdi_fits, mk_sumer_map [1], mk_sumer_map [2], mk_sumer_map [3]
	smk_atlas, soho_fac, vso_format, write_ovsa_fits, zdiff_rot
 Common      : None
               
 Restrictions: None
               
 Side effects: None
               
 Category    : Util, time
               
 Prev. Hist. : None

 Written     : C D Pike, RAL, 16-May-94
               
 Modified    :	Version 1, C D Pike, RAL, 16-May-94
		Version 2, William Thompson, GSFC, 14 November 1994
			Changed .DAY to .MJD
		Version 3, Donald G. Luttermoser, GSFC/ARC, 20 December 1994
			Added the keyword ERRMSG.  Included ON_ERROR flag.
		Version 4, Donald G. Luttermoser, GSFC/ARC, 30 January 1995
			Added ERRMSG keyword to internally called procedures.
			Made error handling routine more robust.
		Version 5, Donald G. Luttermoser, GSFC/ARC, 8 February 1995
			Allowed for input to be either scalar or vector.
		Version 6, William Thompson, GSFC, 14 March 1995
			Added keywords VDS, STIME, TRUNCATE, DATE_ONLY,
			TIME_ONLY, UPPERCASE
		Version 7, William Thompson, GSFC, 5 May 1995
			Fixed bug with use of ERRMSG keyword.
			Made so that TAI times are supported.
		Version 8, William Thompson, GSFC, 8 May 1995
			Fixed bug introduced in version 7
               Version 9 C D Pike, RAL, 17-May-95
                       Handle time only (no date) string input.
		Version 10, William Thompson, GSFC, 20 December 1995
			Fixed bug with use of ERRMSG keyword when string
			contained no "-" characters.
		Version 11, William Thompson, GSFC, 23 October 1996
			Added keywords DMY, MDY, YMD.
			Removed attempt at automatic recognition of DMY
			option--no longer needed with version 11 of STR2UTC.
		Version 12, William Thompson, GSFC, 28 January 1997
			Allow for long input arrays.
		Version 13, William Thompson, GSFC, 17 September 1997
			Added keyword NOZ.
		Version 14, 05-Oct-1999, William Thompson, GSFC
			Add support for Yohkoh 7-element external time.
               Version 15, 11-Aug-2003, William Thompson, GSFC
                       Implement many keywords through _EXTRA.
               Version 16, 31-Mar-2004, Zarro (L-3Com/GSFC)
                       Fixed error message bug
               Version 17, 25-Oct-2005, William Thompson, GSFC
                       Handle structures through UTC2INT - interprets any
                       structure with MJD and TIME as CDS internal time
               Version 18, 07-Dec-2005, William Thompson, GSFC
                       Add support for Yohkoh {DAY:, TIME:} structures.
               Version 19, 20-Jun-2006, William Thompson, GSFC
                       Preserve dimensionality


ANYTIM2WEEK $SSW/gen/idl/time/anytim2week.pro
[Previous] [Next]
 Project     :	SOHO / STEREO

 Name        :	ANYTIM2WEEK

 Purpose     :	Returns the ISO-8601 week number for a given date

 Category    :	Time

 Explanation :	Returns the ISO-8601 week number associated with a given
               calendar date.  ISO-8601 defines week 1 as the week containing
               the first Thursday of the year.  In the Gregorian calendar,
               this is equivalent to the week which includes January 4th.

 Syntax      :	WEEK = ANYTIM2WEEK( DATE  [, YEAR_OUT ] )

 Examples    :	WEEK = ANYTIM2WEEK( '1-Jan-2006', YEAR_OUT )
               PRINT, WEEK, YEAR_OUT
                         52    2005

 Inputs      :	DATE    = The date, in any format supported by ANYTIM2UTC

 Opt. Inputs :	None.

 Outputs     :	The result of the function is the week number.

 Opt. Outputs:	YEAR_OUT = The year that this week is associated with, which
                          might be the previous or next year, depending on the
                          date.  See the above example.

 Keywords    :	None.

 Calls       : ***
	ANYTIM2UTC [1], ANYTIM2UTC [2], WEEK2UTC
 Common      :	None.

 Restrictions:	None.

 Side effects:	None.

 Prev. Hist. :	Unrecorded.

 History     :	Version 1, 24-Jan-2006, S.V. Haugan, ESA

 Contact     :	SVHAUGAN


anytim2weekinfo $SSW/gen/idl/genutil/anytim2weekinfo.pro
[Previous] [Next]
  
    Purpose: return week-requested information for input time vector

    Input Parameters:
        times - time vector in any SSW format

    Output Parameters:
       years - integer year for input times
       weeks - integer week for input times
  
    Output:
       Function output if /FIRST set, output is YYYYMMDD or YYMMDD (first DOW)
       Function output if /WID   set, output is YYYY_WW or YY_WW   (weekid) 
                                                                    DEFAULT
    Keyword Parameters:
      wid   - (switch) if set, return 'YYYY_WW' (weekid)  DEFAULT
      first - (switch) if set, return 'YYYYMMDD' correponding to 1st DOW
      year2digit (switch) if set, return year as 2 digit (YYMMDD or YY_WW)

 CALLS: ***
	FSTRING, TIME2FILE, anytim [1], anytim [2], anytim [3], anytim [4], anytim [5]
	ex2week [1], ex2week [2], week2ex [1], week2ex [2]
 CALLED BY:
	cdrom_files [2], do_tr_inventory, ssw_time2paths, sxt_files, sxt_his2dbase
	sxt_patch_att, tr_reformat, trace_cat2data, trace_file2path, trace_files
	trace_get1www_image, trace_make_tma, trace_make_tmr [1], trace_make_tmr [2]
	write_genxcat, yohkoh_files
    History:
      29-Jan-1998 - S.L.Freeland - package some common TRACE/YOHKOH/SSW
                                   time->week conversions

    Routines Called:
       anytim, anytim2ints, ex2week  


anytim2weeks [1] $SSW/gen/idl/genutil/anytim2weeks.pro
[Previous] [Next]
NAME:
	anytim2weeks
PURPOSE:
	Given a starting and ending time, return a vector
	of week numbers and year numbers where the times fall
INPUT:
	sttim	- the start time in "any" format
OPTIONAL INPUT:
	entim	- if not defined, just return the week/year for
		  the start time
OUTPUT:
	weeks	- the week number
	years	- the year numbers
 CALLS: ***
	anytim2ex [1], anytim2ex [2], anytim2ints [1], anytim2ints [2], ex2dow [1]
	ex2dow [2], ex2week [1], ex2week [2]
 CALLED BY:
	OBS_PLOT, do_reg_backup, dsn_input, get1gbo, goes_summary, rd_old_obs
	rd_week_file [1], rd_week_file [2], rd_week_file [3], rd_week_file [4]
	show_obs3, show_obs4, tim2weekid, weekid [2], ydb_exist [2], ydb_install [1]
	ydb_install [2]
OPTIONAL KEYWORD INPUT:
	nobackup - If set, then do not back up a week if the start
		   time is within 90 minutes of the first day of the week.
	string	- If set, then return the answer in string format (WIDs)
HISTORY:
	Written Feb-92 by M.Morrison
        8-Feb-92 (MDM) - Added code to back up a week if the start time
                         is within 90 minutes of the first day of a week
	29-Aug-94 (MDM) - Added /NOBACKUP option to NOT back up a week
			  when start time is within 90 minutes of the first
			  day of the week.
	20-Sep-94 (MDM) - Added /STRING option
	10-Dec-99 (JRL) - Applied the y2k fixes
       02-Jan-01 (PGS) - Modified Y2K fix, as ex2week now returns a 4-digit
                         year element, rather than 2-digit. Check for 54 'week'
                         year (e.g., 2000) 
       02-mar-01 (PGS) - widened legacy format filter: accepts strictly 2-digit
                         years now, as well as integers starting at 0: e.g., 101 = 2001


ANYTIM_REPORT $SSW/gen/idl/utplot/anytim_report.pro
[Previous] [Next]
 PROJECT:
	SSW
 NAME: 
	ANYTIM_REPORT

 PURPOSE:
	This routine checks the performance of anytim for all of its inputs and outputs.

 CATEGORY:
	UTPLOT

 CALLING SEQUENCE:
	

 CALLS: ***
	FCHECK, anytim [1], anytim [2], anytim [3], anytim [4], anytim [5]
 INPUTS:
       Input - a time array to use for validation.

 OPTIONAL INPUTS:
	none

 KEYWORD OUTPUTS:
       MAXDIFF - maximum difference for Input for format i vs format j.
	OUT - Text report.
	
 OPTIONAL OUTPUTS:
	none

 KEYWORDS:
	none
 COMMON BLOCKS:
	none

 SIDE EFFECTS:
	none

 RESTRICTIONS:
	none

 PROCEDURE:
	The input array is first converted to the ith output format, converted to seconds,
	and the absolute value is taken vs the same for the jth format.
	

 MODIFICATION HISTORY:
	2 april 2001, richard.schwartz@gsfc.nasa.gov


APER $SSW/gen/idl_libs/astron/idlphot/aper.pro
[Previous] [Next]
 NAME:
      APER
 PURPOSE:
      Compute concentric aperture photometry (adapted from DAOPHOT) 
 EXPLANATION:
     APER can compute photometry in several user-specified aperture radii.  
     A separate sky value is computed for each source using specified inner 
     and outer sky radii.   

 CALLING SEQUENCE:
     APER, image, xc, yc, [ mags, errap, sky, skyerr, phpadu, apr, skyrad, 
                       badpix, /NAN, /EXACT, /FLUX, PRINT = , /SILENT, 
                       /MEANBACK, SETSKYVAL = ]
 INPUTS:
     IMAGE -  input image array
     XC     - vector of x coordinates. 
     YC     - vector of y coordinates

 OPTIONAL INPUTS:
     PHPADU - Photons per Analog Digital Units, numeric scalar.  Converts
               the data numbers in IMAGE to photon units.  (APER assumes
               Poisson statistics.)  
     APR    - Vector of up to 12 REAL photometry aperture radii.
     SKYRAD - Two element vector giving the inner and outer radii
               to be used for the sky annulus.   Ignored if the SETSKYVAL
              keyword is set.
     BADPIX - Two element vector giving the minimum and maximum value
               of a good pixel.   If badpix is not supplied or if BADPIX[0] is
               equal to BADPIX[1] then it is assumed that there are no bad
               pixels.     Note that fluxes will not be computed for any star
               with a bad pixel within the aperture area, but that bad pixels
               will be simply ignored for the sky computation.    The BADPIX
               parameter is ignored if the /NAN keyword is set.

 OPTIONAL KEYWORD INPUTS:
     CLIPSIG - if /MEANBACK is set, then this is the number of sigma at which 
             to clip the background.  Default=3
     CONVERGE_NUM:  if /MEANBACK is set then if the proportion of 
           rejected pixels is less than this fraction, the iterations stop.  
           Default=0.02, i.e., iteration stops if fewer than 2% of pixels 
           excluded.
     /EXACT -  By default, APER counts subpixels, but uses a polygon 
             approximation for the intersection of a circular aperture with
             a square pixel (and normalize the total area of the sum of the
             pixels to exactly match the circular area).   If the /EXACT 
             keyword, then the intersection of the circular aperture with a
             square pixel is computed exactly.    The /EXACT keyword is much
             slower and is only needed when small (~2 pixels) apertures are
             used with very undersampled data.    
     /FLUX - By default, APER uses a magnitude system where a magnitude of
               25 corresponds to 1 flux unit.   If set, then APER will keep
              results in flux units instead of magnitudes.
     MAXITER if /MEANBACK is set then this is the ceiling on number of 
             clipping iterations of the background.  Default=5
     /MEANBACK - if set, then the background is computed using the 3 sigma 
             clipped mean (using meanclip.pro) rather than using the mode 
             computed with mmm.pro.    This keyword is useful for the Poisson 
             count regime or where contamination is known  to be minimal.
     /NAN  - If set then APER will check for NAN values in the image.   /NAN
             takes precedence over the BADPIX parameter.   Note that fluxes 
             will not be computed for any star with a NAN pixel within the 
             aperture area, but that NAN pixels will be simply ignored for 
             the sky computation.
     PRINT - if set and non-zero then APER will also write its results to
               a file aper.prt.   One can specify the output file name by
               setting PRINT = 'filename'.
     READNOISE - Scalar giving the read noise (or minimum noise for any
              pixel.   This value is passed to the procedure mmm.pro when
              computing the sky, and is only need for images where
              the noise is low, and pixel values are quantized.   
     /SILENT -  If supplied and non-zero then no output is displayed to the
               terminal.
     SETSKYVAL - Use this keyword to force the sky to a specified value 
               rather than have APER compute a sky value.    SETSKYVAL 
               can either be a scalar specifying the sky value to use for 
               all sources, or a 3 element vector specifying the sky value, 
               the sigma of the sky value, and the number of elements used 
               to compute a sky value.   The 3 element form of SETSKYVAL
               is needed for accurate error budgeting.

 OUTPUTS:
     MAGS   -  NAPER by NSTAR array giving the magnitude for each star in
               each aperture.  (NAPER is the number of apertures, and NSTAR
               is the number of stars).   If the /FLUX keyword is not set, then
               a flux of 1 digital unit is assigned a zero point magnitude of 
               25.
     ERRAP  -  NAPER by NSTAR array giving error for each star.  If a 
               magnitude could not be determined then  ERRAP = 9.99 (if in 
                magnitudes) or ERRAP = !VALUES.F_NAN (if /FLUX is set).
     SKY  -    NSTAR element vector giving sky value for each star in 
               flux units
     SKYERR -  NSTAR element vector giving error in sky values

 CALLS: ***
	GETOPT, MEANCLIP, MMM, PIXWT, STRN [1], STRN [2], STRN [3], STRNUMBER [1], STRNUMBER [2]
	STRNUMBER [3], STRNUMBER [4]
 CALLED BY:
	ATV, T_APER
 EXAMPLE:
       Determine the flux and error for photometry radii of 3 and 5 pixels
       surrounding the position 234.2,344.3 on an image array, im.   Compute
       the partial pixel area exactly.    Assume that the flux units are in
       Poisson counts, so that PHPADU = 1, and the sky value is already known
       to be 1.3, and that the range [-32767,80000] for bad low and bad high
       pixels
      

       IDL> aper, im, 234.2, 344.3, flux, eflux, sky,skyerr, 1, [3,5], -1, $
            [-32767,80000],/exact, /flux, setsky = 1.3
       
 PROCEDURES USED:
       GETOPT, MMM, PIXWT(), STRN(), STRNUMBER()
 NOTES:
       Reasons that a valid magnitude cannot be computed include the following:
      (1) Star position is too close (within 0.5 pixels) to edge of the frame
      (2) Less than 20 valid pixels available for computing sky
      (3) Modal value of sky could not be computed by the procedure MMM
      (4) *Any* pixel within the aperture radius is a "bad" pixel
      (5) The total computed flux is negative

       APER was modified in June 2000 in two ways: (1) the /EXACT keyword was
       added (2) the approximation of the intersection of a circular aperture
       with square pixels was improved (i.e. when /EXACT is not used) 
 REVISON HISTORY:
       Adapted to IDL from DAOPHOT June, 1989   B. Pfarr, STX
       FLUX keyword added                       J. E. Hollis, February, 1996
       SETSKYVAL keyword, increase maxsky       W. Landsman, May 1997
       Work for more than 32767 stars           W. Landsman, August 1997
       Don't abort for insufficient sky pixels  W. Landsman  May 2000
       Added /EXACT keyword                     W. Landsman  June 2000 
       Allow SETSKYVAL = 0                      W. Landsman  December 2000 
       Set BADPIX[0] = BADPIX[1] to ignore bad pixels W. L.  January 2001     
       Fix chk_badpixel problem introduced Jan 01 C. Ishida/W.L. February 2001
       Set bad fluxes and error to NAN if /FLUX is set  W. Landsman Oct. 2001 
       Remove restrictions on maximum sky radius W. Landsman  July 2003
       Added /NAN keyword  W. Landsman November 2004
       Set badflux=0 if neither /NAN nor badpix is set  M. Perrin December 2004
       Added READNOISE keyword   W. Landsman January 2005
       Added MEANBACK keyword   W. Landsman October 2005
       Correct typo when /EXACT and multiple apertures used.  W.L. Dec 2005
       Remove VMS-specific code W.L. Sep 2006
       Add additional keywords if /MEANBACK is set W.L  Nov 2006


APPEND_ARR $SSW/gen/idl/util/append_arr.pro
[Previous] [Next]
 Project     : SOHO - CDS

 Name        : APPEND_ARR

 Category    : Utility

 Purpose     : Manageable method for concatanating arrays

 Syntax      : IDL> result=append_arr(input,append)

 Inputs      : INPUT = array (or scalar) that requires appending
               APPEND = array (or scalar) to append

 Outputs     : concatanated arrays

 Keywords    : NO_COPY = set to not create internal copy of
               INPUT & APPEND (it will be destroyed)

 CALLS: ***
	ERR_STATE, EXIST
 CALLED BY:
	ADD_METHOD, Compound widget for packet control parameter selection, EIT_COPY
	FILE2FID, FIND_CAT, FIND_FID, FIND_PROC, FITS WRITER CLASS FOR RHESSI IMAGES
	FRAME ABSTRACT CLASS DEFINITION, FTP_BBSO, FTP_KISF, FTP_MLSO_IMAGES, FTP_MWSO
	FTP_NOBE, FTP__DEFINE, GET_FID, GET_FITS_CEN, GET_METHODS, GET_SUMER_FILES
	GOES__DEFINE, HAVE_FILES, HAVE_TAG, HESSI CLEAN ALGORITHM CLASS DEFINITION
	HESSI ROLL_DB CLASS DEFINITION, HSI_FIND_FILE, HSI_SOCK_FIND, HSI_SOCK_LIST
	HTTP__DEFINE, JOIN_STRUCT [2], JSMOVIE, JSMOVIE2, LOC_FILE [2], MDI_COPY, MDI_LATEST
	MK_LINK, MK_SUMER_DBASE, OBJ_DISSECT, OBJ_PARENTS, PAIR_STRUCT, PLOT_MAP, RD_RSTN
	REBIN_FID, SHOW_SYNOP__DEFINE, SITE__DEFINE, SPEX_FIT__DEFINE, STRIP_ARG
	STRUCTURE TO VOTABLE, STR_CHUNK, STR_EXPAND, SYNOP_DEFINE, TRACE_COPY, WRAP_TXT
	XALIVE, XDIFF, XYPLOT__DEFINE, axis_get_expanded_range, axis_get_limits, db_gbo
	fit_comp_kw, fit_model_components, gzip, hsi_format_flare, hsi_params_write_pro
	hsi_plot_flux, hsi_select_flare, hsi_show_flags [2], ihy_db, list_sp_files
	mark_poly, ospex_params_write_pro, plotman, read_hessi_4_ospex_params
	spex_bk__define, spex_bkint__define, spex_hessi_image__define, str_sub2top
	str_top2sub
	to return information about a function which can consist of multiple
	uncompress, wc_where_arr
 History     : Written: 1-Oct-1998, Zarro (SM&A/GSFC)
               Modified: 26-March-2000, Zarro - sped up with SIZE and CATCH
               Modified: 25-Feb-2003, Zarro - improved error checking

 Contact     : DZARRO@SOLAR.STANFORD.EDU


APPEND_SDB $SSW/gen/idl/database/append_sdb.pro
[Previous] [Next]
 Project     : SOHO - CDS     
                   
 Name        : APPEND_SDB
               
 Purpose     : append 'sdb' directories  to ZDBASE
               
 Category    : Planning
               
 Syntax      : IDL> append_sdb
    
 CALLS: ***
	CHKLOG [1], CHKLOG [2], EXP_ZDBASE, GET_PATH_DELIM, IS_BLANK, IS_DIR, IS_STRING
	LOCAL_NAME, MKLOG
 Side effects: Environment/logical ZDBASE is reset
               
 History     : 15-Feb-2004, Zarro (L-3Com/GSFC), Written

 Contact     : DZARRO@SOLAR.STANFORD.EDU


APPLY_LOCK $SSW/gen/idl/system/apply_lock.pro
[Previous] [Next]
 Project     : SOHO - CDS     
                   
 Name        : APPLY_LOCK
               
 Purpose     : create a LOCK file 
               
 Category    : Planning
               
 Explanation : creates a LOCK file with the creation date saved in file.
               
 Syntax      : IDL> apply_lock,lock_file

 Inputs      : LOCK_FILE = lock file name (with path)
               
 Keywords    : ERR - message string
               QUIET - turn off printing
               EXPIRE - seconds after which LOCK file expires

 CALLS: ***
	CHKLOG [1], CHKLOG [2], DATATYPE [1], DATATYPE [2], DATATYPE [3], ESPAWN, EXIST
	GET_PID, GET_USER_ID, IS_BLANK, TRIM
 CALLED BY:
	LOCK_ZDBASE, db_gbo, ihy_db
 History     : Version 1,  17-July-1996,  D M Zarro.  Written

 Contact     : DZARRO@SOLAR.STANFORD.EDU


ARCBAR $SSW/gen/idl_libs/astron/astro/arcbar.pro
[Previous] [Next]
 NAME:
       ARCBAR
 PURPOSE:
       Draw an arc bar on an image showing the astronomical plate scale

 CALLING SEQUENCE:
       ARCBAR, hdr, arclen,[  COLOR= , /DATA, LABEL= , /NORMAL, POSITION =, 
                              /SECONDS, SIZE=, THICK=, FONT= ]

 INPUTS:
       hdr - image FITS header with astrometry, string array
       arclen - numeric scalar giving length of bar in arcminutes (default)
               or arcseconds (if /SECONDS is set) 

 OPTIONAL KEYWORD INPUTS:
       COLOR - integer scalar specifying the color to draw the arcbar (using
               PLOTS), default = !P.COLOR
       /DATA - if set and non-zero, then the POSITION keyword is given in data
              units
       LABEL - string giving user defined label for bar.  Default label is size
               of bar in arcminutes
       /NORMAL - if this keyword is set and non-zero, then POSITION is given in
               normalized units
       POSITION - 2 element vector giving the (X,Y) position in device units 
               (or normalized units if /NORMAL is set, or data units if /DATA
               is set) at which to place the  scale bar.   If not supplied, 
               then the user will be prompted to place the cursor at the 
               desired position
       /SECONDS - if set, then arlen is specified in arcseconds rather than
               arcminutes
       SIZE  - scalar specifying character size of label, default = 1.0
       THICK -  Character thickness of the label, default = !P.THICK
       FONT - scalar font graphics keyword (-1,0 or 1) for text

 EXAMPLE:
       Place a 3' arc minute scale bar, at position 300,200 of the current
       image window, (which is associated with a FITS header, HDR)

       IDL> arcbar, HDR, 3, pos = [300,200]

 CALLS: ***
	AD2XY, EXTAST, GSSSADXY, SXPAR [1], SXPAR [2], SXPAR [3], TVCURSOR
 RESTRICTIONS:
       When using using a device with scalable pixels (e.g. postscript)
       the data coordinate system must be established before calling ARCBAR.
       If data coordinates are not set, then ARCBAR assumes that the displayed
       image size is given by the NAXIS1 keyword in the FITS header.
 PROCEDURE CALLS:
       AD2XY, EXTAST, GSSSADXY, SXPAR()
 REVISON HISTORY:
       written by L. Taylor (STX) from ARCBOX (Boothman)
       modified for Version 2 IDL,                     B. Pfarr, STX, 4/91
       New ASTROMETRY structures               W.Landsman,  HSTX, Jan 94
       Recognize a GSSS header                 W. Landsman June 94
       Added /NORMAL keyword                   W. Landsman Feb. 96
       Use NAXIS1 for postscript if data coords not set,  W. Landsman Aug 96
       Fixed typo for postscript W. Landsman   Oct. 96
       Account for zeropoint offset in postscript  W. Landsman   Apr 97
       Converted to IDL V5.0   W. Landsman   September 1997
       Added /DATA, /SECONDS keywords   W. Landsman    July 1998
       Use device-independent label offset  W. Landsman   August 2001
       Allow font keyword to be passed.  T. Robishaw Apr. 2006


ARCMIN2HEL2 $SSW/gen/idl/solar/arcmin2hel.pro
[Previous] [Next]
 Project     : SOHO - CDS

 Name        : ARCMIN2HEL2()

 Purpose     : Convert arcmin from sun centre to heliographic coords,
		using the correct (perspective) transformation.
		Derived from arcmin2hel (which uses an orthographic
		transformation); meant as a drop-in replacement.

 Explanation : Converts an (x,y) position given in arcmins relative to the
               solar disk centre to heliographic coordinates for the date
               supplied (default date = today).  The formula used is
		valid for any viewpoint -- though results can be "funny"
		from viewpoints inside the Sun.

 Use         : IDL> helio = arcmin2hel(xx,yy,date=date)

 Inputs      : xx  -  E/W coordinate in arc minutes relative to sun center
                      (West is positive); can be a vector
               yy  -  S/N coordinate in arc minutes relative to sun center
                      (North is positive); can be a vector

 Opt. Inputs : None

 Outputs     : Function returns a 2xN element vector: [lat, long] in
               degrees, where N is number of elements in XX and YY

 Opt. Outputs: None

 Keywords    : date      -  date/time in any CDS format

               soho      -  if set uses the SOHO view point rather than
                            the Earth.  Note this functionality is
                            duplicated by the system variable SC_VIEW,
                            which in turn is set by the procedures
                            USE_EARTH_VIEW or USE_SOHO_VIEW.

               off_limb  - flag which is true if the coordinates are beyond
                           the solar limb.
               error     - Output keyword containing error message;
                           a null string is returned if no error occurs
               radius    - solar radius value [output in arcmin units]
               no_copy   - input xx and yy arrays are destroyed
		p	  - If specified, override pb0r for p angle
		b0 	  - If specified, override pb0r for b angle
		r0	  - If specified, override pb0r for solar apparent
			    dia:  r0 is the observer's distance from the
			    Sun, in solar radii (one may use "zunits" to
			    convert fron solar radii to, say, kilometers).
		l0	  - If specified, this is the longitude (relative
			    to Earth- or SOHO- central meridian) of the 
			    sub-observer meridian.  Useful for reprojections
			    and locations far from Earth.
		sphere    - If set, return longitude over the whole sphere
			    rather than mirror reflecting around the 
			    lon=90 meridian.  (Useful for nonzero B angle)
		backside  - If set, return the farthest, rather than nearest,
			    matching point.

 Calls       : ***
	ANYTIM2UTC [1], ANYTIM2UTC [2], ARCMIN2HEL, DELVARX [1], DELVARX [2], DELVARX [3]
	DELVARX [4], GET_UTC, PB0R, TRIM, delvarx [5], is_number [1], is_number [2]
 Restrictions: If the supplied coordinates are outside the solar disk, the
               region is projected onto the limb.

 Prev. Hist. : Original by J P Wuelser.

 Written     : CDS version by C D Pike, RAL, 6 Sept 93

 Modified    : Converted to use CDS time and pb0r routines, CDP, 17-May-94
		Version 3, William Thompson, GSFC, 14 November 1994
                  Modified .DAY to .MJD
               Version 4, July 31, 1995, Liyun Wang, GSFC/ARC
                  Vectorized the input parameters (i.e., the two
                     input parameters can be vectors)
                  Added ERROR keyword
               Version 5, 26-Feb-96, CDP
                  Added SOHO keyword.
               Version 6, March 11, 1996, Liyun Wang, GSFC/ARC
                  Modified such that point of view can be changed to
                     SOHO if the env variable SC_VIEW is set to 1
               Version 7, March 13, 1996, Liyun Wang, GSFC/ARC
                  Allow scalar and vector input.
               Version 8, August 2, 1996, Liyun Wang, NASA/GSFC
                  Error from calling PB0R is ignored
               Version 9, June 10, 1997, Liyun Wang, NASA/GSFC
                  Fixed a bug that occurs when trying to avoid off-limb points
               Version 10, Sept 10, 1997, Zarro SAC/GSFC
                  Added RADIUS output keyword
               Version 11, Oct 7, 1997, Zarro SAC/GSFC
                  Added some calls to TEMPORARY
		Version 12, November 4, 1997 Giulio Del Zanna, UCLAN, UK
		   corrected the fact that the DATE format was changed
		   inside the routine (e.g. string to a structure)
		Version 13, February 20, 1998, Zarro (SAC/GSC)
		   - Added more error checking and improved memory management
                  - Added /NO_COPY (use with care)
		Version 14, Dec 17, 1998, DeForest (Stanford/GSFC)
		   - Added PB0R overrides on a keyword-by-keyword basis
		Version 15, 6-Jan-1999, DeForest (Stanford/GSFC)
		   - Added keyword override to remove mirror-image behavior
		     around the azimuthal meridian.
               Version 16, 7-Jan-99, Zarro (SMA/GSFC)
                  - Made use of SOHO keyword more logical
		Version 17, 8-Apr-99, DeForest (Stanford/GSFC)
		   - Added L0 keyword; renamed R -> R0 to avoid conflict with
			"radius" keyword (FDWIM).
		Version 17.5, 8-Apr-99, DeForest (Stanford/GSFC)
		   - Modified interpretation of R0 keyword to agree with 
		 	hel2arcmin:  observer distance from Sun.
		Version 17.6, 9-Apr-99, Andretta (CUA/GSFC)
                  - Corrected a bug in the distance-radius conversion
	        Version 18, 23-Feb-2000, DeForest (SWRI)
		   - Changed to the correct (non-orthographic)
		     transformation.
               Version 19, 22-Aug-2001, Zarro (EITI/GSFC)
                    Added ANGLES keyword
		Version 20, 29-Nov-2001, William Thompson, GSFC
		     Corrected bug with (0,0) as input
		Version 21, 15-Mar-2002, Zarro/Andretta.
                    Correct bugs in use of ANGLES and SOHO keywords
		Version 22, 12-July-2004, Zarro (L-3Com/GSFC)
                    Added check for negative square roots
		Version 23, 10-Jan-2005, Zarro (L-3Com/GSFC)
                    Added /DEBUG and converted () to []
               14-March-05, Zarro (L-3Com/GSFC) - added more
                    calls to TEMPORARY


ARCTAN $SSW/gen/idl/util/arctan.pro
[Previous] [Next]
 NAME: 
	ARCTAN
 PURPOSE:
	Generalized arctan function that resolves the 180-degree ambiguity 
	which is not resolved with the standard atan function.
 INPUTS:
	x	=cos(angle), can be arrays 
	y	=sin(angle), can be arrays
 OUTPUTS:
	a	=angle [0<a<2*pi] in radian
	a_deg	=angle [0<a<360]  in degrees
 CALLED BY:
	COORD_CART_HELIO [1], C_TO_S, FWD_MODELMAP, STEREO_LOOP
 EXAMPLE:
	a0	=225.*(!pi/180.)
	x	=cos(a0)
	y	=sin(a0)
	arctan,x,y,a,a_deg
	print,a_deg		  --> 225.	;180-degree ambiguity is resolved
	print,atan(y/x)*(180./!pi) --> 45.	;180-degree ambiguity is not resolved
 MODIFICATION HISTORY:
	1990, written, aschwand@lmsal.com
	1999 Dec 1, contributed to SSW 


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

 Name        : ARR2GIF

 Purpose     : Write images to a series of GIF files

 Category    : imaging

 Explanation : 

 Syntax      : IDL> arr2gif,images,file

 CALLS: ***
	CONCAT_DIR [1], CONCAT_DIR [2], CONCAT_DIR [3], CONGRID [1], CONGRID [2]
	CONGRID [3], DATATYPE [1], DATATYPE [2], DATATYPE [3], EXIST, EXPAND_TILDE [1]
	EXPAND_TILDE [2], SSW_WRITE_GIF, TEST_OPEN, TRIM, concat_dir [4]
 Examples    :

 Inputs      : IMAGES = times series of 2-d images (x,y,t)

 Opt. Inputs : None

 Outputs     : FILE = filename with listing of individual GIF filenames

 Opt. Outputs: None

 Keywords    : XSIZE,YSIZE = new sizes to CONGRID images
               FILE = filename with listing of individual GIF filenames
               OUT_DIR = output directory for GIF files (def=curr or home)
               INTERP= smooth images

 History     : Written 22 March 1997, D. Zarro, ARC/GSFC
               Version 2, 13-Aug-2003, William Thompson
                       Use SSW_WRITE_GIF instead of WRITE_GIF

 Contact     : dzarro@solar.stanford.edu


ARR2STR [1] $SSW/gen/idl/string/arr2str.pro
[Previous] [Next]
 Project     : SSW     
                   
 Name        : ARR2STR()
               
 Purpose     : Convert an array to a delimited string.
               
 Explanation : 
               
 Use         : IDL> s = arr2str(array,'-')
                    s = arr2str(array,delim='-')
    
 Inputs      : arr  -  input data array which is to be converted
                       to a simple string.
               
 Opt. Inputs : delim - an alternative positional parameter to specify the
                       delimiter.
               
 Outputs     : Function returns a simple string using the delimiter to 
               separate the elements of the original array.
               
 Opt. Outputs: 
               
 Keywords    : delimiter  -  specify the delimiter to be used, default 
                             delimiter is ','
		trim_str   -  If set, call STRTRIM when converting to string
		compress   -  If set, call STRCOMPRESS after converting
               no_duplicate  If set, inhibit having string with consecutive
                             delimiters such as // 

 Category    : Util, string
               
 Prev. Hist. : Sam Freeland 11/19/91 
               (Various Slf,MDM,DP mods)

 Written     : Sam Freeland 
               
 Modified    : Version 2, William Thompson, GSFC, 15 June 1995
			Added /TRIM keyword to be compatible with Yohkoh
			version.  Added /COMPRESS keyword
               Version 2.1, Sam Freeland, SSW merge
               Version 3, Zarro (SAC/GSFC) - added /NO_DUPLICATE &
                       renamed TRIM keyword to TRIM_STR to avoid
                       name conflict with TRIM function
               Modified, 17-Mar-03, Zarro (EER/GSFC) - changed loop variable
                       to long, change to use [], added error checks,
                       changed 'string' variable name to 'ostring' in case
                       of reserved name conflicts
 CALLED BY
	ADD_METHOD, ADD_PATH [1], ADD_PATH [2], BATSE_TIME_INPUT, BUILD_DRM_MER_CONT
	CDS_PLAN_BRIEF, CHECK_KAP, CH_LINE_LIST, CLEAN_PATH, CRONTAB, CkFurFiles
	Create_update_tar, DB_CHECK, DEF2C_FORMAT, DEF2STRUCT, DISCSP_BANDS, EIT_COPY
	EIT_GBO, EIT_QUALITY [1], EIT_QUALITY [2], EVAL_SHERB, EXEC_STRUCT, EXP_DBASE
	EXP_ZDBASE, FIND_CAT, FITS WRITER CLASS FOR ANY RHESSI DATA TYPES, FIX_DATE
	FTP__DEFINE, GET_ANOMALY, GET_CDS_FOV, GET_CDS_XY, GET_SID, HESSI
	HESSI CALIBRATED EVENTLIST CLASS DEFINITION [3]
	HESSI PACKET FILE ABSTRACT CLASS, HESSI_DATA_PATHS [1], HESSI_DATA_PATHS [2]
	HSI_CHK_DUPLICATE, HSI_EST_MEMMAX, HSI_EVENTLIST_SELECT_BY_ENERGY
	HSI_EVENTLIST_SELECT_BY_TIME [1], HSI_EVENTLIST_SELECT_BY_TIME [2]
	HSI_RD_FITS_SPECTRUM, HXFITS, LATEST_IMAGE, LIST_ANOMALY, LIST_GEV, LIST_NAR
	LOCAL_DIFFS, Load_recs, MCURVEFIT, MDI_GBO, MERGE_DISCSP_HKG_OCC, MK_CDS_ANALYSIS
	MK_CDS_PLAN, MK_MER_CONT, MK_PLAN_ORDER, MK_PLAN_WRITE, MK_RASTER
	MkFnMapMake Filename Map, Modify_Merge_list [1], Modify_Merge_list [2]
	OCC_DBASE, OP_COM [1], OP_COM [2], OVSA_EXPLORER formerly OVSA_PRESUB, OVSA_FIT
	OVSA__DEFINE, PAIR_STRUCT, PARSE_GROSSC_ATTITUDE
	POINT SPREAD FUNCTION CLASS DEFINITION, POINT [1], QUERY_ANOMALY
	RATIO_PLOTTER [1], RD_IMAGE_FITS, READ_GDFILE_GD, REMOVE_PATH, RM_FILE
	RM_PATH [1], RM_PATH [2], ROUTINE_NAME [4], ROUTINE_NAME [7], RTMVI [1], RdTap [1]
	RdTap [2], RdTap [3], SEL_LINE_EVENT, SETUP_DRM, SET_CDS_FITS, SITE__DEFINE
	SOHO_ITEMS_HTML, SPEX_BACKGROUND [1], SPEX_BACKGROUND [2], SPEX_COMMONS [2]
	SPEX_COMMONS [4], SPEX_DRM__DEFINE, SPEX_ENV [2], SPEX_ENV [4], SPEX_ENV [5]
	SPEX_FIT__DEFINE, SPEX_GEN__DEFINE, SPEX_HANDLES [1], SPEX_HANDLES [2]
	SPEX_PROC [1], SPEX_PROC [2], SPEX_SAVE [1], SPEX_SAVE [2], SPEX_SAVE_DATA [1]
	SPEX_SAVE_DATA [2], SPEX_SUMMARY [1], SPEX_SUMMARY [2], SPEX_THISTORY [1]
	SPEX_THISTORY [2], SPEX__DEFINE, SSW_LOCAL_PATH, STRUCTURE TO VOTABLE, STR_CHOP
	STR_DEBLANK, STR_FIND, STR_TRAIL, SXI_GBO, SYNOP_DEFINE, TEST_DIR2, TRACE_COPY
	TRACE_GBO, TRACE_SSWHERE [1], UPDATE_CAMPAIGN, UPDATE_MPG, UPDATE_SXT_CO_INDEX
	VALID_TIME, WHICH, WRT_GEN [1], WRT_GEN [2], WRT_GENX [1], WRT_GENX [2], W_HISTOGRAM
	XACK, XCAMP, XCAT, XCRON, XLIST, XMATRIX, break_doc [1], break_doc [2], break_doc [3]
	cal_fig_mich, ch_ss, check_dumps [1], check_ff_load, check_oldprocess [1]
	check_oldprocess [2], check_oldprocess [3], check_oldprocess [4], cnvtimstr
	copy_visible, db_gbo, disk_monitor [1], disk_monitor [2], disp_dt_genx
	disp_therm_rs232, do_reg_backup, drm_4_spex [1], drm_4_spex [2]
	eit_proton_summary, evt_grid, expand_dirs, extract_val, fidmap, fit_comp_kw
	fitshead2struct, get_eit_info, get_ovsa_log, get_survey, getcurstr [1]
	getcurstr [2], getwkprelst, go_batch [1], go_batch [2], go_ssw_batch
	go_yo_prod_batch, goes_summary, gt2exe [1], gt2exe [2], help_merge [1]
	help_merge [2], hist_summary, hkplot_info, hsi_a2d_list, hsi_coll_segment_list
	hsi_gbo, hsi_get_flare_flags, hsi_getflare, hsi_image_plot
	hsi_image_raw__define, hsi_imagemisc_widget, hsi_params_write_pro
	hsi_plot_flux, hsi_select_flare, hsi_show_flags [2], hsi_spectrum__filewrite
	hsi_ui_flarecat, hsi_ui_lc, hsi_ui_mon, hsi_ui_obs, hsi_ui_qlimage, hsi_ui_spec
	html_get_files, hxt_images2ps, ihy_db, image2movie, image_summary, img_summary [1]
	img_summary [2], ip_que_dmpver, is_alive [1], is_alive [2], is_bestnode [1]
	is_bestnode [2], jitter_gif_xyimg, lastgki, list_mo_log [1], list_mo_log [2]
	load_hd, mail [1], mail [2], make_mirror, mk_bad_pix_map_load, mk_lasteit_movie
	mk_orbit_files, mk_sfc [1], mk_sfc [2], mk_ssc_batch [1], mk_ssc_batch [2]
	mmap_imgnum, mo_patch, mon_sci5k, mtcmd [1], mtcmd [2], mwritefits, netscape_control
	nob_img_copy, option_changer [1], option_changer [2], ospex_params_write_pro
	ovsa_calib, ovsa_interact, parse_lines [1], parse_lines [2], path_ucon, pathfix
	plot_fov [1], plot_goesp, plotman, plotman_imageoptions, point [2]
	pr_his_index [1], pr_his_index [2], pr_his_index [3], pref_super, psk_correlate
	ratio_plotter [2], rd_guf_ascii, rd_sxg, rd_sxs_pha [1], rd_sxs_pha [2]
	rd_tr_seq_head, rdbda_smm, read_batse_4_spex [1], read_batse_4_spex [2], reads
	redo_disploi, redo_mon_sci5k, required_tags, restgenx, save_idl_routines, savegenx
	secchi_time2files, seq_cubes, set_fastpath [1], set_fastpath [2], set_logwindows
	set_oldpath [1], set_oldpath [2], setssw_windows, soon_search [1]
	soon_search [3], spec_plot [1], spec_plot [2], spec_plot [3], spec_plot [4]
	special_movie, spex_convert_results [1], spex_convert_results [2]
	spex_data__define, spex_delete [1], spex_delete [2], spex_evnt [1]
	spex_evnt [2], spex_hold [1], spex_hold [2], spex_image__define, spex_merge [1]
	spex_merge [2], spex_merge_control [1], spex_merge_control [2]
	spex_preview [1], spex_preview [2], spex_source [1], spex_source [2]
	spex_spec_plot [1], spex_spec_plot [2], spex_spec_plot [3], spex_spec_plot [4]
	ssw_imapcoord2html, ssw_install [1], ssw_install [2], ssw_instr_info
	ssw_javamovie, ssw_path, ssw_set_instr, ssw_setup_windows, ssw_start_rpcserver
	ssw_swmap_info, str_pow_conv, str_replace [1], str_replace [2], strlist2html [1]
	strlist2html [2], strpair2struct, sw_tape, sxt_orhis, sxt_prep_exe, synop_link
	table2struct, timeavg [1], timeavg [2], timeline, timstr2ex [1], timstr2ex [2]
	todays_targets, topsdb [1], topsdb [2], tr_decode_head [1], tr_decode_head [2]
	trace_cosmic2filename, trace_cosmic2hist_accum, trace_dph2struct [1]
	trace_scale, trace_sswhere [2], trace_sswhere [3], trace_sswhere [4]
	track_proc [1], track_proc [2], ucon_path, url_decode, url_encode, vso_format
	wbs_response [1], wbs_response [2], web_seq, where_pattern [1]
	where_pattern [2], where_title [1], where_title [2], write_genxcat
	write_ovsa_fits, write_trace, write_trace_bin, wrt_rate_ext, wwwidl_server_check
	wwwidl_watchdog [1], wwwidl_watchdog [2], xcheckip, xdisp_fits, xdisp_trace [1]
	xdisp_trace2, xdisp_trace3, xhkplot, xread_hist, xset_chain [1], xset_chain [2]
	xso_butevents [1], xso_butevents [2], xsxt_prep_event, ys_contrib [1]
	ys_contrib [2], zformat [1], zformat [2]


arr_diff $SSW/gen/idl/util/array_diff.pro
[Previous] [Next]
   Name:  arr_diff

   Purpose: boolean function - arrays different? (string/struct/numeric OK)

   Input Parameteters:
      arr1, arr2 - to arrays to compare
  
   Output Parameters:
      ndiff - number of differences

   Output:
      function returns 1 if there are ANY differences
                       
   Keyword Parameters:
      ignore_type - ignore numeric type (dont worry about TYPE only differences
                                         for numeric comparisons)
 
   Calling Sequence:
      IDL> different=array_diff(array1, array2)

   Calling Examples:
      IDL> print,array_diff(replicate(!x,10),replicate(!y,10))    ;structure
              1
      IDL> print,array_diff(replicate(!x,10),replicate(!x,10))
              0
      IDL> print,array_diff(sindgen(10),sindgen(10))              ;striings
              0
      IDL> print,array_diff(sindgen(10),alphagen(10))   
              1
      IDL> print,array_diff(indgen(10),findgen(10))               ;numeric
              1
      IDL> print,array_diff(indgen(10),findgen(10),/ignore_type)  
          0

 CALLS: ***
	ARRAY_DIFF, BOX_MESSAGE, STR_DIFF, data_chk [1], data_chk [2]
   History:
      12-August-2000 - S.L. Freeland - package a few useful checks


array_concat $SSW/gen/idl/util/array_concat.pro
[Previous] [Next]
 PROJECT:
	GENERAL
 NAME: 
	array_concat
 PURPOSE:
	concatenate a dynamic array with subarrays of variable lengths 
		x0=fltarr(n0)
		x1=fltarr(n1)
	The concatenated array is
		x_=[x0,x1]
	with index ranges
		x_(i1:i2)=xj, i1=x_ind(0,j), i2=x_ind(1,j)
 CALLING SEQUENCE:
	array_concat,i1,i,x,x_,x_ind,n_ind
 INPUTS:
	i1	= ID number of first subarray 
	i	= ID number of subsequent subarrays
	x	= subarray of any length 
 OUTPUTS:
	x_	= concatenated array x_=[x_0,x_1,...,x_i]
	x_ind(2,n_ind) = start and stop indices of subarrays in concatenated array
	n_ind	= number of concatenated subarrays
 MODIFICATION HISTORY:
	Version 1, aschwanden@lmsal.com, Written, 1999 Dec 1


array_decat $SSW/gen/idl/util/array_decat.pro
[Previous] [Next]
 NAME: 
	array_decat
 PURPOSE:
	decatenates a dynamic array into subarrays of variable lengths 
	This procedure is inverse to FWC_CONCATENATE and uses its arguments 
 CALLING SEQUENCE:
	array_decat,i,x_ind,x_,x,ni
 INPUTS:
	i	= ID number of subsequent subarrays
	x_ind(2,n_ind) = start and stop indices of subarrays in concatenated array
	x_	= concatenated array x_=[x_0,x_1,...,x_i]
 OUTPUTS:
	x	= subarray with index i
 MODIFICATION HISTORY:
	Version 1, aschwanden@lmsal.com, Written, 1999 Dec 1


Array_Despike $SSW/gen/idl/util/array_despike.pro
[Previous] [Next]
 NAME:
	Array_Despike

 PURPOSE:
	Remove isolated HIGH SIGNAL/NOISE elements from a 2D array, replacing
	them with a local mean. This routine iterates until convergence or
	a user-supplied maximum number. Only
	points passing the S/N cut are affected.

 CALLING SEQUENCE:
	Newarray = Array_Despike( array, kernel=kernel, $
		 Sigma=Sigma, threshold=threshold, itmax=itmax, verbose=verbose

 INPUT ARGUMENT:
	array = the array to despike. Units are counts because sqrt(mean) used
		to determine number of standard deviations per spike

 OPTIONAL INPUT ARGUMENT:
   kernel = local mean computed by convol( array, kernel, /normalize,/edge_truncate)
		default kernel is the 8 cells surrounding a cell
	SIGMA = the number of standard deviations by which a pixel must
		exceed the local background for it to be replaced. DEFAULT = 5.0
	ITMAX = the maximum number of iterations. DEFAULT = 20
	SCALE = If any scaling is needed for cells, scale is used.
		it should have the same size as array.  For example, if
		array columns have different accumulation times (livetimes)
		then this scaling can be applied here. Expectation values
		should scale with array/scale.
	NOLOW = If set, then negative spikes are not removed




 OUTPUT:
 	Array_Despike returns the array, with spikes removed.

 REVISION HISTORY:
	7-jul-2006, richard.schwartz@gsfc.nasa.gov
	12-jul-2006, richard.schwartz@gsfc.nasa.gov, added scale array input
		and fixed problem with totally isolated spikes, minimum
		sigma is 1 to keep f_div from reporting 0 for diff/sigma
	19-jul-2006, ras, Added removal of negative spikes and NOLOW keyword to disable this
	new feature
 CALLS:
 CALLED BY
	read_soxs_4_ospex


array_insert $SSW/gen/idl/util/array_insert.pro
[Previous] [Next]
NAME: array_insert
PURPOSE: Insert an array into another array at a specified point.
   Output array is dimension of original plus inserted array.
   If arr_a is 1-D, arr_b must be 1-D and will be inserted at element 'index'.
   If arr_a is 2-D, arr_b can be 1-D or 2-D:
     if arr_b is 1-D, the same elements are inserted into every row of arr_a
     if arr_b is 2-D, the second dimension must match the second dimension of arr_a

INPUT:
  arr_a - destination array
  arr_b - array to insert
  index - column # in arr_a to place arr_b into

OUTPUT: array of combined arrays. Returns -1 if error.

 CALLED BY:
	SPEX_FIT__DEFINE, spex_convert_results [1], spex_convert_results [2]
EXAMPLES:
 1. arr_a and arr_b are 1-D
  print, array_insert (indgen(6), indgen(3), 4)
       0       1       2       3       0       1       2       4       5
 2. arr_a is 2-D and arr_b is 1-D
  print, array_insert (indgen(2,3), [33,34], 1)
       0      33      34       1
       2      33      34       3
       4      33      34       5
 3. arr_a and arr_b are 2-D.
 print, array_insert (indgen(2,3), transpose([33,34,35]), 1) ; arr_b is 1x3
       0      33       1
       2      34       3
       4      35       5

 CALLS: ***
	CHECKVAR [1], REPRODUCE, checkvar [2]
 Restrictions:  Can't handle higher dimensions than 2-D arrays

HISTORY:
	Written 5-May-2006, Kim Tolbert
	8-Nov-2006, Kim.  Use reproduce instead of rebin, so it will work on strings too.


ARRAY_JHUAPL [1] $SSW/gen/idl/fund_lib/jhuapl/array_jhuapl.pro
[Previous] [Next]
 NAME:
       ARRAY_JHUAPL
 PURPOSE:
       Force given argument to be an array.
 CATEGORY:
 CALLING SEQUENCE:
       y = array_jhuapl(x)
 INPUTS:
       x = input which may be an array or scalar.      in
 KEYWORD PARAMETERS:
 OUTPUTS:
       y = out which is an array.                      out
 CALLS: ***
	DATATYPE [1], DATATYPE [2], DATATYPE [3]
 CALLED BY:
	RECPOL [1], RECPOL [2], RECPOL [3], STRSEC [1], STRSEC [2]
 COMMON BLOCKS:
 NOTES:
 MODIFICATION HISTORY:
       R. Sterner, JHU-APL,  28 Jan, 1986.
       Converted to SUN 14 Aug, 1989 --- R. Sterner.
	30-Apr-92 (MDM) - Renamed from "array.pro" to "array_jhuapl.pro"

 Copyright (C) 1986, Johns Hopkins University/Applied Physics Laboratory
 This software may be used, copied, or redistributed as long as it is not
 sold and this copyright notice is reproduced on each copy made.  This
 routine is provided as is without any express or implied warranties
 whatsoever.  Other limitations apply as described in the file disclaimer.txt.


ARRAY_MATCH $SSW/gen/idl/util/array_match.pro
[Previous] [Next]
 Project     :	SOHO - CDS

 Name        :	ARRAY_MATCH()

 Purpose     : Detect if a vector matches any row or column of a 2D array

 Explanation : Search through a 2D array to see if any row (or column, if
               keyword COLUMN is set) of it is identical to (or matches) 
               a given vector.

               This routine is called by XCDS to check if the current
               study has been selected previously.

 Use         : Result = array_match(A, B [,/column])
               IF (array_match(a,b [,/column])) THEN ...

 Inputs      : A -- a 2D array with n x m elements
               B -- a vector with n elements (or m elements if keyword COLUMN
                    is to be set)
 Opt. Inputs : None.

 Outputs     : Result -- 1 if vector B matches either row (or column when
                         COLUMN is set) of array A; 0 otherwise

 Opt. Outputs: None.

 Keywords    : COLUMN -- If set, comparison is made through column of A

 Calls       : None.
 CALLED BY:
	hsi_range_widget, hsi_select_flare, hsi_time_widget
 Common      : None.

 Restrictions: Number of elements of vector B must be equal to the column
               number (or row number, if the keyword COLUMN is set) of
               array A

 Side effects: None.

 Category    : Utilities, array manipulation

 Prev. Hist. : None.

 Written     :	Liyun Wang, GSFC/ARC, August 23, 1994

 Modified    : Liyun Wang, GSFC/ARC, August 24, 1994
                  Fixed a bug that only checks for a maximum of two rows
               Liyun Wang, GSFC/ARC, August 30, 1994
                  Added keyword COLUMN to allow comparison of one vector with
                  each column of a 2D array.

 Version     : Version 1.0, August 30, 1994


ARRAY_XOR $SSW/gen/idl/util/array_xor.pro
[Previous] [Next]
 Project     : SOHO - CDS     
                   
 Name        : ARRAY_XOR()
               
 Purpose     : Returns the XOR elements of two arrays.
               
 Explanation : Given 2 arrays it returns an array containing the elements
               that are in either array but not both.
               
 Use         : IDL> x = [0,1,2,3,4,8]
               IDL> y = [2,3,4,9]
               IDL> print,array_xor(x,y)   -->  0 1 8 9
    
 Inputs      : x,y  - two arrays (any type ecept complex and structure)
               
 Opt. Inputs : None
               
 Outputs     : Function returns exclusive array
               
 Opt. Outputs: None
               
 Keywords    : None

 Calls       : ***
	DATATYPE [1], DATATYPE [2], DATATYPE [3], FIND_COMMON, REM_DUP [1], REM_DUP [2]
	REM_DUP [3], REST_MASK
 Common      : None
               
 Restrictions: Input arrays must be same type
               
 Side effects: None
               
 Category    : Util
               
 Prev. Hist. : None

 Written     : C D Pike, RAL.  22-Apr-97
               
 Modified    : 

 Version     : Version 1, 22-Apr-97


ARROW $SSW/gen/idl_fix/soft/old240/arrow.pro
[Previous] [Next]
 NAME:				ARROW
 PURPOSE:	Draw a vector(s) with an arrow head
 CATEGORY:	Graphics
 CALLING SEQUENCE:
	ARROW, x0, y0, x1, y1
 INPUTS:
	(x0, y0) = coordinates of beginning of vector(s).  May be arrays
		or scalars. Coordinates are in DEVICE coordinates
		unless otherwise specified.
	(x1, y1) = coordinates of endpoint (head) of vector.  
		x0, y0, x1, y1 must all have the same number of elements.
 KEYWORD PARAMETERS:
	DATA - if set, implies that coordinates are in data coords.
	NORMALIZED - if set, coordinates are specified in normalized coords.
	HSIZE = size of arrowhead.  Default = 1/64th the width of the device,
		(!D.X_SIZE / 64.).
		If the size is positive, it is assumed to be in device
		coordinate units.  If it is NEGATIVE, then the head length
		is set to the vector length * abs(hsize), giving heads
		proportional in size to the bodies.  The size is defined as
		the length of each of the lines (separated by 60 degrees) 
		that make the head.
	COLOR = drawing color.  Default = highest color index.
	HTHICK = thickness of heads.  Default = 1.0.
	SOLID = if set, make a solid arrow, using polygon fills, looks better
		for thick arrows.
	THICK = thickness of body.    Default = 1.0.
	
 OUTPUTS:
	No explicit outputs.
 CALLED BY:
	NEAR_CONJ, POINTING3, STARFIELD, TERM_QUICK, TERM_REVIEW, TERM_REVIEW_GIF, VIEW_RAW
	XFLOW_DIAG [1], arrow2, help_roll, mdipdist, qNagoya_Skymap, xflow_diag [2]
 SIDE EFFECTS:
 RESTRICTIONS:
 PROCEDURE:
	Straightforward.
	Examples:
  		Draw an arrow from (100,150) to (300,350) in DEVICE units.
	ARROW, 100, 150,  300, 350

		Draw a sine wave with arrows from the line Y=0 to
		sin(x/4).
	X = FINDGEN(50)
	Y = SIN(x/4)		;Make sin wave
	PLOT, X, Y
	ARROW, X, REPLICATE(0,50), X, Y, /DATA
 MODIFICATION HISTORY:
	DMS, Feb, 1992.
	DMS, Sept, 1992.  Added /SOLID.


arrow2 $SSW/gen/idl/genutil/arrow2.pro
[Previous] [Next]
 NAME:
   arrow2
 PURPOSE:
   Wrapper routine for IDL user library ARROW routine.

   arrow2 works with tv2 to provide easier PostScript placement.

 CALLING SEQUENCE:
   arrow2, x0, y0, x1, y1                         ; Provide head & tail coordinates
   arrow2, x0, y0, angle, length, /angle          ; x0,y0 = arrow's tail
   arrow2, x0, y0, angle, length, /angle, /head   ; x0,y0 = arrow's head
   arrow2, x0, y0, angle, length, /angle, /tv2    ; Assume tv2,/init has been
                                                    previously called (see below).
 INPUTS:
   x0, y0	- Defines the tail of the arrow, or if /head is set, the
		  head of the arrow.
   x1, y1	- Defines the head of the arrow, or if /head is set, the
		  the tail.

   angle	- if /angle is set, is the angle in degrees, counter
                 clockwise.  0.0 points to the right.
   length	- If /angle is set, is the length of the arrow in device,
                 data or normalized coordinates.

 OPTIONAL INPUT PARAMETERS:
   /angle	- If set, 3rd and 4th parameters are the angle and length
		  of the arrow, respectively.
   /head	- To change x0, y0 to define the head of the arrow.

   HSIZE, COLOR, HTHICK, THICK, SOLID are the same as in ARROW

    DATA 	- if set, implies that coordinates are in data coords.
    NORMALIZED - if set, coordinates are specified in normalized coords.
    DEVICE	- if set, coordinates are specified in device coords.

    /tv2	- if set, assumes tv2,/init, xsiz_pix, ysiz_pix has
		  be previously called.  In this case, /data, /norm and
		  and /dev will have no effect, since /dev will be assumed for
		  X-output and the pseudo window pixel coordinates will be
                 assumed for PostScript output.

 CALLS: ***
	ARROW
 CALLED BY:
	MARK_POINT, evt_grid
 COMMON BLOCKS:
  tv2_blk (which is created by tv2,/init).

 METHOD:
  arrow2 requires the PostScript plotting size to be set by a previous call
  to tv2/init,xsiz_pix,ysiz_pix (see the document header of tv2 for more
  information), which stores various parameters in common.

 See also the following routines:
		tv2, ocontour, draw_grid (sxt_grid), plots2

 MODIFICATION HISTORY:
  23-Jan-1996, J. R. Lemen (LPARL), Written.
  24-Jan-2002, Kim Tolbert.  Ensure that !p.psym is 0 before drawing arrow.
  26-Dec-2002, Zarro (EER/GSFC) - removed unsupported /device in arrow call


ARROWS $SSW/gen/idl_libs/astron/astro/arrows.pro
[Previous] [Next]
 NAME:
      ARROWS
 PURPOSE:
      To display "weathervane" directional arrows on an astronomical image 
 EXPLANATION:
      Overlays a graphic showing orientation of North and East.

 CALLING SEQUENCE:
      ARROWS,h, [ xcen, ycen, ARROWLEN= , CHARSIZE=  COLOR= , /DATA
                              FONT=, /NORMAL, /NOTVERTEX, THICK=  ]

 INPUTS:
       h - FITS header array, must include astrometry

 OPTIONAL INPUTS:
       xcen,ycen - numeric scalars, specifying the center position of
		arrows.   Position in device units unless the /NORMALIZED 
		keyword is specified.   If not supplied, then ARROWS
		will prompt for xcen and ycen

 OPTIONAL KEYWORD INPUTS:
       arrowlen  - length of arrows in terms of normal Y size of vector-drawn
                     character,  default  = 3.5, floating point scalar
       charsize  - character size, default = 2.0, floating point scalar
       color     - color that the arrows and NE letters should be.  Default
                    value is !P.COLOR
       Data - if this keyword is set and nonzero, the input center (xcen,
                 ycen) is understood to be in data coordinates
       font - IDL vector font number (1-20) to use to display NE letters.
                 For example, set font=13 to use complex italic font.
       NotVertex - Normally (historically) the specified xcen,ycen indicated
                   the position of the vertex of the figure.  If this
                   keyword is set, the xcen,ycen coordinates refer to a sort
                   of 'center of mass' of the figure.  This allows the
                   figure to always appear with the area irregardless of
                   the rotation angle.
       Normal - if this keyword is set and nonzero, the input center 
                (xcen,ycen) is taken to be in normalized coordinates.   The
                default is device coordinates.
       thick     - line thickness, default = 2.0, floating point scalar
 OUTPUTS:
       none
 CALLS: ***
	GETROT, ONE_ARROW, ZPARCHECK [1], ZPARCHECK [2], ZPARCHECK [3]
 CALLED BY:
	ATV, TVLASER
 EXAMPLE:
       Draw a weathervane at (400,100) on the currently active window, 
       showing the orientation of the image associated with a FITS header, hdr

       IDL> arrows, hdr, 400, 100

 METHOD:
       Uses EXTAST to EXTract ASTrometry from the FITS header.   The 
       directions of North and East are computed and the procedure
       ONE_ARROW called to create the "weathervane".

 PROCEDURES USED:
       GETROT - Computes rotation from the FITS header
       ONE_ARROW - Draw a labeled arrow	
       ZPARCHECK
 REVISON HISTORY:
       written by B. Boothman 2/5/86 
       Recoded with new procedures ONE_ARROW, ONE_RAY.  R.S.Hill,HSTX,5/20/92
       Added separate determination for N and E arrow to properly display
         arrows irregardless of handedness or other peculiarities and added
         /NotVertex keyword to improve positioning of figure. E.Deutsch 1/10/93
       Added /DATA and /NORMAL keywords W. Landsman      July 1993
       Recognize GSSS header    W. Landsman       June 1993
       Added /FONT keyword W. Landsman           April 1995
       Modified to work correctly for COLOR=0  J.Wm.Parker, HITC   1995 May 25
       Work correctly for negative CDELT values   W. Landsman   Feb. 1996
       Converted to IDL V5.0   W. Landsman   September 1997
       Use GETROT to compute rotation   W. Landsman    June 2003
       Restored /NotVertex keyword which was not working after June 2003 change
                  W. Landsman  January 2004


ASCII $SSW/gen/idl/string/ascii.pro
[Previous] [Next]
 NAME:
       ASCII

 PURPOSE: 
       Print ASCII characters based on its numerical decimal value.

 EXPLANATION:
       
 CALLING SEQUENCE: 
       ASCII [,/ext]

 INPUTS:
       None.
 OPTIONAL INPUTS: 
       None.

 OUTPUTS:
       None.

 OPTIONAL OUTPUTS:
       None.

 KEYWORD PARAMETERS: 
       EXT -- Prints only extended ASCII characters.

 CALLS:
	None.
 COMMON BLOCKS:
       None.

 RESTRICTIONS: 
       None.

 SIDE EFFECTS:
       None.

 MODIFICATION HISTORY:
       Written September 12, 1994, by Liyun Wang, GSFC/ARC
       
 VERSION: Version 1, September 12, 1994


ASINH $SSW/gen/idl_libs/astron/math/asinh.pro
[Previous] [Next]
 NAME:
     ASINH
 PURPOSE:
     Return the inverse hyperbolic sine of the argument
 EXPLANATION:
     The inverse hyperbolic sine is used for the calculation of asinh 
     magnitudes, see Lupton et al. (1999, AJ, 118, 1406)

 CALLING SEQUENCE
     result = asinh( x) 
 INPUTS:
     X - hyperbolic sine, numeric scalar or vector or multidimensional array 
        (not complex) 

 OUTPUT:
     result - inverse hyperbolic sine, same number of elements as X
              double precision if X is double, otherwise floating pt.

 METHOD:
     Expression given in  Numerical Recipes, Press et al. (1992), eq. 5.6.7 
     Note that asinh(-x) = -asinh(x) and that asinh(0) = 0. and that
     if y = asinh(x) then x = sinh(y).     

 REVISION HISTORY:
     Written W. Landsman                 February, 2001
     Work for multi-dimensional arrays  W. Landsman    August 2002
     Simplify coding, and work for scalars again  W. Landsman October 2003


ASK $SSW/gen/idl/util/ask.pro
[Previous] [Next]
 Project     :	SOHO - CDS

 Name        :	
	ASK
 Purpose     :	
	Gets a single letter response from the keyboard.
 Explanation :	
	Gets a single letter response from the keyboard.  Only responses in the
	array VALID are allowed.  The prompt string is printed, and GET_KBRD is
	called to read in the result.
 Use         :	
	ASK, PROMPT, ANSWER  [, VALID ]

 CALLED BY:
	CONCAT4DOS [1], CONCAT4DOS [2], TVPOINTS, XCOR_CDS
	Example:  ASK, 'Do you want to continue? ', ANSWER

 Inputs      :	
	PROMPT	= Prompt to ask for input.
 Opt. Inputs :	
	VALID	= List of valid responses, put together into one character
		  string.  If not passed, then "YN" is assumed.  All characters
		  are converted to uppercase.
 Outputs     :	
	ANSWER	= Single letter answer.  This is always returned as uppercase.
 Opt. Outputs:	
	None.
 Keywords    :	
	FONT	= Font to use when displaying the prompt widget.  Only
		  meaningful when the prompt is displayed in a text widget
		  (currently only in IDL for Windows).  If not passed, then the
		  first available 20 point font is used.
 Calls       : ***
	FILEPATH, SETPLOT [1], SETPLOT [2]
 Common      :	
	None.
 Restrictions:	
	Any non-printing key will act just like the return key when used with
	IDL for Microsoft Windows.  This includes the delete and backspace
	keys, which otherwise would erase the previous selected character.
 Side effects:	
	None.
 Category    :	
	Utilities, User_interface.
 Prev. Hist. :	
	W.T.T., Oct. 1989.
	William Thompson, 11 May 1993, converted to use widgets when available.
		This makes it compatible with IDL for Windows, together with a
		small change for carriage returns.  Also added FONT keyword.
	William Thompson, 22 June 1993, converted to use widgets only with IDL
		for Windows.
 Written     :	
	William Thompson, GSFC, October 1989.
 Modified    :	
	Version 1, William Thompson, GSFC, 9 July 1993.
		Incorporated into CDS library.
	Version 2, William Thompson, GSFC, 11-Aug-1997
		Changed to be more compatible with IDL v4.
 Version     :	
	Version 2, 11-Aug-1997


ASMOOTH $SSW/gen/idl/util/asmooth.pro
[Previous] [Next]
 Project     :	SOHO - CDS

 Name        :	ASMOOTH()

 Purpose     :	Smooths a one or two-dimensional array.

 Category    :	Image-processing, SU:SERTSIM, Class3

 Explanation :	Does the same thing as the IDL built-in SMOOTH function, except
		that:

		1.  The effect tapers off at the edges of the array, instead
		    of abruptly stopping as in SMOOTH.

		2.  Missing pixels are handled.

 Syntax      :	Result = ASMOOTH( ARRAY, WIDTH )

 Examples    :	

 Inputs      :	ARRAY	= One or two-dimensional array to be smoothed.
		WIDTH	= Width of the smoothing box.  If an even number, then
			  WIDTH+1 is used.

 Opt. Inputs :	None.

 Outputs     :	The result of the function is the smoothed array.

 Opt. Outputs:	None.

 Keywords    :	MISSING	= The value representing missing pixels.

 Calls       : ***
	FLAG_MISSING, GET_IM_KEYWORD, IS_NOT_MISSING
 Common      :	None.

 Restrictions:	ARRAY must be one or two-dimensional.

 Side effects:	None.

 Prev. Hist. :	Originally written for the SERTS project, February 1993.

 History     :	Version 1, 14-Aug-1998, William Thompson, GSFC
		Version 2, 29-Oct-1998, William Thompson, GSFC
			Fixed bug at edges of array when MISSING is not used.
		Version 3, 02-Dec-1998, William Thompson, GSFC
			Fixed bug when WIDTH is even, and MISSING not passed.
		Version 4, 24-Dec-2002, William Thompson, GSFC
			Sped up by using built-in SMOOTH function.
               Version 5, 11-May-2005, William Thompson, GSFC
                       Handle NaN values

 Contact     :	WTHOMPSON


ASTDISP $SSW/gen/idl_libs/astron/astro/astdisp.pro
[Previous] [Next]
 NAME:
	ASTDISP

 PURPOSE:
	Print astronomical and pixel coordinates in a standard format
 EXPLANATION:
	This procedure (ASTrometry DISPlay) prints the astronomical and
	pixel coordinates in a standard format.  X,Y must be supplied.  RA,DEC
	may also be supplied, and a data number (DN) may also be 
	supplied.   With use of the Coords= keyword, a string containing the 
	formatted data can be returned in addition or instead (with /silent) 
	of printing.

 CALLING SEQUENCE:
	ASTDISP, x, y, [Ra, Dec, DN, COORD = , /SILENT ]

 INPUT:
	X  - The X pixel coordinate(s), scalar or vector
	Y  - The Y pixel coordinate(s), scalar or vector

 OPTIONAL INPUTS:
	RA -  Right Ascention in *degrees*, scalar or vector
	DEC - DEClination in *degrees*, scalar or vector (if RA is supplied, DEC must also be supplied)
	DN -  Data Number or Flux values

	Each of the inputs X,Y, RA, DEC, DN should have the same number of 
		elements
 OPTIONAL INPUT KEYWORDS:
	SILENT    Prevents printing.  Only useful when used with Coords=
 OUTPUT:
	Printed positions in both degrees and sexigesimal format
	All passed variables remain unchanged
 OPTIONAL KEYWORD OUTPUT:
	COORDS    Returns the formatted coordinates in a string
 PROCEDURES CALLED:
	ADSTRING - used to format the RA and Dec
 CALLS: ***
	ADSTRING
 CALLED BY:
	GSSSADXY, GSSSXYAD
 HISTORY:
	10-AUG-90 Version 1 written by Eric W. Deutsch
	20-AUG-91 Converted to standard header.  Vectorized Code.  E. Deutsch
	20-NOV-92 Added Coords= and /silent.  E.Deutsch
	Converted to IDL V5.0   W. Landsman   September 1997


ASTRO $SSW/gen/idl_libs/astron/astro/astro.pro
[Previous] [Next]
 NAME:
     ASTRO
 PURPOSE:
     Interactive utility for precession and coordinate conversion.

 CALLING SEQUENCE:
     ASTRO, [ selection, EQUINOX =, /FK4]

 OPTIONAL INPUT:
      SELECTION - Scalar Integer (0-6) giving the the particular astronomical
              utility to be used.  (0) Precession, (1) RA, Dec (2000) to Galactic 
              coordinates, (2) Galactic to RA,Dec (2000) (3) RA,Dec (2000) to 
              Ecliptic, (4) Ecliptic to RA, Dec, (5) Ecliptic to Galactic, (6) Galactic
              to Ecliptic.   Program will prompt for SELECTION if this 
              parameter is omitted.

 CALLS: ***
	ADSTRING, EULER, GET_COORDS, PRECESS
 OPTIONAL KEYWORD INPUT:
       EQUINOX - numeric scalar specifying the equinox to use when converting 
               between celestial and other coordinates.    If not supplied, 
               then the RA and Dec will be assumed to be in EQUINOX J2000.   
               This keyword is ignored by the precession utility.   For 
               example, to convert from RA and DEC (J1975) to Galactic 
               coordinates:

               IDL> astro, 1, E=1975
       /FK4 - If this keyword is set and nonzero, then calculations are done
              in the FK4 system.    For example, to convert from RA and Dec
              (B1975) to Galactic coordinates

               IDL> astro,1, E=1975,/FK4 
 METHOD:
      ASTRO uses PRECESS to compute precession, and EULER to compute
      coordinate conversions.   The procedure GET_COORDS is used to
      read the coordinates, and ADSTRING to format the RA,Dec output.

 NOTES:
      (1) ASTRO temporarily sets !QUIET to suppress compilation messages and
      keep a pretty screen display.   

      (2) ASTRO was changed in December 1998 to use J2000 as the default 
      equinox, **and may be incompatible with earlier calls.***
      
      (3) A nice online page for coordinate conversions is available at
       http://heasarc.gsfc.nasa.gov/cgi-bin/Tools/convcoord/convcoord.pl
 PROCEDURES USED:
      Procedures: GET_COORDS, EULER       Function: ADSTRING
 REVISION HISTORY
      Written, W. Landsman November 1987
      Code cleaned up       W. Landsman   October 1991
      Added Equinox keyword, call to GET_COORDS, W. Landsman   April, 1992
      Allow floating point equinox input J. Parker/W. Landsman  July 1996
      Make FK5 the default, add FK4 keyword


ASTROLIB $SSW/gen/idl_libs/astron/misc/astrolib.pro
[Previous] [Next]
 NAME:
       ASTROLIB
 PURPOSE:
       Add the non-standard system variables used by the IDL Astronomy Library
 EXPLANATION: 
       Also defines the environment variable ASTRO_DATA pointing to the 
       directory containing data files  associated with the IDL Astronomy 
       library (system dependent -- user must edit the first line in the
       program below).

 CALLING SEQUENCE:
       ASTROLIB

 INPUTS:
       None.

 OUTPUTS:
       None.

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

 REVISION HISTORY:
       Written, Wayne Landsman, July 1986.
       Use DEFSYSV instead of ADDSYSVAR           December 1990
       Test for system variable existence before definition    July 2001
       Assume since V55, remove VMS support  W. Landsman   Sep 2006
 CALLED BY
	FTPRINT, IMLIST, IRAFDIR, SEARCH_HXRBS_DB, UVBYBETA, plotman


ATIME [1] $SSW/gen/idl/utplot/atime.pro
[Previous] [Next]
 NAME: 
	ATIME
 PURPOSE:
	Convert argument UT to string of format YY/MM/DD, HHMM:SS.XXX or
	YY/MM/DD, HH:MM:SS.XXX, if PUB is set
 CALLING SEQUENCE:
	RESULT = ATIME(UT[,/PUB,/yohkoh])
 INPUTS:
	UT  - Time to convert to string, in any representation
	      double precision seconds since 79/1/1, 0000:00.000
	      7XN integer
	      2XN longword [msod, ds79]
             Structure with .time and .day
	      See ANYTIM for allowed types
 OPTIONAL INPUTS:
	/PUB - Resulting string will have a colon (:) between hours and minutes
		using HXRBS format
	/Yohkoh - Forces Yohkoh date format DD-mon-YY HH:MM:SS.MSC
	/hxrbs  - Forces HXRBS date pub format yy/mm/dd, hh:mm:ss.xxx
		  same effect as /pub
	/nopub  - Forces HXRBS date format w 1 colon, yy/mm/dd, hhmm:ss.xxx
	/date   - return only the calendar date component of the string, i.e. yy/mm/dd
	/time   - return only the time portion of the string, i.e. hh:mm:ss.xxx
	/y2k	- preserve 4-digit years
	NB, these style booleans may be changed in the code and returned 
	that way if you haven't used the /keyword syntax.

 CALLS: ***
	YMD2SEC [1], YMD2SEC [2], gt_day [1], gt_day [2], gt_time [1], gt_time [2]
 CALLED BY:
	ASCII_RATES, ASCII_RAW, BATSE_ONTIMES, BCS, CAL_SHER, CHKPOINT, CHOOSE_FL, DCFREAD
	DCFSUMMARY, DC_FILESUMMARY, DC_HEADER, DC_USERTIMES, DN_FILE, DO_FITSFILES
	DO_QLARCHIVE, EDITOC, EVAL_SHERB, FILELIST, FIND_DBFILE, FLARES, FLARE_FDB, FLARE_LIST
	FLISTOC, FSOC, FSPLOT, FS_ARCHIVE_DRAW, FS_ARCHIVE_RW, FS_GEN_ARR, FS_GRAPH
	FS_OPEN [1], FS_PRINT, FS_READ_DD, FS_SUBTITLE, FWD_DISPLAY, Fits_spectra [1]
	Fits_spectra [2], GD, GETUT [1], GETUT [2], GET_HXRBS_FITS, GET_SPEC_CAL, GFITS_R
	GFITS_W, GRABDATA, GRABTIME, GRS_EXTRACT, HFLARE, HSI_FORWARDFIT, HV_FILE, HV_FINDER
	HXIS, HXISLIFE, HXISTPLOT, HXISXPLOT, HXR2FILE, HXRBS_OCC, HXRFITS_EXT1, HXRFITS_EXT2
	HXRFITS_HEAD, LISTQUAL, Load_sher, MEMORY_INTRVLS, MERGE_BURSTS
	MERGE_DISCSP_HKG_OCC, MK_DISCSP_CAL, NEXTBDB, OP_COM [1], OP_COM [2], PEAK_MARK
	PLOTBATSE, PLOTFIT, PLOT_FLARE, PLOT_OCC_ONDAY, POINT [1], PRTHDR, Pointing_Change
	QLARCHIVE, QLDISPLAY, QL_DAY_PLOT, QL_ORBIT_PLOT, RATESDUMPOC, RAWDUMPOC, RDBDA, RDFIS
	RDFIS_SPEC, RD_DMP, RD_EXB, RD_NEAR_PIN [1], RD_NEAR_PIN [2], RD_UVCAT, READSUM
	READ_DNFILE, READ_GAPFILE, READ_HVFILE, READ_HXRS_4_SPEX [1]
	READ_HXRS_4_SPEX [2], READ_HXRS_4_SPEX [3], READ_OCC_DISCSP, RESOLVE_NEW_OBS
	SAVE_DCDATA, SC4TREAD, SETUT [1], SETUT [2], SET_UTPLOT [1], SET_UTPLOT [2]
	SPEX_COMMONS [2], SPEX_COMMONS [4], SPEX_HANDLES [1], SPEX_HANDLES [2]
	SPEX_PROC [1], SPEX_PROC [2], SPEX_SAVE_DATA [1], SPEX_SAVE_DATA [2]
	TIME_ARC_NAME, TJD2YMD, TYPE_FLARE, UTHELP, UTPLOT [1], UTPLOT [2], UTPLOT [3]
	UTPLOT [4], UTPLOT [5], WBDA [1], WBDA [2], WBSC [1], WBSC [2], WBSC_FPAR_EV [1]
	WBSC_FPAR_EV [2], WRITE_DD, WRITE_FDB, WRITE_LOG, Y_AVERAGE [1], Y_AVERAGE [2]
	anytim [1], anytim [2], anytim [3], anytim [4], anytim [5], batse_write_log
	cp_catwidget, dc_getfile, drot, file name, find_uvexp, getbrr_spec, gfits_ext1
	gfits_ext2, gfits_files, gfits_head, help_merge [1], help_merge [2]
	hxrbs_response, plot_bda, plot_goes_ospex, plotfda, point [2], rdfis_img, rdmap
	read_4_spex [1], read_4_spex [2], read_batse_4_spex [1], read_batse_4_spex [2]
	read_dd, read_smm_4_spex [1], read_smm_4_spex [2], read_yohkoh_4_spex [1]
	read_yohkoh_4_spex [2], setup_params [1], setup_params [2], spec_plot [1]
	spec_plot [2], spec_plot [3], spec_plot [4], spex_batse_preview [1]
	spex_batse_preview [2], spex_delete [1], spex_delete [2], spex_hold [1]
	spex_hold [2], spex_merge [1], spex_merge [2], spex_source [1], spex_source [2]
	spex_spec_plot [1], spex_spec_plot [2], spex_spec_plot [3], spex_spec_plot [4]
	uvspmagni, where_are [1], where_are [2], xzchange
 MODIFICATION HISTORY:
	Written by Richard Schwartz for IDL Version 2, Feb. 1991
	Modified to vectors 7/9/92, RAS
	" uses DAYCNV.PRO from IDL Astronomy Library
	" uses f_atime.pro to format the output
	" preserves dimensionality of input array, vectors, and scalars, 8/10/92
	Yohkoh keyword/format, 30-apr-93, ras
	Added more style control, Yohkoh/HXRBS, 3-Nov-93
	29-Nov-93, Protect against OSF bug in total, ras
	14-Dec-93 (MDM) - Uncommented ATIME_FORMAT line
	5-jan-94, added time and date keywords, ras
	3-mar-94, added error keyword
       RAS 8-mar-94 - protect against strings of the form 14-Feb-93 24:00:00
       15-May-98 (FZ)  - Changed loop variable i to long
	07-Feb-2002, William Thompson, added keyword Y2K


ATV $SSW/gen/idl/display/atv.pro
[Previous] [Next]
 NAME:
       ATV
 
 PURPOSE: 
       Interactive display of 2-D images.

 CATEGORY: 
       Image display.

 CALLING SEQUENCE:
       atv [,array_name OR fits_file] [,min = min_value] [,max=max_value] 
           [,/linear] [,/log] [,/histeq] [,/block]
           [,/align] [,/stretch] [,header = header]

 REQUIRED INPUTS:
       None.  If atv is run with no inputs, the window widgets
       are realized and images can subsequently be passed to atv
       from the command line or from the pull-down file menu.

 OPTIONAL INPUTS:
       array_name: a 2-D data array to display
          OR
       fits_file:  a fits file name, enclosed in single quotes

 KEYWORDS:
       min:        minimum data value to be mapped to the color table
       max:        maximum data value to be mapped to the color table
       linear:     use linear stretch
       log:        use log stretch 
       histeq:     use histogram equalization
       block:      block IDL command line until ATV terminates
       align:      align image with previously displayed image
       stretch:    keep same min and max as previous image
       header:     FITS image header (string array) for use with data array
       
 OUTPUTS:
       None.  
 
 CALLS: ***
	AD2XY, APER, ARROWS, ATVCONTOUR, ATVERASE, ATVPLOT, ATVXYOUTS, ATV_2MASS_READ
	ATV_APPHOT, ATV_APPHOT_EVENT, ATV_APPHOT_REFRESH, ATV_APPHOT_SETTINGS
	ATV_ARCBAR, ATV_AUTOSCALE, ATV_COLORBAR, ATV_COLPLOT, ATV_CONTOURPLOT
	ATV_DISPLAYALL, ATV_DISPLAYMAIN, ATV_DRAWBOX, ATV_DRAW_BLINK_EVENT
	ATV_DRAW_COLOR_EVENT, ATV_DRAW_EVENT, ATV_DRAW_KEYBOARD_EVENT
	ATV_DRAW_MOTION_EVENT, ATV_DRAW_PHOT_EVENT, ATV_DRAW_ZOOM_EVENT, ATV_EVENT
	ATV_FITSEXT_READ, ATV_GETCT, ATV_GETDISPLAY, ATV_GETOFFSET, ATV_GETSTATS
	ATV_GETTRACK, ATV_GETWINDOW, ATV_GET_MINMAX, ATV_HEADINFO, ATV_HEADINFO_EVENT
	ATV_HELP, ATV_HELP_EVENT, ATV_ICOLOR, ATV_IMCENTERF, ATV_INITCOLORS
	ATV_INITCOMMON, ATV_LINEPLOT_EVENT, ATV_LINEPLOT_INIT, ATV_MAKECT, ATV_MAKEPAN
	ATV_MESSAGE, ATV_MOVE_CURSOR, ATV_OPLOTCONTOUR, ATV_PANTRACK, ATV_PAN_EVENT
	ATV_PLAINFITS_READ, ATV_PLOT1COMPASS, ATV_PLOT1CONTOUR, ATV_PLOT1PLOT
	ATV_PLOT1SCALEBAR, ATV_PLOT1TEXT, ATV_PLOTALL, ATV_PLOTWINDOW, ATV_POLYCOLOR
	ATV_RADPLOTF, ATV_READFITS, ATV_REFRESH, ATV_RESETWINDOW, ATV_RESIZE
	ATV_RESTRETCH, ATV_ROWPLOT, ATV_SCALEIMAGE, ATV_SETCOMPASS, ATV_SETHEADER
	ATV_SETSCALEBAR, ATV_SETTITLE, ATV_SETWINDOW, ATV_SET_MINMAX, ATV_SHOWSTATS
	ATV_SHUTDOWN, ATV_SPLINEFWHM, ATV_STARTUP, ATV_STATS_EVENT, ATV_STATS_REFRESH
	ATV_STRETCHCT, ATV_SURFPLOT, ATV_TEXTLABEL, ATV_TOPMENU_EVENT, ATV_TVPHOT
	ATV_TVSTATS, ATV_WAVESTRING, ATV_WCSSTRING, ATV_WFPC2_READ, ATV_WRITEPS
	ATV_WRITETIFF, ATV_ZOOM, CMPS_FORM, CONGRID [1], CONGRID [2], CONGRID [3], CW_FIELD
	CW_FORM, CW_PDMENU, DELVARX [1], DELVARX [2], DELVARX [3], DELVARX [4], EULER, EXTAST
	FITS_INFO [1], FITS_INFO [2], FITS_READ, GET_EQUINOX, GET_SCREEN_SIZE, GSSSADXY
	GSSS_STDAST, HEADFITS [1], HEADFITS [2], HEADFITS [3], HIST_EQUAL, LOADCT, MEAN
	MRDFITS [1], MRDFITS [2], OPLOTERROR, PRECESS, RADEC, REVERSE, SPLINE, STDDEV
	SXADDPAR [1], SXADDPAR [2], SXADDPAR [3], SXPAR [1], SXPAR [2], SXPAR [3], TVCIRCLE
	WFPC2_READ, XMANAGER, XREGISTERED, XY2AD, delvarx [5]
 COMMON BLOCKS:
       atv_state:  contains variables describing the display state
       atv_images: contains the internal copies of the display image
       atv_color:  contains colormap vectors
       atv_pdata:  contains plot and text annotation information

 RESTRICTIONS:
       Requires IDL version 6.0 or greater.
       Requires Craig Markwardt's cmps_form.pro routine.
       Requires the GSFC IDL astronomy user's library routines.
       Some features may not work under all operating systems.

 SIDE EFFECTS:
       Modifies the color table.

 EXAMPLE:
       To start atv running, just enter the command 'atv' at the idl
       prompt, either with or without an array name or fits file name 
       as an input.  Only one atv window will be created at a time,
       so if one already exists and another image is passed to atv
       from the idl command line, the new image will be displayed in 
       the pre-existing atv window.

 MODIFICATION HISTORY:
       Written by Aaron J. Barth, with contributions by 
       Douglas Finkbeiner, Michael Liu, David Schlegel,
       Wesley Colley, and Jim Brauher.  
       First released 17 December 1998.

       This version is 1.5.2, last modified 1 August 2006.

       For the most current version, revision history, instructions,
       list of known bugs, and further information, go to:
              http://www.physics.uci.edu/~barth/atv


AUTO_ALIGN_IMAGES $SSW/gen/idl/image/auto_align_images.pro
[Previous] [Next]

function auto_align_images,timagein,rimagein,pin,qin,pout,qout, $
                           unrestricted=unrestrictedin,quiet=quietin, $
                           missing=missval,itmax=itmaxin,double=double, $
                           tmask=tmask,rmask=rmaskin,amoeba=amoebain, $
                           powell=powellin,scale=sscalein,dfpmin=dfpminin, $
                           conjgrad=conjgradin, $
                           noplot=noplotin,levels=levelsin,ftol=ftol

NAME:
     AUTO_ALIGN_IMAGES
PURPOSE:
     Align arbitrary images using a cross correlation.  This routine is
     particularly useful for images from different instruments in which
     a very general transformation between the two images is required.  
     Don't use this routine if you only need to shift the two images on
     top of one another.  It'll work, but it will be much slower than
     you need.
CATEGORY:
CALLING SEQUENCE:
     inew=auto_align_images(transformed_image,reference_image, $
                            pin,qin,pout,qout)
INPUTS:
     transformed_image = image to be transformed onto the reference image.
     refererence_image = reference image. 
     pin,qin = Initial guess for the p and q passed to poly_2d.  They must
               be 4-element vectors unless /unrestriced is set, in which 
               case you can use a higher order transformation (see poly_2d).
               In genral they must each have (N+1)^2 elements where N is the 
               order.  You must get pin and qin pretty close!! 
               e.g. you can use the mouse to click on corresponding points 
               like this:
           pp = setpts_roi(transformed_image,reference_image)
           tt = caltrans(pp)
           pin = tt[*,0]
           qin = tt[*,1]
 CALLED BY:
	TRACE_CUBE_POINTING, TRACE_MDI_ALIGN
           Note: It is a good idea to use the type 's' transtype *structure*
           in the call to caltrans if you do not set /unrestricted.
OPTIONAL INPUT PARAMETERS:
KEYWORD PARAMETERS
     missing = Value to use where the transformed image is out of the 
               field of view of the initial image to be transformed.
     /unrestricted = Do not restrict the transformation to rotation, shift, 
                     and scale, i.e. allow a very general warping.
                     Chances are you do not want to set this keyword in most 
                     circumstances since it is slower.  You might use it 
                     if the images have blurring or distortion.  If you
                     are not satisfied with the rotation, shift, scale 
                     result, try using this keyword as there may be some
                     subtle warping in one of your images.
     tmask = index vector into the transformed image giving pixels which are
             to be ignored in the transformed image when computing the cross
             correlation.  Use to wipe out off-limb ponts, blemishes, etc.
             For example, if your image has points off the limb and these
             points have a value less than, say, 50, then you would use
             tmask = where(transformed_image LT 50.0).
     rmask = index vector into the reference image giving pixels which are
             to be ignored in the reference image when computing the cross
             correlation.  Use to wipe out off-limb points, blemishes, etc.
     /powell, /amoeba, /dfpmin = Select the minimization algorithm 
                       (powell, amoeba, or dfpmin).  /dfpmin is
                       a bit faster, but /powell is the most
                       robust.  /powell is the default and is the
                       best choice.  /amoeba does a more 
                       global search but does not always find the
                       maximum correlation with sufficient accuracy.
                       dfpmin is more likely to get stuck in a local
                       minimum and so is more senstive to the initial
                       guess than powell or amoeba.
     itmax = maximum number of iterations.  For the Powell and dfpmin
             minimizations, this is the number of iterations (default
             = 200 for Powell, 500 for dfpmin).  For the amoeba
             minimization this is the maximum number of function
             calls (default =10000).
     ftol = tolerance.  Def = 1.e-4 for /powell and 1.e-6 for
            /amoeba and 1.e-7 for dfpmin.
     scale = sets the scale of the search space in the minimization.  If 
             your initial guess is not very good you might want to set this
             to a larger value.  Accuracy and speed will suffer if you need
             to increase this, however.  Default = 1.0.  If your initial
             guess is really good, you might want to set this to something
             in the range from 0.1 to 0.5.  If your initial guess is really
             bad, you might want to set this to something in the range from
             2.0 to 10.0.
     levels = Contour levels on display as a fraction of the distance
              between the minimum and maximum values in the image.
              Default = [0.1,0.25,0.50,0.75,0.9].  Not used if /noplot or
              /quiet is set.
     /double = use double precision in the minimization.
     /quiet = work quietly
     /noplot = No graphics output.  Implied when /quiet is set.
OUTPUTS:
     inew = new transformed image overlaid on reference image.
     pout,qout = Output transformation.  
 CALLS: ***
	AMOEBAX, AUTO_ALIGN_IMAGES_CONJ_GRAD, AUTO_ALIGN_IMAGES_FUNC
	AUTO_ALIGN_IMAGES_GRAD, CALTRANS, MINF_CONJ_GRAD, OCONTOUR2, PPINVERT, PQ2PP, PQ2RSS
	RSS2PQ, WDEF [1], WDEF [2]
COMMON BLOCKS:
SIDE EFFECTS:
RESTRICTIONS:
     The initial guess (pin,qin) must be close.  This routine only refines
     that guess.  How close is close?  I'm not sure.  It seems pretty robust,
     but be careful if your initial guess isn't very good.  If you
     use the dfpmin algorithm, the solution is particularly sensitive
     to the initial guess, much more so than powell or amoeba.

     *Very slow*

     When tmask is set, the tmask coordinates must be transformed to the 
     reference coordinate system.  This transformation is limited to a 
     general linear transformation.  So, if you are using a higher order
     transformation, the tmask may not be transformed quite right.  It is
     very unlikely this will ever be a problem, but there it is.
PROCEDURE:

     The initial warping is tweaked until a maximum in the cross correlation
     is found using the powell minimization procedure.

     The transformed image overlaid on the reference image is:

     new_image = poly_2d(transformed_image,pout,qout,2,rnx,rny,cubic=-0.5)
     tvscl,reference_image
     ocontour2,new_image

        where rnx,rny is the size of the reference image

     If unrestricted=0 and quiet=0 then the best rotation, shift, and 
     scale are listed.  These define how to transform transformed_image to
     reference_image with the rotation defined at positive if the rotation
     is CCW.  These values can also be derived from pout and qout as follows:

     pq2rss,pout,qout,erot,exscl,eyscl,exshft,eyshft,enrss,nxt,nyt,/center

     Here's a trick to verify accuracy.  After the minimization, you can
     restart again with a small scale value to check that the algorithm
     converges to the same point again:
        inew=auto_align_images(timage,rimage,pin,qin,pint,qint)
        inew=auto_align_images(timage,rimage,pint,qint,pout,qout,scale=0.1)

     Since /amoeba does a more global search, it is useful for
     improving an initial guess with a quick call that does not fully
     converge, e.g., 
     inew=auto_align_images(timage,rimage,pin,qin,pint,qint,/amoeba,/quiet,itmax=250)
     inew=auto_align_images(timage,rimage,pint,qint,pout,qout,/powell)

MODIFICATION HISTORY:
     T. Metcalf 2001-09-25 Written.
     T. Metcalf 2001-09-26 Improved the way the display windows work.  If the
                           window is too small, it will appear the that 
                           alignment is wrong even though it is right.  So,
                           make sure that the windows are always large
                           enough.
     T. Metcalf 2001-09-28 Added tmask and rmask keywords.
     T. Metcalf 2001-09-29 Reduced the initial size of the scale variations
                           in the minimization procedure.  This should
                           prevent the minimization from getting confused.
                           Changed cross correlation to normalized cross 
                           correlation.  This is important since the 
                           normalized cross correlation is to some extent
                           independent of shifts and scales.
     T. Metcalf 2001-10-01 Use cubic convolution interpolation in the calls
                           to poly_2d instead of bilinear interpolation.
                           It's a bit more robust and the routine is already
                           slow anyway, so what the heck.
     T. Metcalf 2001-10-02 Added a test for a warped initial guess.
     T. Metcalf 2001-10-04 Allow higher order transformations when
                           /unrestricted is set.
     T. Metcalf 2001-10-10 Added a check for NaN in the cross-correlation.
                           Added option to use the amoeba minimization 
                           algorithm rather than the powell algortithm and
                           made amoeba the default since it is thought to be
                           more robust. 
     T. Metcalf 2001-10-11 Check that amoeba converged.
     T. Metcalf 2001-11-08 Changed the contours drawn so that they will scale
                           between the minimum and maximum values rather than
                           between 0 and the maximum.  Added the "levels"
                           keyword.  These are minor changes.
     T. Metcalf 2001-11-14 Added a check to make sure the transformation does
                           not get too far from the initial guess.  This 
                           prevents the maximization of the cross correlation
                           from converging to an artifically inflated (and
                           incorrect) maximum which includes only a few 
                           points from the transformed image.
     T. Metcalf 2001-11-19 Changed the default minimization algorithm to
                           Powell.   It is considerably slower, but some
                           tests on TRACE WL data show it to give a better
                           answer than amoeba.  Added ftol keyword.  Improved
                           the weighting scheme.
     T. Metcalf 2002-03-30 There is a bug in some versions of IDL in which
                           the missing keyword passed to poly_2d does not
                           work correctly.  Added a work around for this.
                           Also forced the images to be float or
                           double.
     T. Metcalf 2005-03-14 Added dfpmin option. Also added the
                           conjugate gradient minimization, but it is
                           very slow so not too useful. 
     T. Metcalf 2005-04-12 Use amoebax instead of amoeba.


AUTOHIST $SSW/gen/idl_libs/astron/robust/autohist.pro
[Previous] [Next]
 NAME:
       AUTOHIST

 PURPOSE:
       Draw a histogram using automatic bin-sizing.
 EXPLANATION
       AUTOHIST chooses a number of bins (initially, SQRT(2*N). If this leads 
       to a histogram in which > 1/5 of the central 50% of the bins are empty,
       it decreases the number of bins and tries again. The minimum # bins is 
       5. The max=199.     Called by HISTOGAUSS and HALFAGAUSS.

 CALLING SEQUENCE:
       AUTOHIST, Sample, XLines, Ylines, XCenters, YCenters, [/NOPLOT, ]
                             ...Plotting Keywords
 INPUT:
       Sample = the vector to be histogrammed

 OUTPUT:
       XLINES = vector of x coordinates of the points that trace the rectangular 
               histogram bins
       YLINES = vector of y coordinates. To draw the histogram plot YLINES vs 
                 XLINES
       XCENTERS = the x values of the bin centers
       YCENTERS = the corresponding y values

 OPTIONAL INPUT KEYWORDS:
       /NOPLOT  If set, nothing is drawn

       Any plotting keywords (e.g. XTITLE) may be supplied to AUTOHIST through
       the _EXTRA facility. 
 REVISION HISTORY:
       Written,   H. Freudenreich, STX, 1/91
       1998 March 17 - Changed shading of histogram.  RSH, RSTX
       V5.0 update, _EXTRA keywords  W. Landsman    April 2002
       Added NOCLIP keyword for POLYFILL call C. Paxson/W. Landsman July 2003
 CALLED BY
	HISTOGAUSS


AVERAGE $SSW/gen/idl/util/average.pro
[Previous] [Next]
 Project     : SOHO - CDS

 Name        : 
	AVERAGE()
 Purpose     : 
	Averages an array over one or all of its dimensions.
 Explanation : 
	Calculates the average value of an array, or calculates the average
	value over one dimension of an array as a function of all the other
	dimensions.
 Use         : 
	Result = AVERAGE( ARRAY )
	Result = AVERAGE( ARRAY, DIMENSION )
	Result = AVERAGE( ARRAY, [Dim1, Dim2, ... ] )
 Inputs      : 
	ARRAY	  = Input array.  May be any type except string or structure.
 Opt. Inputs : 
	DIMENSION = Optional dimension to do average over.  Valid inputs are 1
		    through the total number of dimensions of ARRAY.
 Outputs     : 
	The average value of the array when called with one parameter.

	If DIMENSION is passed, then the result is an array with all the
	dimensions of the input array except for the dimension specified,
	each element of which is the average of the corresponding vector
	in the input array.

	For example, if A is an array with dimensions of (3,4,5), then the
	command B = AVERAGE(A,2) is equivalent to

		B = FLTARR(3,5)
		FOR J = 0,4 DO BEGIN
		    FOR I = 0,2 DO BEGIN
			B(I,J) = TOTAL( A(I,*,J) ) / 4.
		    ENDFOR
		ENDFOR

	It is also possible to pass an array of dimensions.  The dimensions are
	processed in reverse order.  For example,

		B = AVERAGE(A, [1,3])

	is equivalent to

		B = AVERAGE(A, 3)
		B = AVERAGE(B, 1)

 Opt. Outputs: 
	None.
 Keywords    : 
	MISSING	= Value signifying missing pixels.  Any pixels with this value
		  are not included in the average.  If there are no non-missing
		  pixels, then MISSING is returned.
 Calls       : ***
	FLAG_MISSING, IS_NOT_MISSING, REVERSE, WHERE_MISSING, WHERE_NOT_MISSING
 CALLED BY:
	AN_NIMCP, AN_NIMCP_1_2, AN_NIMCP_AVG, APPLY_CDS_ADEF, AVG_WO_CR, BASELINE, C3_CME
	C3_CME_FRONT, C3_MASSIMG, CDS_ENG_N1_AN, CDS_ENG_N4_AN, CDS_MOSAIC, CDS_QUASI_FIT
	CDS_SIMPLE_FITS, CDS_SNAPSHOT, CDS_THUMBNAIL, CFIT_BLOCK, CFIT_ERRDEMO
	CHECK_NIS_WCAL, CME_MASS, CME_MASSIMG2TOTAL, CORRSUBIMAGE, CROSS_CORR2
	DEMO_4TH_PIX, EZFIT, GET_AVGSPEC, GHOST_BUSTER, GIS_CALIB_PRINT, GOES_TEM, GT_BIMAGE
	MAKE_CHIANTI_SPEC, MK_CDS_ANALYSIS, MK_CDS_IMAP, MK_CDS_SMAP, MK_SYNOPTIC
	NIS_AVG_SPECT_DEMO, NIS_QUICKLOOK, NIS_WAVECAL_DEMO, OVSA_BG, PERIODOGRAM
	PLOT_EXPINT, PLOT_VDS_BIAS, POLY_FIT_MOST, PROFILES2, REDUCE, SHOW_SYNOPTIC
	SIG_ARRAY, SNAP_MOVIE, SPECPLOT__DEFINE, SPEX_FIT__DEFINE, STDIMGPLOT, STDIMGPLOT2
	SYNOP_STAB_DEMO, TIME_AVERAGE, TRACE_AECSIM, UPD_CDS_POINT, VDS_DEBIAS
	XCFIT_BLOCK, XCOR_CDS, XTVSCALE, Y_CHECKER, cluster_fit, hsi_obs_source__define
	hsi_params2script, hsi_vis_fwdfit, mk_atlas, mk_sxh, spex_bk__define
	spex_data__define, ssw_find_transit, ssw_timestat, sxt_deleak [1]
	sxt_deleak [2], sxt_xsaa, trace_last_movie [1], trace_last_movie [3]
	trace_make_vignette, trace_special_movie [3]
 Common      : 
	None.
 Restrictions: 
	The dimension specified must be valid for the array passed.
 Side effects: 
	None.
 Category    : 
	Utilities, Arrays.
 Prev. Hist. : 
	Taken from an earlier routine by W. Thompson called AVG, but the
	definition of the DIMENSION parameter is different to be consistent
	with current usage in IDL.
 Written     : 
	William Thompson, GSFC, 9 April 1993.
 Modified    : 
	Version 1, William Thompson, GSFC, 9 April 1993.
	Version 2, William Thompson, GSFC, 3 February 1996
		Added missing keyword.
	Version 3, 03-Jul-2000, William Thompson, GSFC
		Modified to use /DOUBLE with TOTAL.  However, the answer
		retains the datatype of the previous version of this routine.
	Version 4, 14-Nov-2000, William Thompson, GSFC
		Modified to also support version 4.
	Version 5, 16-Nov-2001, William Thompson, GSFC
		Allow DIMENSION to be a vector.
	Version 6, 16-Apr-2002, William Thompson, GSFC
		Fix bug when trailing dimensions are 1.
       Version 7, 29-Apr-2005, William Thompson, GSFC
               Handle NaN values
       Version 8, 1-Jul-2005, William Thompson, GSFC
               Fixed bug when entire array is missing
 Version     : 
	Version 8, 1-Jul-2005


AVG [1] $SSW/gen/idl/util/avg.pro
[Previous] [Next]
 NAME:
       AVG
 PURPOSE:
       Return the average value of an array, or 1 dimension of an array
 EXPLANATION:
       Calculate the average value of an array (in which case AVG is identical
       to the RSI procedure mean.pro), or calculate the average
       value over one dimension of an array as a function of all the other
       dimensions.

 CALLING SEQUENCE:
       RESULT = AVG( ARRAY, [ DIMENSION, /NAN, /DOUBLE ] )

 INPUTS:
       ARRAY = Input array.  May be any type except string.

 OPTIONAL INPUT PARAMETERS:
       DIMENSION = Optional dimension to do average over, integer scalar

 CALLED BY:
	BATSE_MATCH_SEQUENCE, BATSE_ON, BATSE_SPEC_DRM, DET_POINT, DISCSP_BANDS, EXTRAP
	Eliminate wrong channels, FAST_LAD_DRM, FAST_SPEC_DRM, FIT_BACKGRND, FWD_CHI2
	FWD_DISPLAY, GCALCHEK, GET_DISCSP511, GE_WINDOW [1], GRS_LIGHTCURVE
	HESSI CALIBRATED EVENTLIST CLASS DEFINITION [3], HESSI HSI_PILEUP CLASS
	HESSI_ATTENUATOR_SPECTRA, HSI_ANNSEC2XY [1], HSI_ANNSEC2XY [2]
	HSI_ANNSEC_BPROJ_WEIGHT_MAP [1], HSI_ANNSEC_BPROJ_WEIGHT_MAP [2]
	HSI_ANNSEC_MAP_INFO [1], HSI_ANNSEC_MAP_INFO [2], HSI_ANNSEC_MODUL_PATTERN
	HSI_DIRTY_NORM, HSI_FORWARDFIT, HSI_MAP_CLEAN [1], HSI_MAP_EVALUATOR [1]
	HSI_MEM_SATO [1], HSI_SRM__DEFINE, HSI_XY2ANNSEC [1], HSI_XY2ANNSEC [2]
	HXT_CAL_FIX [1], HXT_CAL_FIX [2], INTERP2INTEG, MAKE_GOES_RESP
	MERGE_DISCSP_HKG_OCC, MK_MER_CONT, NRH_HSI_IMAGE, OCCTIME, OCC_AVG, OCC_FROM_FITS
	ORBIT_FILL, PHOTON_MODEL, PLOTBATSE, PLOTBATSE_QL, PLOT_OCCS, PLOT_OCC_ONDAY
	QL_DAY_PLOT, QL_ORBIT_PLOT, RD_TGRS_DRM [1], RD_TGRS_DRM [2], RD_TGRS_SPEX [1]
	RD_TGRS_SPEX [2], REGRESS_FIT, RESISTANT_Mean [3], RES_MED [1], RES_MED [2]
	ROBUST_SIGMA, RUN_BATSE, Resistant_Mean [1], Resistant_Mean [2], SKYADJ_CUBE
	SOXS_CZT_DRM, SOXS_DRM, SPEX_COMMONS [2], SPEX_COMMONS [4], SPEX_DRM__DEFINE
	SPEX_HANDLES [1], SPEX_HANDLES [2], SPEX_PROC [1], SPEX_PROC [2], Shers_load [1]
	Vlth, XSM_PREP, autocorr, constbacksub [1], constbacksub [2], correl1d, edit [1]
	edit [2], glidbacksub, hesi_grid_trans, hessi_grid_trans, hsi_ls_amp_pha_ctr
	hsi_pmtras_ok, hsi_visibility_fit, nospike, phoenix_spg_autoimprove
	rapp_get_spectrogram, read_hessi_fits_4_spex [1], read_hessi_fits_4_spex [2]
	read_hirex_4_spex [1], read_hirex_4_spex [2], spex_batse_preview [1]
	spex_batse_preview [2]
	spex_bkgrd t_d rate trange1 trange2 order sigmasigma [1]
	spex_bkgrd t_d rate trange1 trange2 order sigmasigma [2]
	spex_hessi_image__define, sxt_av_teem
 OPTIONAL KEYWORD INPUT:
      /NAN - Set this keyword to cause the routine to check for occurrences of
            the IEEE floating-point value NaN in the input data.  Elements with
            the value NaN are treated as missing data.
      /DOUBLE - By default, if the input Array is double-precision, complex, 
                or double complex, the result is of the same type;  64 bit
                integers are also returned as double.   Otherwise the result
                the  result is floating-point.   Use of the /DOUBLE keyword 
                forces a double precision output.   Note that internal 
                computations are always done in double precision.
 OUTPUTS:
       The average value of the array when called with one parameter.

       If DIMENSION is passed, then the result is an array with all the
       dimensions of the input array except for the dimension specified,
       each element of which is the average of the corresponding vector
       in the input array.

       For example, if A is an array with dimensions of (3,4,5), then the
       command B = AVG(A,1) is equivalent to

                       B = FLTARR(3,5)
                       FOR J = 0,4 DO BEGIN
                               FOR I = 0,2 DO BEGIN
                                       B[I,J] = TOTAL( A[I,*,J] ) / 4.
                               ENDFOR
                       ENDFOR

 RESTRICTIONS:
       Dimension specified must be valid for the array passed; otherwise the
       input array is returned as the output array.
 PROCEDURE:
       AVG(ARRAY) = TOTAL(ARRAY, /DOUBLE)/N_ELEMENTS(ARRAY) when called with 
       one parameter.
 MODIFICATION HISTORY:
       William Thompson        Applied Research Corporation
       July, 1986              8201 Corporate Drive
                               Landover, MD  20785
       Converted to Version 2      July, 1990
       Replace SUM call with TOTAL    W. Landsman    May, 1992
       Converted to IDL V5.0   W. Landsman   September 1997
       Added /NAN keyword   W. Landsman      July 2000
       Accept a scalar input value    W. Landsman/jimm@berkeley   November 2000
       Internal calculations always in double precision W. Landsman March 2002
       Return NAN if all values in array are NAN  W. Landsman April 2002
       Fixed coding bug if all values in array are NAN W. Landsman Jan 2004


AVG [2] $SSW/gen/idl_libs/astron/math/avg.pro
[Previous] [Next]
 NAME:
       AVG
 PURPOSE:
       Return the average value of an array, or 1 dimension of an array
 EXPLANATION:
       Calculate the average value of an array (in which case AVG is identical
       to the RSI procedure mean.pro), or calculate the average
       value over one dimension of an array as a function of all the other
       dimensions.

 CALLING SEQUENCE:
       RESULT = AVG( ARRAY, [ DIMENSION, /NAN, /DOUBLE ] )

 INPUTS:
       ARRAY = Input array.  May be any type except string.

 OPTIONAL INPUT PARAMETERS:
       DIMENSION = Optional dimension to do average over, integer scalar

 CALLED BY:
	BATSE_MATCH_SEQUENCE, BATSE_ON, BATSE_SPEC_DRM, DET_POINT, DISCSP_BANDS, EXTRAP
	Eliminate wrong channels, FAST_LAD_DRM, FAST_SPEC_DRM, FIT_BACKGRND, FWD_CHI2
	FWD_DISPLAY, GCALCHEK, GET_DISCSP511, GE_WINDOW [1], GRS_LIGHTCURVE
	HESSI CALIBRATED EVENTLIST CLASS DEFINITION [3], HESSI HSI_PILEUP CLASS
	HESSI_ATTENUATOR_SPECTRA, HSI_ANNSEC2XY [1], HSI_ANNSEC2XY [2]
	HSI_ANNSEC_BPROJ_WEIGHT_MAP [1], HSI_ANNSEC_BPROJ_WEIGHT_MAP [2]
	HSI_ANNSEC_MAP_INFO [1], HSI_ANNSEC_MAP_INFO [2], HSI_ANNSEC_MODUL_PATTERN
	HSI_DIRTY_NORM, HSI_FORWARDFIT, HSI_MAP_CLEAN [1], HSI_MAP_EVALUATOR [1]
	HSI_MEM_SATO [1], HSI_SRM__DEFINE, HSI_XY2ANNSEC [1], HSI_XY2ANNSEC [2]
	HXT_CAL_FIX [1], HXT_CAL_FIX [2], INTERP2INTEG, MAKE_GOES_RESP
	MERGE_DISCSP_HKG_OCC, MK_MER_CONT, NRH_HSI_IMAGE, OCCTIME, OCC_AVG, OCC_FROM_FITS
	ORBIT_FILL, PHOTON_MODEL, PLOTBATSE, PLOTBATSE_QL, PLOT_OCCS, PLOT_OCC_ONDAY
	QL_DAY_PLOT, QL_ORBIT_PLOT, RD_TGRS_DRM [1], RD_TGRS_DRM [2], RD_TGRS_SPEX [1]
	RD_TGRS_SPEX [2], REGRESS_FIT, RESISTANT_Mean [3], RES_MED [1], RES_MED [2]
	ROBUST_SIGMA, RUN_BATSE, Resistant_Mean [1], Resistant_Mean [2], SKYADJ_CUBE
	SOXS_CZT_DRM, SOXS_DRM, SPEX_COMMONS [2], SPEX_COMMONS [4], SPEX_DRM__DEFINE
	SPEX_HANDLES [1], SPEX_HANDLES [2], SPEX_PROC [1], SPEX_PROC [2], Shers_load [1]
	Vlth, XSM_PREP, autocorr, constbacksub [1], constbacksub [2], correl1d, edit [1]
	edit [2], glidbacksub, hesi_grid_trans, hessi_grid_trans, hsi_ls_amp_pha_ctr
	hsi_pmtras_ok, hsi_visibility_fit, nospike, phoenix_spg_autoimprove
	rapp_get_spectrogram, read_hessi_fits_4_spex [1], read_hessi_fits_4_spex [2]
	read_hirex_4_spex [1], read_hirex_4_spex [2], spex_batse_preview [1]
	spex_batse_preview [2]
	spex_bkgrd t_d rate trange1 trange2 order sigmasigma [1]
	spex_bkgrd t_d rate trange1 trange2 order sigmasigma [2]
	spex_hessi_image__define, sxt_av_teem
 OPTIONAL KEYWORD INPUT:
      /NAN - Set this keyword to cause the routine to check for occurrences of
            the IEEE floating-point value NaN in the input data.  Elements with
            the value NaN are treated as missing data.
      /DOUBLE - By default, if the input Array is double-precision, complex, 
                or double complex, the result is of the same type;  64 bit
                integers are also returned as double.   Otherwise the result
                the  result is floating-point.   Use of the /DOUBLE keyword 
                forces a double precision output.   Note that internal 
                computations are always done in double precision.
 OUTPUTS:
       The average value of the array when called with one parameter.

       If DIMENSION is passed, then the result is an array with all the
       dimensions of the input array except for the dimension specified,
       each element of which is the average of the corresponding vector
       in the input array.

       For example, if A is an array with dimensions of (3,4,5), then the
       command B = AVG(A,1) is equivalent to

                       B = FLTARR(3,5)
                       FOR J = 0,4 DO BEGIN
                               FOR I = 0,2 DO BEGIN
                                       B[I,J] = TOTAL( A[I,*,J] ) / 4.
                               ENDFOR
                       ENDFOR

 RESTRICTIONS:
       Dimension specified must be valid for the array passed; otherwise the
       input array is returned as the output array.
 PROCEDURE:
       AVG(ARRAY) = TOTAL(ARRAY, /DOUBLE)/N_ELEMENTS(ARRAY) when called with 
       one parameter.
 MODIFICATION HISTORY:
       William Thompson        Applied Research Corporation
       July, 1986              8201 Corporate Drive
                               Landover, MD  20785
       Converted to Version 2      July, 1990
       Replace SUM call with TOTAL    W. Landsman    May, 1992
       Converted to IDL V5.0   W. Landsman   September 1997
       Added /NAN keyword   W. Landsman      July 2000
       Accept a scalar input value    W. Landsman/jimm@berkeley   November 2000
       Internal calculations always in double precision W. Landsman March 2002
       Return NAN if all values in array are NAN  W. Landsman April 2002
       Fixed coding bug if all values in array are NAN W. Landsman Jan 2004


AVG_WO_CR $SSW/gen/idl/util/avg_wo_cr.pro
[Previous] [Next]
 Project     :	SOHO - CDS

 Name        :	AVG_WO_CR()

 Purpose     :	Average together multiple images, ignoring cosmic rays

 Category    :	Class3, Analysis

 Explanation :	Averages an array over one of it's dimensions.  The average is
		done such that any pixels which are more than 3 sigma above the
		rest of the pixels making up that average are not counted in
		the average.

 Syntax      :	Result = AVG_WO_CR(ARRAY, DIMENSION, MISSING=MISSING)

 Examples    :	Suppose that A represented a series of three exposures at the
		same location, and had the dimensions (100,100,3).  Also
		suppose that values of -1 represent missing pixels.  Then the
		command

			B = AVG_WO_CR(A,3,MISSING=-1)

		would return an array of (100,100), representing the average of
		the three exposures.  Any pixels in B where there was a cosmic
		ray hit in one of the exposures in A, would only be an average
		of the other two exposures in A.

 Inputs      :	ARRAY	  = Array to be averaged.
		DIMENSION = Dimension to average over.

 Opt. Inputs :	None.

 Outputs     :	The result of the function is the average array.  It has one
		fewer dimension than the input array.

 Opt. Outputs:	None.

 Keywords    :	MISSING	= Value representing missing pixels.  If not passed, or
			  set with the SETFLAG routine, then the routine
			  assigns it's own value, to use for filtering out
			  pixels containing cosmic ray hits.

		MINSIG	= Minimum value to use when estimating the standard
			  deviation in the pixels.

               NO_AVERAGE = Don't perform the final average, ie return
                            original 3-D array with cosmic ray affected 
                            pixels set to the MISSING value.

 Calls       : ***
	AVERAGE, GET_IM_KEYWORD, SIG_ARRAY, TRIM
 Common      :	None.

 Restrictions:	A critical assumption is made here that the data being averaged
		over are essentially the same thing.  The routine can only
		recognize cosmic rays which are significantly larger than the
		variation between exposures.

 Side effects:	Computationally intensive.

 Prev. Hist. :	None.

 History     :	Version 1, 26-Mar-1996, William Thompson, GSFC
		Version 2, 11-Apr-1996, William Thompson, GSFC
			Corrected problems when DIMENSION not last in array.
			Added keyword MINSIG
		Version 3, 02-Aug-1996, William Thompson, GSFC
			Pay attention to MISSING value set with SETFLAG.

               Version 4, 08-Aug-96, CDP, Include NO_AVERAGE keyword

 Contact     :	WTHOMPSON


avoid_spikes [1] $SSW/gen/idl/genutil/avoid_spikes.pro
[Previous] [Next]
NAME:
	avoid_spikes
PURPOSE:
	Return the subscript list of data values which don't have spikes
SAMPLE CALLING SEQUENCE:
	ss = avoid_spikes(yarr, nss)
INPUT:
	yarr	- the input array
OUTPUT:
	ss	- the list of subscripts which are ok
	nss	- the number of points which are ok
 CALLS: ***
	deriv_arr [1], deriv_arr [2]
 CALLED BY:
	plot_loi_mmad, plot_loi_summary [1], plot_loi_summary [2], plot_pzt_corr
	plot_shutter_perf
HISTORY:
	Written 29-May-96 by M.Morrison
	10-Jun-96 (MDM) - Put in protection for problem data (median=0)
	10-Jun-96 (MDM) - Added thresh keyword
	28-Jun-96 (MDM) - Modified logic since it did not protect against
			  positive spikes (it only protected against
			  negative spikes).  It removes twice as many
			  points now.


axis_get_edges $SSW/gen/idl/genutil/axis_get_edges.pro
[Previous] [Next]
 PROJECT:
       HESSI/FASR/PHOENIX

 NAME:
       axis_get_edges()

 PURPOSE:
       This procedure is an addition to get_edge_products.
       Given a vector of mean values, it first computes the edges of the
       vector values passed. In addition, it assumes that the values passed correspond
       to the mean values of an axis. It thus "guesses" the edges of the first and last axis.

 CATEGORY:
       gen/utilities

 CALLING SEQUENCE:
       result = axis_get_edges( mean, edges = edges )

 INPUTS:
       mean: a n-element vector of mean values (assumed to be an axis)

 OUTPUTS:
       result: an n+1-element vector of (axis) edges

 CALLED BY:
	axis_get_expanded_range, binning__define, plotman, spectro_plot2
 EXAMPLES:
       print, axis_get_edges( indgen(4) ) 
       -0.500000     0.500000      1.50000      2.50000      3.50000

 CALLS: ***
	LAST_ITEM, get_edge_products, last_nelem
 SEE ALSO:
	edge_products, get_edge_products
 HISTORY:
       january 2006 --- doc updated andre.csillaghy@fhnw.ch
       june 2004 --- acs, csillag@fh-aargau.ch created


axis_get_expanded_range $SSW/gen/idl/genutil/axis_get_expanded_range.pro
[Previous] [Next]
 PROJECT:
       HESSI/FASR/PHOENIX

 NAME:
       axis_get_expanded_range()

 PURPOSE:
       This function calculates returns the actual range that an
       image will take on the screen. we call this
 the expanded range. This takes into acct that each pixel in the original image
 might occupy more than a single pixel on the screen or paper. We also get the limits
 (which are the indices) of the axes that will be actually plotted. This is
 needed when a range is specified.

 CATEGORY:
       genutil

 CALLING SEQUENCE:
       result = axis_get_expanded_range( axis, log = log, range = range,
                                         crange = crange, limit = limit )

 INPUTS:
       axis:
       log
       range:
       crange:

 OUTPUTS:
       result: a 2-element vector that contains the range taken by the image
       axis on the screen

 CALLED BY:
	spectro_plot2
 EXAMPLES:

 CALLS: ***
	APPEND_ARR, CHECKVAR [1], LAST_ITEM, VALID_RANGE, axis_get_edges, checkvar [2]
 SEE ALSO:
	axis_get_edges
 HISTORY:
       dec 2006 --- adapt the documentation header
       january 2006 --- refactored from axis_get_edges
       january 2006 --- doc updated andre.csillaghy@fhnw.ch
       june 2004 --- acs, csillag@fh-aargau.ch created


axis_get_limits $SSW/gen/idl/genutil/axis_get_limits.pro
[Previous] [Next]
 PROJECT:
       HESSI

 NAME:
       axis_get_limits()

 PURPOSE:
       Get the index of the first and last axis element included 
       a specific range. The axis passed is an array 
       of mean values, not edges.

 CATEGORY:
       gen/utilities

 CALLING SEQUENCE:
       result = axis_get_limits( mean, range )

 INPUTS:
       mean: a n-element vector of mean values (usually an axis)
       range: then range to check the elements against

 OUTPUTS:
       result: the indices of the axis

 EXAMPLES:
       print, axis_get_limits( indgen(4), [0,1] )
           0           1
       print, axis_get_limits( indgen(4), [-0.1,1] )
           0           1
       print, axis_get_limits( indgen(4), [0.4,1] )
           0           1
       print, axis_get_limits( indgen(4), [0.5,1] )
           1           1
    print, axis_get_limits( indgen(4), [0.5, 2] )
           1           2

 CALLS: ***
	APPEND_ARR, VALID_RANGE, get_edge_products
 SEE ALSO:
	edge_products, get_edge_products
 HISTORY:
       dec 2005 --- andre.csillaghy@fhnw.ch, give back edges for reuse
       june 2004 --- acs, csillag@fh-aargau.ch created