OBJ_CLONE $SSW/gen/idl/objects/obj_clone.pro
[Previous] [Next]
 Project     : HESSI

 Name        : OBJ_CLONE

 Purpose     : Clone an object by saving it to an IDL save file
               and then restoring it into a new object

 Category    : utility objects

 Syntax      : IDL> clone=obj_clone(object)

 Inputs      : OBJECT = object to clone (array or scalar)

 Outputs     : CLONE = cloned object

 CALLS: ***
	CLONE_VAR, EXIST
 CALLED BY:
	CLONE__DEFINE, OBJ_COPY, SPEX_FIT__DEFINE, SPEX_GEN__DEFINE, hsi_ui_mon
	hsi_ui_spec, plotman
 History     : Written 29 Nov 2002, D. Zarro (EER/GSFC)

 Contact     : dzarro@solar.stanford.edu


OBJ_COMPILE $SSW/gen/idl/objects/obj_compile.pro
[Previous] [Next]
 Project     : HESSI

 Name        : OBJ_COMPILE

 Purpose     : compiles class/object methods
               (including inherited methods)

 Category    : utility objects

 Syntax      : IDL> obj_compile,class

 Inputs      : CLASS = class name (or object)

 CALLS: ***
	OBJ_PARENTS, TRIM
 CALLED BY:
	ADD_METHOD
 History     : Written 8 Sept 2001, Zarro, EITI/GSFC
               Modified, 28 Mar 2003, Zarro (EER/GSFC)
               -- added /either

 Contact     : dzarro@solar.stanford.edu


OBJ_COPY $SSW/gen/idl/objects/obj_copy.pro
[Previous] [Next]
 Project     : HESSI

 Name        : OBJ_COPY

 Purpose     : Copy an object variable into new object variable

 Category    : utility objects

 Syntax      : IDL> obj_copy,object,copy

 Inputs      : OBJECT = object to copy (array or scalar)

 Outputs     : COPY = copied object

 CALLS: ***
	OBJ_CLONE, PR_SYNTAX
 CALLED BY:
	MAP__DEFINE
 History     : Written 18 March 2004, D. Zarro (L-3Com/GSFC)

 Contact     : dzarro@solar.stanford.edu


OBJ_DISSECT $SSW/gen/idl/objects/obj_dissect.pro
[Previous] [Next]
 Project     : HESSI

 Name        : OBJ_DISSECT

 Purpose     : find methods & properties of an object or class

 Category    : utility objects

 Explanation : checks CLASS name and CLASS__DEFINE procedure 

 Syntax      : IDL>obj_dissect,class,methods=methods,props=props

 Inputs      : CLASS = class name or object variable name 

 Outputs     : See keywords

 Opt. Outputs: None

 Keywords    : QUIET = inhibit printing
               SUPER = check SUPER classes
               METHODS = string array of method calls
               PROPS = string array of property names

 CALLS: ***
	APPEND_ARR, CHKARG, HAVE_PROC, OBJ_STRUCT, PR_SYNTAX, TRIM, VALID_CLASS, is_struct
 CALLED BY:
	OBJ_METHODS, OBJ_PROPS
 History     : Written 20 May 1999, D. Zarro, SM&A/GSFC
               Modified 5 Nov 2006, Zarro (ADNET/GSFC)
                - removed EXECUTE

 Contact     : dzarro@solar.stanford.edu


OBJ_EVENT $SSW/gen/idl/objects/obj_event.pro
[Previous] [Next]
 Project     : HESSI

 Name        : OBJ_EVENT

 Purpose     : General object widget event handler

 Category    : utility objects widgets

 Syntax      : IDL>obj_event,event

 Inputs      : EVENT = widget event 

 CALLS: ***
	HAVE_METHOD, HAVE_TAG, IS_STRING
 History     : Written 16 April 2000, D. Zarro, EIT/GSFC

 Contact     : dzarro@solar.stanford.edu


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

 Name        : obj_init

 Purpose     : initializes CLASS methods without creating object
               (does this by just calling s={class})

 Category    : utility objects

 Syntax      : IDL> obj_init,class

 Inputs      : CLASS = class name to init

 Outputs     : STATUS = 1/0 if success or failed

 CALLS: ***
	is_struct
 CALLED BY:
	OBJ_PARENTS
 History     : Written 17 April 2001, Zarro, EITI/GSFC
               Modified 4 November 2006, Zarro (ADNET/GSFC) 
                - removed nasty EXECUTE

 Contact     : dzarro@solar.stanford.edu


OBJ_MANAGER $SSW/gen/idl/objects/obj_manager.pro
[Previous] [Next]
 Project     : HESSI

 Name        : OBJ_MANAGER

 Purpose     : keep track of object references to avoid
               memory leaks

 Category    : utility objects

 Explanation : Saves object heap names in global system variable
               
 Syntax      : IDL> status=obj_manager(object)

 Inputs      : OBJECT = object reference

 Outputs     : STATUS = 1 if OBJECT has already been created, 0 otherwise

 Keywords    : None

 CALLS: ***
	MERGE_STRUCT
 History     : Written 10 April 2002, D. Zarro, L3-Com/GSFC

 Contact     : dzarro@solar.stanford.edu


OBJ_METHODS $SSW/gen/idl/objects/obj_methods.pro
[Previous] [Next]
 Project     : HESSI

 Name        : OBJ_METHODS

 Purpose     : find methods in an object

 Category    : utility objects

 Explanation : checks CLASS__DEFINE procedure 

 Syntax      : IDL>out=obj_methods(class)

 CALLS: ***
	OBJ_DISSECT
 CALLED BY:
	GEN__DEFINE, HAVE_METHOD, OLIST__DEFINE, OVSA__DEFINE
 Examples    :

 Inputs      : CLASS = class name or object variable name 

 Opt. Inputs : None

 Outputs     : OUT = string array of method calls

 Opt. Outputs: None

 Keywords    : ERR = error string

 History     : Written 20 May 1999, D. Zarro, SM&A/GSFC

 Contact     : dzarro@solar.stanford.edu


OBJ_PARENTS $SSW/gen/idl/objects/obj_parents.pro
[Previous] [Next]
 Project     : HESSI

 Name        : OBJ_PARENTS

 Purpose     : find parents of object or class

 Category    : utility objects

 Explanation : uses recursion on OBJ_CLASS
               
 Syntax      : IDL> parent=obj_parents(class)

 Inputs      : CLASS = class name or object variable name 

 Outputs     : PARENT = class name of parent, grandparents, great grand...

 Keywords    : COUNT = # of parents found
               CHILD_NAME = class name of input child object

 CALLS: ***
	APPEND_ARR, obj_init
 CALLED BY:
	IS_MAP_LIST, OBJ_COMPILE, VALID_OMAP, plotman
 History     : Written 10 Oct 1999, D. Zarro, SM&A/GSFC
               Vectorized 17 April 2001, Zarro, EITI/GSFC
               Modified 16 March 2004, Zarro (L-3Com/GSFC) 
                - return children when no parents
      
 Contact     : dzarro@solar.stanford.edu


OBJ_PROPS $SSW/gen/idl/objects/obj_props.pro
[Previous] [Next]
 Project     : HESSI

 Name        : OBJ_PROPS

 Purpose     : find property names in an object

 Category    : utility objects

 Syntax      : IDL>out=obj_props(class)

 Inputs      : CLASS = class name or object variable name 

 Opt. Inputs : None

 Outputs     : OUT = string array of property names

 Opt. Outputs: None

 Keywords    : SUPER = check for properties in SUPER classes
