ECI2GEO $SSW/gen/idl_libs/astron/astro/eci2geo.pro
[Previous] [Next]
 NAME:
     ECI2GEO

 PURPOSE:
     Convert Earth-centered inertial coordinates to geographic spherical coords
 EXPLANATION:
     Converts from ECI (Earth-Centered Inertial) (X,Y,Z) rectangular 
     coordinates to geographic spherical coordinates (latitude, longitude, 
     altitude).    JD time is also needed as input.

     ECI coordinates are in km from Earth center.
     Geographic coordinates are in degrees/degrees/km
     Geographic coordinates assume the Earth is a perfect sphere, with radius 
     equal to its equatorial radius.

 CALLING SEQUENCE:
     gcoord=eci2geo(ECI_XYZ,JDtime)

 INPUT:
       ECI_XYZ : the ECI [X,Y,Z] coordinates (in km), can be an array [3,n] 
                 of n such coordinates.
       JDtime: the Julian Day time, double precision. Can be a 1-D array of n 
                 such times.

 KEYWORD INPUTS:
       None

 OUTPUT:
       a 3-element array of geographic [latitude,longitude,altitude], or an 
         array [3,n] of n such coordinates, double precision  

 CALLS: ***
	CT2LST
 CALLED BY:
	ECI2GEOGRAPHIC
 COMMON BLOCKS:
       None

 PROCEDURES USED:
       CT2LST - Convert Local Civil Time to Local Mean Sidereal Time

 EXAMPLE:
       IDL> gcoord=eci2geo([6378.137+600,0,0], 2452343.38982663D)
       IDL> print,gcoord
       0.0000000       232.27096       600.00000

       (The above is the geographic direction of the vernal point on 
       2002/03/09 21:21:21.021, in geographic coordinates. The chosen 
       altitude was 600 km.)

       gcoord can be further transformed into geodetic coordinates (using 
       geo2geodetic.pro) or into geomagnetic coordinates (using geo2mag.pro)

 MODIFICATION HISTORY:
       Written by Pascal Saint-Hilaire (Saint-Hilaire@astro.phys.ethz.ch) on 
              2001/05/13
       Modified on 2002/05/13, PSH : vectorization + use of JD times          


ECI2GEOGRAPHIC $SSW/gen/idl/solar/eci2geographic.pro
[Previous] [Next]
 NAME:
       ECI2GEOGRAPHIC

 PURPOSE:
	Wrapper for the eci2geo.pro routine, for SSW users of the ANYTIM time format.

       Converts from ECI (Earth-Centered Inertial) (X,Y,Z) rectangular coordinates to 
	geographic spherical coordinates (latitude, longitude, altitude).
	A time is also needed.

	ECI coordinates are in km from Earth center.
	Geographic coordinates are in degrees/degrees/km
	Geographic coordinates assume the Earth is a perfect sphere, with radius equal to its equatorial radius.

 CALLING SEQUENCE:
       gcoord=eci2geographic(ECI_XYZ,time)

 INPUT:
	ECI_XYZ : the ECI [X,Y,Z] coordinates (in km), can be an array [3,n] of n such coordinates.
	time: in any ANYTIM format, can be a 1-D array of n such times.

 KEYWORD INPUTS:
	None

 OUTPUT:
	a 3-element array of geographic [latitude,longitude,altitude], or an array [3,n] of n such coordinates	

 CALLS: ***
	ECI2GEO, anytim [1], anytim [2], anytim [3], anytim [4], anytim [5]
 COMMON BLOCKS:
	None

 RESTRICTIONS:
       None

 EXAMPLE:
	IDL> gcoord=eci2geographic([6378.137+600,0,0],'2002/03/09 21:21:21.021')
	IDL> print,gcoord
       0.0000000       232.27096       600.00000

	(The above is also the geographic direction of the vernal point on 
	2002/03/09 21:21:21.021, in geographic coordinates.)

	gcoord can be further transformed into geodetic coordinates (using geo2geodetic.pro)
	or into geomagnetic coordinates (using geo2mag.pro)

       HESSI trajectory:
               IDL> oso=hsi_obs_summary()
               IDL> oso->set,obs_time_interval='2002/04/21 '+['00:30:00','01:30:00']
               IDL> eph_times=oso->getdata(class_name='ephemeris',/time)
               IDL> eph=oso->getdata(class_name='ephemeris')
               IDL> gcoord=eci2geographic(eph(0:2,*),eph_times)
               IDL> map_set,/cont,/mercator,/iso
               IDL> oplot,gcoord(1,*),gcoord(0,*)


 MODIFICATION HISTORY:
	Written by Pascal Saint-Hilaire (Saint-Hilaire@astro.phys.ethz.ch) on 2001/05/14
		


edge_products $SSW/gen/idl/spectra/edge_products.pro
[Previous] [Next]
 Name: edge_products

 Purpose: From a vector of contiguous channel boundaries return the
   commonly used quantities for plotting and scaling.

 Category:
   GEN, SPECTRA

 Input: Edges -if 1d, contiguous channel boundaries, n+1 values for n channels
               if 2d, 2xn, [lo(i),hi(i)], etc., assumed contiguous for
     calculating edges_1

 Output:
   Mean - arithmetic mean of boundaries
       Gmean - geometric mean
   width - absolute difference between upper and lower edges
   edges_2 - 2xn array of edges [lo(i), hi(i)], etc.
       edges_1 - array of n+1 edges of n contiguous channels

	Keyword Input
	EPSILON - If the absolute relative difference is less than epsilon
	then two numbers are considered to be equal and a new bin is not required under
   the contiguous requirement.  If epsilon isn't passed but CONTIGOUS is set it
	attempts to construct an epsilon based on the average relative difference between
	adjacent bins, it takes that value and multiplies it by 1e-5 and limits that to
	1e-6
   CONTIGUOUS - force all edges to be contiguous, including edges_1

 Mod. History:
 ras, 21-oct-93
 8-dec-2001, richard.schwartz@gsfc.nasa.gov, added CONTIGUOUS
 added protection against degenerate entry of single value for edges,
 clearly edges_2 and width have no meaning, but are set to edges and 0.0 respectively
 25-aug-2006, ras, added epsilon and default epsilon as test
	to differentiate real numbers. If the absolute relative difference is less than epsilon
	then two numbers are considered to be equal and a new bin is not required under
   the contiguous requirement
 CALLS:
 CALLED BY
	AXIS__DEFINE [2], BATSE_LAD_DRM, BATSE_MATCH_SEQUENCE, BATSE_SPEC_DRM
	BATSE_SPEC_MODEL, BPOW, CALIBRATE [2], CAL_SHER, CONT_EDGES, DECOMPOSE_BATSE_DRM
	DISCLA_EDGES, DISCP_RESP, DISCSC_PL, DISCSP_BANDS, Energy_res [1], Energy_res [2]
	FLARE_XRAY_MODEL, F_3POW, F_BPOW_THICK, F_COMPOSITE, F_CON_LIN, F_ION, F_MULTI_SPEC
	F_NUCLEAR, F_POSITRONIUM, F_POW, F_TH_NT, F_VTH_ION, Fits_spectra [1]
	Fits_spectra [2]
	Flux model of a thermal bremsstrahlung plus broken powerlaw
	Flux model of thermal bremsstrahlung plus thintarget broken, GAUSS_INTG
	GET_EDGES, GET_HXRBS_FITS, GE_WINDOW [1], GRS_ENERGY, GRS_RESP
	HESSI BINNED EVENTLIST CLASS DEFINITION
	HESSI FRAMEWORK TEMPLATE CLASS [2], HESSI FRAMEWORK TEMPLATE CLASS [3]
	HESSI_FLARE_SPECTRUM, HESSI_MODEL_COUNTS, HESSI_PHA, HESSI_READ_SPEC
	HSI_COUNTS_PER_MODEL, HSI_CSPECTRUM_DIST, HSI_DRM_MOD CLASS
	HSI_DRM_MOD_CONTROL__DEFINE, HSI_EVENTLIST_TO_SPECTROGRAM [2]
	HSI_FLARE_LIST_ATTENXC, HSI_HIST_GROUP, HSI_LIVETIME_SIM, HSI_SPEC2CDIST
	HSI_SPECTROGRAMACCBIN [5], HSI_SPECTROGRAMCHAN_OVERLAP_FIX
	HSI_SPECTROGRAM_DECIM_CORRECT, HSI_SPECTROGRAM_DECIM_TABLE, HXT_CAL_DRM [1]
	HXT_CAL_DRM [2], HXT_CAL_FIX [1], HXT_CAL_FIX [2], INTERP2INTEG, Intervals [1]
	Intervals [2], LAD_PHA_EDGES, LAD_RESP, LINE_COMPLEX, LIVETIME [1], Load_sher
	MAKE_GOES_RESP, MAP_DISCLA2CONT, MAP_MATRIX, MK_MER_CONT, Modify_sled [2]
	NEAR_PC_RESP [1], NEAR_PC_RESP [2], NEAR_PIN_RESP [1], NEAR_PIN_RESP [2]
	NEW_FIG4_INPUTS, PHOTON_MODEL, PULSE_SPREAD, Pileup_countrate_Build_Piler
	Pileup_countrate_PULSE_CONVOLVE, RD_NEAR_PIN [1], RD_NEAR_PIN [2]
	READ_HXRS_4_SPEX [1], READ_HXRS_4_SPEX [2], READ_HXRS_4_SPEX [3]
	RESOLVE_NEW_OBS, RESP_CALC response calculation, ROUTINE_NAME [1]
	SPECTROGRAM CLASS DEFINITION, SPEX_COMMONS [2], SPEX_COMMONS [4]
	SPEX_DATA_GENX [1], SPEX_DATA_GENX [2], SPEX_DRM_GENX [1], SPEX_DRM_GENX [2]
	SPEX_FLUX_TIME [1], SPEX_FLUX_TIME [2], SPEX_PROC [1], SPEX_PROC [2]
	SPEX_THISTORY [1], SPEX_THISTORY [2], SSW_REBIN, Shers_load [1], Vlth
	countsmod_plot [1], countsmod_plot [2], drm_4_spex [1], drm_4_spex [2], edge2bin
	energy_res class, f_drm_mod, f_pileup_mod, f_vth_thick, fcount_rate [1]
	fcount_rate [2], get_conversion [1], get_conversion [2], get_edge_products
	get_slider, help_merge [1], help_merge [2], hessi_build_srm
	hessi_correct_pileup [1], hessi_correct_pileup [2], hessi_display_diag
	hessi_display_srm, hessi_pileup_sim, hsi_find_pli, hsi_get_e_edges [1]
	hsi_livecorr_event, hsi_rebinner, hsi_rm_atten, hsi_rm_blanket, hsi_rm_detmod
	hsi_rm_detresol, hsi_rm_earth, hsi_rm_elecresol, hsi_rm_grid2scat, hsi_rm_lld
	hsi_rm_spacecraft, 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_subdivide_bins, hxrbs_response, hxrs_response [1]
	hxrs_response [2], hxrs_response [3], merge_batse_photons, modify_sled [1]
	out_spectra_4_designer, rd_hxt_drm [1], rd_hxt_drm [2], read_4_spex [1]
	read_4_spex [2], read_batse_4_spex [1], read_batse_4_spex [2]
	read_hirex_4_spex [1], read_hirex_4_spex [2], read_smm_4_spex [1]
	read_smm_4_spex [2], read_yohkoh_4_spex [1], read_yohkoh_4_spex [2], set_field
	spec_plot [1], spec_plot [2], spec_plot [3], spec_plot [4], spectral_ratio [1]
	spectral_ratio [2], spex_delete [1], spex_delete [2], spex_hold [1]
	spex_hold [2], spex_intervals [1], spex_intervals [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], ssw_rebin_assign
	ssw_rebinner, wbs_response [1], wbs_response [2], where_are [1], where_are [2]


EIT__DEFINE $SSW/gen/idl/synoptic/eit__define.pro
[Previous] [Next]
 Project     : HESSI

 Name        : EIT__DEFINE

 Purpose     : Define an EIT data object

 Category    : Ancillary GBO Synoptic Objects

 Syntax      : IDL> c=obj_new('eit')

 CALLS: ***
	ADD_PATH [1], ADD_PATH [2], ADD_TAG [1], ADD_TAG [2], ANYTIM2TAI, ANYTIM2UTC [1]
	ANYTIM2UTC [2], COMDIM, CONCAT_DIR [1], CONCAT_DIR [2], CONCAT_DIR [3]
	EIT::CLEANUP, EIT::COLORS, EIT::DOWNLOAD, EIT::FLUSH, EIT::GET_NAME
	EIT::HAVE_EIT_CAL, EIT::HAVE_EIT_PATH, EIT::HELP, EIT::INIT, EIT::IS_LEVEL0
	EIT::LATEST, EIT::LIST, EIT::MREADFITS, EIT::PREP, EIT::READ, EIT::SEARCH
	EIT::TEMP_DIR, EIT::TIMES, EIT_PARTIAL, EXIST, FILE_SINCE, FIND_COMPRESSED
	GET_TEMP_DIR, HAVE_PROC, HAVE_TAG, IS_BLANK, IS_DIR, IS_STRING, LOCAL_NAME, MK_DIR
	MRD_HEAD, NEAR_TIME, SINCE_VERSION [1], SINCE_VERSION [2], STC_KEY, TEST_DIR
	TIME2FID, TRIM, VALID_TIME, VSO_SEARCH, WRITE_DIR, concat_dir [4], curdir [1]
	curdir [2], eit_files, eit_server, fitshead2struct, get_def_times, get_uniq
	is_number [1], is_number [2], is_struct, rem_blanks, str_replace [1]
	str_replace [2]
 History     : Written 17 Feb 2001, D. Zarro, EIT/GSFC
               Modified 17 Mar 2004, Zarro (L-3Com/GSFC) - call EIT_COLORS
               Modified 9  Jun 2004, Gallagher (L-3Com/GSFC) - added ::LATEST
               Modified 28 Nov 2005, Zarro (L-3Com/GSFC) 
                - added VSO search capability
               Modified 2 Sep 2006, Zarro (ADNET/GSFC) - added color protection

 Contact     : dzarro@solar.stanford.edu


EIT_COPY $SSW/gen/idl/synoptic/eit_copy.pro
[Previous] [Next]
 Project     : HESSI

 Name        : EIT_COPY

 Purpose     : process & copy latest EIT FITS files to HESSI archive. 

 Category    : synoptic gbo

 Syntax      : IDL> eit_copy,tstart,tend,back=back,_extra=extra

 Inputs      : TSTART, TEND = start and end times to consider
               [def = current day]

 Outputs     : EIT FITS files.

 Keywords    : BACK = days to look back
               COUNT = # of files processed
               CLOBBER = set to clobber existing files
               PREFLARE = minutes of preflare data to include [def=5]
               POSTFLARE = minutes of postflare data to include [def=10]
               BY_TIME = process all times between TSTART/TEND
                         [def is process overlapping flare times]
               GOES = key off GOES events instead of RHESSI
               THRESHOLD = peak count rate threshold for RHESSI-based
                         selection 
               GRID = same as /BY_TIME, but select files relative to
                        a time grid [def = hourly]

 CALLS: ***
	ANYTIM2TAI, ANYTIM2UTC [1], ANYTIM2UTC [2], APPEND_ARR, ARR2STR [1], Arr2Str [2]
	CHKLOG [1], CHKLOG [2], CHMOD, CONCAT_DIR [1], CONCAT_DIR [2], CONCAT_DIR [3]
	DPRINT, ESPAWN, EXIST, IS_BLANK, IS_STRING, LOC_FILE [1], LOC_FILE [2], LOC_FILE [3]
	MK_SUB_DIR, OS_FAMILY, RD_GEV, TEST_DIR, TRIM, TRIM2, WHERE_NEAR, WHERE_TIMES
	anytim [1], anytim [2], anytim [3], anytim [4], anytim [5], concat_dir [4]
	decode_gev, eit_files, get_def_times, get_uniq, hsi_read_flarelist, is_number [1]
	is_number [2], is_struct, timegrid
 Restrictions: Unix only

 History     : Written 14 Aug 2001, D. Zarro (EITI/GSFC)
               Modified 3 Sep 2006, Zarro (ADNET/GSFC)
                - added /GRID

 Contact     : dzarro@solar.stanford.edu


