AAAREADME $SSW/soho/lasco/idl/cme/AAAREADME.pro
[Next]
There are several "main" programs that may be useful to calculate the
mass or electron density (columnar) in CMEs.  The mass of a CME is
computed from the excess brightness after having subtracted off the
pre-event brightness.  The technique is to recognize that a single
electron at a certain point in the atmosphere will scatter a known
amount of the solar disk intensity.  Then by knowing the observed
intensity, and by assuming that all of the mass is in a single
volume element, we can compute the number of electrons. Then
assuming charge neutrality, the mass can be computed.

The various procedures that can be used to compute electron density
or mass are:

C3_CME:
	A function to calibrate C3 images and calculate the mass of a CME
	given the base and cme image.

C3_CME_FRONT:
	A function to calibrate C3 images and to calculate the mass of the
	CME front.

C3_MASSIMG:
	A function to calibrate C3 images and calculates the mass of a CME.
	The output is a file that is a mass (or electron density image).

CME_MASSIMG2TOTAL:
	This function allows you to specify the area of features for which
	to calculate the mass of a CME from mass images.

rah 3/26/99


ABBRV_FILPOL $SSW/soho/lasco/idl/util/abbrv_filpol.pro
[Previous] [Next]
 NAME:
	ABBRV_FILPOL

 PURPOSE:
	This function returns an abbreviated code for the filter
	and polarizer/sector wheels.

 CATEGORY:
	UTIL

 CALLING SEQUENCE:
	Result = ABBRV_FILPOL(Filter)

 INPUTS:
	Filter = String giving the filter or polarizer/sector value

 OPTIONAL INPUTS:
	None

 OUTPUTS:
	The function result is a string containing the code for the filter
	wheel or the polarizer wheel.  Each wheel posisiton is a two
	character string.

 CALLED BY:
	COMB_FULL_EQ, GETBKGIMG, MK_DAILY_C1_MED, MK_DAILY_MED, MK_DAILY_MIN
 PROCEDURE:
	The wheel position is decoded and converted to a 2 character string.

 EXAMPLE:

 MODIFICATION HISTORY:
	Written, RA Howard, NRL, 7 October 1996
	15 Oct 96	RAH	Added removing whitespace from filter
				Corrected filter/polarizer/sector cases

       @(#)abbrv_filpol.pro	1.3 10/15/96     LASCO IDL LIBRARY


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

 NAME:
       ACIMGC()

 PURPOSE: 
       returns accumulative image counter

 CATEGORY:
       
 
 EXPLANATION:
       
 SYNTAX: 
       Result = acimgc()

 EXAMPLES:
       
 INPUTS:
       header - BYTARR(92) of Image Header

 OPTIONAL INPUTS: 
       None.

 OUTPUTS:
       None.

 OPTIONAL OUTPUTS:
       None.

 KEYWORDS: 
       None.

 COMMON:
       None.

 RESTRICTIONS: 
       None.

 SIDE EFFECTS:
       None.

 HISTORY:
       Version 1, October 7, 1996, Dietmar Germerott, MAPE Lindau. Written

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


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

 Name        :	ADD_ALT()

 Purpose     :	Adds a CDS alternate science plan record to the database

 Explanation :	This procedure takes a CDS alternate science plan entry and
		adds it to the database "sci_alt".  This database contains a
		series of such entries, making a historical list.

 Use         :	Result = ADD_ALT( DEF )

		IF NOT ADD_ALT( DEF ) THEN ...

 Inputs      :	DEF = This is an anonymous structure containing the following
		      tags:

			PROG_ID	   = Program ID, linking one or more studies
				     together
			STUDY_ID   = Number defining the study
			STUDYVAR   = Number giving the study variation ID
			SCI_OBJ    = Science objective from the daily science
				     meeting
			SCI_SPEC   = Specific science objective from meeting
			CMP_NO	   = Campaign number
			OBJECT	   = Code for object planned to be observed
			OBJ_ID	   = Object identification
			START_TIME = Date/time of beginning of alternate plan,
				     in TAI format
			END_TIME   = Date/time of end of alternate plan, in
				     TAI format
			ORIG_DUR   = Original duration of the observation, in
				     seconds, before being truncated by
				     following time-tagged observations.
			N_RASTERS1 = Variable number of rasters parameter
			TRACKING   = True (1) if feature tracking to be used,
				     or false (0) otherwise
			N_POINTINGS= Number of pointings to use with study
			N_REPEAT_S = Number of times to repeat study
			GSET_ID	   = GSET ID number
			GET_RAW	   = True if raw data should be collected.

		      If N_POINTINGS is greater than 0, then there will be the
		      additional tag POINTINGS.  This is an array of pointing
		      positions.  It itself is a structure, of type
		      PLAN_PNT_STRUC, with the following tags:

			INS_X	   = Pointing in X relative to sun center
			INS_Y	   = Pointing in Y relative to sun center
			ZONE_ID	   = Pointing zone ID

		      DEF is also allowed to be an array of such structures.
		      In such a case, the substructure POINTINGS will be
		      dimensioned based on the largest value of N_POINTINGS.

 Opt. Inputs :	None.

 Outputs     :	The result of the function is a logical value representing
		whether or not the operation was successful, where 1 is
		successful and 0 is unsuccessful.

 Opt. Outputs:	None.

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

                       ERRMSG = ''
                       Result = ADD_ALT( ERRMSG=ERRMSG, ... )
                       IF ERRMSG NE '' THEN ...


 Calls       : ***
	DATATYPE [1], DATATYPE [2], DATATYPE [3], DBBUILD [1], DBBUILD [2], DBBUILD [3]
	DBCLOSE [1], DBCLOSE [2], DBCLOSE [3], DBEXT [1], DBEXT [2], DBEXT [3], DBEXT [4]
	DBFIND [1], DBFIND [2], DBFIND [3], DBOPEN [1], DBOPEN [2], DBOPEN [3], GET_CAMPAIGN
	GET_F_RASTER, GET_GSET, GET_OBJECT, GET_PROGRAM, GET_STUDY, TAI2UTC, TRIM, UNIQ [1]
	UNIQ [2], UNIQ [3]
 CALLED BY:
	MOD_ALT
 Common      :	None.

 Restrictions:	Only this routine or DEL_ALT can be used to add or delete
		alternate plan descriptions to or from the database.  Modifying
		the database by hand could corrupt its integrity.

		The data types and sizes of the structure elements must match
		the definitions in the database.

		!PRIV must be 2 or greater to use this routine.

 Side effects:	The dates in the structure are rounded off to millisecond
		accuracy.

 Category    :	Planning, Databases.

 Prev. Hist. :	None.

 Written     :	William Thompson, GSFC, 9 May 1995

 Modified    :	Version 1, William Thompson, GSFC, 9 May 1995
		Version 2, William Thompson, GSFC, 29 June 1995
			Changed so that times in structure are rounded off to
			millisecond accuracy.
		Version 3, William Thompson, GSFC, 31 August 1995
			Allow DEF to be an array
		Version 4, William Thompson, GSFC, 28 September 1995
			Added tags ORIG_DUR, GSET_ID, GET_RAW
		Version 5, William Thompson, GSFC, 11 December 1995
			Check validity of GSET_ID when using GIS.

 Version     :	Version 5, 11 December 1995


ADD_ANOMALY $SSW/soho/gen/idl/util/add_anomaly.pro
[Previous] [Next]
 Project     :	SOHO - CDS

 Name        :	ADD_ANOMALY()

 Purpose     :	Adds a SOHO anomaly to the database

 Explanation :	

 Syntax      :	Result = ADD_ANOMALY( DEF )

		IF NOT ADD_ANOMALY( DEF ) THEN ...

 Inputs      :	DEF = This is an anonymous structure containing
		      tags defined by DEF_ANOMALY

 Opt. Inputs :	None.

 Outputs     :	The result of the function is a logical value representing
		whether or not the operation was successful, where 1 is
		successful and 0 is unsuccessful.

 Opt. Outputs:	None.

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

                       ERRMSG = ''
                       Result = ADD_ANOMALY( ERRMSG=ERRMSG, ... )
                       IF ERRMSG NE '' THEN ...


 CALLS: ***
	CONCAT_DIR [1], CONCAT_DIR [2], CONCAT_DIR [3], DATATYPE [1], DATATYPE [2]
	DATATYPE [3], DBBUILD [1], DBBUILD [2], DBBUILD [3], DBCLOSE [1], DBCLOSE [2]
	DBCLOSE [3], DBEXT [1], DBEXT [2], DBEXT [3], DBEXT [4], DBFIND [1], DBFIND [2]
	DBFIND [3], DBOPEN [1], DBOPEN [2], DBOPEN [3], DBUPDATE [1], DBUPDATE [2]
	DBUPDATE [3], DBUPDATE [4], DB_INFO [1], DB_INFO [2], DB_INFO [3], GET_ANOMALY
	GET_SOHO_INST, MATCH_STRUCT, TEST_OPEN, concat_dir [4]
 CALLED BY:
	WRITE_ANOMALY, XREPORT_EDIT
 Common      :	None.

 Restrictions:	!PRIV must be 2 or greater to use this routine.

 Side effects:	If input ANOMALY ID is already in DB, then input
               anomaly will replace current entry, otherwise it
               will be added with a new ID.

 Category    :	Planning, Databases.

 Prev. Hist. :	None.

 Written     :	Dominic Zarro, ARC/GSFC, 20 January 1996

 Version     :	Version 1


ADD_CAMPAIGN $SSW/soho/gen/idl/plan/database/add_campaign.pro
[Previous] [Next]
 PROJECT:
       SOHO - CDS

 NAME:
       ADD_CAMPAIGN()

 PURPOSE:
       Adds a CDS campaign record to the database

 CATEGORY:
       Planning, Databases

 EXPLANATION:
       This procedure takes a CDS campaign entry and adds it to the
       database table CAMPAIGN.  This database contains a series of such
       entries, making a historical list.

 SYNTAX:
       Result = add_campaign(DEF)

 INPUTS:
       DEF = This is an anonymous structure containing the following tags:

             CMP_NO   = Unique identifier number.  If no matches
                        are found, then a simpler structure is
                        returned with this set to -1.
             CMP_NAME = Name of the campaign.
	      CMP_TYPE = Campaign type, e.g. JOP, Intercal, etc.
             CMP_DESC = Up to five lines of text (400 characters)
                        describing the campaign.
             DATE_OBS = Starting date for the observing campaign
             DATE_END = Ending data for the campaign
             OBSERVER = Observer in overall charge of the campaign
	      COMMENT  = A comment associated with the campaign
	      INSTITUTES = Structure containing information about the
			 institutes involved, with the following tags:

			INSTITUT = The name of the institute.
			OBSERVER = The name of the observer at that institute


 OPTIONAL INPUTS:
       None.

 OUTPUTS:
 	The result of the function is a logical value representing
       whether or not the operation was successful, where 1 is
	successful and 0 is unsuccessful.

 OPTIONAL OUTPUTS:
       None.

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

                       ERRMSG = ''
                       Result = ADD_CAMPAIGN( ERRMSG=ERRMSG, ... )
                       IF ERRMSG NE '' THEN ...

 CALLS: ***
	DATATYPE [1], DATATYPE [2], DATATYPE [3], DBBUILD [1], DBBUILD [2], DBBUILD [3]
	DBCLOSE [1], DBCLOSE [2], DBCLOSE [3], DBOPEN [1], DBOPEN [2], DBOPEN [3], TRIM
	TRIM_CAMPAIGN
 CALLED BY:
	UPDATE_CAMPAIGN
 COMMON:
       None.

 RESTRICTIONS:
 	Only this routine and MOD_CAMPAIGN can be used to add or update
	SOHO campaigns to or from the database.
	Modifying the database by hand could corrupt its integrity.

	The data types and sizes of the structure elements must match
	the definitions in the database.

 SIDE EFFECTS:
	The dates in the structure are rounded off to millisecond
	accuracy.

 HISTORY:
       Version 1, 10-Sep-1996, William Thompson, GSFC
		Converted from SUMER version by Liyun Wang
	Version 2, 23-Sep-1996, William Thompson, GSFC
		Added campaign type, changed string lengths.
	Version 3, 22-Nov-1996, Zarro, GSFC
		Added call to TRIM_CAMPAIGN

 CONTACT:
       WTHOMPSON


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

 Name        :	ADD_CDS_POINT

 Purpose     :	Adds a pointing calibration curve to database

 Category    :	CDS, Calibration, Class3

 Explanation :	This routine adds a functional expression representing the CDS
		pointing as a function of OPS position to the database.

 Syntax      :	ADD_CDS_POINT, DATE_EFF, EQ_NUM, COEFF

 Examples    :	ADD_CDS_POINT, '1995/12/02', 'N2', [4.81,-0.0068]

 Inputs      :	DATE_EFF = The date, and optionally time, that the curve
			   becomes effective.  In other words, the calibration
			   curve should be applied to all science data taken on
			   or after that date.  Can be in any CDS time format.

			   The current date is also stored along with the data.
			   When the database is read in, the most current
			   version for a given date is used.

			   For example, if there were two values of DATE_EFF in
			   the database,

				DATE_EFF = 1995/12/02
				DATE_EFF = 1996/09/16

			   then the first would be used for all data taken
			   between 1995/12/02 and 1996/09/16, and the second
			   would be used for all data from 1996/09/16 on.  If
			   there was more than one entry in the database with
			   an effective date of 1996/09/16, then the most
			   recent one would be used.

			   There is one thing to watch out for in maintaining
			   the database.  Taking the above example, if one
			   added a calibration with an effective date of
			   1996/05/01, then it would be applied to data between
			   that date and the next date in the database,
			   i.e. 1996/09/16.  If one wanted the new calibration
			   to apply to all data after 1996/05/01, then one
			   would have to also add a new entry for 1996/09/16.

		EQ_NUM	 = An identification number for the equation format
			   being used.  See the documention for GET_CDS_POINT
			   for a discussion of what the various possible
			   equations are.

		COEFF	 = The coefficients of a function giving the pointing
			   calibration curve, expressed as a function of OPS
			   positions.  Can have up to 10 elements.

 Opt. Inputs :	None.

 Outputs     :	None.

 Opt. Outputs:	None.

 Keywords    :	None.

 Calls       : ***
	ANYTIM2TAI, DBBUILD [1], DBBUILD [2], DBBUILD [3], DBCLOSE [1], DBCLOSE [2]
	DBCLOSE [3], DBOPEN [1], DBOPEN [2], DBOPEN [3], GET_UTC, PRIV_ZDBASE, UTC2TAI
 Common      :	None.

 Restrictions:	None.

 Side effects:	None.

 Prev. Hist. :	None.

 History     :	Version 1, 25-Sep-1996, William Thompson, GSFC

 Contact     :	WTHOMPSON


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

 Name        :	ADD_DATAWIN()

 Purpose     :	Adds a data window list definition to the database

 Explanation :	This procedure takes a data extraction window list definition
		and adds it to the data window list databases "datawin" and
		"datawin2".  The ID number for the data window list is
		assigned.

 Use         :	Result = ADD_DATAWIN( DEF )

		IF NOT ADD_DATAWIN( DEF ) THEN ...

 Inputs      :	DEF = This is an anonymous structure containing the following
		      tags:

			DW_ID	 = Data window list ID number.  Initially, this
				   is zero.  It is updated by this routine to
				   reflect the ID number in the database.
			DETECTOR = Either "G" for GIS or "N" for NIS.
			DW_DESC	 = A short description of the data window list
				   beyond what is given in the associated line
				   list description, e.g. "Full slit, 10 pixels
				   wide".  Can be up to 65 characters.
			W_WIDTH  = Width in pixels used to generate the
				   windows.
			W_HEIGHT = The height in pixels used to generate the
				   windows.  VDS only, for GIS this is set to
				   unity.
			VDS_BACK = Either 0 for off, or 1 for on,
				   representing whether or not VDS background
				   windows are being used.  For GIS window
				   lists this must be 0.  If VDS_BACK is 1,
				   then at least one of the window names must
				   start with the characters "BACK" (case
				   insensitive).
			LL_ID	 = The line list ID number for the line list
				   that this window list was derived from.  An
				   appropriate entry must exist in the line
				   list database.  Alternatively, this can be
				   set to zero to signal that the data window
				   list is not connected to a line list.
			WINS	 = An array containing the window definitions.

		      The window definitions themselves are structures, of type
		      "cds_windows", with the following tags:

			WIN_NAME = Window name, derived from the line name in
				   the line list database.  Can be up to 40
				   characters.
			WIN_DEF	 = The window definition.  This is four
				   numbers, although GIS window definitions
				   only use two of them.
			WIN_FLAG = Whether or not the window can be used to
				   generate a flag.  Either 0 (false) or 1
				   (true).

 Opt. Inputs :	None.

 Outputs     :	The result of the function is a logical value representing
		whether or not the operation was successful, where 1 is
		successful and 0 is unsuccessful.

		The tag DW_ID in the input structure is updated to reflect
		the ID number assigned in the database.

 Opt. Outputs:	None.

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

                       ERRMSG = ''
                       Result = ADD_DATAWIN( ERRMSG=ERRMSG, ... )
                       IF ERRMSG NE '' THEN ...

	DW_ID	  = If the definition matches one that is already in the
                   database, then this keyword returns the ID of the
                   matching data window list.  Otherwise, a -1 is returned.

	CHECK_ONLY= If this keyword is set, then the routine only checks to see
		    if the proposed entry is valid, but does not attempt to
		    place it in the database.

 Calls       : ***
	CHK_DATAWIN, DATATYPE [1], DATATYPE [2], DATATYPE [3], DBBUILD [1], DBBUILD [2]
	DBBUILD [3], DBCLOSE [1], DBCLOSE [2], DBCLOSE [3], DBDELETE [1], DBDELETE [2]
	DBDELETE [3], DBEXT [1], DBEXT [2], DBEXT [3], DBEXT [4], DBFIND [1], DBFIND [2]
	DBFIND [3], DBMATCH [1], DBMATCH [2], DBMATCH [3], DBOPEN [1], DBOPEN [2]
	DBOPEN [3], DB_INFO [1], DB_INFO [2], DB_INFO [3], GET_LINELIST, NUM2STR
 CALLED BY:
	IMPORT_PLAN, IMPORT_STUDY, TP_WRT_DWIN
 Common      :	None.

 Restrictions:	Only this routine can be used to add window list definitions to
		the database.  Modifying the database by hand could corrupt its
		integrity.

		The data types and sizes of the structure elements must match
		the definitions in the database.  The string lengths must not
		exceed the lengths defined in the database.

		!PRIV must be 2 or greater to use this routine.

 Side effects:	Once a window list definition has been added to the database,
		it must never be removed.

 Category    :	Planning, Databases.

 Prev. Hist. :	None.

 Written     :	William Thompson, GSFC, 31 March 1994

 Modified    :	Version 1, William Thompson, GSFC, 1 August 1994
               Version 2, Liyun Wang, GSFC/ARC, September 21, 1994
                  Added the ERRMSG keyword
		Version 3, William Thompson, GSFC, 24 October 1994
			Changed W_HEIGHT to 1 for GIS data.
               Version 4, Liyun Wang, GSFC/ARC, November 4, 1994
                  CHK_DATAWIN is called to check the existence of the 
                  given data window
		Version 5, William Thompson, GSFC, 8 November 1994
			Added keyword DW_ID
		Version 6, William Thompson, GSFC, 29 December 1994
			Fixed bug when inputs are bytes.
		Version 7, William Thompson, GSFC, 2 March 1995
			Enforce uniqueness for DW_DESC.
			Added keyword CHECK_ONLY.
		Version 8, William Thompson, GSFC, 14 March 1995
			Changed DBFIND to DBMATCH for DW_DESC
		Version 9, William Thompson, GSFC, 15 March 1995
			Changed so that DW_DESC only needs to be unique for a
			given detector.
		Version 10, William Thompson, GSFC, 20 June 1995
			Added tag WIN_FLAG.
		Version 11, Stein Vidar Haugan, UiO, 25 September 1995
			Fixed bug with DBEXT always returning arrays.
		Version 12, William Thompson, GSFC, 16 May 1997
			Allow for possibility of CHK_DATAWIN returning an
			array.

 Version     :	Version 12, 16 May 1997


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

 Name        :	ADD_DETAIL()

 Purpose     :	Adds a CDS detailed science plan record to the database

 Explanation :	This procedure takes a CDS detailed science plan entry and
		adds it to the database "sci_details".  This database contains
		a series of such entries, making a historical list.

 Use         :	Result = ADD_DETAIL( DEF )

		IF NOT ADD_DETAIL( DEF ) THEN ...

 Inputs      :	DEF = This is an anonymous structure containing the following
		      tags:

			PROG_ID	   = Program ID, linking one or more studies
				     together
			STUDY_ID   = Number defining the study
			STUDYVAR   = Number giving the study variation ID
			SCI_OBJ    = Science objective from the daily science
				     meeting
			SCI_SPEC   = Specific science objective from meeting
			CMP_NO	   = Campaign number
			OBJECT	   = Code for object planned to be observed
			OBJ_ID	   = Object identification
			DATE_OBS   = Date/time of beginning of observation,
				     in TAI format
			DATE_END   = Date/time of end of observation, in TAI
				     format
			ORIG_DUR   = Original duration of the observation, in
				     seconds, before being truncated by
				     following time-tagged observations.
			N_RASTERS1 = Variable number of rasters parameter
			TIME_TAGGED= True (1) if the start of the study is to
				     be a time-tagged event.  Otherwise, the
				     study will begin immediately after the
				     previous study.
			TRACKING   = True (1) if feature tracking to be used,
				     or false (0) otherwise
			N_POINTINGS= Number of pointings to use with study.
			N_REPEAT_S = Number of times to repeat study.
			FLAG_MASTER= If 0, then CDS is not flag master.  If a
				     positive integer, then CDS is flag master,
				     and the number represents the scheme used
				     to generate the flag.  Negative numbers
				     mean the same as positive numbers, but the
				     flag is local.
			GSET_ID	   = GSET ID number
			GET_RAW	   = True if raw data should be collected.
			PROG_NUM   = Study counter number (negative is
				     predicted).  This parameter is optional.
				     If omitted, then 0 is assumed.

		      If N_POINTINGS is greater than 0, then there will be the
		      additional tag POINTINGS.  This is an array of pointing
		      positions.  It itself is a structure, of type
		      PLAN_PNT_STRUC, with the following tags:

			INS_X	   = Pointing in X relative to sun center
			INS_Y	   = Pointing in Y relative to sun center
			ZONE_ID	   = Pointing zone ID

		      DEF is also allowed to be an array of such structures.
		      In such a case, the substructure POINTINGS will be
		      dimensioned based on the largest value of N_POINTINGS.

 Opt. Inputs :	None.

 Outputs     :	The result of the function is a logical value representing
		whether or not the operation was successful, where 1 is
		successful and 0 is unsuccessful.

 Opt. Outputs:	None.

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

                       ERRMSG = ''
                       Result = ADD_DETAIL( ERRMSG=ERRMSG, ... )
                       IF ERRMSG NE '' THEN ...

       NOCHECK_DB = if set, inhibit integrity checking of input plan

 Calls       : ***
	DATATYPE [1], DATATYPE [2], DATATYPE [3], DBBUILD [1], DBBUILD [2], DBBUILD [3]
	DBCLOSE [1], DBCLOSE [2], DBCLOSE [3], DBEXT [1], DBEXT [2], DBEXT [3], DBEXT [4]
	DBFIND [1], DBFIND [2], DBFIND [3], DBOPEN [1], DBOPEN [2], DBOPEN [3], GET_CAMPAIGN
	GET_F_RASTER, GET_GSET, GET_OBJECT, GET_PROGRAM, GET_STUDY, TAG_EXIST [1]
	TAG_EXIST [2], TAI2UTC, TRIM, UNIQ [1], UNIQ [2], UNIQ [3]
 CALLED BY:
	IMPORT_PLAN, MOD_DETAIL
 Common      :	None.

 Restrictions:	Only this routine or DEL_DETAIL can be used to add or delete
		science details descriptions to or from the database.
		Modifying the database by hand could corrupt its integrity.

		The data types and sizes of the structure elements must match
		the definitions in the database.

		!PRIV must be 2 or greater to use this routine.

 Side effects:	The dates in the structure are rounded off to millisecond
		accuracy.

 Category    :	Planning, Databases.

 Prev. Hist. :	None.

 Written     :	William Thompson, GSFC, 25 July 1994

 Modified    :	Version 1, William Thompson, GSFC, 3 August 1994
               Version 2, Liyun Wang, GSFC/ARC, September 21, 1994
                  Added the ERRMSG keyword
		Version 3, William Thompson, GSFC, 8 November 1994
			Changed how GET_OBJECT is called
		Version 4, William Thompson, GSFC, 21 November 1994
			Added item N_REPEAT_S
		Version 5, William Thompson, GSFC, 13 December 1994
			Modified to write times out to millisecond accuracy.
		Version 6, William Thompson, GSFC, 20 December 1994
			Changed OBJECT to three characters
		Version 7, William Thompson, GSFC, 13 February 1995
			Changed the way pointing is handled
		Version 8, William Thompson, GSFC, 28 March 1995
			Added tag ZONE_ID
		Version 9, William Thompson, GSFC, 8 May 1995
			Modified to pay attention to DELETED field in database
		Version 10, William Thompson, GSFC, 20 June 1995
			Added tag FLAG_MASTER
		Version 11, William Thompson, GSFC, 29 June 1995
			Changed to round off times to millisecond accuracy in
			the structure.
		Version 12, William Thompson, GSFC, 5 July 1995
			Allow FLAG_MASTER to be any positive or negative
			integer number.
		Version 13, William Thompson, GSFC, 30 August 1995
			Allow DEF to be an array
		Version 14, William Thompson, GSFC, 28 September 1995
			Added tags ORIG_DUR, GSET_ID, GET_RAW
		Version 15, William Thompson, GSFC, 11 December 1995
			Check validity of GSET_ID when using GIS.
		Version 16,  Zarro, GSFC, 10 December 1996
                       Added NOCHECK_DB keyword to turbocharge database
                       updates -- should only be used if integrity checks are
                       have been applied already.
               Version 17, Zarro, GSFC, 16 January 1997
                       Inhibited GET_CAMPAIGN error message for CMP_NO=1
                       since this value is being used by EIT.
		Version 18, 03-Jun-1997, William Thompson, GSFC
			Include PROG_NUM in database writes.
               Version 19, Zarro, GSFC, 7 June 1997
                       Inhibited GET_CAMPAIGN error message for any
                       invalid campaign #. Prevents an entire set of 
                       plans from being rejected when CMP_NO is invalid 
                       in a single entry.

 Version     :	Version 19


ADD_EFF_AREA $SSW/soho/cds/idl/sci/cal/vds/inten/add_eff_area.pro
[Previous] [Next]
 Project     :	SOHO - CDS

 Name        :	ADD_EFF_AREA

 Purpose     :	Adds an effective area curve to database

 Category    :	CDS, Calibration, Class3

 Explanation :	This routine adds an effective area curve as a function of
		mirror position for one of the CDS spectral ranges to the
		database.

 Syntax      :	ADD_EFF_AREA, DATE_EFF, SPECTRUM, EFF_AREA

 Examples    :	ADD_EFF_AREA, '1995/12/02', 'N2', 0.00040

 Inputs      :	DATE_EFF = The date, and optionally time, that the value
			   becomes effective.  In other words, the calibration
			   value should be applied to all science data taken on
			   or after that date.  Can be in any CDS time format.

			   The current date is also stored along with the data.
			   When the database is read in, the most current
			   version for a given date is used.

			   For example, if there were two values of DATE_EFF in
			   the database,

				DATE_EFF = 1995/12/02
				DATE_EFF = 1996/09/16

			   then the first would be used for all data taken
			   between 1995/12/02 and 1996/09/16, and the second
			   would be used for all data from 1996/09/16 on.  If
			   there was more than one entry in the database with
			   an effective date of 1996/09/16, then the most
			   recent one would be used.

			   There is one thing to watch out for in maintaining
			   the database.  Taking the above example, if one
			   added a calibration with an effective date of
			   1996/05/01, then it would be applied to data between
			   that date and the next date in the database,
			   i.e. 1996/09/16.  If one wanted the new calibration
			   to apply to all data after 1996/05/01, then one
			   would have to also add a new entry for 1996/09/16.

		SPECTRUM = A character string representing the spectrum,
			   e.g. "N1" or "NIS1".

		EFF_AREA = The effective area as a function of mirror position,
			   given as an array of 256 values.  Although larger
			   than the number of actual mirror positions, storing
			   the data in this way makes it easier to extract out
			   the data for a given mirror position.  E.g., for
			   mirror position 76, the effective area would be
			   EFF_AREA(76).

 Opt. Inputs :	None.

 Outputs     :	None.

 Opt. Outputs:	None.

 Keywords    :	None.

 Calls       : ***
	ANYTIM2TAI, DBBUILD [1], DBBUILD [2], DBBUILD [3], DBCLOSE [1], DBCLOSE [2]
	DBCLOSE [3], DBOPEN [1], DBOPEN [2], DBOPEN [3], GET_UTC, PRIV_ZDBASE, UTC2TAI
 Common      :	None.

 Restrictions:	None.

 Side effects:	None.

 Prev. Hist. :	None.

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

 Contact     :	WTHOMPSON


ADD_EFFICIENCY $SSW/soho/cds/idl/sci/cal/vds/inten/add_efficiency.pro
[Previous] [Next]
 Project     :	SOHO - CDS

 Name        :	ADD_EFFICIENCY

 Purpose     :	Adds an overall efficiency value to database

 Category    :	CDS, Calibration, Class3

 Explanation :	This routine adds an overall efficiency value for one of the
		CDS spectral ranges to the database.

 Syntax      :	ADD_EFFICIENCY, DATE_EFF, SPECTRUM, EFFICIENCY

 Examples    :	ADD_EFFICIENCY, '1995/12/02', 'N2', 0.00040

 Inputs      :	DATE_EFF = The date, and optionally time, that the value
			   becomes effective.  In other words, the calibration
			   value should be applied to all science data taken on
			   or after that date.  Can be in any CDS time format.

			   The current date is also stored along with the data.
			   When the database is read in, the most current
			   version for a given date is used.

			   For example, if there were two values of DATE_EFF in
			   the database,

				DATE_EFF = 1995/12/02
				DATE_EFF = 1996/09/16

			   then the first would be used for all data taken
			   between 1995/12/02 and 1996/09/16, and the second
			   would be used for all data from 1996/09/16 on.  If
			   there was more than one entry in the database with
			   an effective date of 1996/09/16, then the most
			   recent one would be used.

			   There is one thing to watch out for in maintaining
			   the database.  Taking the above example, if one
			   added a calibration with an effective date of
			   1996/05/01, then it would be applied to data between
			   that date and the next date in the database,
			   i.e. 1996/09/16.  If one wanted the new calibration
			   to apply to all data after 1996/05/01, then one
			   would have to also add a new entry for 1996/09/16.

		SPECTRUM = A character string representing the spectrum,
			   e.g. "N1" or "NIS1".

		EFFICIENCY = The overall efficiency value.

 Opt. Inputs :	None.

 Outputs     :	None.

 Opt. Outputs:	None.

 Keywords    :	None.

 Calls       : ***
	ANYTIM2TAI, DBBUILD [1], DBBUILD [2], DBBUILD [3], DBCLOSE [1], DBCLOSE [2]
	DBCLOSE [3], DBOPEN [1], DBOPEN [2], DBOPEN [3], GET_UTC, PRIV_ZDBASE, UTC2TAI
 Common      :	None.

 Restrictions:	None.

 Side effects:	None.

 Prev. Hist. :	None.

 History     :	Version 1, 16-Sep-1996, William Thompson, GSFC
		Version 2, 21-May-2002, William Thompson, GSFC
			Allow N4 for NIS-2 second order.

 Contact     :	WTHOMPSON


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

 Name        :	ADD_EXP_COMM()

 Purpose     :	Adds a CDS experiment comment entry to the as-run database

 Explanation :	This procedure takes a comment pertaining to the CDS
		raster-level (experiment) as-run entry and adds it to the
		database "exper_comment".  This database contains a series of
		such entries, making a historical list.

 Use         :	Result = ADD_EXP_COMM( COMM )

		IF NOT ADD_EXP_COMM( COMM ) THEN ...

 Inputs      :	COMM = This is an anonymous structure containing the following
		      tags:

			SEQ_NUM	   = Experiment sequence number.  This serves
				     as a link to the experiment database.
			COMM_NO	   = Comment ID number.  Initially, this is -1.
				     It is updated by this routine to reflect
				     the ID number in the database.
			COMMENT	   = A comment.

 Opt. Inputs :	None.

 Outputs     :	The result of the function is a logical value representing
		whether or not the operation was successful, where 1 is
		successful and 0 is unsuccessful.

 Opt. Outputs:	None.

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

                       ERRMSG = ''
                       Result = ADD_EXP_COMM( ERRMSG=ERRMSG, ... )
                       IF ERRMSG NE '' THEN ...


 Calls       : ***
	DATATYPE [1], DATATYPE [2], DATATYPE [3], DBBUILD [1], DBBUILD [2], DBBUILD [3]
	DBCLOSE [1], DBCLOSE [2], DBCLOSE [3], DBEXT [1], DBEXT [2], DBEXT [3], DBEXT [4]
	DBOPEN [1], DBOPEN [2], DBOPEN [3], DB_INFO [1], DB_INFO [2], DB_INFO [3], GET_EXPER
	GET_UTC, LOCK_DATABASE, MOD_EXPER, TRIM, UNLOCK_DATABASE, UTC2TAI
 Common      :	None.

 Restrictions:	Only this routine can be used to add entries to the
		EXPER_COMMENT database.  Modifying the database by hand could
		corrupt its integrity.

		The data types and sizes of the structure elements must match
		the definitions in the database.

		!PRIV must be 2 or greater to use this routine.

 Side effects:	Once an entry has been added to the database, it must never be
		removed.

		The dates in the structure are rounded off to millisecond
		accuracy.

 Category    :	Planning, Databases.

 Prev. Hist. :	None.

 Written     :	William Thompson, GSFC, 7 March 1996

 Modified    :	Version 1, William Thompson, GSFC, 7 March 1996
		Version 2, William Thompson, GSFC, 11 April 1996
			Call LOCK_DATABASE and UNLOCK_DATABASE

 Version     :	Version 2, 11 April 1996


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

 Name        :	ADD_EXPER()

 Purpose     :	Adds a CDS experiment entry to the as-run database

 Explanation :	This procedure takes a CDS raster-level (experiment) as-run
		entry and adds it to the database "experiment".  This database
		contains a series of such entries, making a historical list.

 Use         :	Result = ADD_EXPER( OBS )

		IF NOT ADD_EXPER( OBS ) THEN ...

 Inputs      :	OBS = This is an anonymous structure containing the following
		      tags:

			PROG_NUM   = Study counter number.
			SEQ_NUM	   = Unique sequence number.  This serves as
				     the primary key to the database.  Note
				     that SEQ_NUM is *not* assigned by this
				     routine.
			OBS_SEQ	   = A character string derived from the raster
				     number and the variation number,
				     e.g. "R4V3".
			COUNT	   = The number of repeated observations making
				     up this experiment.  Normally 1.
			SEQ_IND	   = The raster counter
			RAS_ID	   = The raster ID number
			RAS_VAR	   = The raster variation index
			EXPTIME	   = The exposure time, in seconds
			OBS_MODE   = The observing mode.
			DW_ID	   = The data window ID number
			DATE_OBS   = Date/time of beginning of observation,
				     in TAI format
			DATE_END   = Date/time of end of observation, in TAI
				     format
			OBT_TIME   = Onboard date/time of beginning of
				     observation, in TAI format
			OBT_END	   = Onboard date/time of end of observation,
				     in TAI format
			XCEN	   = Center of instrument field-of-view in
				     solar X
			YCEN	   = Center of instrument field-of-view in
				     solar Y
			ANGLE	   = Angle of instrument relative to solar
				     north
			IXWIDTH	   = Width of field-of-view in instrument X
			IYWIDTH	   = Width of field-of-view in instrument Y
			INS_X0	   = The instrument origin pointing in X
			INS_Y0	   = The instrument origin pointing in Y
			INS_ROLL   = The instrument roll angle
			SC_X0	   = The spacecraft pointing in X
			SC_Y0	   = The spacecraft pointing in Y
			SC_ROLL	   = The spacecraft roll
			WAVEMIN	   = The minimum wavelength of observation, in
				     Angstroms.
			WAVEMAX	   = The maximum wavelength, in Angstroms
			TRACKING   = True if tracking is on
			SER_ID	   = The series ID number
			OPSLBITS   = The OPS-L status bits at the start of the
				     observation.
			OPSRBITS   = The OPS-R status bits at the start of the
				     observation.
			SLIT_POS   = The slit position at the start of the
				     observation.
			MIR_POS	   = The mirror position at the start of the
				     observation.
			EV_ENAB	   = True if event recognition enabled
			COMP_ERR   = True if a compression error was
				     encountered.
			VDS_PMCP   = The VDS MCP programmable voltage setting
			VDS_MODE   = The VDS readout mode.
			VDS_ORI	   = True if the VDS telemetry data is oriented
				     by columns
			VDS_ACC	   = True if VDS is operated in accumulate mode
			GSET_ID	   = GIS Setup ID
			DETECTOR   = Either N or G for NIS/GIS.
			ZONE_ID	   = Pointing zone ID
			SLIT_NUM   = Slit number
			FILENAME   = FITS file name
			SEQVALID   = True for valid science data
			DATASRC	   = Data source, either Q(uicklook) or F(inal
				     distribution).

		      It can also be an array of such structures.

 Opt. Inputs :	None.

 Outputs     :	The result of the function is a logical value representing
		whether or not the operation was successful, where 1 is
		successful and 0 is unsuccessful.

 Opt. Outputs:	None.

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

                       ERRMSG = ''
                       Result = ADD_EXPER( ERRMSG=ERRMSG, ... )
                       IF ERRMSG NE '' THEN ...


 Calls       : ***
	CDS_MESSAGE, DATATYPE [1], DATATYPE [2], DATATYPE [3], DBBUILD [1], DBBUILD [2]
	DBBUILD [3], DBCLOSE [1], DBCLOSE [2], DBCLOSE [3], DBDELETE [1], DBDELETE [2]
	DBDELETE [3], DBFIND [1], DBFIND [2], DBFIND [3], DBOPEN [1], DBOPEN [2], DBOPEN [3]
	DB_INFO [1], DB_INFO [2], DB_INFO [3], GET_DATAWIN, GET_EXPER, GET_RASTER, GET_UTC
	LOCK_DATABASE, TRIM, UNLOCK_DATABASE, UTC2TAI
 Common      :	None.

 Restrictions:	Only this routine can be used to add entries to the EXPERIMENT
		database.  Modifying the database by hand could corrupt its
		integrity.

		The data types and sizes of the structure elements must match
		the definitions in the database.

		!PRIV must be 2 or greater to use this routine.

 Side effects:	Once an entry has been added to the database, it must never be
		removed.

		The dates in the structure are rounded off to millisecond
		accuracy.

 Category    :	Planning, Databases.

 Prev. Hist. :	None.

 Written     :	William Thompson, GSFC, 30 June 1995

 Modified    :	Version 1, William Thompson, GSFC, 30 June 1995
		Version 2, William Thompson, GSFC, 4 August 1995
			Changed so that SEQ_NUM is not assigned by this
			routine.
		Version 3, William Thompson, GSFC, 21 February 1996
			Modified to be more robust.  It will complain about not
			finding IDs in the databases, but will insert the
			catalog entry anyway.
		Version 4, William Thompson, GSFC, 23 February 1996
			Modified for version 2 of the experiment databases.
		Version 5, William Thompson, GSFC, 1 April 1996
			Added database locking capability.
		Version 6, William Thompson, GSFC, 1 April 1996
			Added parameter DATASRC
		Version 7, William Thompson, GSFC, 9 April 1996
			Split off locking mechanism to separate routines
			LOCK_DATABASE, UNLOCK_DATABASE
		Version 8, William Thompson, GSFC, 25 March 1997
			Added check to make sure entry didn't appear while the
			routine was running.

 Version     :	Version 8, 25 March 1997


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

 Name        :	ADD_F_RASTER()

 Purpose     :	Adds a fundamental raster definition to the database

 Explanation :	This procedure takes the fundamental parameters of a raster
		definition and adds them to the database "raster".  The ID
		number for the raster is assigned.

 Use         :	Result = ADD_F_RASTER( DEF )

		IF NOT ADD_F_RASTER( DEF ) THEN ...

 Inputs      :	DEF = This is a structure of type "cds_f_raster" containing the
		      following tags:

			RAS_ID	 = Raster ID number.  Initially, this is
				   zero.  It is updated by this routine to
				   reflect the ID number in the database.
			DETECTOR = Either "G" for GIS or "N" for NIS.
			RAS_DESC = A short description of the raster, giving
				   its purpose.
			SLIT_NUM = The ID number for the slit to be used.
			XSTEP	 = The step size in the X direction, in arcsec.
			YSTEP	 = The step size in the Y direction, in arcsec.
			NX	 = The number of exposure positions in X.
			NY	 = The number of exposure positions in Y.

 Opt. Inputs :	None.

 Outputs     :	The result of the function is a logical value representing
		whether or not the operation was successful, where 1 is
		successful and 0 is unsuccessful.

		The tag RAS_ID in the input structure is updated to reflect
		the ID number assigned in the database.

 Opt. Outputs:	None.

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

                       ERRMSG = ''
                       Result = ADD_F_RASTER( ERRMSG=ERRMSG, ... )
                       IF ERRMSG NE '' THEN ...

       RAS_ID	  = If the definition matches one that is already in the
                   database, then this keyword returns the ID of the
                   matching fundamental raster.  Otherwise, a -1 is returned.

	CHECK_ONLY= If this keyword is set, then the routine only checks to see
		    if the proposed entry is valid, but does not attempt to
		    place it in the database.

 Calls       : ***
	CHK_F_RASTER, DATATYPE [1], DATATYPE [2], DATATYPE [3], DBBUILD [1], DBBUILD [2]
	DBBUILD [3], DBCLOSE [1], DBCLOSE [2], DBCLOSE [3], DBEXT [1], DBEXT [2], DBEXT [3]
	DBEXT [4], DBFIND [1], DBFIND [2], DBFIND [3], DBMATCH [1], DBMATCH [2], DBMATCH [3]
	DBOPEN [1], DBOPEN [2], DBOPEN [3], DB_INFO [1], DB_INFO [2], DB_INFO [3], NUM2STR
 CALLED BY:
	IMPORT_PLAN, IMPORT_STUDY, TP_WRT_FRAST
 Common      :	None.

 Restrictions:	Only this routine can be used to add fundamental raster
		definitions to the database.  Modifying the database by hand
		could corrupt its integrity.

		The data types and sizes of the structure elements must match
		the definitions in the database.  The string lengths must not
		exceed the lengths defined in the database.

		!PRIV must be 2 or greater to use this routine.

 Side effects:	Once a raster definition has been added to the database, it
		must never be removed.

 Category    :	Planning, Databases.

 Prev. Hist. :	None.

 Written     :	William Thompson, GSFC, 4 April 1994

 Modified    :	Version 1.0, William Thompson, GSFC, 4 May 1994
               Version 2, Liyun Wang, GSFC/ARC, September 21, 1994
                  Added the keyword ERRMSG.
               Version 3, Liyun Wang, GSFC/ARC, November 4, 1994
                  CHK_F_RASTER is called to check the existence of the 
                  given fundamental raster
		Version 4, William Thompson, GSFC, 8 November 1994
			Added keyword RAS_ID
		Version 5, William Thompson, GSFC, 29 December 1994
			Fixed bug when inputs are bytes.
		Version 6, William Thompson, GSFC, 2 March 1995
			Enforce uniqueness for RAS_DESC.
			Added keyword CHECK_ONLY.
		Version 7, William Thompson, GSFC, 14 March 1995
			Changed DBFIND to DBMATCH for RAS_DESC

 Version     :	Version 7, 14 March 1995


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

 Name        :	ADD_F_STUDY()

 Purpose     :	Adds a fundamental study definition to the database

 Explanation :	This procedure takes the fundamental parameters of a study
		definition and adds them to the databases "study",
		"study_title", and "study2".  The ID numbers for the study and
		title are assigned.

 Use         :	Result = ADD_F_STUDY( DEF )

		IF NOT ADD_F_STUDY( DEF ) THEN ...

 Inputs      :	DEF = This is an anonymous structure containing the following
		      tags:

			STUDY_ID    = Study ID number.  Initially, this is -1.
				      It is updated by this routine to reflect
				      the ID number in the database.
			TITLE_ID    = Study title ID number.  Initially, this
				      is -1.  It is updated by this routine to
				      reflect the ID number in the database.
			OBS_PROG    = Name of the study
			TITLE	    = A descriptive title for the study
			CATEGORY    = The study category, either "T"est,
				      "S"cience or "C"alibration.
			N_RASTER_DEF= The number of rasters in the definition.
			RASTERS	    = A array listing the rasters to be used
				      during the study.

		      The raster descriptions themselves are structures, of
		      type "cds_f_st_ras", with the following tags:

			RAS_ID	    = Raster ID number, pointing to the
				      definition of the raster.
			POINTING    = How to handle the pointing.  Valid
				      entries are:

					 1 = No pointing, supply in plan
					 0 = Absolute pointing
					-1 = Offset value from first raster

			INS_X	    = Together with INS_Y, the pointing to use
				      when user-supplied values are not
				      allowed.  Only valid when POINTING=0
				      (absolute) or POINTING=-1 (relative to
				      1st raster).
			INS_Y	    = ...

		      If N_RASTER_DEF is 0, then the RASTERS tag can be
		      omitted.  However, in that case, an additional tag must
		      be added,

			VAR_POINT   = Either Y or N depending on whether the
				      study has variable pointing or fixed
				      pointing.

 Opt. Inputs :	None.

 Outputs     :	The result of the function is a logical value representing
		whether or not the operation was successful, where 1 is
		successful and 0 is unsuccessful.

		The tags STUDY_ID and TITLE_ID in the input structure are
		updated to reflect the ID numbers assigned in the database.

 Opt. Outputs:	None.

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

                       ERRMSG = ''
                       Result = ADD_F_STUDY( ERRMSG=ERRMSG, ... )
                       IF ERRMSG NE '' THEN ...

       STUDY_ID  = If the definition matches one that is already in the
                   database, then this keyword returns the ID of the
                   matching study.  Otherwise, a -1 is returned.

	CHECK_ONLY= If this keyword is set, then the routine only checks to see
		    if the proposed entry is valid, but does not attempt to
		    place it in the database.

 Calls       : ***
	CHK_F_STUDY, CHK_T_STUDY, DATATYPE [1], DATATYPE [2], DATATYPE [3], DBBUILD [1]
	DBBUILD [2], DBBUILD [3], DBCLOSE [1], DBCLOSE [2], DBCLOSE [3], DBDELETE [1]
	DBDELETE [2], DBDELETE [3], DBEXT [1], DBEXT [2], DBEXT [3], DBEXT [4], DBFIND [1]
	DBFIND [2], DBFIND [3], DBOPEN [1], DBOPEN [2], DBOPEN [3], DB_INFO [1], DB_INFO [2]
	DB_INFO [3], NUM2STR
 CALLED BY:
	IMPORT_PLAN, IMPORT_STUDY, MK_STUDY
 Common      :	None.

 Restrictions:	Only this routine can be used to add fundamental study
		definitions to the database.  Modifying the database by hand
		could corrupt its integrity.

		The data types and sizes of the structure elements must match
		the definitions in the database.  The string lengths must not
		exceed the lengths defined in the database.

		!PRIV must be 2 or greater to use this routine.

 Side effects:	Once a study definition has been added to the database, it
		must never be removed.

 Category    :	Planning, Databases.

 Prev. Hist. :	None.

 Written     :	William Thompson, GSFC, 28 April 1994

 Modified    :	Version 1, William Thompson, GSFC, 3 August 1994
               Version 2, Liyun Wang, GSFC/ARC, September 21, 1994
                  Added the keyword ERRMSG.
               Version 3, Liyun Wang, GSFC/ARC, November 4, 1994
                  CHK_F_STUDY is called to check the existence of the 
                  given fundamental study
               Version 3.1, Zarro GSFC/ARC, November 7, 1994
                  Added DBSTUDY_ID
		Version 4, William Thompson, GSFC/ARC, 8 November 1994
			Renamed DBSTUDY_ID keyword to STUDY_ID.
			Changed how it is determined.
			Fixed bug with duplicate name check.
		Version 5, William Thompson, GSFC, 21 November 1994
			Removed item N_RASTERS0
			Added item N_RASTER_DEF
		Version 6, William Thompson, GSFC, 29 December 1994
			Fixed bug when inputs are bytes.
		Version 7, William Thompson, GSFC, 10 February 1995
			Changed N_POINTINGS to VAR_POINT.
			Changed definition of POINTING.
			Removed VAR_RASTERS.
		Version 8, William Thompson, GSFC, 2 March 1995
			Enforce uniqueness for TITLE.
			Added keyword CHECK_ONLY.
		Version 9, William Thompson, GSFC, 14 March 1995
			Used DBMATCH instead of DBFIND for TITLE.
		Version 10, William Thompson, GSFC, 12 May 1995
			Modified to split off separate study_title database
		Version 11, William Thompson, GSFC, 6 October 1995
			Modified to allow for cases with N_RASTER_DEF=0.

 Version     :	Version 11, 6 October 1995


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

 Name        :	ADD_FLAG()

 Purpose     :	Adds a CDS flag receiver science plan record to the database

 Explanation :	This procedure takes a CDS flag receiver science plan entry and
		adds it to the database "sci_flag".  This database contains a
		series of such entries, making a historical list.

 Use         :	Result = ADD_FLAG( DEF )

		IF NOT ADD_FLAG( DEF ) THEN ...

 Inputs      :	DEF = This is an anonymous structure containing the following
		      tags:

			PROG_ID	   = Program ID, linking one or more studies
				     together
			STUDY_ID   = Number defining the study
			STUDYVAR   = Number giving the study variation ID
			SCI_OBJ    = Science objective from the daily science
				     meeting
			SCI_SPEC   = Specific science objective from meeting
			CMP_NO	   = Campaign number
			OBJECT	   = Code for object planned to be observed
			OBJ_ID	   = Object identification
			RCVR_START = Date/time of beginning of receiver status,
				     in TAI format
			RCVR_STOP  = Date/time of end of receiver status, in
				     TAI format
			ORIG_DUR   = Original duration of the observation, in
				     seconds, before being truncated by
				     following time-tagged observations.
			N_RASTERS1 = Variable number of rasters parameter
			TRACKING   = True (1) if feature tracking to be used,
				     or false (0) otherwise
			N_POINTINGS= Number of pointings to use with study.
				     Can be either 0 or 1.
			REPOINT	   = Either 1 to allow repoints or 0 to
				     disallow.
			GSET_ID	   = GSET ID number

		      If N_POINTINGS is greater than 0, then there will be the
		      additional tag POINTINGS.  This is an array of pointing
		      positions.  It itself is a structure, of type
		      PLAN_PNT_STRUC, with the following tags:

			INS_X	   = Pointing in X relative to sun center
			INS_Y	   = Pointing in Y relative to sun center
			ZONE_ID	   = Pointing zone ID

		      DEF is also allowed to be an array of such structures.
		      In such a case, the substructure POINTINGS will be
		      dimensioned based on the largest value of N_POINTINGS.

 Opt. Inputs :	None.

 Outputs     :	The result of the function is a logical value representing
		whether or not the operation was successful, where 1 is
		successful and 0 is unsuccessful.

 Opt. Outputs:	None.

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

                       ERRMSG = ''
                       Result = ADD_FLAG( ERRMSG=ERRMSG, ... )
                       IF ERRMSG NE '' THEN ...


 Calls       : ***
	DATATYPE [1], DATATYPE [2], DATATYPE [3], DBBUILD [1], DBBUILD [2], DBBUILD [3]
	DBCLOSE [1], DBCLOSE [2], DBCLOSE [3], DBEXT [1], DBEXT [2], DBEXT [3], DBEXT [4]
	DBFIND [1], DBFIND [2], DBFIND [3], DBOPEN [1], DBOPEN [2], DBOPEN [3], GET_CAMPAIGN
	GET_F_RASTER, GET_GSET, GET_OBJECT, GET_PROGRAM, GET_STUDY, TAI2UTC, TRIM, UNIQ [1]
	UNIQ [2], UNIQ [3]
 CALLED BY:
	MOD_FLAG
 Common      :	None.

 Restrictions:	Only this routine or DEL_FLAG can be used to add or delete
		flag descriptions to or from the database.  Modifying the
		database by hand could corrupt its integrity.

		The data types and sizes of the structure elements must match
		the definitions in the database.

		!PRIV must be 2 or greater to use this routine.

 Side effects:	The dates in the structure are rounded off to millisecond
		accuracy.

 Category    :	Planning, Databases.

 Prev. Hist. :	None.

 Written     :	William Thompson, GSFC, 25 July 1994

 Modified    :	Version 1, William Thompson, GSFC, 3 August 1994
               Version 2, Liyun Wang, GSFC/ARC, September 21, 1994
                  Added the keyword ERRMSG.
		Version 3, William Thompson, GSFC, 8 November 1994
			Modified how GET_OBJECT was called
		Version 4, William Thompson, GSFC, 21 November 1994
			Added item N_REPEAT_S
		Version 5, William Thompson, GSFC, 13 December 1994
			Modified to write times out to millisecond accuracy.
		Version 6, William Thompson, GSFC, 20 December 1994
			Changed OBJECT to three characters
		Version 7, William Thompson, GSFC, 13 February 1995
			Changed the way pointing is handled
		Version 8, William Thompson, GSFC, 28 March 1995
			Added tag ZONE_ID
		Version 9, William Thompson, GSFC, 8 May 1995
			Modified to pay attention to DELETED field in database
		Version 10, William Thompson, GSFC, 29 June 1995
			Modified to change times in structure to millisecond
			accuracy.
		Version 11, William Thompson, GSFC, 5 July 1995
			Added tag REPOINT.
		Version 12, William Thompson, GSFC, 31 August 1995
			Allow DEF to be an array
		Version 13, William Thompson, GSFC, 6 October 1995
			Added tags ORIG_DUR, GSET_ID
			Removed tag N_REPEAT_S
			Force N_POINTINGS to be either 0 or 1
		Version 14, William Thompson, GSFC, 11 December 1995
			Check validity of GSET_ID when using GIS.

 Version     :	Version 14, 11 December 1995


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

 Name        :	ADD_GSET()

 Purpose     :	Adds an entry to the GIS setup database.

 Explanation :	This procedure adds an entry to the GIS setup description
		catalog.  The ID number for the GIS setup description is
		assigned.

 Use         :	Result = ADD_GSET( DEF )

		IF NOT ADD_GSET( DEF ) THEN ...

 Inputs      :	DEF = This is an anonymous structure containing the following
		      tags:

			GSET_ID	   = GIS setup ID number.  Initially, this
				     is zero.  It is updated by this routine to
				     reflect the ID number in the database.
			HVOLT	   = High voltages (4)
			LLD	   = Low level discriminators (4)
			LUT_CHKSUM = LUT checksum in hexidecimal notation (4)
			LUT_PAR	   = LUT parameters (4,11)
			RAW_ID	   = RAW GIS science data file ID (4)
			SLIT_NUM   = Slit number
			ZONE_ID	   = Zone ID number
			FIL_ID	   = Filament ID number, or 0 for science data
			FFB	   = Front face bias, either -1 or +1
			DET_USED   = Whether or not detector is used, either 0
				     or 1 (4)
			GSET_DESC  = Free format descriptions (4)

 Opt. Inputs :	None.

 Outputs     :	The result of the function is a logical value representing
		whether or not the operation was successful, where 1 is
		successful and 0 is unsuccessful.

		The tag GSET_ID in the input structure is updated to reflect
		the ID number assigned in the database.

 Opt. Outputs:	None.

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

                       ERRMSG = ''
                       Result = ADD_GSET( ERRMSG=ERRMSG, ... )
                       IF ERRMSG NE '' THEN ...

 Calls       : ***
	DATATYPE [1], DATATYPE [2], DATATYPE [3], DBBUILD [1], DBBUILD [2], DBBUILD [3]
	DBCLOSE [1], DBCLOSE [2], DBCLOSE [3], DBEXT [1], DBEXT [2], DBEXT [3], DBEXT [4]
	DBOPEN [1], DBOPEN [2], DBOPEN [3], DB_INFO [1], DB_INFO [2], DB_INFO [3]
	SAME_DATA [1], SAME_DATA [2]
 CALLED BY:
	mk_gset
 Common      :	None.

 Restrictions:	Only this routine can be used to add GSET setup entries to
		the database.  Modifying the database by hand could corrupt its
		integrity.

		The data types and sizes of the structure elements must match
		the definitions in the database.  The string lengths must not
		exceed the lengths defined in the database.

		!PRIV must be 2 or greater to use this routine.

 Side effects:	Once a GIS setup definition has been added to the database,
		it must never be removed.

		There is currently no safeguard to prevent the same data being
		added to the database twice.

 Category    :	Planning, Databases.

 Prev. Hist. :	None.

 Written     :	William Thompson, GSFC, 7 September 1995

 Modified    :	Version 1, William Thompson, GSFC, 7 September 1995
		Version 2, William Thompson, GSFC, 14 September 1995
			Replace FIL_CUR with FFB
		Version 3, William Thompson, GSFC, 28 September 1995
			Make LUT_CHKSUM an array.
			Make LUT_PAR floating point.
               Version 4, C D Pike, RAL, 2-October-95
                       Fix checking of LUT checksum string lengths.
		Version 5, William Thompson, GSFC, 4 October 1995
			Correct bug with LUT_CHKSUM and GSET_DESC not being
			written correctly.
		Version 6, William Thompson, GSFC, 25 January 1996
			Modified definition of LUT_PAR and added DET_USED.

 Version     :	Version 6, 25 January 1996


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

 Name        :	ADD_INST_DLYD()

 Purpose     :	Adds an entry to the instrument delayed command database.

 Explanation :	This procedure adds an entry for a given instrument for delayed
		command upload time to the "inst_delayed_cmd" database.

 Use         :	Result = ADD_INST_DLYD( RES )

		IF ADD_INST_DLYD( RES ) EQ 0 THEN ...

 Inputs      :	RES = A structure variable containing the following tags:

			INSTRUME   = Single letter code specifying the
				     instrument.
			EARLIEST = The start time of the reserved time
			LATEST   = The end time of the reserved time.
			NUM_CMDS   = The expected average number of OBDH block
				     commands per minute between the start time
				     and end time.

		      It can also be an array of such structures.

 Opt. Inputs :	None.

 Outputs     :	The result of the function is a logical value representing
		whether or not the operation was successful, where 1 is
		successful and 0 is unsuccessful.

 Opt. Outputs:	None.

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

                       ERRMSG = ''
                       Result = ADD_INST_DLYD( ERRMSG=ERRMSG, ... )
                       IF ERRMSG NE '' THEN ...

 Calls       : ***
	DATATYPE [1], DATATYPE [2], DATATYPE [3], DBBUILD [1], DBBUILD [2], DBBUILD [3]
	DBCLOSE [1], DBCLOSE [2], DBCLOSE [3], DBOPEN [1], DBOPEN [2], DBOPEN [3]
	GET_INSTRUMENT
 CALLED BY:
	READ_KAP
 Common      :	None.

 Restrictions:	Only this routine or CLR_INST_DLYD can be used to add or delete
		delayed command time entries to the database.  Modifying the
		database by hand could corrupt its integrity.

		The data types and sizes of the structure elements must match
		the definitions in the database.

		!PRIV must be 2 or greater to use this routine.

 Side effects:	None.

 Category    :	Planning, Databases.

 Prev. Hist. :	None.

 Written     :	William Thompson, GSFC, 6 March 1996

 Modified    :	Version 1, William Thompson, GSFC, 6 March 1996

 Version     :	Version 1, 6 March 1996


ADD_LASCO_LOGO $SSW/soho/lasco/idl/util/add_lasco_logo.pro
[Previous] [Next]
 NAME:
	ADD_LASCO_LOGO

 PURPOSE:
	This function inserts the LASCO logo into the corner of an image

 CATEGORY:
	LASCO_SYNOPTIC

 CALLING SEQUENCE:
	Result = ADD_LASCO_LOGO(Img)

 INPUTS:
	Img:	Input image

 KEYWORDS:
	LEFT	When set, puts logo on lower left corner

 OUTPUTS:
	Result:	Output image with same type and dimenstion as input
	
 CALLS: ***
	DATATYPE [1], DATATYPE [2], DATATYPE [3], FILEPATH
 CALLED BY:
	MAKE_DAILY_IMAGE, MKMOVIE, MKMOVIE0 obsolete version of mkmoviepro, MK_IMG
	WRUNMOVIE [2]
 COMMON:
	ADD_LASCO_LOGO_COMMON, w_logo
	Temporary storage for the logo
	
 PROCEDURE:
	Checks to see if the logo array has been read in, and restores it
	if not.  Then inserts the logo into the lower, right hand corner.

 MODIFICATION HISTORY:
 	Written by:	Scott Paswaters, NRL, Dec 1997
	99/07/14  N Rich	Add LEFT keyword

	@(#)add_lasco_logo.pro	1.3 07/14/99 LASCO IDL LIBRARY


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

 Name        :	ADD_LINELIST()

 Purpose     :	Adds a line list definition to the database

 Explanation :	This procedure takes a line list definition and adds it to line
		list databases "linelist" and "linelist2".  The ID number for
		the linelist is assigned.

 Use         :	Result = ADD_LINELIST( DEF )

		IF NOT ADD_LINELIST( DEF ) THEN ...

 Inputs      :	DEF = This is an anonymous structure containing the following
		      tags:

			LL_ID	 = Line list ID number.  Initially, this is
				   zero.  It is updated by this routine to
				   reflect the ID number in the database.
			DETECTOR = Either "G" for GIS or "N" for NIS.
			LL_DESC	 = A description of the line list, e.g.
				   "Temperature sensitive line pairs".  Can be
				   up to 65 characters.
			LINES	 = An array containing the line definitions.

		      The line definitions themselves are structures, of type
		      "cds_lines", with the following tags:

			LINENAME = Line name, e.g. "He II 304".  Can be up to
				   12 characters.
			WAVELNTH = The wavelength of the line, in Angstroms.
			GR_ORDER = The grating order
			CEN_PIX	 = The central detector pixel.
			WAVEBAND = The wavelength band, 1 or 2 for NIS, 1-4 for
				   GIS.

 Opt. Inputs :	None.

 Outputs     :	The result of the function is a logical value representing
		whether or not the operation was successful, where 1 is
		successful and 0 is unsuccessful.

		The tag LL_ID in the input structure is updated to reflect
		the ID number assigned in the database.

 Opt. Outputs:	None.

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

                       ERRMSG = ''
                       Result = ADD_LINELIST( ERRMSG=ERRMSG, ... )
                       IF ERRMSG NE '' THEN ...

       LL_ID	  = If the definition matches one that is already in the
                   database, then this keyword returns the ID of the
                   matching linelist.  Otherwise, a -1 is returned.

	CHECK_ONLY= If this keyword is set, then the routine only checks to see
		    if the proposed entry is valid, but does not attempt to
		    place it in the database.

 Calls       : ***
	CHK_LINELIST, DATATYPE [1], DATATYPE [2], DATATYPE [3], DBBUILD [1], DBBUILD [2]
	DBBUILD [3], DBCLOSE [1], DBCLOSE [2], DBCLOSE [3], DBDELETE [1], DBDELETE [2]
	DBDELETE [3], DBEXT [1], DBEXT [2], DBEXT [3], DBEXT [4], DBFIND [1], DBFIND [2]
	DBFIND [3], DBMATCH [1], DBMATCH [2], DBMATCH [3], DBOPEN [1], DBOPEN [2]
	DBOPEN [3], DB_INFO [1], DB_INFO [2], DB_INFO [3], NUM2STR
 CALLED BY:
	IMPORT_PLAN, IMPORT_STUDY, TP_WRT_LLIST
 Common      :	None.

 Restrictions:	Only this routine can be used to add line list definitions to
		the database.  Modifying the database by hand could corrupt its
		integrity.

		The data types and sizes of the structure elements must match
		the definitions in the database.  The string lengths must not
		exceed the lengths defined in the database.

		!PRIV must be 2 or greater to use this routine.

 Side effects:	Once a line list definition has been added to the database, it
		must never be removed.

 Category    :	Planning, Databases.

 Prev. Hist. :	None.

 Written     :	William Thompson, GSFC, 30 March 1994

 Modified    :	Version 1.0, William Thompson, GSFC, 2 June 1994
               Version 2, Liyun Wang, GSFC/ARC, September 21, 1994
                  Added the keyword ERRMSG.
               Version 3, Liyun Wang, GSFC/ARC, November 4, 1994
                  CHK_LINELIST is called to check the existence of the 
                  given line list
		Version 4, William Thompson, GSFC, 8 November 1994
			Added keyword LL_ID
		Version 5, William Thompson, GSFC, 2 March 1995
			Enforce uniqueness for LL_DESC.
			Added keyword CHECK_ONLY.
		Version 6, William Thompson, GSFC, 14 March 1995
			Changed DBFIND to DBMATCH for LL_DESC.
		Version 7, William Thompson, GSFC, 15 March 1995
			Removed LL_TITLE.  Changed so that LL_DESC only needs
			to be unique for a given detector.
		Version 8, William Thompson, GSFC, 16 May 1997
			Allow for possibility of CHK_LINELIST returning an
			array.

 Version     :	Version 8, 16 May 1997


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

 Name        :	ADD_MAIN()

 Purpose     :	Adds a CDS main entry to the as-run database

 Explanation :	This procedure takes a CDS study-level (main) as-run entry and
		adds it to the database "main".  This database contains
		a series of such entries, making a historical list.

 Use         :	Result = ADD_MAIN( OBS )

		IF NOT ADD_MAIN( OBS ) THEN ...

 Inputs      :	OBS = This is an anonymous structure containing the following
		      tags:

			PROG_NUM   = Study counter number.  This forms the
				     primary key for this database.
			PROG_ID	   = Program ID, linking one or more studies
				     together
			PROG_IND   = An index, reflecting one's position within
				     a repeated sequence of studies via the
				     N_REPEAT_S mechanism.
			STUDY_ID   = Number defining the study
			STUDYVAR   = Number giving the study variation ID
			OBS_PROG   = Name of the study
			DETECTOR   = Detector, "N", "G", or "B"(oth).
			SCI_OBJ    = Science objective from the daily science
				     meeting
			SCI_SPEC   = Specific science objective from meeting
			CMP_NO	   = Campaign number
			OBJECT	   = Code for object planned to be observed
			OBJ_ID	   = Object identification
			DATE_OBS   = Date/time of beginning of observation,
				     in TAI format
			DATE_END   = Date/time of end of observation, in TAI
				     format
			OBT_TIME   = Onboard date/time of beginning of
				     observation, in TAI format
			OBT_END	   = Onboard date/time of end of observation,
				     in TAI format
			XCEN	   = Center of instrument field-of-view in
				     solar X
			YCEN	   = Center of instrument field-of-view in
				     solar Y
			ANGLE	   = Angle of instrument relative to solar
				     north
			IXWIDTH	   = Width of field-of-view in instrument X
			IYWIDTH	   = Width of field-of-view in instrument Y
			SEQ_FROM   = Start of range of observing sequence
				     numbers.
			SEQ_TO	   = End of range of observing sequence
				     numbers.

		      It can also be an array of such structures.

 Opt. Inputs :	None.

 Outputs     :	The result of the function is a logical value representing
		whether or not the operation was successful, where 1 is
		successful and 0 is unsuccessful.

 Opt. Outputs:	None.

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

                       ERRMSG = ''
                       Result = ADD_MAIN( ERRMSG=ERRMSG, ... )
                       IF ERRMSG NE '' THEN ...


 Calls       : ***
	CDS_MESSAGE, DATATYPE [1], DATATYPE [2], DATATYPE [3], DBBUILD [1], DBBUILD [2]
	DBBUILD [3], DBCLOSE [1], DBCLOSE [2], DBCLOSE [3], DBOPEN [1], DBOPEN [2]
	DBOPEN [3], GET_CAMPAIGN, GET_MAIN, GET_OBJECT, GET_PROGRAM, GET_STUDY, GET_UTC
	LOCK_DATABASE, TRIM, UNLOCK_DATABASE, UTC2TAI
 Common      :	None.

 Restrictions:	Only this routine can be used to add entries to the MAIN
		database.  Modifying the database by hand could corrupt its
		integrity.

		The data types and sizes of the structure elements must match
		the definitions in the database.

		!PRIV must be 2 or greater to use this routine.

 Side effects:	Once an entry has been added to the database, it must never be
		removed.

		The dates in the structure are rounded off to millisecond
		accuracy.

 Category    :	Planning, Databases.

 Prev. Hist. :	None.

 Written     :	William Thompson, GSFC, 30 June 1995

 Modified    :	Version 1, William Thompson, GSFC, 30 June 1995
		Version 2, William Thompson, GSFC, 21 February 1996
			Modified to be more robust.  It will complain about not
			finding IDs in the databases, but will insert the
			catalog entry anyway.
		Version 3, William Thompson, GSFC, 2 April 1996
			Modified for version 3 of the catalog.
		Version 4, William Thompson, GSFC, 9 April 1996
			Added calls to LOCK_DATABASE, UNLOCK_DATABASE
		Version 5, William Thompson, GSFC, 25 March 1997
			Added check to make sure that the entry didn't appear
			while the routine was running.

 Version     :	Version 5, 25 March 1997


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

 Name        :	ADD_MIRSHIFT()

 Purpose     :	Register NIS mirror shift calibrations in the database.

 Category    :	Calibration, NIS, Coordinates

 Explanation :	Adds an NIS mirror shift calibration to the database.  The
		calibration is marked with the current date/time.

 Syntax      :	Result = ADD_MIRSHIFT( DATE_EFF, SPECTRUM, COEFF )

 Examples    :	IF NOT ADD_MIRSHIFT('1995-12-2',1,COEFF) THEN ...

 Inputs      :	DATE_EFF = The date, and optionally time, that the value
			   becomes effective.  In other words, the calibration
			   value should be applied to all science data taken on
			   or after that date.  Can be in any CDS time format.

			   The current date is also stored along with the data.
			   When the database is read in, the most current
			   version for a given date is used.

			   For example, if there were two values of DATE_EFF in
			   the database,

				DATE_EFF = 1995/12/02
				DATE_EFF = 1996/09/16

			   then the first would be used for all data taken
			   between 1995/12/02 and 1996/09/16, and the second
			   would be used for all data from 1996/09/16 on.  If
			   there was more than one entry in the database with
			   an effective date of 1996/09/16, then the most
			   recent one would be used.

			   There is one thing to watch out for in maintaining
			   the database.  Taking the above example, if one
			   added a calibration with an effective date of
			   1996/05/01, then it would be applied to data between
			   that date and the next date in the database,
			   i.e. 1996/09/16.  If one wanted the new calibration
			   to apply to all data after 1996/05/01, then one
			   would have to also add a new entry for 1996/09/16.

		SPECTRUM = Either 1 or 2

		COEFF	 = The NIS mirror shift calibration coefficients.  The
			   polynomial

				SHIFT = POLY(MIR_POS - 128, COEFF)

			   returns the shift as a function of mirror position.

 Opt. Inputs :	None.

 Outputs     :	The result of the function is a logical value representing
		whether or not the operation was successful, where 1 is
		successful and 0 is unsuccessful.

 Opt. Outputs:	None.

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

				ERRMSG = ''
				Result = ADD_MIRSHIFT( ERRMSG=ERRMSG, ... )
				IF ERRMSG NE '' THEN ...

 Calls       : ***
	ANYTIM2TAI, DBBUILD [1], DBBUILD [2], DBBUILD [3], DBCLOSE [1], DBCLOSE [2]
	DBCLOSE [3], DBOPEN [1], DBOPEN [2], DBOPEN [3], GET_UTC, PRIV_ZDBASE, UTC2TAI
 Common      :	None.

 Restrictions:	None.

 Side effects:	None.

 Prev. Hist. :	None.

 History     :	Version 1, 22-Jan-1999, William Thompson, GSFC

 Contact     :	WTHOMPSON


ADD_MISSING_BLOCKS $SSW/soho/lasco/idl/inout/add_missing_blocks.pro
[Previous] [Next]
 NAME:
	ADD_MISSING_BLOCKS

 PURPOSE:
	Masks blocks in the input image which are identified in the MISSLIST
	keyword.

 CATEGORY:
	LASCO Level 1 post-processing

 CALLING SEQUENCE:

	Result = add_missing_blocks(image, header)

 INPUTS:
	image	LASCO image with filled-in missing blocks (if any)
	header	LASCO header structure

 KEYWORD PARAMETERS:

 OUTPUTS:
	image with missing blocks masked

 CALLS: ***
	C2_WARP, C3_WARP, DATATYPE [1], DATATYPE [2], DATATYPE [3], LASCO_FITSHDR2STRUCT
	STR_SEP
 COMMON BLOCKS:

 SIDE EFFECTS:

 RESTRICTIONS:

 PROCEDURE:
	Obtain coordinates of missing blocks from MISSLIST keyword; create
	a mask of the blocks; warp the mask; multiply image by the mask

 MODIFICATION HISTORY:
 	Written by:	Nathan Rich,  8/29/02.

	@(#)add_missing_blocks.pro	1.1 10/01/02 LASCO IDL LIBRARY


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

 Name        :	ADD_NRT_RES()

 Purpose     :	Adds an entry to the NRT reserved database.

 Explanation :	This procedure adds an entry for a given instrument for NRT
		reserved time to the "nrt_reserved" database.

 Use         :	Result = ADD_NRT_RES( RES )

		IF ADD_NRT_RES( RES ) EQ 0 THEN ...

 Inputs      :	RES = A structure variable containing the following tags:

			INSTRUME   = Single letter code specifying the
				     instrument.
			START_TIME = The start time of the reserved time
			END_TIME   = The end time of the reserved time.
			CMD_RATE   = The expected average number of OBDH block
				     commands per minute between the start time
				     and end time.
			STATUS	   = The acceptance status for this activity.
				     Possible values are REQUESTED, CONFIRMED,
				     or DENIED.  Only the first character is
				     stored in the database.

		      It can also be an array of such structures.

 Opt. Inputs :	None.

 Outputs     :	The result of the function is a logical value representing
		whether or not the operation was successful, where 1 is
		successful and 0 is unsuccessful.

 Opt. Outputs:	None.

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

                       ERRMSG = ''
                       Result = ADD_NRT_RES( ERRMSG=ERRMSG, ... )
                       IF ERRMSG NE '' THEN ...

 Calls       : ***
	DATATYPE [1], DATATYPE [2], DATATYPE [3], DBBUILD [1], DBBUILD [2], DBBUILD [3]
	DBCLOSE [1], DBCLOSE [2], DBCLOSE [3], DBOPEN [1], DBOPEN [2], DBOPEN [3]
	GET_INSTRUMENT
 CALLED BY:
	READ_KAP
 Common      :	None.

 Restrictions:	Only this routine or CLR_NRT_RES can be used to add or delete
		NRT reserved entries to the database.  Modifying the database
		by hand could corrupt its integrity.

		The data types and sizes of the structure elements must match
		the definitions in the database.

		!PRIV must be 2 or greater to use this routine.

 Side effects:	None.

 Category    :	Planning, Databases.

 Prev. Hist. :	None.

 Written     :	William Thompson, GSFC, 3 April 1995

 Modified    :	Version 1, William Thompson, GSFC, 3 April 1995
		Version 2, William Thompson, GSFC, 22 May 1995
			Modified to allow array inputs.

 Version     :	Version 2, 22 May 1995


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

 Name        :	ADD_OTHER_OBS()

 Purpose     :	Adds a plan entry for another observatory to database

 Explanation :	This procedure takes an "Other_Obs" science plan entry from the
		KAP and adds it to the database "other_obs".  This database
		contains a series of such entries, making a historical list.

 Use         :	Result = ADD_OTHER_OBS( DEF )

		IF NOT ADD_OTHER_OBS( DEF ) THEN ...

 Inputs      :	DEF = This is an anonymous structure containing the following
		      tags:

			TELESCOP     = The name of the telescope.
			MNEMONIC     = The mnemonic for the telescope.
			SCI_OBJ      = Science objective
			SCI_SPEC     = Specific science objective
			NOTES	     = Further notes about the observation
			START_TIME   = Date/time of beginning of observation,
				       in TAI format
			END_TIME     = Date/time of end of observation, in TAI
				       format
			OBJECT	     = Code for object planned to be observed
			OBJ_ID	     = Object identification
			CMP_NO	     = Campaign number

		      It can also be an array of such structures.

 Opt. Inputs :	None.

 Outputs     :	The result of the function is a logical value representing
		whether or not the operation was successful, where 1 is
		successful and 0 is unsuccessful.

 Opt. Outputs:	None.

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

                       ERRMSG = ''
                       Result = ADD_OTHER_OBS( ERRMSG=ERRMSG, ... )
                       IF ERRMSG NE '' THEN ...


 Calls       : ***
	DATATYPE [1], DATATYPE [2], DATATYPE [3], DBBUILD [1], DBBUILD [2], DBBUILD [3]
	DBCLOSE [1], DBCLOSE [2], DBCLOSE [3], DBOPEN [1], DBOPEN [2], DBOPEN [3]
	GET_CAMPAIGN, GET_OBJECT
 CALLED BY:
	READ_KAP
 Common      :	None.

 Restrictions:	Only this routine or DEL_PLAN can be used to add or delete
		science plan descriptions to or from the database.
		Modifying the database by hand could corrupt its integrity.

		The data types and sizes of the structure elements must match
		the definitions in the database.

		!PRIV must be 2 or greater to use this routine.

 Side effects:	None.

 Category    :	Planning, Databases.

 Prev. Hist. :	None.

 Written     :	William Thompson, GSFC, 12 April 1995

 Modified    :	Version 1, William Thompson, GSFC, 12 April 1995

 Version     :	Version 1, 12 April 1995


ADD_PATH [2] $SSW/soho/mdi/idl_old/gen/ssw_lib/add_path.pro
[Previous] [Next]
 PROJECT:
       SOHO - CDS

 NAME:
       ADD_PATH

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

 EXPLANATION:

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

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

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

 OUTPUTS:
       None, but !path is changed.

 OPTIONAL OUTPUTS:
       None.

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

 CALLS: ***
	ARR2STR [1], Arr2Str [2], CHK_DIR [1], CHK_DIR [2], CONCAT_DIR [1], CONCAT_DIR [2]
	CONCAT_DIR [3], DATATYPE [1], DATATYPE [2], DATATYPE [3], STR_SEP, concat_dir [4]
 CALLED BY:
	DO_EIT_SCALING, EIT__DEFINE, GET_GEV, GET_NAR, HSI_LIGHTCURVE_TEST, HXRS__DEFINE
	ITOOL_RD_FITS, LOAD_EIT_COLOR, LOAD_PATH, READ_EIT_FILE, SPECPLOT__DEFINE
	hessi_version
 COMMON BLOCKS:
       None.

 RESTRICTIONS:
       None.

 SIDE EFFECTS:
       None.

 CATEGORY:
       Utilities, OS

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

 MODIFICATION HISTORY:
       Version 2, Liyun Wang, GSFC/ARC, October 17, 1994
          Added EXPAND keyword

 VERSION:
       Version 2, October 17, 1994


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

 Name        :	ADD_PLAN()

 Purpose     :	Adds a SoHO/CDS science plan record to the database

 Explanation :	This procedure takes a SoHO/CDS science plan entry and
		adds it to the database "sci_plan".  This database contains
		a series of such entries, making a historical list.

 Use         :	Result = ADD_PLAN( DEF )

		IF NOT ADD_PLAN( DEF ) THEN ...

 Inputs      :	DEF = This is an anonymous structure containing the following
		      tags:

			SCI_OBJ      = Science objective from the daily science
				       meeting
			SCI_SPEC     = Specific science objective from meeting
			NOTES	     = Further notes about the observation
			START_TIME   = Date/time of beginning of observation,
				       in TAI format
			END_TIME     = Date/time of end of observation, in TAI
				       format
			OBJECT	     = Code for object planned to be observed
			OBJ_ID	     = Object identification
			PROG_ID	     = Program ID, linking one or more studies
				       together
			XCEN	     = Center(s) of instrument FOV along X
				       axis, given as a character string.
			YCEN	     = Center(s) of instrument FOV along Y
				       axis, given as a character string.
			CMP_NO	     = Campaign number
			DISTURBANCES = Description of any disturbances

		      It can also be an array of such structures.

 Opt. Inputs :	None.

 Outputs     :	The result of the function is a logical value representing
		whether or not the operation was successful, where 1 is
		successful and 0 is unsuccessful.

 Opt. Outputs:	None.

 Keywords    :	INSTRUMENT = Instrument to add plan entry for.  Can be passed
			     either as the instrument name or as a single
			     character code value.  Normally, this routine is
			     used for adding CDS records.  However, the use of
			     the INSTRUMENT keyword allows it to be used with
			     the SOC planning tool.

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

				ERRMSG = ''
				Result = ADD_PLAN( ERRMSG=ERRMSG, ... )
				IF ERRMSG NE '' THEN ...


 Calls       : ***
	DATATYPE [1], DATATYPE [2], DATATYPE [3], DBBUILD [1], DBBUILD [2], DBBUILD [3]
	DBCLOSE [1], DBCLOSE [2], DBCLOSE [3], DBEXT [1], DBEXT [2], DBEXT [3], DBEXT [4]
	DBFIND [1], DBFIND [2], DBFIND [3], DBOPEN [1], DBOPEN [2], DBOPEN [3], GET_CAMPAIGN
	GET_INSTRUMENT, GET_OBJECT, GET_PROGRAM, TAI2UTC, TRIM, UNIQ [1], UNIQ [2], UNIQ [3]
 CALLED BY:
	IMPORT_PLAN
 Common      :	None.

 Restrictions:	The INSTRUMENT keyword must *only* be used with the SOC
		planning tool.  Its use disables some CDS-specific checks.

		Only this routine or DEL_PLAN can be used to add or delete
		science plan descriptions to or from the database.
		Modifying the database by hand could corrupt its integrity.

		The data types and sizes of the structure elements must match
		the definitions in the database.

		!PRIV must be 2 or greater to use this routine.

 Side effects:	The dates in the structure are rounded off to millisecond
		accuracy.

 Category    :	Planning, Databases.

 Prev. Hist. :	None.

 Written     :	William Thompson, GSFC, 26 July 1994

 Modified    :	Version 1, William Thompson, GSFC, 2 August 1994
               Version 2, Liyun Wang, GSFC/ARC, September 22, 1994
                  Added the keyword ERRMSG.
		Version 3, William Thompson, GSFC, 8 November 1994
			Modified how GET_OBJECT is called.
		Version 4, William Thompson, GSFC, 13 December 1994
			Modified to write times out to millisecond accuracy.
		Version 5, William Thompson, GSFC, 20 December 1994
			Changed OBJECT to three characters
		Version 6, William Thompson, GSFC, 8 May 1995
			Modified to pay attention to DELETED field in database
		Version 7, William Thompson, GSFC, 16 May 1995
			Added keyword INSTRUMENT
		Version 8, William Thompson, GSFC, 22 May 1995
			Made INS variable a named structure.
		Version 9, William Thompson, GSFC, 29 June 1995
			Changed so that time in structure is rounded off to
			millisecond accuracy.
		Version 10, William Thompson, GSFC, 30 August 1995
			Added tags XCEN, YCEN
			Allow input to be an array
		Version 11, Zarro, GSFC, 14 January 1997
			Made CMP_NO = 1 a valid ID to allow adding
                       EIT plans

 Version     :	Version 11


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

   Purpose: perform rudimentary checks on input idl module(s) and place it
	     online if everything copecetic

   Input Parameters
      module - name of module(s) (including path) or directory containing
	 	multiple modules to check

   Calling Sequence:
      add_pro, module [,/doc]

 CALLS:


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

 Name        :	ADD_PROGRAM()

 Purpose     :	Adds a CDS program definition to the database

 Explanation :	This procedure takes a CDS multi-observation program definition
		and adds it to the database "program".

 Use         :	Result = ADD_PROGRAM( DEF )

		IF NOT ADD_PROGRAM( DEF ) THEN ...

 Inputs      :	DEF = This is an anonymous structure containing the following
		      tags:

			PROGNAME = Name of the program.
			PROG_ID	 = Unique identifier number.  Initially this is
				   zero.  It is updated by this routine to
				   reflect the ID number in the database.
			PROGDESC = Up to five lines of text describing the
				   program.

 Opt. Inputs :	None.

 Outputs     :	The result of the function is a logical value representing
		whether or not the operation was successful, where 1 is
		successful and 0 is unsuccessful.

 Opt. Outputs:	None.

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

                       ERRMSG = ''
                       Result = ADD_PROGRAM( ERRMSG=ERRMSG, ... )
                       IF ERRMSG NE '' THEN ...


 Calls       : ***
	DATATYPE [1], DATATYPE [2], DATATYPE [3], DBBUILD [1], DBBUILD [2], DBBUILD [3]
	DBCLOSE [1], DBCLOSE [2], DBCLOSE [3], DBEXT [1], DBEXT [2], DBEXT [3], DBEXT [4]
	DBOPEN [1], DBOPEN [2], DBOPEN [3], DB_INFO [1], DB_INFO [2], DB_INFO [3]
 CALLED BY:
	XPROGRAM_ADD
 Common      :	None.

 Restrictions:	Only this routine can be used to add program descriptions to
		the database.  Modifying the database by hand could corrupt its
		integrity.

		The data types and sizes of the structure elements must match
		the definitions in the database.  The string lengths must not
		exceed the lengths defined in the database.

		!PRIV must be 2 or greater to use this routine.

 Side effects:	Once a program description has been added to the database, it
		must never be removed.

 Category    :	Planning, Databases.

 Prev. Hist. :	None.

 Written     :	William Thompson, GSFC, 21 July 1994

 Modified    :	Version 1.0, William Thompson, GSFC, 21 July 1994
               Version 2, Liyun Wang, GSFC/ARC, September 22, 1994
                  Added the keyword ERRMSG.

 Version     :	Version 2, September 22, 1994


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

 Name        :	ADD_RAW()

 Purpose     :	Adds an entry to the GIS raw data file catalog.

 Explanation :	This procedure adds an entry to the GIS raw data file catalog.
		The ID number for the raw data file is assigned.

 Use         :	Result = ADD_RAW( DEF )

		IF NOT ADD_RAW( DEF ) THEN ...

 Inputs      :	DEF = This is an anonymous structure containing the following
		      tags:

			RAW_ID	   = Raw data file ID number.  Initially, this
				     is zero.  It is updated by this routine to
				     reflect the ID number in the database.
			RAW_DESC   = Free format description
			START_TIME = Start time of data taking, in TAI format.
			DET_NUM	   = GIS detector number: 1-4
			SLIT_NUM   = Slit number
			HVOLT	   = High voltage value
			LLD	   = Low level discriminator value
			CNT_RATE   = Count rate range (min, max)
			RAW_FILE   = Raw data file name
			FFB	   = Front face bias
			FIL_ID	   = Filament ID number
			FIL_CUR	   = Filament current
			ZONE_ID	   = Zone ID number

 Opt. Inputs :	None.

 Outputs     :	The result of the function is a logical value representing
		whether or not the operation was successful, where 1 is
		successful and 0 is unsuccessful.

		The tag RAW_ID in the input structure is updated to reflect
		the ID number assigned in the database.

 Opt. Outputs:	None.

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

                       ERRMSG = ''
                       Result = ADD_RAW( ERRMSG=ERRMSG, ... )
                       IF ERRMSG NE '' THEN ...

 Calls       : ***
	DATATYPE [1], DATATYPE [2], DATATYPE [3], DBBUILD [1], DBBUILD [2], DBBUILD [3]
	DBCLOSE [1], DBCLOSE [2], DBCLOSE [3], DBEXT [1], DBEXT [2], DBEXT [3], DBEXT [4]
	DBOPEN [1], DBOPEN [2], DBOPEN [3], DB_INFO [1], DB_INFO [2], DB_INFO [3]
 CALLED BY:
	CAT_RAW
 Common      :	None.

 Restrictions:	Only this routine can be used to add raw data file entries to
		the database.  Modifying the database by hand could corrupt its
		integrity.

		The data types and sizes of the structure elements must match
		the definitions in the database.  The string lengths must not
		exceed the lengths defined in the database.

		!PRIV must be 2 or greater to use this routine.

 Side effects:	Once a raw data file definition has been added to the database,
		it must never be removed.

		The date in the structure is rounded off to millisecond
		accuracy.

		There is currently no safeguard to prevent the same data being
		added to the database twice.

 Category    :	Planning, Databases.

 Prev. Hist. :	None.

 Written     :	William Thompson, GSFC, 7 September 1995

 Modified    :	Version 1, William Thompson, GSFC, 7 September 1995
		Version 2, William Thompson, GSFC, 14 September 1995
			Added RAW_DESC, rename FF_BIAS to FFB to match GSET
			database.

 Version     :	Version 2, 14 September 1995


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

 Name        :	ADD_RES_TYPE()

 Purpose     :	Adds a resource type name to the database

 Explanation :	This procedure adds a resource type name such as "DSN_CONTACT"
		to the "resource_type" database.  The ID number for the
		resource type is assigned.

 Use         :	Result = ADD_RES_TYPE( TYPE )

		IF ADD_RES_TYPE( TYPE ) EQ 0 THEN ...

 Inputs      :	TYPE = A string parameter containing the name of the resource
		       type.  Can be up to 30 characters long.

 Opt. Inputs :	None.

 Outputs     :	The result of the function is the ID number assigned to the
		resource type.  If not successful, then 0 is returned instead.

 Opt. Outputs:	None.

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

                       ERRMSG = ''
                       Result = ADD_RES_TYPE( ERRMSG=ERRMSG, ... )
                       IF ERRMSG NE '' THEN ...

	CHECK_ONLY= If this keyword is set, then the routine only checks to see
		    if the proposed entry is valid, but does not attempt to
		    place it in the database.

 Calls       : ***
	DATATYPE [1], DATATYPE [2], DATATYPE [3], DBBUILD [1], DBBUILD [2], DBBUILD [3]
	DBCLOSE [1], DBCLOSE [2], DBCLOSE [3], DBEXT [1], DBEXT [2], DBEXT [3], DBEXT [4]