;
 CALLS: ***
	OBJ_DISSECT
 CALLED BY:
	FREE_VAR__DEFINE, plotman
 History     : Written 20 May 1999, D. Zarro, SM&A/GSFC

 Contact     : dzarro@solar.stanford.edu


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

 Name        : obj_restore

 Purpose     : Restores an object and compiles its methods

 Explanation : Use with obj_save.
               The reason not to simply use save and restore with objects:
               If an object is restored before its methods are compiled,
               then it doesn't have access to many of its methods.  This is because
               usually the methods are in the __define.pro file, which is
               usually compiled on object creation, but not on restoring an object.
               At this point, even creating a new object of that class won't compile
               the methods, since IDL thinks they're already there.
               So we must compile all
               the methods explicitly before restoring the object.
               Normally, given the class name, this could be done using
               the routine obj_compile.  However that only finds classes that
               are inherited by the class.  In some cases (e.g. HESSI) the
               objects don't inherit a class, but include an object of a
               different class as a property.  So to cover this case, we
               create a temporary object of the requested class, and then
               destroy it.  This will compile all the methods in the __define.pros.
               (However, even this won't work for property objects
               that are not instantiated in the init of the original object.
               I don't have a solution for that case.)

               obj_save will write the class name of the object in the save
               file as the first part of the filename followed
               by two underscores.  Otherwise we wouldn't know the class until
               after we restored the object, at which point it's too late to
               attempt to compile the methods.

 CALLS: ***
	FILE_BREAK, SINCE_VERSION [1], SINCE_VERSION [2], WHICH, curdir [1], curdir [2]
	restgenx, ssw_strsplit
 Restrictions: WARNING!!! The restored object will not be usable if the object
               structure definitions have changed.  This is for short-term saving
               of objects only.

 Category    : utility objects

 Syntax      : IDL> obj_restore, object

 Inputs:     : None

 Outputs     : object - restored object

 Input Keywords:
               file - file name to restore from. If not supplied, get dialog box
               nocompile - if set, don't try to compile object methods
 Output Keywords:
               err_msg - error string if any, otherwise blank string

 Restrictions: Use in conjunction with obj_save (otherwise methods might not be
               available)

 History     : Written 4-Mar-2003, Kim Tolbert
 Modifications:
  11-Oct-2005, Kim.  Added warning in header doc


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

 Name        : obj_save

 Purpose     : Saves an object.  Use with obj_restore (to handle compiling methods).

 Explanation : See the header documentation to obj_restore to read why
               a simple save and restore don't always work for objects.

               obj_save modifies the name of the output file to include the
               class name of the object as the first part of the filename followed
               by two underscores.  This will be used by obj_restore to enable
               it to compile the methods for the class before restoring the object.

               Object save files can be large.  Use of the /compress keyword is recommended.

 CALLS: ***
	CONCAT_DIR [1], CONCAT_DIR [2], CONCAT_DIR [3], FILE_BREAK, SINCE_VERSION [1]
	SINCE_VERSION [2], WRITE_DIR, concat_dir [4], curdir [1], curdir [2], savegenx
	ssw_strsplit
 Restrictions: WARNING!!! The restored object will not be usable if the object
               structure definitions have changed.  This is for short-term saving
               of objects only.

 Category    : utility objects

 Syntax      : IDL> obj_save, object

 Inputs:     : object - object to save

 Outputs     : object - restored object

 Input Keywords:
               file - file name to save into.  Default is 'class_name'__obj.geny
                 e.g. hsi_spectrum__obj.geny
               no_dialog - If set, and no filename is supplied, just use default name.
                 Otherwise, pop up dialog for file name.
               overwrite - If set, overwrite an existing file.  If not set, and file
                 exists, and no_dialog is not set, ask user whether to overwrite existing file.
               _extra - keywords to pass on to savegenx, like compress
 Output Keywords:
               err_msg - error string if any, otherwise blank string

 Restrictions: Use in conjunction with obj_restore (otherwise methods might not be
               available)

 History     : Written 4-Mar-2003, Kim Tolbert
 Modifications:
  11-Oct-2005, Kim.  Added warning in header doc


OBJ_STRUCT $SSW/gen/idl/objects/obj_struct.pro
[Previous] [Next]
 Project     : HINODE/EIS

 Name        : OBJ_STRUCT

 Purpose     : extract structure definition associated with an object class

 Category    : utility objects

 Syntax      : IDL> struct=obj_struct(obj)

 Inputs      : OBJ = class name or object variable name 

 Outputs     : STRUCT = structure definition associated with class/object

 Keywords    : ERR = error message

 CALLS: ***
	ERR_STATE, IS_STRING, SINCE_VERSION [1], SINCE_VERSION [2]
 CALLED BY:
	CLONE__DEFINE, FTP__DEFINE, OBJ_DISSECT, SITE__DEFINE, XYPLOT__DEFINE
 History     : Written 1 Nov 2006, D. Zarro (ADNET/GSFC)
      
 Contact     : dzarro@solar.stanford.edu


OBJ_SUPER $SSW/gen/idl/objects/obj_super.pro
[Previous] [Next]
 Project     : HESSI

 Name        : OBJ_SUPER

 Purpose     : Execute a method of a super class

 Category    : utility objects

 Syntax      : IDL>obj_super,obj,method

 Inputs      : OBJ = object reference
               METHOD = string method name [def=procedure]

 Keywords    : FUNCTION = method is a function
               EXTRA = keywords to pass to method
               RESULT = returned result if function

 History     : Written 10 April 2000, D. Zarro, SM&A/GSFC

 Contact     : dzarro@solar.stanford.edu


OBS__DEFINE $SSW/gen/idl/objects/obs__define.pro
[Previous] [Next]
 Project     : HESSI

 Name        : OBS__DEFINE

 Purpose     : Define a general site observatory object

 Category    : Ancillary GBO Synoptic Objects

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

 CALLS: ***
	GET_UTC, IS_BLANK, LOC_FILE [1], LOC_FILE [2], LOC_FILE [3], OBS::CLEANUP
	OBS::GET_CONTROL, OBS::INIT, OBS::SYNOP, RD_ASCII [1], RD_ASCII [2], is_struct
 History     : Written 25 June 2002, D. Zarro, LAC/GSFC

 Contact     : dzarro@solar.stanford.edu


OBS_STRUCT [1] $SSW/gen/idl/fund_lib/yohkoh/obs_struct.pro
[Previous] [Next]
       NAME:
               OBS_STRUCT
       PURPOSE:
               Define the following observing log database structures
                       * Obs_NewOrb_Hd_Rec        
                       * Obs_NewOrbit_Rec         
                       * Obs_FileID_Rec           
                       * Obs_OrbitSol_Rec         
                       * Obs_WBSHXT_Rec           
                       * Obs_BCS_Rec              
                       * Obs_BCS_Status_Rec       
                       * Obs_HXT_Status_Rec       
                       * Obs_WBS_Status_Rec       
                       * Obs_SXT_Rec              

       CALLING SEQUENCE:
               OBS_STRUCT
 CALLED BY:
	GET_SDA, Rd_NewOrb_p [1], Rd_NewOrb_p [2], mk_att [1], mk_att [2], mk_evn [1]
	mk_evn [2], mk_gbl, mk_gsn_obs, mk_gx, mk_pnt, mk_week1_file, mk_week_file [1]
	mk_week_file [2], pnt2atr, rd_gsn, rd_obs, rd_old_obs, rd_week_file [1]
	rd_week_file [2], rd_week_file [3], rd_week_file [4], weekid [2], ydb_exist [2]
       HISTORY:
               written by Mons Morrison, Fall 90.


OBSERVATORY $SSW/gen/idl_libs/astron/astro/observatory.pro
[Previous] [Next]
 NAME:
       OBSERVATORY
 PURPOSE:
       Return longitude, latitude, altitude & time zones of an observatory
 EXPLANATION:
       Given an observatory name, returns a structure giving the longitude,
       latitude, altitude, and time zone 

 CALLING SEQUENCE:
       Observatory, obsname, obs_struct, [ /PRINT ]

 INPUTS:
       obsname - scalar or vector string giving abbreviated name(s) of 
             observatories for which location or time information is requested.
             If obsname is an empty string, then information is returned for 
             all observatories in the database.     See the NOTES: section
             for the list of recognized observatories.   The case of the 
             string does not matter  
 OUTPUTS:
       obs_struct - an IDL structure containing information on  the specified
                 observatories.   The structure tags are as follows: 
       .observatory - abbreviated observatory name
       .name - full observatory name  
       .longitude - observatory longitude in degrees *west* 
       .latitude - observatory latitude in degrees
       .altitude - observatory altitude in meters above sea level
       .tz - time zone, number of hours *west* of Greenwich

 OPTIONAL INPUT KEYWORD:
     /PRINT - If this keyword is set, (or if only 1 parameter is supplied)
             then OBSERVATORY will display information about the specified
             observatories at the terminal
 CALLS: ***
	TEN
 CALLED BY:
	EQ2HOR, HOR2EQ
 EXAMPLE:
     Get the latitude, longitude and altitude of Kitt Peak National Observatory

     IDL> observatory,'kpno',obs
     IDL> print,obs.longitude  ==> 111.6 degrees west 
     IDL> print,obs.latitude  ==> +31.9633 degrees
     IDL> print,obs.altitude  ==> 2120 meters above sea level

 NOTES:
   Observatory information is taken from noao$lib/obsdb.dat file in IRAF 2.11
   Currently recognized observatory names are as follows:

  'kpno': Kitt Peak National Observatory
  'ctio': Cerro Tololo Interamerican Observatory
  'eso': European Southern Observatory
  'lick': Lick Observatory
  'mmto': MMT Observatory
  'cfht': Canada-France-Hawaii Telescope
  'lapalma': Roque de los Muchachos, La Palma
  'mso': Mt. Stromlo Observatory
  'sso': Siding Spring Observatory
  'aao': Anglo-Australian Observatory
  'mcdonald': McDonald Observatory
  'lco': Las Campanas Observatory
  'mtbigelow': Catalina Observatory: 61 inch telescope
  'dao': Dominion Astrophysical Observatory
  'spm': Observatorio Astronomico Nacional, San Pedro Martir
  'tona': Observatorio Astronomico Nacional, Tonantzintla
  'Palomar': The Hale Telescope
  'mdm': Michigan-Dartmouth-MIT Observatory
  'NOV': National Observatory of Venezuela
  'bmo': Black Moshannon Observatory
  'BAO': Beijing XingLong Observatory
  'keck': W. M. Keck Observatory
  'ekar': Mt. Ekar 182 cm. Telescope
  'apo': Apache Point Observatory
  'lowell': Lowell Observatory
  'vbo': Vainu Bappu Observatory
  'flwo': Whipple Observatory
  'oro': Oak Ridge Observatory
  'lna': Laboratorio Nacional de Astrofisica - Brazil
  'saao': South African Astronomical Observatory
  'casleo': Complejo Astronomico El Leoncito, San Juan
  'bosque': Estacion Astrofisica Bosque Alegre, Cordoba
  'rozhen': National Astronomical Observatory Rozhen - Bulgaria
  'irtf': NASA Infrared Telescope Facility
  'bgsuo': Bowling Green State Univ Observatory
  'ca': Calar Alto Observatory
  'holi': Observatorium Hoher List (Universitaet Bonn) - Germany
  'lmo': Leander McCormick Observatory
  'fmo': Fan Mountain Observatory
  'whitin': Whitin Observatory, Wellesley College

 PROCEDURE CALLS:
    TEN()             
 REVISION HISTORY:
    Written   W. Landsman                 July 2000


OCC_PROFILE $SSW/gen/idl/fund_lib/sdac/occ_profile.pro
[Previous] [Next]

 NAME: 
	OCC_PROFILE

 PURPOSE:
 	This procedure calculates the occultation profile for a source in orbit
	about the Earth.  Takes into account the oblateness of the Earth.

 CATEGORY:
	BATSE

 CALLING SEQUENCE:
	occ_profile, sdir, xx, occprofile, height=height

 CALLS: ***
	ATMOS, CHECKVAR [1], checkvar [2]
 INPUTS:
 	sdir - 3 vector in J2000 coordinates for source
	xx    - spacecraft position in J2000 coordinate system, expressed in km
	          fltarr(3, n)
 OPTIONAL INPUTS:
       none

 OUTPUTS:
 	Occprofile - transmission through atmos for each position vector.
		ranges from 0 (occult) to 1 (above horizon)

 OPTIONAL OUTPUTS:
       none

 KEYWORDS:
       HEIGHT - 50% extinction height above the Earth, default 70 km,
		This is the 50% height for a 31.7 keV photon.
 	ENERGY - Make profile for this energy using routine ATMOS.
 CALLED BY:
	FIND_GOOD_OCCS, GET_OCCS
 COMMON BLOCKS:
       none

 SIDE EFFECTS:
       none

 RESTRICTIONS:
       none

 PROCEDURE:
       none

 MODIFICATION HISTORY:
	Version 1, RAS, taken from a BATSE occultation team routine provided by Mark Finger


ocontour [1] $SSW/gen/idl/display/ocontour.pro
[Previous] [Next]
NAME:
	ocontour
PURPOSE:
	To overlay a contour on top of an image
EXPLANATION:
	Note that the SOHO-CDS version of OCONTOUR.PRO was displaced by
	this version.  To get the same functionality of the SOHO-CDS
	version, use the CONTOUR command with /OVERPLOT switch.
CALLING SEQUENCE:
	ocontour, img
	ocontour, data(*,*,5), bin=6
	ocontour, img, 100, 100
INPUT:
	img	- the image to be contoured on top of the
		  image aleady displayed with "TV"
OPTIONAL INPUT:
	x0	- If the origin of the image is not (0,0) then it is
		  necessary to pass the left corner
	y0	- see "x0"
	bin	- If the image was displayed using REBIN or CONGRID
		  then the routine needs to know that so that it scales
		  properly.  This is the rebinning factor that was used
		  to display the first image.
OPTIONAL INPUT:
	levels	- IDL contour command
	max_value- IDL contour command
	color	- IDL contour command
	c_thick	- IDL contour command
	c_linestyle - IDL contour command
	nlevels	- IDL contour command
	c_labels- IDL contour command
	c_color	- IDL contour command
	c_charsize - IDL contour command
	c_annotation - IDL contour command
	c_orientation - IDL contour command
	c_spacing - IDL contour command
	nodata	- IDL contour command
	
	tv2	- If set, then the image display is being done with TV2 and
		  if the output device is PS, then set the position a bit
		  differently.
 CALLS: ***
	tbeep [1], tbeep [2], tbeep [3]
 CALLED BY:
	FAXABLE_SFD, boundary, eitoversxt, go_teem_nn, go_teem_t, lcur_plotr [1]
	lcur_plotr [2], makimg0, rest_low8_cube [1], rest_low8_cube [2], rest_low8_ffi
	sector_avg, sel_img, xy_lwa
HISTORY:
	Written 28-Oct-91 by M.Morrison
	12-May-94 (MDM) - Corrected typo on "c_labels" parameter
	12-May-94 (MDM) - Added /TV2 option
	 6-Sep-94 (MDM) - Included a check that the window is the
			  proper size (large enough to fit the image)
	16-Feb-95 (MDM) - Added /NODATA option
	 9-Mar-95 (MDM) - Fixed a typo on the window size check
			  (it was using "x0" instead of "y0")
	25-May-95 (LWA) - Added /c_orientation and /c_spacing options.
	21-Jun-95 (MDM) - Updated header information (SOHO-CDS note)
	18-Jul-95 (MDM) - Added /NORMAL to the contour call for /TV2 option


OLIST__DEFINE $SSW/gen/idl/objects/olist__define.pro
[Previous] [Next]
 Project     : HESSI

 Name        : OLIST__DEFINE

 Purpose     : Define a linked_list object that stores objects

 Category    : objects

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

 CALLS: ***
	DPRINT, EXIST, FREE_VAR, IPRINT, OBJ_METHODS, OLIST::CLEANUP, OLIST::GET, OLIST::GET
	OLIST::GET_ELEM, OLIST::INIT, OLIST::METHODS, OLIST::REPLACE, OLIST::SET
	OLIST::SET_ELEM, OLIST::SIZE, TRIM, is_number [1], is_number [2]
 History     : Written 22 Apr 2000, D. Zarro, SM&A/GSFC

 Contact     : dzarro@solar.stanford.edu


ONE_ARROW $SSW/gen/idl_libs/astron/misc/one_arrow.pro
[Previous] [Next]
 NAME:
       ONE_ARROW
 PURPOSE:
       Draws an arrow labeled with a single character on the current device
 EXPLANATION:
       ONE_ARROW is called, for example, by ARROWS to create a
       "weathervane" showing the N-E orientation of an image.

 CALLING SEQUENCE:
       one_arrow, xcen, ycen, angle, label, CHARSIZE = , THICK = , COLOR = 
                       ARROWSIZE=, FONT =  ]
 INPUT PARAMETERS:
    xcen, ycen = starting point of arrow, floating point scalars,
                 In device coordinates unless /DATA or /NORMAL set
    angle      = angle of arrow in degrees counterclockwise from +X direction
    label      = single-character label (may be blank)

 OUTPUT PARAMETERS:  none

 OPTIONAL INPUT PARAMETERS:
       ARROWSIZE  = 3-element vector defining appearance of arrow.
               For device coordinates the default is  [30.0, 9.0, 35.0], 
               meaning arrow is 30 pixels long; arrowhead lines 9 pixels 
               long and inclined 35 degrees from arrow shaft.     For 
               normalized coordinates the default is divided by 512., for 
               data coordinates the default is multiplied by 
               (!X.crange[1] - !X.crange[0])/512..
       CHARSIZE   = usual IDL meaning, default = 2.0
       COLOR      = usual IDL meaning, default = !P.COLOR
       /DATA - If set, then the input position (xcen, ycen) and the ARROWSIZE
                lengths are intepreted as being in data coordinates
       FONT - IDL vector font number to use (1-20).   For example, to write
               the 'N' and 'E' characters in complex script, set font=13
       /NORMAL - If set, then the input position (xcen, ycen) and the ARROWSIZE
                lengths are intepreted as being in normal coordinates
       THICK      = usual IDL meaning, default = 2.0
 CALLS: ***
	ONE_RAY
 CALLED BY:
	ARROWS
 EXAMPLE:
       Draw an triple size arrow emanating from the point (212,224)
       and labeled with the character 'S'

       IDL> one_arrow,212,224,270,'S',charsize=3
 PROCEDURE:  
       Calls one_ray to vector-draw arrow.
 MODIFICATION HISTORY:
       Written by R. S. Hill, Hughes STX Corp., 20-May-1992.
       Added font keyword, W.B. Landsman Hughes STX Corp. April 1995
       Modified to work correctly for COLOR=0  J.Wm.Parker, HITC   1995 May 25
       Add /NORMAL and /DATA keywords  W.Landsman    November 2006