EIT_GBO $SSW/gen/idl/synoptic/eit_gbo.pro
[Previous] [Next]
 Project     : RHESSI

 Name        : EIT_GBO

 Purpose     : update Max Millennium catalog with EIT flare observations

 Category    : synoptic gbo 

 Syntax      : IDL> eit_gbo,gev

 Inputs      : GEV = GOES events structure from RD_GEV
     
 Keywords    : REPROCESS = reprocess existing entries
               VERBOSE = set verbose output
               WITHIN = record if nearest EIT observation occurs within
                        this amount of hours relative to GOES peak.
             
 CALLS: ***
	ANYTIM2TAI, ANYTIM2UTC [1], ANYTIM2UTC [2], ARR2STR [1], Arr2Str [2], CHKLOG [1]
	CHKLOG [2], CONCAT_DIR [1], CONCAT_DIR [2], CONCAT_DIR [3], DEF_GBO, EXIST
	FILE_BREAK, IS_BLANK, LIST_NAR, LOC_FILE [1], LOC_FILE [2], LOC_FILE [3], MK_DIR
	PARSE_TIME, PURGE_GBO, RESTORE_GBO, SYNOP_SERVER, TRIM, TRIM2, UPDATE_GBO, WRITE_DIR
	concat_dir [4], decode_gev, eit_files, gt_day [1], gt_day [2], gt_time [1]
	gt_time [2], is_number [1], is_number [2], is_struct
 CALLED BY:
	UPDATE_MM
 History     : Written 10 March 2003, D. Zarro (EER/GSFC)

 Contact     : dzarro@solar.stanford.edu


EIT_PARTIAL $SSW/gen/idl/synoptic/eit_partial.pro
[Previous] [Next]
 Project     : HESSI

 Name        : EIT_PARTIAL

 Purpose     : Update EIT INDEX for partial
               fov images with instrument pointing

 Category    : Ancillary GBO Synoptic

 Syntax      : IDL> index=eit_partial(index,header=header)

 Inputs      : INDEX = index structure

 Outputs     : INDEX with updated CRPIX/CRVAL/XCEN/YCEN values

 Keywords    : HEADER with updated CRPIX/CRVAL/XCEN/YCEN values

 CALLS: ***
	COMDIM2, COMP_FITS_CRPIX, EXIST, HAVE_PROC, HAVE_TAG, REP_TAG_VALUE, STC_KEY
	is_struct, struct2fitshead
 CALLED BY:
	EIT__DEFINE
 History     : Written 20 March 2002, D. Zarro, L-3Com/GSFC
               Modified 13 June 2005, Zarro (L-3Com/GSFC) 
                - added check for header

 Contact     : dzarro@solar.stanford.edu


EIT_QUALITY [1] $SSW/gen/idl/synoptic/eit_quality.pro
[Previous] [Next]
 Project     : SOHO

 Name        : EIT_QUALITY

 Purpose     : flag problematic EIT file

 Category    : synoptic gbo

 Syntax      : IDL> flag=eit_quality(file)

 Inputs      : FILE = EIT FITS file

 Outputs     : 1 if good quality science data, 0 if problem with EIT files (camera err, engineering, etc)

 CALLS: ***
	ARR2STR [1], Arr2Str [2], IS_STRING, LOC_FILE [1], LOC_FILE [2], LOC_FILE [3]
	read_eit
 History     : Written 20 Dec 2005, D. Zarro (EITI/GSFC)

 Contact     : dzarro@solar.stanford.edu


eit_server $SSW/gen/idl/synoptic/eit_server.pro
[Previous] [Next]
 Project     : eit

 Name        : eit_server

 Purpose     : return first available eit data server

 Category    : synoptic sockets
                   
 Inputs      : None

 Outputs     : SERVER = eit data server name

 Keywords    : NETWORK = 1 if network is up
               PATH = top data path
               NO_CHECK= skip network check
               FULL = include HTTP in server name

 CALLS: ***
	HAVE_NETWORK
 CALLED BY:
	EIT__DEFINE
 History     : 15-Jan-2003,  D.M. Zarro (EER/GSFC)  Written
               09-Jun-2004,  P.T. Gallagher (L-3 Com/GSFC) 
                             Converted sxi_server to eit_server

 Contact     : DZARRO@SOLAR.STANFORD.EDU


EIT_SYS $SSW/gen/idl/image_tool/eit_sys.pro
[Previous] [Next]
 Project     : SOHO - CDS     
                   
 Name        : EIT_SYS
               
 Purpose     : setup special color system variables for EIT wavelengths
               
 Category    : utility
               
 Syntax      : IDL> eit_sys

 Inputs      : None
               
 Outputs     : None

 CALLS: ***
	GET_USER_ID
 CALLED BY:
	IMAGE_TOOL
 Side Effects: !304,!195,!284 & !171 are defined
               
 History     : 11-Jan-2002,  D. Zarro (EITI/GSFC).  Written

 Contact     : DZARRO@SOLAR.STANFORD.EDU


ELLIPSE $SSW/gen/idl/util/ellipse.pro
[Previous] [Next]
 PROJECT:
       SOHO - CDS

 NAME:
       ELLIPSE

 PURPOSE: 
       Return function value and its derivatives of an ellipse

 EXPLANATION:
       
 CALLING SEQUENCE: 
       ELLIPSE, x, a, y, dyda

 INPUTS:
       X -- A two element vector for position of the point on the ellipse
       A -- A four-element vector representing central position (x0, y0) and
            semi-major and -minor axes (a0, b0) of the ellipse
       
 OPTIONAL INPUTS: 
       None.

 OUTPUTS:
       Y    -- Function value of the ellipse equation.
       DYDA -- Derivatives of the function

 OPTIONAL OUTPUTS:
       None.

 KEYWORD PARAMETERS: 
       None.

 CALLS:
	None.
 CALLED BY:
	XFLOW_DIAG [1], xflow_diag [2]
 COMMON BLOCKS:
       None.

 RESTRICTIONS: 
       None.

 SIDE EFFECTS:
       None.

 CATEGORY:
       Misc, user-supplied function
       
 PREVIOUS HISTORY:
       Written November 22, 1994, Liyun Wang, GSFC/ARC

 MODIFICATION HISTORY:
       
 VERSION:
       Version 1, November 22, 1994


EMENU $SSW/gen/idl/widgets/emenu.pro
[Previous] [Next]
 NAME:
        EMENU
 PURPOSE:
        same as WMENU but can handle almost infinite size lists
 CALLING SEQUENCE:
        e=emenu(list,mtitle=mtitle,init=init,imax=imax)
 INPUTS:
        list=string array of menu items
 OUTPUTS:
        index of selected menu item with 0 denoting first item
 KEYWORDS:
        Same as WMENU, but with IMAX and MTITLE extra
        IMAX = size of submenu blocks into which LIST is subdivided [def=50]
        MTITLE = optional string title for menu, may be an array 
        (NB: MTITLE is kept separate from LIST elements, unlike in WMENU)
 CALLS: ***
	CHECKVAR [1], checkvar [2]
 CALLED BY:
	CAL_SHER, FILE_SEARCHER [1], FILE_SEARCHER [2], SPEX_SAVE_DATA [1]
	SPEX_SAVE_DATA [2], plotfda, rdimg, 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]
 PROCEDURE:
        if !D.NAME eq 'X' then uses WMENU on subdivisions of LIST to 
        avoid hitting internal hard limit of WMENU.
        If X-windows not available, then items are listed in blocks of 20.
 MODIFICATION HISTORY:
        Written by DMZ (ARC, Mar'91)
	 mod, ras, 20-aug-94, allow mtitle to be a string array


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

 Name        : 
	ENABLEFLAG
 Purpose     : 
	Reenable a previously set but disabled image display flag.
 Explanation : 
	Reenables one of the previously set flag fields in the !IMAGE
	structure.  Only use this routine if the value has already been set by
	SETFLAG, but the value was disabled with UNSETFLAG.

	Keywords that take only true/false values, such as "NOBOX", are
	controlled solely by the SETFLAG and UNSETFLAG routines.

 Use         : 
	ENABLEFLAG, /Keyword, ...

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

 Inputs      : 
	None.  Only keyword parameters are used by this routine.
 Opt. Inputs : 
	Noen.
 Outputs     : 
	None.
 Opt. Outputs: 
	None.
 Keywords    : 
	MISSING	 = Value flagging missing pixels.  These points are scaled to
		   zero.  Ignored if NOSCALE is set.
	SIZE	 = If passed and positive, then used to determine the scale of
		   the image.
	XALIGN	 = Alignment within the image display area.  Ranges between 0
		   (left) to 1 (right).  Default is 0.5 (centered).
	YALIGN	 = Alignment within the image display area.  Ranges between 0
		   (bottom) to 1 (top).  Default is 0.5 (centered).
	RELATIVE = Size of area to be used for displaying the image, relative
		   to the total size available.  Must be between 0 and 1.
		   Default is 1.  Passing SIZE explicitly will override this
		   keyword.
	MAX	 = The maximum value to be considered in scaling images, as
		   used by BYTSCL.
	MIN	 = The minimum value to be considered in scaling images, as
		   used by BYTSCL.
	VELOCITY = If set then the MIN and MAX values pertain to velocity
		   images rather than intensity images.  (An alternate way to
		   do the same thing is to use the keywords VMIN and VMAX.)
	TOP	 = The maximum value of the scaled image array, as used by
		   BYTSCL.
	BOTTOM	 = The minimum value of the scaled image array, as used by
		   BYTSCL.
 Calls       : ***
	TAG_EXIST [1], TAG_EXIST [2]
 Common      : 
	None.
 Restrictions: 
	In general, the SERTS image display routines use several non-standard
	system variables.  These system variables are defined in the procedure
	IMAGELIB.  It is suggested that the command IMAGELIB be placed in the
	user's IDL_STARTUP file.

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

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


energy_res class $SSW/gen/idl/spectra/energy_res__define.pro
[Previous] [Next]
 PROJECT:


 NAME:
       energy_res class

 PURPOSE:

       Compute pulse spread response matrix

 CATEGORY:
       ssw/gen/idl/util

 CONTRUCTION:
       o = Obj_New( 'energy_res' )
       or
       o = energy_res( )

 INPUT (CONTROL) PARAMETERS:
       Defined in {energy_res_control}

		ein: ptr_new(), $    ;Energy input edges
		eout: ptr_new(),$	 ;Energy output edges
		e_vs_fwhm: ptr_new(), $ ;energy for fwhm array
		fwhm_vs_e: ptr_new(), $ ;fwhm as a function of E_VS_FWHM.
		sig_lim: 0.0 	}  ;Integration limit in sigma
 DISCUSSION
		While designed to provide a module for detector resolution broadening it can
		be used more generally.  This creates a matrix with a Gaussian response
		for each output channel.  The FWHM can obey any functional form desired as
		it can be given explicitly by the E_VS_FWHM and FWHM_VS_E control parameters
 CALLS: ***
	ENERGY_RES::INIT, ENERGY_RES::PROCESS, ENERGY_RES_CONTROL
	ENERGY_RES_CONTROL__DEFINE, ENERGY_RES_INFO__DEFINE, ENERGY_RES_TEST
	ENERGY_RES__DEFINE, F_DIV, GET_EDGES, INTERPOL, edge_products
 SEE ALSO:
	Requires FRAMEWORK, energy_res_control, energy_res_control__define
	energy_res_info__define
 HISTORY:
       6-jul-2006, richard.schwartz@gsfc.nasa.gov ; Based on pulse_spread



Energy_res [1] $SSW/gen/idl/spectra/energy_res.pro
[Previous] [Next]
 Project:
	XRAY

 NAME:
	Energy_res
 PURPOSE:
	This procedure generates a matrix of gaussian pulse-shapes which can
	then multiply a matrix of energy-losses to form a full pulse-height
	matrix.

 CATEGORY:
	MATH, CALIBRATION, INSTRUMENT, DETECTORS, RESPONSE, SPECTROSCOPY

 CALLING SEQUENCE:
	PULSE_SPREAD, INPUT, PSM, INMATRIX, OUTMATRIX
 CALLED BY:
	HESSI FRAMEWORK TEMPLATE CLASS [2], HESSI FRAMEWORK TEMPLATE CLASS [3]
	HSI_DRM_MOD CLASS, HSI_DRM_MOD_CONTROL__DEFINE, SOXS_CZT_DRM, SOXS_DRM
 EXAMPLES:
	pulse_spread, input_psm, pulse_shape, eloss_mat.eloss_mat, drm

 CALLS:
	CHKARG, F_DIV, edge_products
 INPUTS:

 OPTIONAL INPUTS:


 OUTPUTS:
       PSM - pulse-shape matrix, square or SPARSE

 OPTIONAL OUTPUTS:


 KEYWORDS:
	SPARSE - if set, then psm is a sparse matrix
 COMMON BLOCKS:
	none

 SIDE EFFECTS:
	none

 RESTRICTIONS:
	none

 PROCEDURE:
	The GAUSSINT function is used to construct the point-spread function.  GAUSSINT is
	the integral over the normally used GAUSSIAN function and is the correct function
	where the Gaussian is a valid approximation only when the output channels are
	narrow wrt the resolution.  Also, if INMATRIX is given, an efficient matrix
	multiplication is performed on large matrices, multiplying only over the
	non-zero elements of INMATRIX, useful when INMATRIX is mainly the photoefficiency
	without a Compton tail.

 MODIFICATION HISTORY:
	16-jun-2006, ras


EPLOT $SSW/gen/idl/display/eplot.pro
[Previous] [Next]
 Project     :	SDAC

 Name        : EPLOT

 Purpose     : Overplot x and y error bars on a previously drawn plot.

 Use         : EPLOT,X,Y, EX=EX,EY=EY

 Inputs      : X,Y = vectors values 

 Opt. Inputs : None.

 Outputs     : None.

 Opt. Outputs: None.

 Keywords    :
            	EX = error in x 
               EY = error in y
               [2-d array where 1st column is + error, 2nd column is - error]
               /UPPER = plot positive errors only
               /LOWER = plot negative errors only
               COLOR = color for error bars
               NOCLIP = set to not clip off at plot boundaries
 Explanation : 
           	Error bars are drawn for each element.
               If input errors are 1-d, then they are concatanated to 2-d 

 Calls       : ***
	CHKARG, DATATYPE [1], DATATYPE [2], DATATYPE [3], OUTPLOT [1], OUTPLOT [2]
	OUTPLOT [3]
 CALLED BY:
	ACRIM, ACRIM_EV, ACRIM_OUT, PLOTSPEC, PLOT_SPEC [1], SPEX_THISTORY [1]
	SPEX_THISTORY [2], bsc_spec_plot [1], bsc_spec_plot [2], plotltc [1]
	plotltc [2], spec_plot [1], spec_plot [2], spec_plot [3], spec_plot [4]
 Common      : None.

 Restrictions: 
              Initial call to plot must be made to establish scaling

 Side effects: None.

 Category    : Graphics

 Prev. Hist. : 
              Jan'91, DMZ, (ARC) -- written
              Sep'93, DMZ  -- added Yohkoh index option for x input
              Oct'93, DMZ  -- added option for entering single vectors
              Mar'98, DMZ  -- added UTPLOT keyword

 Version:     1