ONE_RAY $SSW/gen/idl_libs/astron/misc/one_ray.pro
[Previous] [Next]
 NAME:
       ONE_RAY
 PURPOSE:
       Draw a line with a specified starting point, length, and  angle

 CALLING SEQUENCE:
       one_ray, xcen, ycen, len, angle, terminus, /NODRAW ]

 INPUT PARAMETERS:
       xcen, ycen = starting point in device coordinates, floating point 
                       scalars
       len        = length in pixels, device coordinates
       angle      = angle in degrees counterclockwise from +X direction

 OUTPUT PARAMETERS:
       terminus = two-element vector giving ending point of ray in device
               coordinates

 OPTIONAL KEYWORD INPUT PARAMETERS:
       /nodraw   if non-zero, the ray is not actually drawn, but the terminus
               is still calculated

        Any valid keyword to PLOTS can also be passed ot ONE_RAY.   In
        particular, COLOR, THICK, and LINESTYLE control the color, thickness
        and linestyle of the drawn line.
 CALLED BY:
	ONE_ARROW
 EXAMPLE:
       Draw a double thickness line of length 32 pixels from (256,256) 
       45 degrees counterclockwise from the X axis

       IDL> one_ray, 256, 256, 32, 45 ,term, THICK = 2

 PROCEDURE:  straightforward matrix arithmetic

 MODIFICATION HISTORY:
    Written by R. S. Hill, Hughes STX Corp., 20-May-1992.
    Modified to work correctly for COLOR=0  J.Wm.Parker  HITC   1995 May 25
    Added _EXTRA keywords to PLOT   W. Landsman   November 2006


OPEN_ANACUBE $SSW/gen/idl/ana/open_anacube.pro
[Previous] [Next]
 NAME:
       OPEN_ANACUBE
 PURPOSE:
       Opens ANA data cube for reading with WINDOW_ANACUBE
 CATEGORY:
 CALLING SEQUENCE:
       open_anacube,filename
	open_anacube,filename,hdr_struct,image,/read_all
 INPUTS:
       filename	name of ANA cube to be opened
 OPTIONAL INPUT PARAMETERS:
 KEYWORD PARAMETERS:
	new		if set, close any open cube and open new one
	read_all	if set, read all the data in the cube
 OUTPUTS:
 OPTIONAL OUTPUT PARAMETERS:
	hdr_struct	structure cointaining ANA cube FITS header
	image		3d image cube
 CALLS: ***
	BOX_MESSAGE, CLOSE_ANACUBE, TAG_EXIST [1], TAG_EXIST [2], fitshead2struct
	yesnox [1], yesnox [2]
 COMMON BLOCKS:
       anacube,anacube_window
 SIDE EFFECTS:
 RESTRICTIONS:
 PROCEDURE:
	Opens cube for read. Can read all the images in, but selective
	read using window_anacube is recommended.
 MODIFICATION HISTORY:
          Mar-99  RDB  Written


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

 Name        :	OPLOT_ERR

 Purpose     :	Overplot data with error bars in both X and Y directions

 Explanation :	Overplots data points with accompanying error bars in both the
		X and Y directions.

		A plot of X versus Y with error bars drawn from X-XERR to
		X+XERR and from Y-YERR to Y+YERR is written to the output
		device.  Optionally, one can give different sizes for the lower
		and upper error bars.

		If !BCOLOR is not zero, then that color is used for error bars.

 Use         :	OPLOT_ERR, [ X, ]  Y  [, XERR=XERR]  [, YERR=YERR]

 Inputs      :	Y = array of Y values.

 Opt. Inputs :	X = array of X values.  If not passed, then the index of Y is
		    used instead.

 Outputs     :	None.

 Opt. Outputs:	None.

 Keywords    :	XERR	  = Array of errors in X
		YERR	  = array of errors in Y.

		The error arrays can take one of two forms:

		    * Same dimensions as the data arrays, in which case the
		      error is applied in both the X and Y directions

		    * An extra initial dimension of 2, in which case the
		      first value is the size of the lower (or left) error bar,
		      and the second value is the size of the upper (or right)
		      error bar.

		PSYM	  = Symbol to use for plotting.  Default is 7 (X).
		SYMSIZE   = Symbol size
		COLOR	  = Color to use for plotting.
		BCOLOR	  = Color to use instead of !BCOLOR for error bars.
		LINESTYLE = Line style
		THICK	  = Line thickness
		UTPLOT	  = If set, then the first (X) parameter is considered
			    to be time in one of the CDS time formats.  This is
			    only allowed if both X and Y are passed.  If used,
			    then XERR is in seconds.

 Calls       : ***
	DATATYPE [1], DATATYPE [2], DATATYPE [3], OUTPLOT [1], OUTPLOT [2], OUTPLOT [3]
	TAI2UTC, UTC2TAI
 CALLED BY:
	TILT_NIS1_DEMO, TILT_NIS2_DEMO
 Common      :	None.

 Restrictions:	Requires that the system parameter !BCOLOR be defined.

 Side effects:	None.

 Category    :	Utilities, Plotting

 Prev. Hist. :	Based on an earlier routine called OPLOTERR2.

 Written     :	William Thompson, GSFC, 19 April 1995

 Modified    :	Version 1, William Thompson, 19 April 1995
		Version 2, William Thompson, GSFC, 20 April 1995
			Added keyword UTPLOT.
			Made determination of symmetrical/asymmetrical error
			bars more robust.
		Version 3, William Thompson, GSFC, 18 December 2002
			Changed !COLOR to !P.COLOR

 Version     :	Version 3, 18 December 2002


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

 Name        : 
	OPLOT_IMAGE
 Purpose     : 
	Overplot an image.
 Explanation : 
	Displays images over pre-existing plots.  The concept is to make
	displaying an image a graphics command, like OPLOT or OCONTOUR.  Then
	the special TV calls don't have to be used.

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

 Use         : 
	OPLOT_IMAGE, IMAGE
 Inputs      : 
	IMAGE	 = 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    : 
	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.
	SMOOTH	 = If set, then the image is expanded with bilinear
		   interpolation.
	NOSCALE  = If set, then the command TV is used instead of TVSCL to
		   display the image.
	MISSING	 = Value flagging missing pixels.  These points are scaled to
		   zero.  Ignored if NOSCALE is set.
	COLOR	 = Color used for drawing the 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.
	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, REVERSE
 Common      : 
	None.
 Restrictions: 
	The graphics device must be capable of displaying images.

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

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

 Side effects: 
	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. : 
	William Thompson, May 1992.
	William Thompson, August 1992, renamed BADPIXEL to MISSING.
	William Thompson, September 1992, use COMBINED keyword in place of
		INTENSITY.
	William Thompson, October 1992, modified so that keyword ORIGIN refers
		to the center of the first pixel, rather than to the lower left
		corner.
 Written     : 
	William Thompson, GSFC, May 1992.
 Modified    : 
	Version 1, William Thompson, GSFC, 13 May 1993.
		Incorporated into CDS library.
	Version 2, William Thompson, GSFC, 9 November 1993.
		Removed restriction that scales be positive.
	Version 3, William Thompson, GSFC, 26 December 1995
		Removed NOSTORE keyword from EXPAND_TV call.
	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, 26-Sep-2006
               Added keyword BSCALED
 Version     : 
	Version 7, 26-Sep-2006