EQ2HOR $SSW/gen/idl_libs/astron/astro/eq2hor.pro
[Previous] [Next]
 NAME:
   EQ2HOR

 PURPOSE:
    Convert celestial  (ra-dec) coords to local horizon coords (alt-az).

 CALLING SEQUENCE:

    eq2hor, ra, dec, jd, alt, az, [ha, LAT= , LON= , /WS, OBSNAME= , $
                       /B1950 , PRECESS_= 0, NUTATE_= 0, REFRACT_= 0, $
                       ABERRATION_= 0, ALTITUDE= , /VERBOSE, _EXTRA= ]

 DESCRIPTION:
  This is a nice code to calculate horizon (alt,az) coordinates from equatorial
  (ra,dec) coords.   It is typically accurate to about 1 arcsecond or better (I
  have checked the output against the publicly available XEPHEM software). It
  performs precession, nutation, aberration, and refraction corrections.  The
  perhaps best thing about it is that it can take arrays as inputs, in all
  variables and keywords EXCEPT Lat, lon, and Altitude (the code assumes these
  aren't changing), and uses vector arithmetic in every calculation except
  when calculating the precession matrices.

 INPUT VARIABLES:
       RA   : Right Ascension of object  (J2000) in degrees (FK5); scalar or
              vector.
       Dec  : Declination of object (J2000) in degrees (FK5), scalar or vector.
       JD   : Julian Date [scalar or vector]

 CALLS: ***
	ADSTRING, CO_ABERRATION, CO_NUTATE, CO_REFRACT, CT2LST, HADEC2ALTAZ, OBSERVATORY
	PRECESS
 CALLED BY:
	atmospheric_refraction
       Note: if RA and DEC are arrays, then alt and az will also be arrays.
             If RA and DEC are arrays, JD may be a scalar OR an array of the
             same dimensionality.

 OPTIONAL INPUT KEYWORDS:
       lat   : north geodetic latitude of location in degrees
       lon   : EAST longitude of location in degrees (Specify west longitude
               with a negative sign.)
       /WS    : Set this to get the azimuth measured westward from south (not
               East of North).
       obsname: Set this to a valid observatory name to be used by the
              astrolib OBSERVATORY procedure, which will return the latitude
              and longitude to be used by this program.
       /B1950 : Set this if your ra and dec are specified in B1950, FK4
              coordinates (instead of J2000, FK5)
       precess_ : Set this to 1 to force precession [default], 0 for no
               precession correction
       nutate_  : Set this to 1 to force nutation [default], 0 for no nutation.
       aberration_ : Set this to 1 to force aberration correction [default],
                     0 for no correction.
       refract_ : Set to 1 to force refraction correction [default], 0 for no
                     correction.
       altitude: The altitude of the observing location, in meters. [default=0].
       verbose: Set this for verbose output.  The default is verbose=0.
       _extra: This is for setting TEMPERATURE or PRESSURE explicity, which are
               used by CO_REFRACT to calculate the refraction effect of the
               atmosphere. If you don't set these, the program will make an
               intelligent guess as to what they are (taking into account your
               altitude).  See CO_REFRACT for more details.

 OUTPUT VARIABLES: (all double precision)
       alt    : altitude (in degrees)
       az     : azimuth angle (in degrees, measured EAST from NORTH, but see
                keyword WS above.)
       ha     : hour angle (in degrees) (optional)

 DEPENDENCIES:
       NUTATE, PRECESS, OBSERVATORY, SUNPOS, ADSTRING() (from the astrolib)
       CO_NUTATE, CO_ABERRATION, CO_REFRACT, ALTAZ2HADEC

 BASIC STEPS
   Apply refraction correction to find apparent Alt.
   Calculate Local Mean Sidereal Time
   Calculate Local Apparent Sidereal Time
   Do Spherical Trig to find apparent hour angle, declination.
   Calculate Right Ascension from hour angle and local sidereal time.
   Nutation Correction to Ra-Dec
   Aberration correction to Ra-Dec
       Precess Ra-Dec to current equinox.


CORRECTIONS I DO NOT MAKE:
   *  Deflection of Light by the sun due to GR. (typically milliarcseconds,
        can be arseconds within one degree of the sun)
   *  The Effect of Annual Parallax (typically < 1 arcsecond)
   *  and more (see below)

 TO DO
    * Better Refraction Correction.  Need to put in wavelength dependence,
    and integrate through the atmosphere.
        * Topocentric Parallax Correction (will take into account elevation of
          the observatory)
    * Proper Motion (but this will require crazy lookup tables or something).
        * Difference between UTC and UT1 in determining LAST -- is this
          important?
        * Effect of Annual Parallax (is this the same as topocentric Parallax?)
    * Polar Motion
        * Better connection to Julian Date Calculator.

 EXAMPLE

  Find the position of the open cluster NGC 2264 at the Effelsburg Radio
  Telescope in Germany, on June 11, 2023, at local time 22:00 (METDST).
  The inputs will then be:

       Julian Date = 2460107.250
       Latitude = 50d 31m 36s
       Longitude = 06h 51m 18s
       Altitude = 369 meters
       RA (J2000) = 06h 40m 58.2s
       Dec(J2000) = 09d 53m 44.0s

  IDL> eq2hor, ten(6,40,58.2)*15., ten(9,53,44), 2460107.250d, alt, az, $
               lat=ten(50,31,36), lon=ten(6,51,18), altitude=369.0, /verb, $
                pres=980.0, temp=283.0

 The program produces this output (because the VERBOSE keyword was set)

 Latitude = +50 31 36.0   Longitude = +06 51 18.0
 Julian Date =  2460107.250000
 Ra, Dec:  06 40 58.2  +09 53 44.0   (J2000)
 Ra, Dec:  06 42 15.7  +09 52 19.2   (J2023.4422)
 Ra, Dec:  06 42 13.8  +09 52 26.9   (fully corrected)
 LMST = +11 46 42.0
 LAST = +11 46 41.4
 Hour Angle = +05 04 27.6  (hh:mm:ss)
 Az, El =  17 42 25.6  +16 25 10.3   (Apparent Coords)
 Az, El =  17 42 25.6  +16 28 22.8   (Observer Coords)

 Compare this with the result from XEPHEM:
 Az, El =  17h 42m 25.6s +16d 28m 21s

 This 1.8 arcsecond discrepancy in elevation arises primarily from slight
 differences in the way I calculate the refraction correction from XEPHEM, and
 is pretty typical.

 AUTHOR:
   Chris O'Dell
       Univ. of Wisconsin-Madison
   Observational Cosmology Laboratory
   Email: odell@cmb.physics.wisc.edu


EQPOLE $SSW/gen/idl_libs/astron/astro/eqpole.pro
[Previous] [Next]
 NAME:
       EQPOLE
 PURPOSE:
       Convert RA and Dec to X,Y using an equal-area polar projection.
 EXPLANATION:
       The output X and Y coordinates are scaled to be between
       -90 and +90 to go from equator to pole to equator. Output map points 
       can be centered on the north pole or south pole.

 CALLING SEQUENCE:
       EQPOLE, L, B, X, Y, [ /SOUTHPOLE ]

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

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

 KEYWORDS:

       /SOUTHPOLE      - Keyword to indicate that the plot is to be centered 
               on the south pole instead of the north pole.

 REVISION HISTORY:
       J. Bloch        LANL, SST-9     1.1     5/16/91
       Converted to IDL V5.0   W. Landsman   September 1997
 CALLED BY
	EQPOLE_GRID


EQPOLE_GRID $SSW/gen/idl_libs/astron/astro/eqpole_grid.pro
[Previous] [Next]
 NAME:
       EQPOLE_GRID

 PURPOSE:
       Produce an equal area polar projection grid overlay
 EXPLANATION:
       Grid is written on the current graphics device using the equal area 
       polar projection.   EQPOLE_GRID assumes that the output plot 
       coordinates span the x and y ranges of -90 to 90 for a region that 
       covers the equator to the chosen pole. The grid is assumed to go from 
       the equator to the chosen pole.

 CALLING SEQUENCE:

       EQPOLE_GRID[,DLONG,DLAT,[/SOUTHPOLE, LABEL = , /NEW, _EXTRA=]

 INPUTS:

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

 INPUT KEYWORDS:

       /SOUTHPOLE       = Optional flag indicating that the output plot is
                         to be centered on the south rather than the north
                         pole.
       LABEL           = Optional flag for creating labels on the output
                         grid on the prime meridian and the equator for
                         lattitude and longitude lines. If set =2, then
                         the longitude lines are labeled in hours and minutes.
       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)
       /NEW          =   If this keyword is set, then EQPOLE_GRID will create
                         a new plot, 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: ***
	EQPOLE, SIXTY
 EXAMPLE:
       Create a labeled equal area projection grid of the Galaxy, centered on
       the South pole, and overlay stars at specified Galactic longitudes, 
       glong and latitudes, glat

       IDL> eqpole_grid,/label,/new,/south       ;Create labeled grid
       IDL> eqpole, glong, glat, x,y      ;Convert to X,Y coordinates
       IDL> plots,x,y,psym=2              ;Overplot "star" positions.


 COPYRIGHT NOTICE:

       Copyright 1992, The Regents of the University of California. This
       software was produced under U.S. Government contract (W-7405-ENG-36)
       by Los Alamos National Laboratory, which is operated by the
       University of California for the U.S. Department of Energy.
       The U.S. Government is licensed to use, reproduce, and distribute
       this software. Neither the Government nor the University makes
       any warranty, express or implied, or assumes any liability or
       responsibility for the use of this software.

 AUTHOR AND MODIFICATIONS:

       J. Bloch        1.4     10/28/92
       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


ERR_STATE $SSW/gen/idl/util/err_state.pro
[Previous] [Next]
 Project     : HESSI

 Name        : ERR_STATE

 Purpose     : return !error_state.msg or !err_string

 Category    : utility help

 Syntax      : IDL> print,err_state()

 Inputs      : None

 Outputs     : !error_state.msg (if supported), else !err_string

 Keywords    : None

 CALLED BY:
	ADD_TAG [1], APPEND_ARR, CHMOD, GET_MONTH, JOIN_STRUCT [1], MDI_COPY, MK_DIR
	OBJ_STRUCT, PLOT_BOX, RDWRT_BUFF, RD_GOES_SDAC, REM_TAG [1], SYNOP_DEFINE
	TRACE_COPY, TRACE_GBO, TRACE_JSMOVIE, XYPLOT__DEFINE, db_gbo, ihy_db
 History     : Written 6 Jan 2003, D. Zarro (EER/GSFC)

 Contact     : dzarro@solar.stanford.edu


ERRPLOT [1] $SSW/gen/idl/display/errplot.pro
[Previous] [Next]
 NAME:
	ERRPLOT
 PURPOSE:
	Overplot error bars over a previously drawn plot.
 CATEGORY:
	J6 - plotting, graphics, one dimensional.
 CALLING SEQUENCE:
	ERRPLOT, Low, High	;X axis = point number
	ERRPLOT, X, Low, High	;to specify abscissae
 INPUTS:
	Low = vector of lower estimates, = to data - error.
	High = upper estimate, = to data + error.
 OPTIONAL INPUT PARAMETERS:
	X = vector containing abscissae.
 KEYWORD Parameters:
	Width = width of bars, default = 1% of plot width.
 OUTPUTS:
	None.
 CALLED BY:
	APCAL_ADD_27MANT [1], APCAL_ADD_2MANT, APCAL_ADD_2M_RL, CHIANTI_DEM
	DATAGET3_GRS, DATAGET3_HXS, EUTPLOT, FLUX_3C84, GRS_SPEFF, PLOT_GRSPCH, PLOT_GRSPCL
	PLOT_GRSPHH, PLOT_GRSPHL, PLOT_HXSPC, PLOT_HXSPH, PNTFIT, SPFDPLOT_GRS, SPFDPLOT_HXS
	SPPLOT_GRS, SPPLOT_HXS, azimuth_teem [2], dataget_grs, errbar, go_teem_plots
	hsi_visibility_fit, lcur_plot [1], lcur_plot [2], make_avg_daily_roll
	ph_eff_grs1, ph_eff_grs2, ph_pow_grs1, ph_pow_grs2, plot_eit_entrance, plotbft [1]
	plotbft [2]
 COMMON BLOCKS:
	None.
 SIDE EFFECTS:
	Overplot is produced.
 RESTRICTIONS:
	Logarithmic restriction removed.
 PROCEDURE:
	Error bars are drawn for each element.
	For example:  Y = data values, ERR = symmetrical error estimates:
		PLOT,Y	;Plot data
		ERRPLOT, Y-ERR, Y+ERR	;Overplot error bars.
	If error estimates are non-symetrical:
		PLOT,Y
		ERRPLOT, Upper, Lower	;Where upper & lower are bounds.
	To plot versus a vector of abscissae:
		PLOT,X,Y		;Plot data.
		ERRPLOT,X,Y-ERR,Y+ERR	;Overplot error estimates.
 MODIFICATION HISTORY:
	DMS, RSI, June, 1983.
	Joe Zawodney, LASP, Univ of Colo., March, 1986. Removed logarithmic
		restriction.
	DMS, March, 1989.  Modified for Unix IDL.
	RDB, October 1992. Added NOCLIP=!P.NOCLIP to plot statement
       1-Oct-1998, Zarro (SMA/GSFC), added keyword inheritance


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

 PURPOSE: to transform image <x> into a form in which loop-like
   (one-dimensional) structures can be detected more easily,
   regardless of the loop contrast amplitude or large-scale
   background variation.  The *bright loop detection image* is
   defined as ESEGMENT(x) GE 2.

 Input Parameters:
    x - a 2D image array

 Output:
    function returns map (same dimen as input) containing count
    of nearest neighbors which exceed assocciated pixel

 ALGORITHM: count the number of directions (0 - 4) in which the
   current pixel's value exceeds the values of both immediate
   neighbors in that direction (N-S, E-W, NE-SW, NW-SE).

 Calling Sequence:
    segimg=esegment(image)

 AUTHOR: Louis H. Strous, Lockheed Martin Solar & Astrophysics Lab,
   Palo Alto, CA.

 JOURNAL PUBLICATION: by L.H. Strous, in "Solar Physics", forthcoming
   special volume dedicated to the "Physics of the Solar Corona and
   Transition Region" workshop, held in Monterey, California, on 24 -
   27 August 1999.

 OTHER PLATFORMS: dynamic run-time loading module for IDL, written in
   C.  http://ana.lmsal.com/anaidl .

 Category:
    image processing, 2D, solarx

 CALLS: ***
	BOX_MESSAGE, data_chk [1], data_chk [2]
 HISTORY: IDL script version 1.0, 2 September 1999.
           2-September-1999 - L.H.Strous - C->IDL port
          14-September-1999 - S.L.Freeland - minor doc, -> SSW


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

 Name        : ESPAWN

 Purpose     : spawn a shell command and return STDIO and STDERR

 Category    : System

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

 Syntax      : IDL> espawn,cmd,out

 Inputs      : CMD = command(s) to spawn

 Keywords    : NOERROR = inhibit error output
               COUNT = n_elements(out)
               BACKGROUND = background the commands (UNIX only)
               UNIQUE = make commands unique
               CACHE = use cached results
               CLEAR = clear cached results

 Outputs     : OUT = output of CMD

 CALLS: ***
	DELVARX [1], DELVARX [2], DELVARX [3], DELVARX [4], IS_BLANK, MERGE_STRUCT
	OS_FAMILY, PTR_EXIST, TRIM2, delvarx [5], get_uniq, is_struct
 CALLED BY:
	APPLY_LOCK, CHECK_FTP, CHECK_KAP, DATA_PATHS, EIT_COPY, EXIST_JOB, FILE2FID
	FILE_COPY2, FIND_CAT, FIND_PROC, FTP_BBSO, FTP_MLSO_IMAGES, FTP_MWSO, FTP_NOBE
	FTP_SYNOP, FTP__DEFINE, GET_GZIP, GET_LATEST_IAP, GET_MOD, GET_NOAA, GET_PID, GET_PROC
	GET_USER_ID, HAVE_EXE, IS_LINK, KILL_JOB, LIST_DIR, LIST_FILE, LIST_PATH, LOC_FILE [2]
	MAP__DEFINE, MDI_COPY, MDI_LATEST, MK_AGIF, MK_DIR, MK_FILE, MK_LINK, MK_PLAN_FORM
	MK_SOHO_TARGET, PLOT_CDS_POINT [1], PLOT_CDS_POINT [2], PRINT_GEV, PRINT_NAR
	PURGE_KAPS, REBIN_FID, SEND_MAIL, SEND_PRINT, SMART_FTP, TRACE_COPY, TRACE_GBO
	UPDATE_KAP, URL_GET, db_gbo, gzip, ihy_db, is_winnt, mdi_link, netscape_control
	synop_link, uncompress
 History     : Version 1,  24-Jan-1996, Zarro (ARC/GSFC) - written
               Modified, 12-Nov-1999, Zarro (SM&A/GSFC) - made 
                Windows compliant
               Modified, 12-March-2000, Zarro (SM&A/GSFC) - sped
                up with /NOSHELL (Unix only)
               Modified, 22-May-2000, Zarro (EIT/GSFC) - added
                /UNIQUE
               Modified, 26-Mar-2002, Zarro (EER/GSFC) - sped up with caching 
               
 Contact     : DZARRO@SOLAR.STANFORD.EDU


ETHZ__DEFINE $SSW/gen/idl/synoptic/ethz__define.pro
[Previous] [Next]
 Project     : HESSI

 Name        : ETHZ__DEFINE

 Purpose     : Define a site object for Observatory of Solar specreadastronomy 
               of the Astrophysical Institute, Potsdam 

 Category    : Ancillary GBO Synoptic Objects

 Syntax      : IDL> c=obj_new('ethz')

 CALLS: ***
	ANYTIM2UTC [1], ANYTIM2UTC [2], ETHZ::CLEANUP, ETHZ::INIT, ETHZ::SET_FITS
	is_struct
 History     : Written 18 Nov 2002, D. Zarro (EER/GSFC)

 Contact     : dzarro@solar.stanford.edu


EULER $SSW/gen/idl_libs/astron/astro/euler.pro
[Previous] [Next]
 NAME:
     EULER
 PURPOSE:
     Transform between Galactic, celestial, and ecliptic coordinates.
 EXPLANATION:
     Use the procedure ASTRO to use this routine interactively

 CALLING SEQUENCE:
      EULER, AI, BI, AO, BO, [ SELECT, /FK4, SELECT = ] 

 INPUTS:
       AI - Input Longitude in DEGREES, scalar or vector.  If only two 
               parameters are supplied, then  AI and BI will be modified to 
               contain the output longitude and latitude.
       BI - Input Latitude in DEGREES

 OPTIONAL INPUT:
       SELECT - Integer (1-6) specifying type of coordinate transformation.  

      SELECT   From          To        |   SELECT      From            To
       1     RA-Dec (2000)  Galactic   |     4       Ecliptic      RA-Dec    
       2     Galactic       RA-DEC     |     5       Ecliptic      Galactic  
       3     RA-Dec         Ecliptic   |     6       Galactic      Ecliptic  

      If not supplied as a parameter or keyword, then EULER will prompt for 
      the value of SELECT
      Celestial coordinates (RA, Dec) should be given in equinox J2000 
      unless the /FK4 keyword is set.
 OUTPUTS:
       AO - Output Longitude in DEGREES
       BO - Output Latitude in DEGREES

 INPUT KEYWORD:
       /FK4 - If this keyword is set and non-zero, then input and output 
             celestial and ecliptic coordinates should be given in equinox 
             B1950.
       /SELECT  - The coordinate conversion integer (1-6) may alternatively be 
              specified as a keyword
 NOTES:
       EULER was changed in December 1998 to use J2000 coordinates as the 
       default, ** and may be incompatible with earlier versions***.
 REVISION HISTORY:
       Written W. Landsman,  February 1987
       Adapted from Fortran by Daryl Yentis NRL
       Converted to IDL V5.0   W. Landsman   September 1997
       Made J2000 the default, added /FK4 keyword  W. Landsman December 1998
       Add option to specify SELECT as a keyword W. Landsman March 2003
 CALLED BY
	ASTRO, ATV, HEULER, PLANET_COORDS


EUTPLOT $SSW/gen/idl/utplot/eutplot.pro
[Previous] [Next]
 NAME:
	EUTPLOT
 PURPOSE:
	Plot error bars on previously (using UTPLOT) drawn plot with
	universal time labelled X axis.  If start and end times have been
	set, only data between those times is displayed.
 CATEGORY:
 CALLING SEQUENCE:
	EUTPLOT,X,Y,Z
	EUTPLOT,X,Low,High
	EUTPLOT,X,Y,UNC,/unc
	EUTPLOT,X,Low,High,XST
 INPUTS:
       X -     X array to plot in seconds relative to base time.
               Structures allowed
	LOW,HIGH - Vectors of Low and High Values
   or
       Y,UNC,/UNC - Will convert to LOW=Y-UNC, HIGH=Y+UNC
		     UNC must be a vector of the same length as Y or a scalar.
       xst -	Optional. The reference time to use for converting a structure
		into a seconds array. IMPORTANT - this should not be
		used since it will use the start time that was defined in the
		plot command.  It is necessary if the X input is an in seconds
		already and the reference time is not the same as that used by
		the UTPLOT base time.
 OPTIONAL INPUT PARAMETERS:
	UNC	=  If set, will assume that the Y and UNC were passed in.
	WIDTH	=  Width of the error bars horizontal flags in units of
		   the fractional plot width  (def=0.01).  Set width=0. to
		   draw simple vertical bars.
 OUTPUTS:
	None.
 OPTIONAL OUTPUT PARAMETERS:
	None.
 KEYWORDS:
       XERR,YERR = arrays of X and Y errors
 CALLS: ***
	ERRPLOT [1], ERRPLOT [2], EXIST, Ex2Int [1], Ex2Int [2], anytim [1], anytim [2]
	anytim [3], anytim [4], anytim [5], anytim2ex [1], anytim2ex [2], int2secarr [1]
	int2secarr [2]
 CALLED BY:
	fit_bsc_plot
 COMMON BLOCKS:
	UTCOMMON
 SIDE EFFECTS:
	Over plots uncertainties.
 RESTRICTIONS:
	Can only be used after issuing UTPLOT command.
 PROCEDURE:
	Calls errplot.
 MODIFICATION HISTORY:
 18-dec-93, J. R. Lemen, Written (based on outplot by Tolbert/Schwartz/Morrison)
 13-feb-95, JMM, JRL Uncertainty may be passed in as a scalar or a vector if
		      the /unc keyword is set.
 29-mar-95, JMM, Enable input time to be a 7-element external format
 5-jun-1998, richard.schwartz@gsfc, use anytim() to prep time inputs.  This should allow
	this routine to be run anywhere in SSW.
 1-jul-1998, Zarro (SAC/GSFC), enhanced with OPLOTERR
 1-Oct-1998, Zarro (SMA/GSFC), added keyword inheritance


EVAL_CFIT $SSW/gen/idl/fitting/eval_cfit.pro
[Previous] [Next]
 Project     : SOHO - CDS     
                   
 Name        : EVAL_CFIT
               
 Purpose     : Evaluates a component fit at given points.
               
 Explanation : EVAL_CFIT evaluates the component fit described by the CFIT
               structure, taking the current values for the fit
               parameters. If the keyword /INITIAL is set, the initial values
               for the parameters are used instead.
               
 Use         : EVAL_CFIT,X,Y,CFIT
    
 Inputs      : X : Array of points where the fit is to be evaluated.

               CFIT : The component fit structure.
               
 Opt. Inputs : None
               
 Outputs     : Y : The values of the fit at the given points
               
 Opt. Outputs: None.
               
 Keywords    : DOUBLE : Set to use double precision arithmetic

               INITIAL : Set to use parameter initial values instead of
                         current values.

               SFIT (output) : Set to a named variable to return the SFIT
                               generated in the process of evaluating the
                               CFIT.

 Calls       : ***
	EVAL_SFIT, MAKE_SFIT_STC
 CALLED BY:
	CFIT_ERRDEMO, XCFIT, XCFIT_BLOCK
 Common      : None.
               
 Restrictions: None.
               
 Side effects: None.
               
 Category    : Analysis
               
 Prev. Hist. : None.

 Written     : S.V.H.Haugan, UiO, 21 January 1997
               
 Modified    : Not yet.

 Version     : 1, 21 January 1997


EVAL_SFIT $SSW/gen/idl/fitting/eval_sfit.pro
[Previous] [Next]
 Project     : SOHO - CDS     
                   
 Name        : EVAL_SFIT
               
 Purpose     : Evaluate "short" fit structure at given points.
               
 Explanation : This routine is used as the evaluation routine during fit
               calculations in the component based fit system.

 Use         : EVAL_SFIT,X,A,F [,PDER], PRIVATE=SFIT
    
 Inputs      : X : The points where the fit function should be evaluated.
               A : The parameters of the fit to be evaluated
               
               PRIVATE : Set this keyword to the SFIT ("short" fit) structure
                         describing the fit.
               
 Opt. Inputs : None
               
 Outputs     : F : Returns the evaluated function

               

 Opt. Outputs: PDER : If this parameter is present, it will contain the
                      partial derivatives of the function wrt each parameter.
               
 Keywords    : PRIVATE : See Inputs

 Calls       : ***
	DATATYPE [1], DATATYPE [2], DATATYPE [3]
 CALLED BY:
	CFIT_BLOCK, CFIT_ERROR, EVAL_CFIT
 Common      : None.
               
 Restrictions: The PRIVATE keyword is not optional!
               
 Side effects: None.
               
 Category    : Analysis
               
 Prev. Hist. : None.

 Written     : S.V.H.Haugan, UiO, 21 January 1997
               
 Modified    : Not yet.

 Version     : 1, 21 January 1997


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

   Purpose: form a 3D plot movie from UT events (via evt_grid)

   Input Parameters:
      times - event times (any SSW format, index structures, etc.)

   Output Parameters:
     outimg - movie cube of plots with events overlayed

   Keyword Parameters:
      data - if set and 3D, concatentate data to plot
      goes - if set, use plot goes (time window around events)
      charsize - if set, character size
      color - color for event lines
      gcolor - (goes only - goes grid color)
      ncolor - (fem only - color for night/day )
      scolor - (fem only - color for SAA)
      ascii  - if set, use SEC GOES ascii files , not "yokoh" fmt

   Calling Sequence:
      Two Primary Uses:
      1. IDL> utplot [any user utplot...]		; overlay on user plot
	  IDL> event_movie,times [,data=d3D]    

      2. IDL>event_movie,times, outmovie, [data=d3D] , /goes 	; GOES overlay 
         IDL>event_movie,times, outmovie, /default    ; same w/ std colors and yohoh fem

   Calling Examples:
      IDL> event_movie, index, gmovie, /goes  ; goes plot using index times
      IDL> event_movie, index, gmovie, data=data, ,/goes ; same but
                                                         ; concatentate data
 CALLED BY:
	sxt2file, sxt_ssn2fits [1], trace_special_movie [2], trace_special_movie [3]
   History:
      25-oct-1995 (SLF) - movie production
       6-Nov-1995 (SLF) - cleaned up, defaults, ...
      17-nov-1995 (SLF) - auto scale goes
      12-Apr-1999 (S.L.Freeland) - more generic->SSW, $
                            defaults->event_movie_defaults.pro
      24-Apr-1999 (S.L.Freeland) - fix a color problem

   Warnings:
     Temporarily sets graphics device to 6
   
 CALLS: ***
	PLOT_GOES, WDEF [1], WDEF [2], anytim2ex [1], anytim2ex [2], anytim2ints [1]
	anytim2ints [2], data_chk [1], data_chk [2], event_movie_defaults, evt_grid
	ex2fid [1], ex2fid [2], get_logenv [1], get_logenv [2], int2secarr [1]
	int2secarr [2], linecolors [1], linecolors [2], restsys [1], restsys [2]
	savesys [1], savesys [2], str_replace [1], str_replace [2], timegrid
   Restrictions:
      For now, 'plot_goes' requires at least one Yohkoh instrument in path
  


event_movie [2] $SSW/gen/idl/display/event_movie2.pro
[Previous] [Next]
   Name: event_movie

   Purpose: form a 3D plot movie from UT events (via evt_grid)

   Input Parameters:
      times - event times (any SSW format, index structures, etc.)

   Output Parameters:
     outimg - movie cube of plots with events overlayed

   Keyword Parameters:
      data - if set and 3D, concatentate data to plot
      goes - if set, use plot goes (time window around events)
      charsize - if set, character size
      color - color for event lines
      gcolor - (goes only - goes grid color)
      ncolor - (fem only - color for night/day )
      scolor - (fem only - color for SAA)

   Calling Sequence:
      Two Primary Uses:
      1. IDL> utplot [any user utplot...]		; overlay on user plot
	  IDL> event_movie,times [,data=d3D]    

      2. IDL>event_movie,times, outmovie, [data=d3D] , /goes 	; GOES overlay 
         IDL>event_movie,times, outmovie, /default    ; same w/ std colors and yohoh fem

   Calling Examples:
      IDL> event_movie, index, gmovie, /goes  ; goes plot using index times
      IDL> event_movie, index, gmovie, data=data, ,/goes ; same but
                                                         ; concatentate data
 CALLED BY:
	sxt2file, sxt_ssn2fits [1], trace_special_movie [2], trace_special_movie [3]
   History:
      25-oct-1995 (SLF) - movie production
       6-Nov-1995 (SLF) - cleaned up, defaults, ...
      17-nov-1995 (SLF) - auto scale goes
      12-Apr-1999 (S.L.Freeland) - more generic->SSW, $
                            defaults->event_movie_defaults.pro
      24-Apr-1999 (S.L.Freeland) - fix a color problem
	18-Dec-2002, William Thompson, GSFC, Changed !COLOR to !P.COLOR

   Warnings:
     Temporarily sets graphics device to 6
   
 CALLS: ***
	DELVARX [1], DELVARX [2], DELVARX [3], DELVARX [4], EVENT_MOVIE2, PLOT_GOES
	WDEF [1], WDEF [2], anytim2ex [1], anytim2ex [2], anytim2ints [1], anytim2ints [2]
	data_chk [1], data_chk [2], delvarx [5], event_movie_defaults, evt_grid
	ex2fid [1], ex2fid [2], int2secarr [1], int2secarr [2], linecolors [1]
	linecolors [2], restsys [1], restsys [2], savesys [1], savesys [2]
	str_replace [1], str_replace [2], timegrid
   Restrictions:
      For now, 'plot_goes' requires at least one Yohkoh instrument in path
  


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

   Purpose: set some color "defaults" for event_movie.pro

   Input Parameters:
      event_type: - type of desired event/defaults (defaults=goes w/yohkoh fem)

   Output Parameters:
     NONE:

   Keyword Parameters:
     (all output)  
      goes - if set, turn 'plot_goes' on
      color - color for event lines
      gcolor - (goes only - goes grid color)
      ncolor - (fem only - color for night/day )
      scolor - (fem only - color for SAA)

   Calling Sequence:
 
 CALLS: ***
	BOX_MESSAGE
 CALLED BY:
	event_movie [1], event_movie [2]
   History:
      12-Apr-1999 (S.L.Freeland) - broke some code out of event_movie_defaults


EVENTS_BY_TIME $SSW/gen/idl/fund_lib/sdac/events_by_time.pro
[Previous] [Next]
 Project     : SDAC
                   
 Name        : EVENTS_BY_TIME
               
 Purpose     : This procedure finds events for different instruments over input time
		intervals.
               
 Category    : GEN, HXRBS, BATSE, GRS, SPEX
                                     
 Explanation : This procedure assembles the various software written for the
		different instruments and returns sufficient information to
		find the event numbers or filenames spanning the time interval
               
 Use         : 
    
 Inputs      : Instrument
		Time
               
 Opt. Inputs : None
               
 Outputs     : Events
		Select_list
		Type

 Opt. Outputs: None
               
 Keywords    : 

 Calls       :
 Common      : None
               
 Restrictions: To date, only HXRBS, BATSE, and SMM GRS are covered
               
 Side effects: None.
               
 Prev. Hist  :

 Modified    : Version 1, RAS, 28-mar-1997


evt_grid $SSW/gen/idl/utplot/evt_grid.pro
[Previous] [Next]
NAME:
	evt_grid

PURPOSE:
	To annotate previously drawn utplot output with event times

CALLING SEQUENCE:
	evt_grid,evt_times			
       evt_grid,evt_times [labels=labels, linestyle=linestyle, color=color, $
	                   labsize=labsize, labcolor=labcolor, labpos=labpos,$
			   align=align, vertical=vertical, noarrow=noarrow,  $
			   /ticks, tickpos=tickpos, ticklen=ticklen]
CALLING EXAMPLES:
	(following any utplot)
       evt_grid,index([0,20]),/labels		; label with times
	evt_grid,index([0,20]),labels=['Image A', 'Image B']	
       evt_grid,'2-dec-92 12:45', linestyle=3, thick=2, label='EVENT X'
	evt_grid,rmap,/ticks			;ticks instead of full lines
       evt_grid,index,/arrow			; downward pointing arrows
       evt_grid,index,/arrow,/head             ; upward pointing arrows
       evt_grid,index,labdata=thumbdata        ; annotate with images    
                                               ; (ssw 'index,data' 2d or 3d)

       DUMMY DEMO: 
          plot_goes,'2-dec-93',24
          evt_grid,timegrid('06:00 2-dec-93',nsamp=5,hours=2), $
		/label,labpos=indgen(5)*.04+.7,linestyle=indgen(5) [,/align]

OPTIONAL KEYWORD PARAMTERS:
       linestyle - for vertical lines
       thich	  - ditto
       color     - ditto
       ticks     - use ticks, not vertical line (a tick IS a short vert line)
       tickpos   - position of center of tick in normalized coords (def=.85)
	ticklen   - length of tick in normalized coords (def=.03)
	arrow     - ticks have arrow head (use arrow.pro) - downward pointing
       head      - upward point arrows (via arrow2.pro) 
       labdata     - if data array (2D/3D) supplied, use these for 
                   the "labels" - for example, annotate a utplot
                   with images
       labels - labels for annotation
       labpos -   y position in normalized coords for optional label position
                  (/data or  labpos lt 0 or gt 1 implies data coordinates)
       labcolor - color for optional labels
       labsize  - size for optional labels
       vertical - rotate labels (vertical)
	align - alingment for labels (default=center, see xyouts align desc)
		(1=leftjustify, 0=right justify with respect to grid line)
       noarrow - if set, dont draw arrows for right/left justified labels
       data - if set, label positions are in DATA coordinates 
       imap - if set, calculate imagemap coords (return via IMAGEMAP_COORD
              (works only with LABELS input)
       imagemap_coord - if set, calculate imagemap coordinates of LABELS
       imcircle=imcircle - if set, IMAGEMAP_COORD are "xc,yc,diam"
                           (default is rectangle "minx,miny,maxx,maxy" 
 CALLED BY:
	GOES_TEK [1], GOES_TEK [2], QUICKDARK [2], SXT_COVERAGE, eit_proton_summary
	event_movie [1], event_movie [2], evt_demo, fem_grid [1], fem_grid [2]
	fl_goesplot [1], fl_goesplot [2], fl_goesplot [3], goes_log, goes_summary
	goes_widget, hsi_obs_times, show_contacts, soon_cadence, soon_catstat
	sooncat_cadence, ssw_apkpbar, ssw_fov_context, tim2tfss, trace_movie_context
	ut_label, utcursor [1], utcursor [2]
       Note: (imagemap) - this routine returns a string array 1:1 with
                          number of input times (annotations) for generation
                          of imagemaps (clickable utplots for example)
       no_blank - (switch) - if set, do not do the historical "cleaning"
                             of area around the annotation
       background - if supplied -and- area around label is "cleaned" using
                    this value (default is !p.background) - ignored if
                    NO_BLANK is set

HISTORY:
	Written S.L.Freeland, 3-Dec-1993 (derived from fem_grid.pro) 
	5-Dec-1993 (SLF) - add ticks, tickpos, ticklen, arrow	                
      12-Jul-1994 (SLF) - invert color if PS 
      22-Sep-1994 (SLF) - added stoptimes positional parameter (for ranges)
                          added FILLRANGE switch
       8-oct-1994 (SLF) - added QUIET switch
       1-nov-1994 (SLF) - allow ytype=1 (log)
       7-apr-1995 (SLF) - corrected problem for invalid data
			   (mis align between labels and events)
      25-apr-1995 (SLF) - add DATA keyword, allow labpos in data coords
       6-aug-1995 (SLF) - hide IDL inconsistance on !y.type/!y.crange...
       4-mar-1998 (SLF) - use n_elements in instead of keyword_set
                          add LABONLY, NOLINE, NOTICK (synonyms)
      29-Feb-2000 (SLF) - changed 'endif' to 'endcase'
                          ( 5.3 compiler enforces this end-matching )
      24-Jul-2000 (SLF) - merge 'label_only' change (annotation)
      28-Feb-2002 (SLF) - add IMAP,IMAGEMAP_COORD and IMCIRCLE functions 
                          (calls get_imagemap_coord for each label)
       6-Mar-2002 (SLF) - add LABDATA keyword and funtion
       8-May-2002 (SLF) - add a couple of 'anytim' wrappers to extend
                          function to any SSW input times
	18-Dec-2002, William Thompson, GSFC, Changed !COLOR to !P.COLOR
       16-jun-2004 (SLF) - use !p.background for annotate background
                           (for PostScript) - add /HEAD keyword 
                           (passed to arrow.pro to invert arrow sense)
        9-mar-2005 (SLF) - add /NO_BLANK keyword an function
                           add BACGROUND keyword and function

 CALLS: ***
	ARR2STR [1], Arr2Str [2], DELVARX [1], DELVARX [2], DELVARX [3], DELVARX [4]
	GETUT [1], GETUT [2], GET_IMAGEMAP_COORD, REVERSE, anytim [1], anytim [2]
	anytim [3], anytim [4], anytim [5], anytim2ints [1], anytim2ints [2], arrow2
	data_chk [1], data_chk [2], delvarx [5], int2secarr [1], int2secarr [2], tbeep [1]
	tbeep [2], tbeep [3]
RESTRICTIONS:
	Current plot must be UTPLOT/OUTPLOT output


ex2dow [1] $SSW/gen/idl/genutil/ex2dow.pro
[Previous] [Next]
Name:
	ex2dow
Purpose:
	To convert from the standard 7 element time array
	(HH,MM,SS,MSEC,DD,MM,YY) to a day of week number
	for that date.  (0=sunday, 1=monday,6=saturday).
Input:
	timarr	- Standard "ex" time array 
		  (HH,MM,SS,MSEC,DD,MM,YY) 
		  year is assumed to be of the form 91, 
		  not 1991.
Output:
	day of week
		0 = sunday
		1 = monday
	str_dow		= optional output, the day of week in
			  a string.
 CALLS: ***
	Ex2Int [1], Ex2Int [2]
 CALLED BY:
	anytim2weeks [1], anytim2weeks [2], do_reg_backup, ex2week [1], ex2week [2]
	fits_disp_month [1], fits_disp_month [2], mk_fem [1], mk_fem [2]
	mk_fem_file [1], mk_fem_file [2], week_loop [1], week_loop [2], week_loop [3]
History:
	Written 12-Oct-91 by M.Morrison
       0103-00 (PGS/GS) added y2k fix 


ex2fid [1] $SSW/gen/idl/time/ex2fid.pro
[Previous] [Next]
NAME:
	ex2fid
PURPOSE:
	Given a 7-element time array, generate the fileID (YYMMDD.HHMM)
	for that time.
CALLING SEQUENCE:
	fid = ex2fid(tarr)
	fid = ex2fid(tarr, /sec)
INPUT:
	tarr
OPTIONAL INPUT:
	sec	- If present, return (YYMMDD.HHMMSS)
 CALLED BY:
	BCS_BROWSE24, DISPLOI_MON5K, FIND_CAL [1], FIND_CAL [2], HXTPIXON, HXT_QLOOK
	OBS_PLOT, bbso_name_fix, cfl_summary [1], cfl_summary [2], check_compile [1]
	check_compile [2], check_dumps [1], check_process [1], check_process [2]
	check_sci5k_trunc, daily_forecast [2], disp_sci5k, disp_therm_rs232
	do_reg_backup, event_movie [1], event_movie [2], fits2time [1], fits2time [2]
	fits2time [3], get1hk_info [1], get1hk_info [2], get_hk_info [1]
	get_hk_info [2], get_mk3 [1], get_mk3 [2], get_sfm, go_batch [1], go_batch [2]
	goes3sec_copy, gtab_file, hxtimg_accum, ip_que_dmpver, jitter_gif_xyimg
	kp_name_fix, laststat [1], laststat [2], mk_gbl, mk_gev [1], mk_gev [2], mk_gsn_obs
	mk_gsn_obs_s1, mk_gx, mk_hst_summary, mk_lasteit_movie, mk_mdi_fits, mk_mdi_iap
	mk_pnt, mk_sfc [1], mk_sfc [2], mk_trace_i1, mk_week_file [1], mk_week_file [2]
	mk_ydbtape [1], mk_ydbtape [2], new_disp_sci5k [1], new_disp_sci5k [2]
	nob_img_copy, nob_name_fix, norik_name_fix, pref_super, rd_gbl_raw [1]
	rd_gbl_raw [2], rd_hirsaiso, 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]
	sft2sfc, soon2fits, ssw_check_contrib, sxt2file, sxt2mpeg, timeline, topsdb [1]
	topsdb [2], web_seq, weekid [2], wfile, xdisp_fits, xdisp_trace [1], xdisp_trace2
	xdisp_trace3, xhkplot, xset_chain [1], xset_chain [2], xwrite_hist, ydb_exist [2]
HISTORY:
	Written 11-Dec-91 by M.Morrison
	14-Oct-92 (MDM) - Modified to accept an array of times
	04-Jan-2000 (GLS) - Call time2file for y2k compliance


Ex2Int [1] $SSW/gen/idl/genutil/ex2int.pro
[Previous] [Next]
  Name:
	Ex2Int
  Purpose:
	Convert conventional date and time into days since 1979 
	and milliseconds of day.
  Calling Sequence:
	Ex2Int, time, msod, ds79
  Inputs:
	time= 7 element integer array containing, in order,
		hr min sec msec day mon yr
  Output:
	msod= 4-byte integer: milliseconds of the day
	ds79= 4-byte integer: number of days since 1-Jan-1979
  Keywords:
	NOMOD - Do NOT take
	the year mod 100 from the external format time year column..
	Same meaning under INT2EX.
 CALLS: ***
	JDCNV [1], JDCNV [2], JDCNV [3]
 CALLED BY:
	ADDTIME [1], ADDTIME [2], ALIGN_AR, AdjUsrTim, BCS_24HR_PLOT [1]
	BCS_24HR_PLOT [3], BCS_ADDGOES, BCS_BROWSE24, BCS_CREATE_CAT, BCS_LOAD_CAT
	EUTPLOT, LIST_BDA, MANY_DAYS, OP_ADD_SPECIAL, OUTPLOT [1], OUTPLOT [2], OUTPLOT [3]
	OUT_GRSPHL1, OUT_GRSPHL2, OUT_HXSPH, RD_AR, READ_SPFDGRS, READ_SPFDHXS, SEL_AR
	UTPLOT [1], UTPLOT [2], UTPLOT [3], UTPLOT [4], UTPLOT [5], XMOVIE_SFM, anytim2dd79
	anytim2ints [1], anytim2ints [2], bcs_bpcfs, contact_sum, dp_clock_ref, ex2dow [1]
	ex2dow [2], ex2week [1], ex2week [2], get_dn_rate [1], get_dn_rate [2], gettime
	go_get_sirius, hxi_interp, input_time [1], input_time [2], int2sec [1]
	int2sec [2], interp_img, make_32 [1], make_32 [2], mk_fem [1], mk_fem [2]
	mk_fem_aoslos [1], mk_fem_aoslos [2], mk_fem_file [1], mk_fem_file [2]
	mk_orbit [1], mk_orbit [2], op_edit [1], op_edit [2], op_same_time [1]
	op_same_time [2], op_terminator [1], op_terminator [2], op_time_sort, pr_evn [2]
	pr_fem, pr_gbe, pr_gev, pr_nel, pr_trav_summ, rd_week_file [1], rd_week_file [2]
	rd_week_file [3], rd_week_file [4], rdbda_smm, sxt_interp [1], sxt_interp [2]
	tim2intstr [1], tim2intstr [2], valid_pass4 [1], valid_pass4 [2], weekid [2]
	ydb_exist [2]
  Side Effects:
	
  Restrictions:
	None
  History:
	version 1.0, was adopted from Ex2Int.FOR (SMM software), 
	written by GAL, 15-Feb-1991 
	8-oct-91, Updated, JRL: Make output vectors 1-d if the input
				time is 2-d, or a scalar if the input
				time is 1-d.
	17-mar-92, Modified, JRL: Made for loop index long type.
	Modified to use all vector operations, ras, 93/6/7
       Modified to correctly deal with years GE 2000, jmm, 7/28/94
	13-sep-97, richard.schwartz@gsfc.nasa.gov, added NOMOD
	Version 8, richard.schwartz@gsfc.nasa.gov, 9-sep-1998. 
		Revised documentation.


ex2week [1] $SSW/gen/idl/genutil/ex2week.pro
[Previous] [Next]
Name:
	ex2week
Purpose:
       To convert from any standard times to a week number.
Method:
       The definition of week starts on a Sunday, and the
       first week of the year is = 1.  For the first
       week, there can be less than 7 days in the week
       The number of weeks in a year is 53 because
       of the way the first and last weeks are counted.
Input:
       timarr  - Standard "ex" time array
                 (HH,MM,SS,MSEC,DD,MM,YY)
                 year is assumed to be of the form 91,
                 not 1991.
 CALLS: ***
	Ex2Int [1], Ex2Int [2], Int2Ex [1], Int2Ex [2], UNIQ [1], UNIQ [2], UNIQ [3]
	anytim2ints [1], anytim2ints [2], ex2dow [1], ex2dow [2]
 CALLED BY:
	GetObsID, anytim2weekid [1], anytim2weekid [2], anytim2weekinfo
	anytim2weeks [1], anytim2weeks [2], fmt_rasm, goes3sec_copy, mk_fem [1]
	mk_fem [2], mk_fem_file [1], mk_fem_file [2], mk_pnt, mk_sd2, mk_sdc [2], mk_sdc [3]
	mk_sdc [4], mk_sdl, mk_sl [1], mk_sl [2], mk_sot, mk_ssl, mk_week_file [1]
	mk_week_file [2], nts_copy [1], nts_copy [2], week2ex [1], week2ex [2]
	week_loop [1], week_loop [2], week_loop [3], wfile
OPTIONAL KEYWORD INPUT:
	wid	- If set, then return the string variable for
		  the week ID for each input time.
	get_uniq- If set, then return all of the uniq week
		  numbers.
Output:
       returns week number
	year	- the year number
HISTORY:
	Written Oct-91 by M.Morrison
	17-May-93 (MDM) - Modified to allow any time formats in
			- Added /WID and /GET_UNIQ option
			- Corrected the handling of vector inputs
        2-jan-99 (PGS) - y2k, added: before ex2dow add 2000 if year lt 50


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

 Name        : EXEC_STRUCT

 Category    : structures, utility

 Purpose     :	Execute CREATE_STRUCT to dynamically create new structure

 Explanation :	

 Syntax      : IDL> new_struct=exec_struct(pairs,struct=struct)

 Inputs      : PAIRS = string pair array form PAIR_STRUCT

 Opt. Inputs : None

 Outputs     : NEW_STRUCT = created structure

 Opt. Outputs: None

 Keywords    : ERR= error string
               STRUCT = structure variable name
               NAME = new created structure name

 CALLS: ***
	ARR2STR [1], Arr2Str [2], DATATYPE [1], DATATYPE [2], DATATYPE [3], PR_SYNTAX
 CALLED BY:
	JOIN_STRUCT [2], REM_DUP_TAG, REM_TAG [2]
 Common      : None

 Restrictions: None

 Side effects: None

 History     : Version 1,  1-Dec-1997,  D.M. Zarro - written
               Version 2,  12-Dec-1998, Zarro (SM&A) - improved memory management

 Contact     : DZARRO@SOLAR.STANFORD.EDU


EXIST $SSW/gen/idl/util/exist.pro
[Previous] [Next]
 Project     :	SDAC

 Name        :	EXIST

 Purpose     :	To See if variable Exists

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

 Use         :	A=EXIST(VAR)

 Inputs      :	VAR = variable name

 Opt. Inputs : None.

 Outputs     :	1/0 if variable exists or not

 Opt. Outputs:	None.

 Keywords    :	None.

 Calls       :	None.
 CALLED BY:
	ADD_METHOD, ADD_TAG [1], ADD_TAG [2], ALLOW_FONT, ALLOW_GIF, APPEND_ARR
	APPLY_CDS_ADEF, APPLY_LOCK, ARR2GIF, BATSE_SPEC_DRM, BGAUSS, BOOST_TAG, BREAK_MAP
	CACHE_DATA, CACHE_LIST, CACHE__DATA, CALIBRATE [2], CDS_ASRUN_POINT, CDS_CLEAN_EXP
	CDS_COMPRESS, CDS_PLAN_BRIEF, CDS_SNAPSHOT, CDS_STACK, CDS_TILT_COR, CFIT_APIXLIST
	CFIT_BLOCK, CFIT_BLOCK_ERROR, CHECK_CDS_MODES, CHECK_KAP, CHKARG, CLEAN_PATH
	CLONE_VAR, COMP_FITS_CEN, COMP_FITS_CRPIX, COMP_FITS_CRVAL, COPY_VAR, CRONTAB
	CSCALE, CWF_STATUS, CWQ_DSPWAV [1], CW_CHECKBOX, Create_update_tar, DAT2GIF
	DB_CHECK, DEF_CDS_STUDY, DEF_INST_PLAN, DELETE_ANALYSIS, DEL_ANOMALY, DIFF_MAP
	DISCP_RESP, DISCSC_PL, DO_EIT_MAP, DO_EIT_SCALING, DRAWBOX, DROT_MAP, DROT_MAP_FAST
	DROT_NAR, DROT_XY, DSCALE, DSP_AUX, DSP_WAV, Data reader with caching
	EIS_CHECK_POINT [1], EIS_CHECK_POINT [2], EIS_IMAGE_TOOL [1]
	EIS_IMAGE_TOOL [2], EIS_ITOOL_PTOOL [1], EIS_ITOOL_PTOOL [2]
	EIS_ITOOL_STC [1], EIS_ITOOL_STC [2], EIS_PLAN_STC [1], EIS_PLAN_STC [2]
	EIT_COPY, EIT_GBO, EIT_PARTIAL, EIT__DEFINE, EUTPLOT, EXP_DBASE, Energy_res [2]
	FAST_LAD_DRM, FAST_SPEC_DRM, FCRYSTAL1, FIFO__DEFINE, FIG_OPEN, FILE_CONTENT
	FILE_SINCE, FILT_DATA, FILT_EVENTS, FIND_CAT, FIND_CDS_STUDY, FIND_COMPRESSED
	FIND_PROC, FITS WRITER CLASS, FITS WRITER CLASS FOR RHESSI IMAGES
	FITS2MAP [1], FITS2MAP [2], FITS__DEFINE, FIT_BACKGRND, FIT_CDS_QL, FLIP_MAP
	FRAMEWORK ABSTRACT CLASS DEFINITION, FREE_POINTER, FSOC, FSPLOT, FTOTAL, FTP_BBSO
	FTP_KISF, FTP_MLSO_IMAGES, FTP_MWSO, FTP_NOBE, FTP_SYNOP, FTP__DEFINE, FUNCT_FIT
	FWD_DECOMPOSE, FWD_DEC_GAUSS, FWD_MINIMUM, F_CONVERSION [1], F_CONVERSION [2]
	F_DIV, F_VTH, GAUSS_FIT, GEN__DEFINE, GET_ARR_CENTER, GET_CDS_DELAY, GET_CDS_HOME
	GET_CDS_OH, GET_CDS_PLAN, GET_CDS_RASTER, GET_CDS_STATE, GET_CDS_STUDY, GET_CDS_XY
	GET_DROT_DUR, GET_FITS_CEN, GET_GIS_DELAY, GET_GIS_DET, GET_HANDLER_ID
	GET_LATEST_IAP, GET_LEAP_SEC, GET_LEAP_SEC2, GET_MAP_PROP, GET_MAP_REGION
	GET_MAP_SUB, GET_METHODS, GET_MONTH, GET_NOAA, GET_PLAN_FUNCT, GET_PLAN_ITIME
	GET_PLAN_PROG, GET_PLAN_SCI, GET_PLAN_TT, GET_PLAN_TYPE, GET_POINTER, GET_PROC
	GET_RASTER_PAR, GET_RECENT_EIT, GET_SID, GET_SOHO_ROLL, GET_SOHO_SUBMODE
	GET_STUDY_PAR, GET_SUMER_FILES, GET_TAG_INDEX, GET_TEMP_DIR, GET_USER_ID
	GET_XWIN [1], GET_ZDBASE, GE_WINDOW_SIM, GOES__DEFINE, GRID_MAP, GRID_XY, GT_CDS_QL
	GT_CDS_WINDOW, GT_VMAP, HAVE_METHOD, HAVE_TAG, HESSI
	HESSI BINNED EVENTLIST CLASS DEFINITION
	HESSI CALIBRATED EVENTLIST CLASS DEFINITION [1]
	HESSI CALIBRATED EVENTLIST CLASS DEFINITION [2]
	HESSI CALIBRATED EVENTLIST CLASS DEFINITION [5]
	HESSI CLEAN ALGORITHM CLASS DEFINITION, HESSI EVENTLIST CLASS DEFINITION
	HESSI FRAMEWORK TEMPLATE CLASS [2], HESSI FRAMEWORK TEMPLATE CLASS [3]
	HESSI HSI_PILEUP CLASS, HESSI IMAGE FILE CLASS DEFINITION [1]
	HESSI IMAGE STRATEGY CLASS DEFINITION
	HESSI MONITOR RATE  CLASS DEFINITION
	HESSI MULTI IMAGE CLASS DEFINITION [1]
	HESSI MULTI IMAGE CLASS DEFINITION [2], HESSI PACKET FILE ABSTRACT CLASS
	HESSI_DATA, HESSI_FILTERS, HFITS__DEFINE, HSI_ANNSEC2XY [1], HSI_ANNSEC2XY [2]
	HSI_ANNSEC_BPROJ [1], HSI_ANNSEC_BPROJ [3], HSI_ANNSEC_BPROJ_WEIGHT [1]
	HSI_ANNSEC_BPROJ_WEIGHT [2], HSI_ANNSEC_PROFILE [1], HSI_ANNSEC_PROFILE [2]
	HSI_ANNSEC_PROFILE_BAVER_SETUP [1], HSI_ANNSEC_PROFILE_BAVER_SETUP [2]
	HSI_CSPECTRUM_DIST, HSI_DEBUG, HSI_DRM_MOD CLASS, HSI_DRM_MOD_CONTROL__DEFINE
	HSI_EVENTLIST_SELECT_BY_ENERGY, HSI_LIVETIME_PACKET_RECOVER
	HSI_MEM_SATO [1], HSI_SPECTROGRAMACCBIN [5], HSI_SPECTROGRAMCHAN_OVERLAP_FIX
	HSI_SPECTROGRAM_DECIM_CORRECT, HSI_SPECTROGRAM_DECIM_TABLE
	HSI_SPECTRUM__DEFINE, HSI_SRM__DEFINE, HSI_XY2ANNSEC [1], HSI_XY2ANNSEC [2]
	HSI_chan2energy, HTML_SPLAN, HTTP__DEFINE, HXT_CAL_FIX [1], HXT_CAL_FIX [2]
	IAP2STC, IDL_RELEASE, IMAGE_TOOL, INDEX2MAP, IN_RANGE, IPRINT, IS_DIR2, IS_LINK
	ITOOL_BUTTON_REFRESH, ITOOL_LOAD_IMAGE, ITOOL_PICKFILE, ITOOL_PKFILE_BS
	JOIN_STRUCT [1], JSMOVIE, JSMOVIE2, LAD_RESP, LIST_CACHE__DEFINE, LIST_GEV, LIST_NAR
	LIST_PATH, LIST_PRINTER_UNIX, LIST_TO_DETAIL, LOC_FILE [2], LOC_FILE_NEW, LTC_MAP
	LVIEW_XY, MAKE_MAP, MAKE_POINTER, MAKE_XY, MAP2GIF, MAP2JPEG, MAP2L1, MAP2MPEG
	MAP__DEFINE, MARK_POINT, MATCH_STRUCT, MCURVEFIT, MEAN_MAP, MKLOG, MK_AGIF
	MK_ANALYSIS, MK_CDS_FITS, MK_CDS_GIF, MK_CDS_IMAP, MK_CDS_MAP, MK_CDS_PLAN
	MK_CDS_SMAP, MK_DFONT, MK_EIT_MAP, MK_FID, MK_FILE, MK_GIF, MK_HXI_MAP, MK_IVM_MAP
	MK_LINK, MK_MAP_XP, MK_MAP_YP, MK_MPEG, MK_PLAN_ADD, MK_PLAN_CAMP, MK_PLAN_CHANGE
	MK_PLAN_CLONE, MK_PLAN_CONV, MK_PLAN_CUSTOM, MK_PLAN_EXIST, MK_PLAN_FIND [1]
	MK_PLAN_FIND [2], MK_PLAN_LOAD, MK_PLAN_ORDER, MK_PLAN_PLOT, MK_PLAN_READ
	MK_PLAN_RECAL, MK_PLAN_RECOVER, MK_PLAN_REM, MK_PLAN_SORT, MK_PLAN_TAIL
	MK_PLAN_UNLOAD, MK_PLAN_WHERE, MK_PLAN_WRITE, MK_PLAN_XY, MK_SOHO, MK_SOHO_EDP
	MK_SOHO_SETUP, MK_SOHO_TARGET, MK_STUDY, MK_SXT_MAP, MOVIE_MAP
	Modify_Merge_list [1], Modify_Merge_list [2], Modify_sled [2], NANCAY__DEFINE
	NEAR_TIME, OBJ_CLONE, OLIST__DEFINE, OPLOTERR, OPLOT_NAR [1], OPLOT_SPLAN
	OVSA_LTC_DEFINE, PAIR_STRUCT, PATCH_MAP, PB0R, PHOTON_MODEL, PICK_TIMES
	PLOT_CDS_POINT [1], PLOT_CDS_POINT [2], PLOT_FRAME, PLOT_HELIO [1]
	PLOT_HELIO [2], PLOT_MAP
	PLOT_MAP2 WARNINGTEMPORARY FIX ONLY FOR 16 bit ZBuffer support, PLOT_SPLAN
	PLOT_SUPPORT, PLOT_UTFRAME, POINT SPREAD FUNCTION CLASS DEFINITION, PRINT_GEV
	PRINT_HTML, PRINT_NAR, PROFILES2, PS_FORM [1], PS_FORM [2], PTR_CLONE, RDWRT_BUFF
	RD_ASCII_BUFF, RD_ASCII_BYTE, RD_ASCII_C, RD_CDS_POINT, RD_GOES, RD_PLAN
	RD_RESOURCE, RD_RSTN, READ_KAP, READ_RESULTS, READ_STTE, REBIN_FID, REBIN_GIF
	REBIN_MAP, REDUCE_MAP, REM_ANON_TAG, REM_DUP_TAG, REM_MAP_LIMB, REM_SEQ, REM_TAG [1]
	REM_TAG [2], REPACK_MAP, REPLICATE2, REPRODUCE, REP_FITS_HEAD, REP_STRUCT_NAME
	REP_TAG_NAME, REP_TAG_VALUE, RESPACE_MAP, RESTORE_ANALYSIS, RESTORE_CDS_ADEF
	RHESSI IMAGE SINGLE CLASS DEFINITION, RM_FILE, RM_LOCK, ROT_CDS_XY
	ROT_FITS_HEAD, ROT_MAP, ROUND_TIME, RPC_GET_NOAA, RSTRMID, SCANPATH, SCOPE
	SCOPE_CURSOR, SET_CDS_FITS, SET_POINTER, SHIFT_MAP, SHOW3, SHOW_SYNOP__DEFINE
	SID__DEFINE, SITE__DEFINE, SMART_FTP, SMART_WINDOW, SOCK_FILES, SOCK_FIND, SOCK_SSW
	SOHO_XY, SPECPLOT__DEFINE, SPECTROGRAM CLASS DEFINITION
	SPECTRUM CLASS DEFINITION, SPECTRUM_AXIS__DEFINE, SPEX_DRM__DEFINE
	SPEX_FIT__DEFINE, SPEX_GEN__DEFINE, SPEX_PLOT_SAVED [1], SPEX_PLOT_SAVED [2]
	SPEX_SAVE_DATA [1], SPEX_SAVE_DATA [2], SPEX_SUMMARY [1], SPEX_SUMMARY [2]
	SPEX__DEFINE, STC_CLONE, STRIP_ARG, STRIP_STRUCT, STRPAD, STRUCTURE TO VOTABLE
	STR_CHUNK, STR_DEBLANK, STR_EXPAND, STR_FORMAT, STR_SPACE, SUB_MAP, SWISS_CHEESE
	SXI_GBO, SXT__DEFINE, SYSTIM, Shers_load [1], TEK_PRINT [1], TEK_PRINT [2]
	TEST_OPEN2, TIFF2GIF, TIME2FID, TIME_AXIS__DEFINE, TIME_CHECK, TRACE_GBO, TRIM_TAGS
	UNPACK_MAP, UPDATE_CAMPAIGN, UPDATE_CFIT, UPDATE_IAP, UPDATE_KAP
	UPDATE_SOHO_TARGETS, UPDATE_STUDY_DUR, UPD_SCI_PLAN, UTPLOT__DEFINE, VAL2STRING
	VALID_POINTER, VSO_SEARCH, WDEL, WHERE_OFF_LIMB, WHERE_VAL, WHERE_VECTOR
	WIDGET_MBASE, WIDGET_SELECTED, WINCOPY, WR_MOVIE, WTITLE, XACK, XALIVE, XANSWER
	XCALENDAR, XCAMP, XCAT, XCDS_ANALYSIS, XCDS_BOOK, XCFIT, XCFIT_BLOCK, XCHOICE, XCPT, XCRON
	XDIFF, XGET_SYNOPTIC, XIAP, XINPUT, XLIST, XMANAGER_COM_OLD, XMATRIX, XPOPUP, XPORT
	XPROGRAM, XPROGRAM_ADD, XREALIZE, XREPORT, XREPORT_EDIT, XR_RD_ABUNDANCE, XSHOW
	XSTRUCT, XSTUDY, XTEXT, XTEXT_RESET_ID, XVALIDATE, XYPLOT__DEFINE, XZOOM_PLAN
	avsig_1 [6], binning__define, cw_ut_range, cwq_dspwav [2], datetime, db_gbo
	dsp_menu, ethz_XCHOICE, expand_dirs, fit_comp__define, fit_comp_kw
	fit_model_components, fits2rm, fitsgen, get_abun_table, get_conversion [1]
	get_conversion [2], get_uniq, get_uniq_range, get_xwin [2], goes_plot [1]
	goes_plot [2], goes_plot [3], goes_plot [4], goes_plot [5], gzip, hsi_all_a2d_edge
	hsi_clean_options, hsi_forwardfit_options, hsi_full_name
	hsi_image__getaxis [2], hsi_image__plot [2], hsi_image_fitsread
	hsi_image_plot, hsi_image_raw__define, hsi_lc_dims, hsi_obs_summ_fill [1]
	hsi_obs_summ_fill [2], hsi_params2script, hsi_params_2_top_struct
	hsi_plot_flux, hsi_read_flarelist, hsi_show_flags [2], hsi_show_flare_on_image
	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_ui_img, hsi_ui_spec, ihy_db, kluge_att, list_sp_files
	low_res, low_res_1d, low_res_2d, mark_intervals, modify_sled [1], moment2d
	norh_plot, norh_plot_alpha, phoenix_spg_autoimprove, phoenix_spg_get, plot_ace
	plot_goes_ospex, plot_goesp, plotman, plotman_conf_panels, plotman_draw_event
	plotman_widget, plotman_window_control_event, plotman_zoom, printx [1]
	printx [2], ptim, rapp_get_spectrogram, read_ftp, read_hessi_4_ospex
	read_hessi_4_ospex_params, read_yohkoh_4_spex [1], read_yohkoh_4_spex [2]
	rem_blanks, rhessi_get_spin_axis_position, spectral_ratio [1]
	spectral_ratio [2], spectro_plot, spectro_plot2, spectrogram__define
	spex_bk__define, spex_bkint__define, spex_data__define
	spex_gen_strategy_holder, spex_image__define, spex_spec_plot [1]
	spex_spec_plot [2], spex_spec_plot [3], spex_spec_plot [4], stc_sum, str_cut
	stretch_circle, sxi_files
	to return information about a function which can consist of multiple
	tr_rd_index, uncompress, which_hessi_version, widget_kill, widget_valid, xdroplist
	xedit_table, xpickfile2, xsel_list_multi
 Common      :	None.

 Restrictions:	None.

 Side effects:	None.

 Category    :	Useful stuff

 Prev. Hist. :	None.

 Written     :	Dominic Zarro (ARC)

 Version     :	Version 1.0, 18 September 1993


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

 Name        : EXIST_JOB

 Purpose     : determine if a job exists

 Category    : Utility
;
 Syntax      : IDL> exists=exist_job(job_name)

 Inputs      : JOB_NAME = name of job to search for

 Outputs     : EXISTS = 1/0


 Keywords    : /CASE: job searching is case sensitive
               /EXACT: job name must be exact
               /VERBOSE: output results

 CALLS: ***
	DATATYPE [1], DATATYPE [2], DATATYPE [3], ESPAWN, GREP, OS_FAMILY, TRIM
 CALLED BY:
	GET_NOAA, KILL_JOB
 Restrictions: UNIX only

 History     : Version 1,  5-Feb-2000,  D.M. Zarro (SM&A/GSFC)  Written

 Contact     : DZARRO@SOLAR.STANFORD.EDU


EXP_DBASE $SSW/gen/idl/database/exp_dbase.pro
[Previous] [Next]
 Project     : SOLAR-B/EIS
                   
 Name        : EXP_DBASE
               
 Purpose     : Expand DBASE into component directories
               
 Category    : Catalog
               
 Syntax      : IDL> out=exp_dbase(input)

 Input       : Delimited database directories

 CALLS: ***
	ARR2STR [1], Arr2Str [2], EXIST, GET_PATH_DELIM, IS_BLANK, IS_STRING, LOCAL_NAME
	STR2ARR [1], STR2ARR [2]
 CALLED BY:
	EXP_ZDBASE
 History     : Written 7-May-2004, Zarro (L-3Com/GSFC)

 Contact     : DZARRO@SOLAR.STANFORD.EDU


EXP_ZDBASE $SSW/gen/idl/database/exp_zdbase.pro
[Previous] [Next]
 Project     : SOLAR-B/EIS
                   
 Name        : EXP_ZDBASE
               
 Purpose     : Expand ZDBASE into component directories
               
 Category    : Catalog
               
 Syntax      : IDL> exp_zdbase
    
 Keywords    : VERBOSE = obvious

 CALLS: ***
	ARR2STR [1], Arr2Str [2], CHKLOG [1], CHKLOG [2], EXP_DBASE, IS_BLANK, MKLOG
 CALLED BY:
	APPEND_SDB, FIND_ZDBASE
 Side effects: Environment/logical ZDBASE set to expanded directories
               
 History     : Written, 1-August-1997,  D M Zarro
               Modified 10-Feb-2004, Zarro (L-3Com/GSFC) - optimized

 Contact     : DZARRO@SOLAR.STANFORD.EDU


expand_dirs $SSW/gen/idl/system/expand_dirs.pro
[Previous] [Next]
 Project     : Solar-B/EIS

 Name        : expand_dirs

 Purpose     : Expand directory names below input directory

 CALLS: ***
	ARR2STR [1], Arr2Str [2], CHKLOG [1], CHKLOG [2], EXIST, GET_PATH_DELIM, IS_BLANK
	IS_DIR, IS_STRING, STR2ARR [1], STR2ARR [2], TRIM, get_uniq
 Example     : IDL> dir=expand_dirs('+$SSW/gen')

               Can have multiple directories separated by ':'
               This function essentially replaces 'find_all_dir'

 Category    : utility string

 Syntax      : IDL> out=expand_dirs(dirs)

 Inputs      : DIRS = top directory to expand

 Outputs     : ODIRS  = array of top directory with subdirectories 

 Keywords    : PLUS_REQUIRED - if set, a '+' is required to force
               expansion.
               PATH_FORMAT - if set, expanded directories is returned
               as a delimited string

 History     : 30-May-2006, Zarro (L-3Com/GSFC) - written
               22-Aug-2006, Zarro (ADNET/GSFC) - added FIFO common
               22-Jan-2007, Zarro (ADNET/GSFC) 
                 - check that input dir is an environment variable

 Contact     : DZARRO@SOLAR.STANFORD.EDU


EXPAND_TILDE [1] $SSW/gen/idl/system/expand_tilde.pro
[Previous] [Next]
 NAME:
      EXPAND_TILDE()
               
 PURPOSE: 
       Expand tilde in UNIX directory names
               
 CALLING SEQUENCE: 
       IDL> output=expand_tilde(input)
    
 INPUTS: 
       INPUT = input file or directory name, scalar string

 OUTPUT:
       Returns expanded filename, scalar string
               
 CALLED BY:
	ARR2GIF, IRAFDIR, LOC_FILE [2], NUMLINES [1], NUMLINES [2], xpickfile2
 EXAMPLES: 
       output=expand_tilde('~zarro/test.doc')
               ---> output='/usr/users/zarro'

 NOTES:
       This version of EXPAND_TILDE differs from the version in the Solar
       Library in that it does not call the functions EXIST and IDL_RELEASE.
       However, it should work identically.
 PROCEDURE CALLS:
       None.
 REVISION HISTORY: 
       Version 1,  17-Feb-1997,  D M Zarro.  Written
       Transfered from Solar Library   W. Landsman   Sep. 1997
       Made more robust  D. Zarro/W. Landsman  Sep. 2000
       Made even more robust (since things like ~zarro weren't being expanded)
       Zarro (EITI/GSFC, Mar 2001)


EXPAND_TILDE [2] $SSW/gen/idl_libs/astron/misc/expand_tilde.pro
[Previous] [Next]
 NAME:
      EXPAND_TILDE()
               
 PURPOSE: 
       Expand tilde in UNIX directory names
               
 CALLING SEQUENCE: 
       IDL> output=expand_tilde(input)
    
 INPUTS: 
       INPUT = input file or directory name, scalar string

 OUTPUT:
       Returns expanded filename, scalar string
               
 CALLED BY:
	ARR2GIF, IRAFDIR, LOC_FILE [2], NUMLINES [1], NUMLINES [2], xpickfile2
 EXAMPLES: 
       output=expand_tilde('~zarro/test.doc')
               ---> output='/usr/users/zarro'

 NOTES:
       This version of EXPAND_TILDE differs from the version in the Solar
       Library in that it does not call the functions EXIST and IDL_RELEASE.
       However, it should work identically.
 PROCEDURE CALLS:
       None.
 REVISION HISTORY: 
       Version 1,  17-Feb-1997,  D M Zarro.  Written
       Transfered from Solar Library   W. Landsman   Sep. 1997
       Made more robust  D. Zarro/W. Landsman  Sep. 2000
       Made even more robust (since things like ~zarro weren't being expanded)
       Zarro (EITI/GSFC, Mar 2001)


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

 Name        : 
	EXPAND_TV
 Purpose     : 
	Expands and displays an image.
 Explanation : 
	This procedure expands an image to the dimensions MX, MY and displays
	it at position IX, IY on the image display screen.  Called from EXPTV
	and other routines.

	The scaling parameters MX,MY and IX,IY are stored using STORE_TV_SCALE
	for later retrieval using GET_TV_SCALE.

 Use         : 
	EXPAND_TV, ARRAY, MX, MY, IX, IY
 Inputs      : 
	ARRAY	= Image to be displayed.
	MX, MY	= Dimensions to expand image to.
	IX, IY	= Position of lower left-hand corner of image.
 Opt. Inputs : 
	None.
 Outputs     : 
	None.
 Opt. Outputs: 
	None.
 Keywords    : 
	SMOOTH	 = If set, then the image is expanded with bilinear
		   interpolation.  For most devices, the smoothing is done to
		   the resolution of the device, but PostScript is handled
		   differently.  The default smoothing factor for PostScript
		   output is 10, but other factors can be selected by setting
		   SMOOTH to the amount of smoothing desired.  Setting SMOOTH=1
		   is the same as using /SMOOTH, and selects the default value
		   of 10.  Note that the size of the PostScript file will go as
		   the square of the amount of smoothing.
	NOBOX	 = If set, then the box is not drawn around the image.
	NOSCALE  = If set, then the command TV is used instead of TVSCL to
		   display the image.
	MISSING	 = Value flagging missing pixels.  These points are scaled to
		   zero.  Ignored if NOSCALE is set.
	DISABLE  = If set, then TVSELECT not used.
	COLOR	 = Color used for drawing the box around the image.
	MAX	 = The maximum value of ARRAY to be considered in scaling the
		   image, as used by BYTSCL.  The default is the maximum value
		   of ARRAY.
	MIN	 = The minimum value of ARRAY to be considered in scaling the
		   image, as used by BYTSCL.  The default is the minimum value
		   of ARRAY.
	TOP	 = The maximum value of the scaled image array, as used by
		   BYTSCL.  The default is !D.N_COLORS-1.
	BOTTOM	 = The minimum value of the scaled image array, as used by
		   BYTSCL.  The default is 0.
	VELOCITY = If set, then the image is scaled using FORM_VEL as a
		   velocity image.  Can be used in conjunction with COMBINED
		   keyword.  Ignored if NOSCALE is set.
	COMBINED = Signals that the image is to be displayed in one of two
		   combined color tables.  Can be used by itself, or in
		   conjunction with the VELOCITY or LOWER keywords.
	LOWER	 = If set, then the image is placed in the lower part of the
		   color table, rather than the upper.  Used in conjunction
		   with COMBINED keyword.
	NOSTORE	 = If set, then information about the position of the plot is
		   not stored in the TV_SCALE common block.  This is for
		   special purpose images, such as generated by COLOR_BAR or
		   PLOT_IMAGE.
	ORIGIN	 = Two-element array containing the coordinate value in
		   physical units of the center of the first pixel in the
		   image.  If not passed, then [0,0] is assumed.  Ignored if
		   NOSTORE is set.
	SCALE	 = Pixel scale in physical units.  Can have either one or two
		   elements.  If not passed, then 1 is assumed in both
		   directions.  Ignored if NOSTORE is set.
	DATA	 = If set, then immediately activate the data coordinates for
		   the displayed image.  Ignored if NOSTORE is set.
	TRUE	 = If passed, then contains the dimension containing the color
		   dimension.  For example, if the input array has the
		   dimensions (3,Nx,Ny), then one would set TRUE=1.  If not
		   passed, then TRUE=3 is assumed.  Ignored if the image only
		   has two dimensions.
       BSCALED  = Returns the bytescaled image passed to the TV command.

 Calls       : ***
	BSCALE, CONGRDI, CONGRID [1], CONGRID [2], CONGRID [3], DPRINT, GET_IM_KEYWORD
	IM_KEYWORD_SET, SETIMAGE, STORE_TV_SCALE, TRIM, TVSELECT, TVUNSELECT
 CALLED BY:
	COLOR_BAR, EXPTV, OPLOT_IMAGE, PLOT_IMAGE, PUT, UTPLOT_IMAGE, WDISPLAY
 Common      : 
	None.
 Restrictions: 
	ARRAY must be two-dimensional or an array of three 2-D images (Nx,Ny,3)
	to be used for true color.  (See also the TRUE keyword.)

	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: 
	Messages about the size and position of the displayed image are printed
	to the terminal screen, if the DEBUG environment variable is set.
 Category    : 
	Utilities, Image_display.
 Prev. Hist. : 
	W.T.T., Oct. 1987.
	W.T.T., Jan. 1990, added BADPIXEL keyword.
	W.T.T., Feb. 1991, modified to use TVSELECT, TVUNSELECT.
	W.T.T., Nov. 1991, added MAX, MIN, and TOP keywords.
	W.T.T., Nov. 1991, added INTENSITY, VELOCITY and COMBINED keywords.
	W.T.T., Feb. 1992, added LOWER keyword.
	W.T.T., May  1992, modified to use BSCALE.
	William Thompson, May 1992, modified to call STORE_TV_SCALE.
	William Thompson, August 1992, renamed BADPIXEL to MISSING.
	William Thompson, September 1992, use COMBINED keyword in place of
					  INTENSITY.  Also, sped up by using
					  REBIN when possible.
 Written     : 
	William Thompson, GSFC, October 1987.
 Modified    : 
	Version 1, William Thompson, GSFC, 13 May 1993.
		Incorporated into CDS library.
	Version 2, William Thompson, GSFC, 2 September 1993.
		Added ORIGIN, SCALE and DATA keywords.
	Version 3, William Thompson, GSFC, 10 June 1996
		Use DPRINT instead of MESSAGE for informational messages.
	Version 4, William Thompson, GSFC, 4 March 1998
		Allow SMOOTH to have an effect on PostScript images.
	Version 5, Terry Kucera, GSFC, 16 October 2001
		Automatically does a true color display if the third array
		dimension = 3
	Version 6, William Thompson, GSFC, 13 November 2001
		Added keyword TRUE
	Version 7, William Thompson, GSFC, 18 December 2002
		Changed !COLOR to !P.COLOR
       Version 8, William Thompson, GSFC, 3-Jan-2006
               Added keyword BOTTOM
       Version 9, William Thompson, GSFC, 21-Sep-2006
               Added keyword BSCALED
 Version     : 
	Version 9, 21-Sep-2006


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

 Name        : 
	EXPTV
 Purpose     : 
	Uses SCALE_TV and EXPAND_TV to display an image.
 Explanation : 
	SCALE_TV is called to scale the image, and EXPAND_TV is called to 
	display the image.  As much of the image display screen as possible is 
	filled.

	Will plot true color images if the device has enough colors and if
	ARRAY is a 3D Array with the third dimension color (red, green, blue).
	(See also the TRUE keyword.)

 Use         : 
	EXPTV, ARRAY
 Inputs      : 
	ARRAY	 = Two dimensional image array to be displayed, or 3 images in 
		   an array [Nx,Ny,3] to be displayed as a true color image.
		   (See also the TRUE keyword.)
 Opt. Inputs : 
	None.
 Outputs     : 
	None.
 Opt. Outputs: 
	None.
 Keywords    : 
	NOSQUARE = If passed, then pixels are not forced to be square.
	SMOOTH	 = If passed, then image is expanded with interpolation.
	NOBOX	 = If passed, then box is not drawn, and no space is reserved
		   for a border around the image.
	NOSCALE	 = If passed, then the command TV is used instead of TVSCL to
		   display the image.
	MISSING	 = Value flagging missing pixels.  These points are scaled to
		   zero.  Ignored if NOSCALE is set.
	SIZE	 = If passed and positive, then used to determine the scale of
		   the image.  Returned as the value of the image scale.  May
		   not be compatible with /NOSQUARE.
	DISABLE  = If set, then TVSELECT not used.
	NOEXACT  = If set, then exact scaling is not imposed.  Otherwise, the
		   image scale will be either an integer, or one over an
		   integer.  Ignored if SIZE is passed with a positive value.
	XALIGN	 = Alignment within the image display area.  Ranges between 0
		   (left) to 1 (right).  Default is 0.5 (centered).
	YALIGN	 = Alignment within the image display area.  Ranges between 0
		   (bottom) to 1 (top).  Default is 0.5 (centered).
	RELATIVE = Size of area to be used for displaying the image, relative
		   to the total size available.  Must be between 0 and 1.
		   Default is 1.  Passing SIZE explicitly will override this
		   keyword.
	COLOR	 = Color used for drawing the box around the image.
	MAX	 = The maximum value of ARRAY to be considered in scaling the
		   image, as used by BYTSCL.  The default is the maximum value
		   of ARRAY.
	MIN	 = The minimum value of ARRAY to be considered in scaling the
		   image, as used by BYTSCL.  The default is the minimum value
		   of ARRAY.
	TOP	 = The maximum value of the scaled image array, as used by
		   BYTSCL.  The default is !D.N_COLORS-1.
	BOTTOM	 = The minimum value of the scaled image array, as used by
		   BYTSCL.  The default is 0.
	VELOCITY = If set, then the image is scaled using FORM_VEL as a
		   velocity image.  Can be used in conjunction with COMBINED
		   keyword.  Ignored if NOSCALE is set.
	COMBINED = Signals that the image is to be displayed in one of two
		   combined color tables.  Can be used by itself, or in
		   conjunction with the VELOCITY or LOWER keywords.
	LOWER	 = If set, then the image is placed in the lower part of the
		   color table, rather than the upper.  Used in conjunction
		   with COMBINED keyword.
	NORESET	 = If set, then SETIMAGE is not called, and the screen is not
		   erased.
	ORIGIN	 = Two-element array containing the coordinate value in
		   physical units of the center of the first pixel in the
		   image.  If not passed, then [0,0] is assumed.
	SCALE	 = Pixel scale in physical units.  Can have either one or two
		   elements.  If not passed, then 1 is assumed in both
		   directions.
	DATA	 = If set, then immediately activate the data coordinates for
		   the displayed image.
	ADJUST	 = If set, then adjust the pixel size separately in the two
		   dimensions, so that the physical scale given by the SCALE
		   parameter is the same along both axes.  For example, if a
		   100x100 image is displayed with

			EXPTV, A, SCALE=[2,1], /ADJUST

		   then it will be shown twice as wide as it is high.  Use of
		   this keyword forces NOEXACT to also be set.  Also, NOSQUARE
		   is ignored.
	TRUE	 = If passed, then contains the dimension containing the color
		   dimension.  For example, if the input array has the
		   dimensions (3,Nx,Ny), then one would set TRUE=1.  If not
		   passed, then TRUE=3 is assumed.  Ignored if the image only
		   has two dimensions.
       BSCALED  = Returns the bytescaled image passed to the TV command.

 Calls       : ***
	EXPAND_TV, GET_IM_KEYWORD, SCALE_TV, SETIMAGE, TVERASE
 CALLED BY:
	BLINK_IMAGES, CDS_THUMBNAIL, EIS_IMAGE_TOOL [1], EIS_IMAGE_TOOL [2], FF_DEMO
	IMAGE_TOOL, INDEX2MAP, MK_EIT_MAP, MK_SYNOPTIC, NEW_FF_DEMO, SHOW_SCATTER, TVPRINT
	WRUNMOVIE [2]
 Common      : 
	None.
 Restrictions: 
	ARRAY must be two-dimensional.

	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: 
	The image display window is erased before the image is displayed, and
	SETIMAGE is called to reset to the default, unless NORESET is set.

	Messages about the size and position of the displayed image are printed
	to the terminal screen.  This can be turned off by setting !QUIET to 1.

 Category    : 
	Utilities, Image_display.
 Prev. Hist. : 
	W.T.T., Oct. 1987.
	W.T.T., Jan. 1991, added BADPIXEL keyword.
	W.T.T., Feb. 1991, modified to use common block IMAGE_AREA.
	W.T.T., Feb. 1991, added SIZE keyword.
	W.T.T., Nov. 1991, added MAX, MIN, and TOP keywords.
	W.T.T., Nov. 1991, added INTENSITY, VELOCITY and COMBINED keywords.
	W.T.T., Feb. 1992, added LOWER keyword.
	W.T.T., Feb. 1992, added call to SETIMAGE, removed common block, and
			   added keyword NORESET.
	William Thompson, August 1992, renamed BADPIXEL to MISSING.
	William Thompson, September 1992, use COMBINED keyword in place of
					  INTENSITY.
 Written     : 
	William Thompson, GSFC, October 1987.
 Modified    : 
	Version 1, William Thompson, GSFC, 13 May 1993.
		Incorporated into CDS library.
	Version 2, William Thompson, GSFC, 2 September 1993.
		Added ORIGIN, SCALE and DATA keywords.
	Version 3, William Thompson, GSFC, 25 July 1996
		Added keywords SCALE and ADJUST
	Version 4, William Thompson, GSFC, 13 November 2001
		Added capability for true-color images.
       Version 5, William Thompson, GSFC, 12 October 2004
               Extend true-color to PostScript
       Version 6, William Thompson, GSFC, 3-Jan-2006
               Added keyword BOTTOM
       Version 7, William Thompson, GSFC, 21-Sep-2006
               Added keyword BSCALED
 Version     : 
	Version 7, 21-Sep-2006


EXT_RANGE $SSW/gen/idl/display/ext_range.pro
[Previous] [Next]
 Project     : SOHO - CDS     
                   
 Name        : EXT_RANGE()
               
 Purpose     : Calculate extended range for plotting variables.
               
 Explanation : In order to keep plotted values away from the axes of a plot
               this function returns values of the axis limits to be used.
               If max = min of data then range is set to [data-px%,data+px%]
               if min=max=0 then [-1,1] is returned.
               
 Use         : IDL> ax_lim = ext_range(x, px [,y, py, z, pz])
    
 Inputs      : x  - 2-data vector containing data min,max values
               px - percentage by which to extend range of variable
               
 Opt. Inputs : y(z)  - same as x
               py(z) - same as px
               
 Outputs     : Function returns (2 x N) vector where N is the number of
               input variables, giving the extended min,max axis values.
               
 Opt. Outputs: None
               
 Keywords    : POSITIVE - limit output values to positive.

 Calls       : None
 CALLED BY:
	CW_PLOTZ [1], PLOT_EXPINT, PLOT_RASTER, PLOT_VDS_BIAS, TP_DRAW_RASDUR
	cw_plotz [2]
 Common      : None
               
 Restrictions: None
               
 Side effects: None
               
 Category    : Util, display
               
 Prev. Hist. : None

 Written     : C D Pike, RAL, 23-Jun-94
               
 Modified    : Add POSITIVE keyword.  CDP, 24-Nov-95

 Version     : Version 2, 24-Nov-95


EXTAST $SSW/gen/idl_libs/astron/astrom/extast.pro
[Previous] [Next]
 NAME:
     EXTAST
 PURPOSE:
     Extract ASTrometry parameters from a FITS image header.
 EXPLANATION:
     Extract World Coordinate System information 
     ( http://fits.gsfc.nasa.gov/fits_wcs.html ) from a FITS header and
     place it into an IDL structure.

 CALLING SEQUENCE:
     EXTAST, hdr, [ astr, noparams, ALT= ]   

 INPUT:
     HDR - variable containing the FITS header (string array)

 OUTPUTS:
     ASTR - Anonymous structure containing astrometry info from the FITS 
             header ASTR always contains the following tags (even though 
             some projections do not require all the parameters)
       .NAXIS - 2 element array giving image size
      .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 physical increment at reference 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 double precision vector giving R.A. and DEC of 
             reference pixel in DEGREES
      .CTYPE - 2 element string vector giving projection types, default
             ['RA---TAN','DEC--TAN']
      .LONGPOLE - scalar giving native longitude of the celestial pole 
             (default = 180 for zenithal projections) 
      .LATPOLE - scalar giving native latitude of the celestial pole default=0)
      .PV2 - Vector of projection parameter associated with latitude axis
             PV2 will have up to 21 elements for the ZPN projection, up to 3 
             for the SIN projection and no more than 2 for any other 
             projection  
      .DISTORT - optional substructure specifying any distortion parameters
                 currently implemented only for "SIP" (Spitzer Imaging 
                 Polynomial) distortion parameters

       NOPARAMS -  Scalar indicating the results of EXTAST
             -1 = Failure - Header missing astrometry parameters
             1 = Success - Header contains CROTA + CDELT (AIPS-type) astrometry
             2 = Success - Header contains CDn_m astrometry, rec.    
             3 = Success - Header contains PCn_m + CDELT astrometry. 
             4 = Success - Header contains ST  Guide Star Survey astrometry
                           (see gsssextast.pro )
 OPTIONAL INPUT KEYWORDS:
       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.
 CALLS: ***
	GSSSEXTAST, REMCHAR [1], REMCHAR [2], REMCHAR [3], REPSTR [1], REPSTR [2]
	REPSTR [3], ZPARCHECK [1], ZPARCHECK [2], ZPARCHECK [3]
 CALLED BY:
	ADXY, ARCBAR, ATV, CURVAL, GETROT, HASTROM, HBOXAVE, HCONGRID, HEULER, HPRECESS, HREBIN
	HREVERSE, HROT, HROTATE, IMCONTOUR, IMDBASE, POINTING3, TVLASER, XYXY
 PROCEDURE:
       EXTAST checks for astrometry parameters in the following order:

       (1) the CD matrix PC1_1,PC1_2...plus CDELT*, CRPIX and CRVAL
       (3) the CD matrix CD1_1,CD1_2... plus CRPIX and CRVAL.   
       (3) CROTA2 (or CROTA1) and CDELT plus CRPIX and CRVAL.

       All three forms are valid FITS according to the paper "Representations 
       of World Coordinates in FITS by Greisen and Calabretta (2002, A&A, 395,
       1061 http://www.aoc.nrao.edu/~egreisen )although form (1) is preferred/

 NOTES:
       An anonymous structure is created to avoid structure definition
       conflicts.    This is needed because some projection systems
       require additional dimensions (i.e. spherical cube
       projections require a specification of the cube face).

 PROCEDURES CALLED:
      GSSSEXTAST, ZPARCHECK
 REVISION HISTORY
      Written by B. Boothman 4/15/86
      Accept CD001001 keywords               1-3-88
      Accept CD1_1, CD2_1... keywords    W. Landsman    Nov. 92
      Recognize GSSS FITS header         W. Landsman    June 94
      Converted to IDL V5.0   W. Landsman   September 1997
      Get correct sign, when converting CDELT* to CD matrix for right-handed
      coordinate system                  W. Landsman   November 1998
      Consistent conversion between CROTA and CD matrix  October 2000
      CTYPE = 'PIXEL' means no astrometry params  W. Landsman January 2001
      Don't choke if only 1 CTYPE value given W. Landsman  August 2001
      Recognize PC00n00m keywords again (sigh...)  W. Landsman December 2001
      Recognize GSSS in ctype also       D. Finkbeiner Jan 2002
      Introduce ALT keyword              W. Landsman June 2003
      Fix error introduced June 2003 where free-format values would be
      truncated if more than 20 characters.  W. Landsman Aug 2003
      Further fix to free-format values -- slash need not be present Sep 2003
      Default value of LATPOLE is 90.0  W. Landsman February 2004
      Allow for distortion substructure, currently implemented only for
          SIP (Spitzer Imaging Polynomial)   W. Landsman February 2004 
      Correct LONGPOLE computation if CTYPE = ['*DEC','*RA'] W. L. Feb. 2004
      Assume since V5.3 (vector STRMID)  W. Landsman Feb 2004
      Yet another fix to free-format values   W. Landsman April 2004
      Introduce PV2 tag to replace PROJP1, PROJP2.. etc.  W. Landsman May 2004
      Convert NCP projection to generalized SIN   W. Landsman Aug 2004
      Add NAXIS tag to output structure  W. Landsman Jan 2007


EXTEND_MATRIX $SSW/gen/idl/util/extend_matrix.pro
[Previous] [Next]
 PROJECT:
       SOHO - CDS/SUMER

 NAME:
       EXTEND_MATRIX()

 PURPOSE:
       Extand dimension of a given matrix by attaching a submatrix

 CATEGORY:
       Utility, matrix

 EXPLANATION:
       There may be cases where one wants to extend a (MxN) matrix to
       [(M+K)xN], [(K+M)xN], [Mx(N+K)], or [Mx(K+N)], where K is an
       integer number. This routine does exactly this.

 SYNTAX:
       Result = paste_matrix(matrix, int, /keyword)

 CALLED BY:
	ITOOL_IMG_MATCH, MK_GIF
 EXAMPLES:
       a = indgen(5,5)
       print, extend_matrix(a, 4, /xprep, value=50)

       50      50      50      50       0       1       2       3       4
       50      50      50      50       5       6       7       8       9
       50      50      50      50      10      11      12      13      14
       50      50      50      50      15      16      17      18      19
       50      50      50      50      20      21      22      23      24

       print, extend_matrix(a, 4, /yappd, value=40)

        0       1       2       3       4
        5       6       7       8       9
       10      11      12      13      14
       15      16      17      18      19
       20      21      22      23      24
       40      40      40      40      40
       40      40      40      40      40
       40      40      40      40      40
       40      40      40      40      40

 INPUTS:
       MATRIX - A 2-dimensional matrix
       INT    - An integer over which the matrix is extended

 OPTIONAL INPUTS:
       None.

 OUTPUTS:
       RESULT - The extended matrix

 OPTIONAL OUTPUTS:
       None.

 KEYWORDS:
       XPREP - Set this keyword to prepend a necessary submatrix in X dir
       YPREP - Set this keyword to prepend a necessary submatrix in Y dir
       XAPPD - Set this keyword to append a necessary submatrix in X dir
       YAPPD - Set this keyword to append a necessary submatrix in Y dir

       Note: Only one of above keywords can be set at one time. If
             none of the above keywords is set, XAPP is implied

       VALUE - Initial value of the extended submatrix. If not
               present, zero value (or null string for string array)
               is assumed
       ERROR - A named variable that contains error message returned.
               If no error occurs, ERROR will be a null string

 CALLS: ***
	MAKE_MATRIX
 COMMON:
       None.

 RESTRICTIONS:
       None.

 SIDE EFFECTS:
       None.

 HISTORY:
       Version 1, November 22, 1995, Liyun Wang, GSFC/ARC. Written

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


EXTGRP $SSW/gen/idl_libs/astron/sdas/extgrp.pro
[Previous] [Next]
 NAME:
	EXTGRP
 PURPOSE:
	Extract the group parameter information out of SXREAD output
 EXPLANATION:
	This procedure extracts the group parameter information out of a 
	header and parameter variable obtained from SXREAD.  This allows 
	astrometry, photometry and other parameters to be easily SXPARed by 
	conventional methods and allows the image and header to be saved in 
	a SIMPLE format.

 CALLING SEQUENCE:
	ExtGrp, hdr, par

 INPUT:
	HDR - The header which is to be converted (input and output)
	PAR - The Parameter string returned from a call to SXREAD

 OUTPUT:
	HDR -  The converted header, string array

 OTHER PROCEDURES CALLED:
	SXPAR(), SXADDPAR, SXGPAR(), STRN()

 CALLS: ***
	STRN [1], STRN [2], STRN [3], SXADDPAR [1], SXADDPAR [2], SXADDPAR [3], SXGPAR
	SXPAR [1], SXPAR [2], SXPAR [3]
 CALLED BY:
	WFPC2_READ
 HISTORY:
	25-JUN-90 Version 1 written
	13-JUL-92 Header finally added to this ancient procedure, code spiffed up
	a bit.  Now 3 times faster.  Added PTYPE comment inclusion.  E. Deutsch
	Converted to IDL V5.0   W. Landsman   September 1997


EXTRA_KEYWORDS $SSW/gen/idl/struct/extra_keywords.pro
[Previous] [Next]
 Project     : HESSI

 Name        : EXTRA_KEYWORDS

 Purpose     : extract keyword settings from _extra structure

 Use         : @extra_keywords

 Inputs      : None

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

 Explanation : 
               For example, to obtain keyword values for a set
               of input keywords, create a string array:

               pro name,_extra=extra
               more_keywords=[ keyword1,keyword2, etc]
               @extra_keywords


 Restrictions: This program must be @'ed

 Category    : Structure handling

 Restrictions: This program must be @'ed

 Written     : Tolbert (RITSS/GSFC) October 2000
 Modified    : Zarro (EER/GSFC), Dec 14, 2002 - vectorized REM_TAG call               


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

   Purpose: extract embedded FIDS from file names, return fids and times

 CALLS: ***
	BOX_MESSAGE, BREAK_FILE [1], BREAK_FILE [2], BREAK_FILE [3], FILE2TIME
	break_file [4], extract_fids
 CALLED BY:
	image2movie, read_genxcat, read_spartan, trace_files
   NOTE: ** broke out and optimized logic into EXTRACT_FIDS.PRO **
            
   Input Paramters:
      filenames - string array of filenames with embedded FID
                  fmt=[...xxxYYMMDD.HHMM[SS]... ...xxxYYMMDD_HHMM[SS]...]

   Output Paramters:
      function returns fids
   
   Keyword Parameters:
      times (output) -    string formatted times (fid conversion)
      fidfound (output) - boolean flag = true if valid FIDs extracted
      notime (input) - switch used by FILE2TIME to bypass time conversion
      pattern (input) - passed to EXTRACT_FIDS
                        date string template
                        EX: 'yymmdd.hhmmss', 'yyyymmdd', 'yyyymmdd_hhmm'  
  
   History:
      16-nov-1995 (S.L.Freeland)
      28-mar-1997 (SLF) - extend to 4 digit years, time via 'file2time.pro'
                          add NOTIME switch and function
      24-nov-1997 (SLF) - optimize logic in extract_fids.pro (with an 's')
                          ** Just made this a front end to extract_fids.pro **
                          Removes restriction on using a fixed length for
                          a given call  
      21-apr-1998 (RAS) - vectorize selection of null extensions


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

   Purpose: find & extract embedded FIDS in file names 

   Input Parameters:
      filenames - string array of filenames with embedded FIDs
                  fmt=[...xxxYYMMDD.HHMM[SS]... ...xxxYYMMDD_HHMM[SS]...]

   Output Paramters:
      function returns fids (date strings like YYYYMMDD?HHMMSS )

   Keyword Parameters:
      breakfiles (switch)- if set, break_files first (only required if
                           file PATH might contain a FID
      pattern (input)   -  if set, pattern to use (dont cycle through defaults)
                           Form = string like 'ddddddsdddd'
                           where d->digit and s-> special character  
                        OR something like 'yymmdd.hhmmss'
                           (maps internally to 'ddddddsdddddd')
      fidfound (output) -  boolean flag = true if valid FID from ALL files
      fidsfound (output) - boolean flag (individual files)
  
 CALLS: ***
	BREAK_FILE [1], BREAK_FILE [2], BREAK_FILE [3], DELVARX [1], DELVARX [2]
	DELVARX [3], DELVARX [4], UPAT2PATTERN, break_file [4], data_chk [1], data_chk [2]
	delvarx [5], strmids [1], strmids [2], strspecial [1], strspecial [2]
 CALLED BY:
	extract_fid, merge_genxcat, ssw_time2filelist
   History:
     25-Nov-1997 - S.L.Freeland - extract/optimize code from extract_fid.pro
                                  Remove restriction on fixed file length
                                  for a given call.  
      3-dec-1997 - S.L.Freeland - fix pattern typo (embedded   blank)
     28-jul-2006 - S.L.Freeland - add explict pattern inc. milliseconds
                                  (sxi for example: yyyymmddDhhmmssmss

   Method:
      Use pattern mask, byte operations, strmids.pro and strpos for
      faster execution and permit mixed file names


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

   Purpose: translate one FORM variable to string (or string array)

   Input:
      invalue - one "raw" POST-query value

   Output:
      function returns translated string or string array 
 CALLS:
 CALLED BY
	url_decode


EXTRAP $SSW/gen/idl_libs/astron/image/skyadj_cube.pro
[Previous] [Next]
 NAME:
       EXTRAP

 PURPOSE:
       This procedure fills in the ends of a one-dimensional array from
       interior portions using polynomial extrapolation.

 CATEGORY:
       Image processing

 CALLING SEQUENCE:
       EXTRAP, Deg, X, Y, Y2

 INPUT POSITIONAL PARAMETERS:
       Deg:   Degree of polynomial
       X:     Independent variable
       Y:     Dependent variable

 KEYWORD PARAMETERS:
       LIMS:  3-element array giving range of X to be used to fit
              polynomial and starting point where extrapolation is
              to be substituted; if not given, you click on a plot;
              order of elements is [xmin, xmax, xstart]; if LIMS is
              specified, then program is silent

 OUTPUT POSITIONAL PARAMETERS:
       Y2:    Dependent variable with extrapolated portion filled in

 CALLS: ***
	AVG [1], AVG [2], MEANCLIP, POLY, POLY_FIT, SKY, SKYADJ_CUBE, STRN [1], STRN [2], STRN [3]
	XMEDSKY
 CALLED BY:
	SKYADJ_CUBE
 SIDE EFFECTS:
     May pop a window for selecting range.

 MODIFICATION HISTORY:
     Written by RSH, RITSS, 14 Aug 98
     Spiffed up for library.  RSH, 6 Oct 98


EZFIT $SSW/gen/idl/fitting/ezfit.pro
[Previous] [Next]
 Project     : SOHO - CDS     
                   
 Name        : EZFIT
               
 Purpose     : Easy Gauss fit to data.
               
 Explanation : Fits a Gaussian + background to a cursor-selected region
               in any data array.
               
 Use         : 'IDL>  ezfit,wave,data,wave_limits,k=k'
    
 Inputs      : wave - typically a wavelength array, but can be plain
                      pixels.

               data - the data array,, MUST have same dimensions as 'wave'
               
 Opt. Inputs : wave_limits - limits the initial plot to this region
                             of the input array.  Must be a 2-element
                             array eg [120,150].
               
 Outputs     : Print results to screen
               
 Opt. Outputs: None
               
 Keywords    : k - constant to determine order of background fit
                        k = 0  background = zero (default)
                        k = 1  background = constant
                        k = 2  background = linear
                        k = 3  background = quadratic


 Calls       : ***
	AVERAGE, CDS_GAUSS, FMT_VECT, LAST_ITEM, POLY
 Common      : None
               
 Restrictions: K=3 does not work because of a bug in CDS_GAUSS
               
 Side effects: None
               
 Category    : Spectral, util
               
 Prev. Hist. : None

 Written     : C D Pike, RAL, 11-Feb-96
               
 Modified    : Better overlayed fit.  CDP, 10-Jun-96

 Version     : Version 2, 10-Jun-96