OPLOT_NAR [1] $SSW/gen/idl/solar/oplot_nar.pro
[Previous] [Next]
 Project     : SOHO - CDS

 Name        : OPLOT_NAR

 Purpose     : Oplot NOAA AR pointing structures from GET_NAR

 Category    : planning

 Syntax      : IDL> oplot_nar,nar or oplot_nar,time,nar

 Inputs      : NAR = NOAA AR pointing structures from GET_NAR
               (if TIME is input, GET_NAR is called)

 Keywords    : EXTRA = plot keywords passed to XYOUTS
               OFFSET = offset coordinates to shift labelling 
               [data units, e.g., off=[100,100])
               IMAP - if set, generate imagemap coords   
               IMAGEMAP_COORD - (output) return the coords if /IMAP set
               IMCIRCLE - if set, IMAP coords are "xc,yc,diam" (circle)
                          default corrds are "minx,miny,maxx,maxy"
               IMARS - (output) if IMAP, then return 1:1 AR#:IMAGEMAP_COORD
               IMNOCONVERT - return IMAGEMAP_COORD in IDL convention
                             (default=html imagemap w/(0,0)=upper right 
 CALLS: ***
	DATATYPE [1], DATATYPE [2], DATATYPE [3], DELVARX [1], DELVARX [2], DELVARX [3]
	DELVARX [4], EXIST, GET_IMAGEMAP_COORD, GET_NAR, PR_SYNTAX, STR_FORMAT
	TAG_EXIST [1], TAG_EXIST [2], TRIM, delvarx [5]
 CALLED BY:
	EIS_IMAGE_TOOL [1], EIS_IMAGE_TOOL [2], IMAGE_TOOL, PLOT_CDS_POINT [1]
	PLOT_CDS_POINT [2], ssw_fov_context
 Restrictions: A base plot should exist

 History     : Version 1,  20-June-1998,  D.M. Zarro.  Written
             : Version 1.1, 28-March-2002, S.L. Freeland - IMAP support
             : Version 2, 17-June-2002, Zarro (LAC/GSFC) - 'I4.4' AR plotting

 Contact     : DZARRO@SOLAR.STANFORD.EDU


OPLOT_NAR [2] $SSW/gen/idl/solar/rot_nar.pro
[Previous] [Next]
 Project     : SOHO - CDS

 Name        : OPLOT_NAR

 Purpose     : Oplot NOAA AR pointing structures from GET_NAR

 Category    : planning

 Explanation : 

 Syntax      : IDL> oplot_nar,nar or oplot_nar,time,nar

 Inputs      : NAR = NOAA AR pointing structures from GET_NAR
               (if TIME is input, GET_NAR is called)

 Opt. Inputs : None

 Outputs     : None

 Opt. Outputs: None

 Keywords    : EXTRA = plot keywords passed to XYOUTS
               OFFSET = offset coordinates to shift labelling 
               [data units, e.g., off=[100,100])

 CALLED BY:
	EIS_IMAGE_TOOL [1], EIS_IMAGE_TOOL [2], IMAGE_TOOL, PLOT_CDS_POINT [1]
	PLOT_CDS_POINT [2], ssw_fov_context
 Common      : None

 Restrictions: A base plot should exist

 Side effects: None

 History     : Version 1,  20-June-1998,  D.M. Zarro.  Written

 Contact     : DZARRO@SOLAR.STANFORD.EDU


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

 Name        :	
	OPLOT_STRING
 Purpose     :	
	Overplot an X,Y array using a character string as a symbol.
 Explanation :	
	If /LINE is selected, then OPLOT is called with a plotting symbol of
	zero.  Finally, XYOUTS is called to draw the string at the X,Y
	coordinates.
 Use         :	
	OPLOT_STRING,  [ X, ]  Y, STRING
 Inputs      :	
	Y	= Y array, as in PLOT,Y or PLOT,X,Y
	STRING	= Character string to use as plotting symbol, e.g. "A".  If a
		  number is passed, then it is converted into a string.
 Opt. Inputs :	
	X	= X array, as in PLOT,X,Y
 Outputs     :	
	None.
 Opt. Outputs:	
	None.
 Keywords    :	
	LINE	= If present and non-zero, then connecting lines are drawn
		  between data points.
	COLOR	= Color used for the plotting symbol, and for any connecting
		  lines between data points.
	CHARSIZE= Character size to use for the character plotting symbol.
 Calls       : ***
	TRIM
 CALLED BY:
	MAX_TEMP
 Common      :	
	None.
 Restrictions:	
	X and Y must be arrays.  STRING must be a character string scalar.
 Side effects:	
	None.
 Category    :	
	Utilities, Graphics.
 Prev. Hist. :	
	W.T.T., May, 1990.
	William Thompson, Nov 1992, modified algorithm for getting the relative
		character size.
 Written     :	
	William Thompson, GSFC, May 1990.
 Modified    :	
	Version 1, William Thompson, GSFC, 9 July 1993.
		Incorporated into CDS library.
		Adjusted vertical spacing to better center characters.
		Fixed bug with logarithmic plots.
	Version 2, William Thompson, GSFC, 18 December 2002
		Changed !COLOR to !P.COLOR
 Version     :	
	Version 2, 18 December 2002


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

 Name        :	OPLOTBAR

 Purpose     :	Overplot a bar graph filled in with a pattern.

 Category    :	Class3, Graphics

 Explanation :	

 Syntax      :	OPLOTBAR, [ X ,]  Y

 Examples    :	

 Inputs      :	Y = array of values along the Y axis.

 Opt. Inputs :	X = optional array of values along the X axis.  Y(i) is plotted
		    from X(i) to X(i+1), with the last point being plotted over
		    a distance equal to its predecessor.  The procedure tests
		    whether or not the second parameter passed is a vector to
		    decide if X was passed.  If not passed, then INDGEN(Y) is
		    assumed.

		If !BCOLOR is nonzero, then it controls the color of the filled
		in region.

 Outputs     :	None.

 Opt. Outputs:	None.

 Keywords    :	BCOLOR	= Color to use instead of !BCOLOR for bar interiors.

 Calls       :	POLYFILL
 Common      :	None.

 Restrictions:	The variables must not be of type string.

 Side effects:	None.

 Prev. Hist. :	
	William Thompson	Applied Research Corporation
	July, 1986		8201 Corporate Drive
				Landover, MD  20785

	W.T.T., May 1992, added BCOLOR keyword.

 History     :	Version 1, 22-Jan-1996, William Thompson, GSFC
			Incorporated into CDS library
		Version 2, 14-May-2001, William Thompson, GSFC
			Use modern system variables.
		Version 3, 18-Dec-2002, William Thompson, GSFC
			Changed !COLOR to !P.COLOR

 Contact     :	WTHOMPSON


OPLOTERR $SSW/gen/idl/display/oploterr.pro
[Previous] [Next]
 NAME:
	OPLOTERR
 PURPOSE:
	Over-plot data points with accompanying X or Y error bars.
 EXPLANATION:
	For use instead of PLOTERR when the plotting system has already been
	defined. 

 CALLING SEQUENCE:
	oploterr, [ x,]  y, [xerr], yerr  [,/NOHAT, HATLENGTH= ,
		 ERRTHICK= , ERRSTYLE=, ERRCOLOR =, /LOBAR, /HIBAR ]
 INPUTS:
	X = array of abcissae, any datatype except string
	Y = array of Y values, any datatype except string
	XERR = array of error bar values (along X)
       YERR = array of error bar values (along Y)

 OPTIONAL INPUT KEYWORD PARAMETERS:
	NOHAT     = if specified and non-zero, the error bars are drawn
	            without hats.
	HATLENGTH = the length of the hat lines used to cap the error bars.
	            Defaults to !D.X_VSIZE / 100).
	ERRTHICK  = the thickness of the error bar lines.  Defaults to the
	            THICK plotting keyword.
	ERRSTYLE  = the line style to use when drawing the error bars.  Uses
	            the same codes as LINESTYLE.
	ERRCOLOR =  scalar integer (0 - !D.N_TABLE) specifying the color to
			use for the error bars
	NSKIP = Positive Integer specifying the error bars to be plotted.   
		For example, if NSKIP = 2 then every other error bar is 
		plotted; if NSKIP=3 then every third error bar is plotted.   
		Default is to plot every error bar (NSKIP = 1)
	LOBAR = if specified and non-zero, will draw only the -ERR error bars.
	HIBAR = if specified and non-zero, will draw only the +ERR error bars.
                  If neither LOBAR or HIBAR are set _or_ if both are set,
                  you will get both error bars.  Just specify one if you
                  only want one set.
       NOCONNECT = don't connect data points. Just plot errors

 NOTES:
       If only two parameters are input, they are taken as Y and YERR
       If only three parameters are input, they will be taken as X, Y and
       YERR respectively.

 CALLS: ***
	EXIST
 CALLED BY:
	CHECK_12AP, OPLOT_DIFF, PLOT_DIFF, PLOT_TPCAL, TPSOLVE, TPSOLVE2, XCFIT, XCFIT_BLOCK
	XYPLOT__DEFINE
 EXAMPLE:
       Suppose one has X and Y vectors with associated errors XERR and YERR
	and that a plotting system has already been defined:

       (1) Overplot Y vs. X with both X and Y errors and no lines connecting
           the points
                  IDL> oploterr, x, y, xerr, yerr, psym=3
       (2) Like (1) but overplot only the Y errors bars and omits "hats"
                  IDL> oploterr, x, y, yerr, psym=3, /NOHAT
	(3) Like (2) but suppose one has a positive error vector YERR1, and 
		   a negative error vector YERR2 (asymmetric error bars)
		   IDL> oploterr, x, y, yerr1, psym=3, /NOHAT,/HIBAR
		   IDL> oploterr, x, y, yerr2, psym=3, /NOHAT,/LOBAR

 PROCEDURE:
	A plot of X versus Y with error bars drawn from Y - YERR to Y + YERR
	and optionally from X - XERR to X + XERR is written to the output device

 WARNING:
	This an enhanced version of a procedure that already exists in the
	standard IDL V4.0 distribution.   Any call to the standard IDL version
	should also work with this version, but the reverse is not true.

 MODIFICATION HISTORY:
	Adapted from the most recent version of PLOTERR.  M. R. Greason,
		Hughes STX, 11 August 1992.
       Removed spurious keywords for IDL V3.0.0  W. Landsman Jan. 1993 
	Added ability to plot a single point W. Landsman   July 1993
	Added COLOR keyword option to error bars W. Landsman   November 1993
	Remove CHANNEL call for V4.0 compatibility W. Landsman June 1995
	Add ERRCOLOR, use _EXTRA keyword,           W. Landsman, July 1995
	Remove spurious call to PLOT_KEYWORDS     W. Landsman, August 1995
	OPLOT more than 32767 error bars          W. Landsman, Feb 1996
	Added NSKIP keyword                       W. Landsman, Dec 1996
	Converted to IDL V5.0   W. Landsman   September 1997
	Added HIBAR and LOBAR keywords, M. Buie, Lowell Obs., Feb 1998
       Added /NOCONNECT                             D. Zarro, Jun 2003
       Added PSYM=10 check, Zarro (L-3Com/GSFC), Feb 2003
       Pay attention to PSYM keyword, William Thompson, GSFC, 2-Feb-2005


OPLOTERROR $SSW/gen/idl_libs/astron/plot/oploterror.pro
[Previous] [Next]
 NAME:
      OPLOTERROR
 PURPOSE:
      Over-plot data points with accompanying X or Y error bars.
 EXPLANATION:
      For use instead of PLOTERROR when the plotting system has already been
      defined. 

 CALLING SEQUENCE:
      oploterror, [ x,]  y, [xerr], yerr,   
            [ /NOHAT, HATLENGTH= , ERRTHICK =, ERRSTYLE=, ERRCOLOR =, 
              /LOBAR, /HIBAR, NSKIP = , NSUM = , ... OPLOT keywords ]
 INPUTS:
      X = array of abcissae, any datatype except string
      Y = array of Y values, any datatype except string
      XERR = array of error bar values (along X)
      YERR = array of error bar values (along Y)

 OPTIONAL INPUT KEYWORD PARAMETERS:
      /NOHAT     = if specified and non-zero, the error bars are drawn
                  without hats.
      HATLENGTH = the length of the hat lines used to cap the error bars.
                  Defaults to !D.X_VSIZE / 100).
      ERRTHICK  = the thickness of the error bar lines.  Defaults to the
                  THICK plotting keyword.
      ERRSTYLE  = the line style to use when drawing the error bars.  Uses
                  the same codes as LINESTYLE.
      ERRCOLOR =  scalar integer (0 - !D.N_TABLE) specifying the color to
                  use for the error bars
      NSKIP = Positive Integer specifying the error bars to be plotted.   
            For example, if NSKIP = 2 then every other error bar is 
            plotted; if NSKIP=3 then every third error bar is plotted.   
            Default is to plot every error bar (NSKIP = 1)
      NSUM =  Number of points to average over before plotting, default = 
             !P.NSUM  The errors are also averaged, and then divided by 
             sqrt(NSUM).   This approximation is meaningful only when the 
             neighboring error bars have similar sizes.
 
      /LOBAR = if specified and non-zero, will draw only the -ERR error bars.
      /HIBAR = if specified and non-zero, will draw only the +ERR error bars.
                  If neither LOBAR or HIBAR are set _or_ if both are set,
                  you will get both error bars.  Just specify one if you
                  only want one set.
     Any valid keywords to the OPLOT command (e.g. PSYM, YRANGE) are also 
     accepted by OPLOTERROR via the _EXTRA facility.

 NOTES:
     If only two parameters are input, they are taken as Y and YERR.  If only
     three parameters are input, they will be taken as X, Y and YERR, 
     respectively.

 CALLS: ***
	FREBIN
 CALLED BY:
	ATV
 EXAMPLE:
      Suppose one has X and Y vectors with associated errors XERR and YERR
      and that a plotting system has already been defined:

       (1) Overplot Y vs. X with both X and Y errors and no lines connecting
           the points
                  IDL> oploterror, x, y, xerr, yerr, psym=3

       (2) Like (1) but overplot only the Y errors bars and omits "hats"
                  IDL> oploterror, x, y, yerr, psym=3, /NOHAT

       (3) Like (2) but suppose one has a positive error vector YERR1, and 
               a negative error vector YERR2 (asymmetric error bars)
                  IDL> oploterror, x, y, yerr1, psym=3, /NOHAT,/HIBAR
                  IDL> oploterror, x, y, yerr2, psym=3, /NOHAT,/LOBAR

 PROCEDURE:
      A plot of X versus Y with error bars drawn from Y - YERR to Y + YERR
      and optionally from X - XERR to X + XERR is written to the output device

 WARNING:
      This an enhanced version of the procedure OPLOTERR in the standard RSI
      library.    It was renamed to OPLOTERROR in June 1998 in the IDL 
      Astronomy library.

 MODIFICATION HISTORY:
      Adapted from the most recent version of PLOTERR.  M. R. Greason,
            Hughes STX, 11 August 1992.
      Added COLOR keyword option to error bars W. Landsman   November 1993
      Add ERRCOLOR, use _EXTRA keyword,           W. Landsman, July 1995
      Remove spurious call to PLOT_KEYWORDS     W. Landsman, August 1995
      OPLOT more than 32767 error bars          W. Landsman, Feb 1996
      Added NSKIP keyword                       W. Landsman, Dec 1996
      Added HIBAR and LOBAR keywords, M. Buie, Lowell Obs., Feb 1998
      Rename to OPLOTERROR    W. Landsman    June 1998
      Converted to IDL V5.0   W. Landsman    June 1998
      Ignore !P.PSYM when drawing error bars   W. Landsman   Jan 1999
      Handle NSUM keyword correctly           W. Landsman    Aug 1999
      Check limits for logarithmic axes       W. Landsman    Nov. 1999
      Work in the presence of  NAN values     W. Landsman    Dec 2000
      Improve logic when NSUM or !P.NSUM is set  W. Landsman      Jan 2001
      Remove NSUM keyword from PLOTS call    W. Landsman      March 2001
      Only draw error bars with in XRANGE (for speed)  W. Landsman Jan 2002
      Fix Jan 2002 update to work with log plots  W. Landsman Jun 2002
      Added STRICT_EXTRA keyword   W. Landsman     July 2005


ORDINAL $SSW/gen/idl_libs/astron/misc/ordinal.pro
[Previous] [Next]
 NAME:
	ORDINAL
 PURPOSE:
	Convert an integer to a correct English ordinal string:
 EXPLANATION:
	The first four ordinal strings are "1st", "2nd", "3rd", "4th" ....

 CALLING SEQUENCE:
	result = ordinal( num )

 INPUT PARAMETERS:
	num = number to be made an ordinal.  If float, will be FIXed.

 OUTPUT PARAMETERS:
	result = string such as '1st' '3rd' '164th' '87th', etc.

 MODIFICATION HISTORY:  
	Written by R. S. Hill, STX, 8 Aug. 1991
	Converted to IDL V5.0   W. Landsman   September 1997


ORIENT_MARK $SSW/gen/idl/image_tool/orient_mark.pro
[Previous] [Next]
 PROJECT:
       SOHO - CDS

 NAME:
       ORIENT_MARK

 PURPOSE:
       Plot orientation mark over the display

 EXPLANATION:

 CALLING SEQUENCE:
       orient_mark, csi=csi

 INPUTS:
       CSI - Coordinate System Info structure

 OPTIONAL INPUTS:
       None.

 OUTPUTS:
       None.

 OPTIONAL OUTPUTS:
       None.

 KEYWORD PARAMETERS:
       COLOR - Index of color to be used for plotting; defaults to
               !d.n_colors-1 

 CALLS:
	None.
 CALLED BY:
	EIS_IMAGE_TOOL [1], EIS_IMAGE_TOOL [2], EIS_IMAGE_TOOL_EVENT [1]
	EIS_IMAGE_TOOL_EVENT [2], IMAGE_TOOL, IMAGE_TOOL_EVENT
 COMMON BLOCKS:
       None.

 RESTRICTIONS:
       None.

 SIDE EFFECTS:
       None.

 CATEGORY:

 PREVIOUS HISTORY:
       Written May 30, 1995, Liyun Wang, NASA/GSFC

 MODIFICATION HISTORY:
       Version 1, created, Liyun Wang, NASA/GSFC, May 30, 1995
       Version 2, April 1, 1996, Liyun Wang, NASA/GSFC
          Added COLOR keyword
       Version 3, August 14, 1997, Liyun Wang, NASA/GSFC
          Made the mark independent from scaling factor
	Version 4, William Thompson, GSFC, 8 April 1998
		Changed !D.N_COLORS to !D.TABLE_SIZE for 24-bit displays

 VERSION:
	Version 4, 8 April 1998


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

 Name        :	OS_FAMILY()

 Purpose     :	Return current operating system as in !VERSION.OS_FAMILY

 Category    :	Utilities, Operating_system

 Explanation :	Return the current operating system as in !VERSION.OS_FAMILY

	OS_FAMILY is assumed to be 'unix' if !VERSION.OS is not 'windows',
		'MacOS' or 'vms'

	To make procedures from IDL V4.0 and later compatibile with earlier
	versions of IDL, replace calls to !VERSION.OS_FAMILY with OS_FAMILY().

	Can also be used to replace calls to !VERSION.OS if care is taken with
	the change of case between 'Windows', which is what this routine
	returns, and 'windows' which is what !VERSION.OS returned in versions
	of IDL prior to 4.0.

 Syntax      :	Result = OS_FAMILY()

 CALLS: ***
	HAVE_TAG
 CALLED BY:
	ALLOW_FONT, ALLOW_SOCKETS, CDSHEADFITS, CONVERT_2_STREAM, DOC_MENU
	EIS_GET_HDR [1], EIS_GET_HDR [2], EIT_COPY, ESPAWN, EXIST_JOB, FILE2FID, FILE_COPY2
	FIND_FILE, FITS__DEFINE, FLUSH_CATALOG, FS_OPEN [1], FTP__DEFINE, GAP_FILE
	GET_ENVIRON, GET_GZIP, GET_HOSTNAME, GET_HXP, GET_LATEST_IAP, GET_LATEST_KAP
	GET_LIB, GET_NOAA, GET_ORBIT [1], GET_ORBIT [2], GET_PID, GET_PROC, GET_SC_ATT [1]
	GET_USER_ID, GRS_EXTRACT, HAVE_EXE, HESSI_DATA_PATHS [1], HESSI_DATA_PATHS [2]
	HXRS__DEFINE, IDL5TO4, IMAGE_TOOL, IS_BATCH, IS_DIR2, IS_LINK, ITOOL_PKFILE_BS
	KILL_JOB, LIST_DIR, LIST_FILE, LIST_PRINTER, LOC_FILE [2], MDI_COPY, MDI_GBO
	MDI_LATEST, MKLOG, MK_DFONT, MK_FILE, MK_LINK, MK_SOHO_TARGET, MK_TEMP_DIR, MRD_HEAD
	PLOT_ANGC [1], PLOT_ANGC [2], PLOT_GD, PRG_DETAIL, PRG_PLAN, PROGMETER, RD_ASCII [1]
	READSUM, READ_FULL_ATT, READ_SC_ATT, REMOVE_PATH, SCANPATH, SELECT_WINDOWS
	SEND_MAIL, SEND_PRINT, SET_X [1], SET_X [2], SHRINK_SUMER_FITS, SSW_LOCAL_PATH
	UNIX_SPAWN, UPDATE_KAP, UPDATE_MM, WHERE_NEGZERO [1], WHERE_NEGZERO [2], WHICH
	WIN_SPAWN, WRITE_MONTH_CAT, WSHOW2, XDEVICE, XDIFF, XPS_SETUP, XSEL_PRINTER
	cw_edroplist, dir_since, files_since [1], files_since [2], go_ssw_batch, gzip
	hessi_setup_info, hessi_version, hsi_gbo, hsi_ui_flarecat, is_winnt, killold [1]
	killold [2], make_mirror, mdi_link, netscape_control, password_info
	path_delimiter, plotman_conf_panels, plotman_widget, print2d_plot, read_dd
	setup_spex [1], setup_spex [2], ssw_bin, ssw_instr_info, ssw_javamovie
	ssw_upgrade [1], ssw_upgrade [2], synop_link, text_output, uncompress, xpickfile2
	xsel_list_multi
 Examples    :	IF OS_FAMILY() EQ 'vms' THEN ...

 Inputs      :	None.

 Outputs     :	The result of the function is a scalar string containing one of
		the four values 'Windows','MacOS','vms' or 'unix'

 Opt. Outputs:	None.

 Keywords    :	LOWER - set to return lowercase strings
               NAME - return OS_NAME (if available)

 Prev. Hist. :	Written,  W. Landsman

 History     :	Version 1, 29-Aug-1995, William Thompson, GSFC
			Incorporated into CDS library
               Version 2, 15 May 2000, Zarro (SM&A/GSFC) - added /LOWER
         
               Version 3, 22-Dec-2002, Zarro (EER/GSFC) - saved result in
                        common block for speed
               Modifed, 2-June-2006, Zarro (L-3Com/GSFC) - removed
                        COMMON and added NAME keyword

 Contact     :	WTHOMPSON


OSRA__DEFINE $SSW/gen/idl/synoptic/osra__define.pro
[Previous] [Next]
 Project     : HESSI

 Name        : OSRA__DEFINE

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

 Category    : Ancillary GBO Synoptic Objects

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

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

 Contact     : dzarro@solar.stanford.edu


OUTPLOT [1] $SSW/gen/idl/utplot/outplot.pro
[Previous] [Next]
 NAME:
	OUTPLOT
 PURPOSE:
	Plot vector data over a previously drawn plot (using UTPLOT) with
	universal time labelled X axis.  If start and end times have been
	set, only data between those times is displayed.
 CATEGORY:
 CALLING SEQUENCE:
	OUTPLOT,X,Y
	OUTPLOT,X,Y, base_time
 INPUTS:
       X -     X array to plot in seconds relative to base time.
               (MDM) Structures allowed
       Y -     Y array to plot.
	base_time - reference time, formerly called...
       	xst or utstring.  It's purpose is to fully define the time
		in the input parameter, x0.  The start of the plot is fully
		defined by utbase and xst, both in utcommon and the two are identical
		after a call to Utplot.  When x0 is passed as a double precision
		vector, it is assumed to be relative to utbase.  Any other form
		for the time should be complete.  
		This parameter should only be used for seconds arrays relative to
		a base other than Utbase, the base just used for plotting.
 OUTPUTS:
	None.
 OPTIONAL OUTPUT PARAMETERS:
	None.
 CALLS: ***
	Ex2Int [1], Ex2Int [2], FCHECK, anytim2ex [1], anytim2ex [2], int2secarr [1]
	int2secarr [2]
 CALLED BY:
	AR_SPECTRUM, BCS_24HR_PLOT [1], BCS_24HR_PLOT [3], BORN_AGAIN, CHECK_SFC_PNT
	COMPUTE_MONEXP_POLY, ECLIPSE_PLOTTER, EPLOT, FLAREMETER, GOES_SAFE, GOES_TEK [1]
	HSI_DO_QLOOK_PLOTS, HXT_AUTOIMG, HXT_BACK, HXT_LCURVE, HXT_SUMMER, NEUPERT_PLOT
	NIS_BIAS_DEMO, NOV93_ECLIPSE, NOV_ECLIPSE, OBS_PLOT, OPLOT_ERR
	OVSA_EXPLORER formerly OVSA_PRESUB, OVSA_PRESUB, PLOT_ALL [3], PLOT_ASC
	PLOT_BSC [1], PLOT_BSC [2], PLOT_CDS_CRAYS, PLOT_ERR, PLOT_GCPARM, PLOT_HT
	PLOT_SUBHTR, Plot, QUICKDARK [2], QUICKSTRAY [2], QUICK_DPE, ROLL_PLOT
	SPARTAN_PLANNER, SPLINE_PLOT, SYNOPTIC_STATS, Sxt_goes_teem, TERM_QUICK
	TERM_REVIEW, TERM_REVIEW_GIF, TV_SYNOP, UTERRPLOT [1], UTERRPLOT [2]
	UTPLOT__DEFINE, WPLOT_NONOP, WPLOT_SUBHTR [2], W_HISTOGRAM, XPLOT_HT
	auto_bck_find, auto_bck_find0, avsig_temp, box_lc_plot, cal_fig_mich, fit_bsc_plot
	goes_teem, goes_widget, goesem_eqn [1], goest_eqn [1], gr_summary_plot, grs32_fsp
	grsl_fsp, high_mag_lat, hsi_obs_times, hxs_fsp, hxsgrs_fsp, hxt_fsp, hxt_utplot
	jitter_gif_xyimg, lcbsd, lcur_plot [1], lcur_plot [2], mwlt_select, oplot_nts
	plot_ace, plot_door_open, plot_goes_ospex, plot_goesp, plot_loi_summary [1]
	plot_loi_summary [2], plot_ssl, plot_ssw_fov, plot_sxg, plot_sxl [1], plot_sxl [2]
	psk_correlate, ref_day_plot, res_freq, tim2tfss
 COMMON BLOCKS:
	None.
 SIDE EFFECTS:
	Overlays X vs Y plot on existing plot.
 RESTRICTIONS:
	Can only be used after issuing UTPLOT command.
 PROCEDURE:
	If UTSTRING parameter is passed, a temporary X array is created 
	containing the original X array offset by the new base
	time minus the old base time (used in UTPLOT command).  OPLOT is 
	called to plot the temporary X vs Y.
 MODIFICATION HISTORY:
	Written by Kim Tolbert 4/88
	Modified for IDL VERSION 2 by Richard Schwartz, Feb. 1991
	21-Mar-92 (MDM) - Adjusted for YOHKOH spacecraft use - allowed 
			  input variable to be a structure
			- Added multiple keyword options (old version
			  only took x and y)
	28-Apr-92 (MDM) - "SYMSIZE" was not being implemented
	23-Oct-92 (MDM) - IDL Ver 2.4.0 does not accept /DEV, /NORM, or /DATA
			  for the OPLOT command any more
	5-jan-94 ras    - incorporated t_utplot for preparation of x array
	Version 7, richard.schwartz@gsfc.nasa.gov, protect against non-scalar values
	of XST coming out of t_utplot.  16-mar-1998.


OUTPLOT [2] $SSW/gen/idl_fix/soft/old240/outplot.pro
[Previous] [Next]
 NAME:
	OUTPLOT
 PURPOSE:
	Plot vector data over a previously drawn plot (using UTPLOT) with
	universal time labelled X axis.  If start and end times have been
	set, only data between those times is displayed.
 CATEGORY:
 CALLING SEQUENCE:
	OUTPLOT,X,Y
	OUTPLOT,X,Y,'UTSTRING'
 INPUTS:
       X -     X array to plot in seconds relative to base time.
               (MDM) Structures allowed
       Y -     Y array to plot.
       xst -   Optional. The reference time to use for converting a structure
               into a seconds array. 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 no the same as that used by
		the UTPLOT base time.
 OPTIONAL INPUT PARAMETERS:
	UTSTRING = ASCII string containing base time of data to be be overlaid.
	If present, it is used as base time for this data, but UTBASE variable
	in common is not changed.  If not present, last base time set is used.
 OUTPUTS:
	None.
 OPTIONAL OUTPUT PARAMETERS:
	None.
 CALLS: ***
	Ex2Int [1], Ex2Int [2], FCHECK, anytim2ex [1], anytim2ex [2], int2secarr [1]
	int2secarr [2]
 CALLED BY:
	AR_SPECTRUM, BCS_24HR_PLOT [1], BCS_24HR_PLOT [3], BORN_AGAIN, CHECK_SFC_PNT
	COMPUTE_MONEXP_POLY, ECLIPSE_PLOTTER, EPLOT, FLAREMETER, GOES_SAFE, GOES_TEK [1]
	HSI_DO_QLOOK_PLOTS, HXT_AUTOIMG, HXT_BACK, HXT_LCURVE, HXT_SUMMER, NEUPERT_PLOT
	NIS_BIAS_DEMO, NOV93_ECLIPSE, NOV_ECLIPSE, OBS_PLOT, OPLOT_ERR
	OVSA_EXPLORER formerly OVSA_PRESUB, OVSA_PRESUB, PLOT_ALL [3], PLOT_ASC
	PLOT_BSC [1], PLOT_BSC [2], PLOT_CDS_CRAYS, PLOT_ERR, PLOT_GCPARM, PLOT_HT
	PLOT_SUBHTR, Plot, QUICKDARK [2], QUICKSTRAY [2], QUICK_DPE, ROLL_PLOT
	SPARTAN_PLANNER, SPLINE_PLOT, SYNOPTIC_STATS, Sxt_goes_teem, TERM_QUICK
	TERM_REVIEW, TERM_REVIEW_GIF, TV_SYNOP, UTERRPLOT [1], UTERRPLOT [2]
	UTPLOT__DEFINE, WPLOT_NONOP, WPLOT_SUBHTR [2], W_HISTOGRAM, XPLOT_HT
	auto_bck_find, auto_bck_find0, avsig_temp, box_lc_plot, cal_fig_mich, fit_bsc_plot
	goes_teem, goes_widget, goesem_eqn [1], goest_eqn [1], gr_summary_plot, grs32_fsp
	grsl_fsp, high_mag_lat, hsi_obs_times, hxs_fsp, hxsgrs_fsp, hxt_fsp, hxt_utplot
	jitter_gif_xyimg, lcbsd, lcur_plot [1], lcur_plot [2], mwlt_select, oplot_nts
	plot_ace, plot_door_open, plot_goes_ospex, plot_goesp, plot_loi_summary [1]
	plot_loi_summary [2], plot_ssl, plot_ssw_fov, plot_sxg, plot_sxl [1], plot_sxl [2]
	psk_correlate, ref_day_plot, res_freq, tim2tfss
 COMMON BLOCKS:
	None.
 SIDE EFFECTS:
	Overlays X vs Y plot on existing plot.
 RESTRICTIONS:
	Can only be used after issuing UTPLOT command.
 PROCEDURE:
	If UTSTRING parameter is passed, a temporary X array is created 
	containing the original X array offset by the new base
	time minus the old base time (used in UTPLOT command).  OPLOT is 
	called to plot the temporary X vs Y.
 MODIFICATION HISTORY:
	Written by Kim Tolbert 4/88
	Modified for IDL VERSION 2 by Richard Schwartz, Feb. 1991
	21-Mar-92 (MDM) - Adjusted for YOHKOH spacecraft use - allowed 
			  input variable to be a structure
			- Added multiple keyword options (old version
			  only took x and y)
	28-Apr-92 (MDM) - "SYMSIZE" was not being implemented
	23-Oct-92 (MDM) - IDL Ver 2.4.0 does not accept /DEV, /NORM, or /DATA
			  for the OPLOT command any more


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

 Category: HESSI, UTIL

 Purpose: Update FITS header by overwriting with keyword values from second
 	input header.  Only keywords found in the first header are looked for in
 	the second, so any keywords found in the second but not the first will
 	not be integrated into the first.

 Calling sequence: new_hdr = overwrt_fits_hdr( my_hdr, hdr2merge )

 Inputs:
 	master - FITS header for updating / merging.
 	input - FITS header with keyword values to overwrite those found in master

 Outputs:
 	merged header

 Input keywords:

 Output keywords:
 	ERR_MSG = error message.  Null if no error occurred.
 	ERR_CODE - 0/1 if [ no error / an error ] occurred during execution.

 Calls: ***
	FXADDPAR [1], FXADDPAR [2], FXPAR [1], FXPAR [2]


OVSA_LTC_DEFINE $SSW/gen/idl/synoptic/ovsa_ltc__define.pro
[Previous] [Next]
 Project     : HESSI

 Name        : OVSA_LTC_DEFINE

 Purpose     : Define an OVVSA lightcurve data object

 Category    : Ancillary GBO Synoptic Objects

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

 CALLS: ***
	ALLOW_WINDOWS, ANYTIM2UTC [1], ANYTIM2UTC [2], EXIST, GET_UTC, IS_BLANK, IS_STRING
	OVSA_LTC::ACCEPT, OVSA_LTC::ANT, OVSA_LTC::CHECK_ANTENNA, OVSA_LTC::CLEANUP
	OVSA_LTC::GET_FILE, OVSA_LTC::GET_SDIR, OVSA_LTC::HAS_DATA, OVSA_LTC::INIT
	OVSA_LTC::OPTIONS, OVSA_LTC::PLOT, OVSA_LTC::READ, OVSA_LTC::SELECT
	OVSA_LTC::SET, OVSA_LTC::SETPROP, OVSA_LTC::SET_FILE, OVSA_LTC::SYNOP
	OVSA_LTC__DEFINE, STR_FORMAT, TRIM, TRIM2, WIDGET_MBASE, XKILL, XMANAGER, XREALIZE
	is_number [1], is_number [2], is_struct
 History     : Written 22 May 2000, D. Zarro, SM&A/GSFC

 Contact     : dzarro@solar.stanford.edu