DAO_VALUE $SSW/gen/idl_libs/astron/idlphot/dao_value.pro
[Previous] [Next]
 NAME:
	DAO_VALUE
 PURPOSE:
	Returns the value of a DAOPHOT point-spread function at a set of points.
 EXPLANATION:
	The value of the point-spread function is the sum of a
	two-dimensional integral under a bivariate Gaussian function, and 
	a value obtained by interpolation in a look-up table.  DAO_VALUE will
	optionally compute the derivatives wrt X and Y

 CALLING SEQUENCE:
	Result = DAO_VALUE( xx, yy, gauss, psf, [ dvdx, dvdy ] )

 INPUTS:
	XX,YY   - the real coordinates of the desired point relative 
		to the centroid of the point-spread function.
	GAUSS  -  5 element vector describing the bivariate Gaussian
	GAUSS(0)- the peak height of the best-fitting Gaussian profile.
	GAUSS(1,2) - x and y offsets from the centroid of the point-spread 
		function to the center of the best-fitting Gaussian.
	GAUSS(3,4) - the x and y sigmas of the best-fitting Gaussian.
	PSF  -  a NPSF by NPSF array containing the look-up table.

 OUTPUTS:
    RESULT - the computed value of the point-spread function at
             a position XX, YY relative to its centroid (which 
             coincides with the center of the central pixel of the
             look-up table).

 OPTIONAL OUTPUTS:
       DVDX,DVDY - the first derivatives of the composite point-spread
             function with respect to x and y.

 NOTES
 	although the arguments XX,YY of the function DAO_VALUE
	are relative to the centroid of the PSF, the function RINTER which
	DAO_VALUE calls requires coordinates relative to the corner of the 
	array (see code).

 PROCEDURES CALLED:
	DAOERF, RINTER()
 REVISON HISTORY:
	Adapted to IDL by B. Pfarr, STX, 11/17/87 from 1986 STSDAS version
	of DAOPHOT
	Converted to IDL V5.0   W. Landsman   September 1997
 CALLS:
 CALLED BY
	NSTAR, PKFIT [1], PKFIT [2], RDPSF, SUBSTAR


DAOERF $SSW/gen/idl_libs/astron/idlphot/daoerf.pro
[Previous] [Next]
 NAME:
	DAOERF
 PURPOSE:         
	Calulates the intensity, and derivatives, of a 2-d Gaussian PSF
 EXPLANATION:
	Corrects for the finite size of a pixel by integrating the Gaussian
	over the size of the pixel.    Used in the IDL-DAOPHOT sequence.   

 CALLING SEQUENCE:
	DAOERF, XIN, YIN, A, F, [ PDER ] 

 INPUTS:
	XIN - input scalar, vector or array, giving X coordinate values
	YIN - input scalar, vector or array, giving Y coordinate values, must 
		have same number of elements as XIN.
	A - 5 element parameter array describing the Gaussian
		A(0) - peak intensity
		A(1) - X position of peak intensity (centroid)
		A(2) - Y position of peak intensity (centroid)
		A(3) - X sigma of the gaussian (=FWHM/2.345)         
		A(4) - Y sigma of gaussian

 OUTPUTS:
	F - array containing value of the function at each (XIN,YIN) 
	    The number of output elements in F and PDER is identical with
		the number of elements in X and Y

 OPTIONAL OUTPUTS:
	PDER - 2 dimensional array of size (NPTS,5) giving the analytic
		derivative at each value of F with respect to each parameter A.

 REVISION HISTORY:
	Written: W. Landsman                October, 1987
	Converted to IDL V5.0   W. Landsman   September 1997
 CALLED BY
	DAO_VALUE, GETPSF


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

       PURPOSE: Calculate limb darkening function for specified wavelength
                or wavelength range and use to remove limb darkening effects
                from input image.

       CALLING SEQUENCE:
               darklimb_correct, imgin, imgout, lambda=lambda
               darklimb_correct, imgin, imgout, lambda=lambda, limbxyr=[x,y,r]
               darklimb_correct,imgin,imgout, lambda=lambda,bandpass=bandpass

       INPUT:
               imgin - img to be corrected 
		lambda - wavelength of image in Angstroms

       OUTPUT:
		imgout - corrected image

       OPTIONAL INPUT:
               limbxyr  - limb centroid, 3 element array [x,y,r] 
                          (if not passed,it will attempt to find it) 
              	bandpass - input bandpass if image is integrated over a range
   			   of wavelengths.  If this is set the program takes
                          averages the limb darkening coefficients over a
		 	   wavelength range: lambda +/- bandpass/2

       OPTIONAL OUTPUT:
               limbfilt - an image of the limb darkening function

       NOTES and WARNINGS:
		The limb darkening function uses a 5th order polynomial fitting
		to the limb darkening constants obtained from Astrophysical 
		Quantities.  

		!!! THIS ONLY WORKS IN THE WAVELENGTH RANGE 4000<LAMBDA<15000 ANGSTROMS. !!!

	ROUTINES CALLED:
		DARKLIMB_U, DARKLIMB_V, DARKLIMB_R
 CALLS: ***
	DARKLIMB_R, DARKLIMB_U, DARKLIMB_V, DIST_CIRCLE, TARGET [1], target [2]
 CALLED BY:
	MDI__DEFINE, wrt_sci160k_img
       HISTORY:
              14-oct-96 - D. Alexander, Written w/SLF
               5-feb-97 - S.L.Freeland - Changed names / SSW compatibility
                                         Allow imgout via positional param
                                         Missing Lambda protection
                                        


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

 Name        : DAT2GIF

 Purpose     : Write 2-d data to GIF file

 Category    : imaging

 Explanation : 

 Syntax      : IDL> dat2gif,data,file

 CALLS: ***
	CONGRID [1], CONGRID [2], CONGRID [3], DATATYPE [1], DATATYPE [2], DATATYPE [3]
	EXIST, LOADCT, SELECT_WINDOWS, SSW_WRITE_GIF
 Examples    :

 Inputs      : DATA = 2-d data
               FILE = output file

 Opt. Inputs : None

 Outputs     : None

 Opt. Outputs: None

 Keywords    : XSIZE,YSIZE = new sizes to CONGRID images
               INTERP= smooth images

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

 Contact     : dzarro@solar.stanford.edu


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

   Purpose: convert data (2D or 3D) -> file or file sequence

   Input Parameters:
      data - 2D or 3D data
      r,g,b - optional color table

   Keyword Parameters:
      filenames - optional output file names
      times     - image times in any ssw format - used in place of filenames
                  names will be: [PREFIX]yyyymmdd_hhmmss.[EXTENSION]
      prefix    - if set and TIMES supplie, prepended to output file name
                   [PREFIX]yyyymmdd_hhmmss.[EXTENSION]
      autoname  - (switch) if set, just name files:
                  d2f001.[EXTENSION], d2f002.[EXTENSION]...d2fnnn.[EXTENSION]

      OTHERS - see zbuff2file for others, including ,/gif,/jpeg,/tiff,/quality

   Calling Sequence:
      IDL> data2files, data [,r,g,b] [,/gif] [/jpeg] [/tiff]

   Method:
      Call zbuff2file for each image in <data>. Uses keyword inheritance

 CALLED BY:
	EIT_MKMOVIE, image2movie, mk_lasteit_movie
   History:
      Circa 1-Jan-1996 - single front end for data -> common WWW formats
      3-June-1998 - S.L.Freeland - made OUTDIR explicit
      11-April-2000 - S.L.Freeland - endif->endcase (required by 5.3)

 CALLS: ***
	BOX_MESSAGE, BREAK_FILE [1], BREAK_FILE [2], BREAK_FILE [3], CONCAT_DIR [1]
	CONCAT_DIR [2], CONCAT_DIR [3], LOADCT, WDEF [1], WDEF [2], anytim [1], anytim [2]
	anytim [3], anytim [4], anytim [5], break_file [4], concat_dir [4], data_chk [1]
	data_chk [2], str_replace [1], str_replace [2], zbuff2file [1], zbuff2file [2]
   Restrictions:
     You need to supply either FILNAMES or TIMES arrays
     Temporary version (for simple data -> image2movie interface)
     TODO - move rebinning, labeling, and rgb options to this routine
            in addition to image2movie.


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

   Purpose: checks input data for type, ndimension, etc
	     (uses IDL size function results)

   Keyword Parameters:
      type -   if set, return idl data type  from size function
		type		data type
		  0		 ???
		  1		 byte
		  2		 integer
		  3		 longword
		  4		 floating point
		  5		 double precision
		  6		 ???
		  7		 string
		  8		 structure
      ndimen - if set, return number dimensions (size(0))
      nimages - if set, return #images (1->2D, NI->3D, else 0)
      xsize - if set, return X size (size(data))(1)
      nx    - synonym for xsize
      ysize - if set, return Y size (size(data))(2)
      ny    - synonym for ysize
      string/struct/undefined - if set, return true if type matches 
      scalar, vector - if set, true if data of specified variety
            
   Calling Examples:
      if (data_chk(p1,/type) eq data_chk(p2,/type)) then...
      case data_chk(data,/type) of...
      if data_chk(data,/string,/scalar) then ...
      if data_chk(data,/string,/struct,/undef,/orr)
      case data_chk(maybe_cube,/nimages) of...

 CALLED BY:
	CALC_LOI_ROLL, CLEAN [1], CLEAN_GIF, CUM_SUM, DROT_XY, FILE_STAT [1], FILE_STAT [2]
	FIND_FID, FIX_OLD_ATT [1], FIX_OLD_ATT [2], GETV4TYPE, GET_MAP_PROP, GET_MAP_SUB
	GOES_TEK [1], GRS_EXTRACT, INDEX2OMAP, ISNUM, Load_Main [1], Load_Main [2], MK_24BIT
	MK_8BIT, MK_EIT_MAP, MK_MPEG, PIX2V4, PLOT_MAP
	PLOT_MAP2 WARNINGTEMPORARY FIX ONLY FOR 16 bit ZBuffer support
	READ_ANALIST, REBIN_FID, RESTORE_LOW8 [1], RESTORE_LOW8 [3], SOHO_XY, SSW_HOT_PIX
	STEPPER2 [1], STEPPER2 [2], STEPPER2_s1 [1], STEPPER2_s1 [2], SUB_MAP, TIFF2GIF
	TRACE_COPY, TRACE_PREP, V4OK, V4PRINT, V4XFORM, V4XS2SC, VALID_GIF, XPOPUP
	XYPLOT__DEFINE, ace_files, ada2str, align_cube_correl, align_label, anahead2struct
	arr_diff, cdrom_files [2], centroid, check_compile [1], check_compile [2]
	check_log [1], check_log [2], confac, configure_http, cosmic_stat, cube_edit
	daily_forecast [2], data2files, decode_gev, difference_movie, dir_since
	doc_summ [1], doc_summ [2], eit_catrd [3], eit_file2path, eit_files, eit_fill_cube
	eit_fulldisk, eit_fulldiskdb, eit_gt_corner, eit_gt_filter, eit_gt_wave
	eit_proton_summary, eitoversxt, esegment, event_movie [1], event_movie [2]
	evt_grid, extract_fids, fid2mo, file_purge_sizes, file_stat [3], files2data
	files_since [1], files_since [2], fitshead2struct, fl_goesplot [1]
	fl_goesplot [2], fl_goesplot [3], fl_suntoday [1], fl_suntoday [2]
	fl_suntoday [3], ftp_list_since, genx2html [1], genx2html [2], get_acedata
	get_bcs, get_correl_offsets, get_eit_info, get_gevloc_data, get_history, get_infox
	get_leak_image [1], get_leak_image [2], get_leak_image [3], get_newsoon
	get_solar_indices, get_ssc_best, get_utevent [1], get_utevent [2]
	get_ydbhelp [1], get_ydbhelp [2], go_batch [1], go_batch [2], go_ssw_batch
	go_sxt_sss2secondary, go_yo_prod_batch, goes_plot [1], goes_plot [2]
	goes_plot [3], goes_plot [4], goes_plot [5], goes_value2class, gt2exe [1]
	gt2exe [2], gt_tagval [1], gt_tagval [2], gt_yo_station, gtt_info, gtt_mnem
	html_basics, html_doc, html_form_addtime [1], html_form_addtime [2]
	html_form_addtime [3], html_get_files, html_highlight, html_linklist
	html_remove_template, http_names, hxt_impulsivness, idl_server_command
	idl_server_control, image2movie, is_bestnode [1], is_bestnode [2], is_member [1]
	is_member [2], keyword_db, killold [1], killold [2], lapalma_cat, lapalma_files
	last_lc, last_nelem, laststat [1], laststat [2], later, lcur_image, les_archive_info
	low_res, low_res_1d, low_res_2d, make_grid_sphere, make_mirror, map2index
	map_env2dir, mdi_files, mdi_write_genxcat, merge_genxcat, mk_formt_html [1]
	mk_formt_html [2], mk_formt_html [3], mk_lasteit_movie, mk_nar [1], mk_nar [2]
	mk_pix [1], mk_pix [2], mk_sff_pair [1], mk_sff_pair [2], mk_ssc [1], mk_ssc [2]
	mk_ssc_batch [1], mk_ssc_batch [2], mk_sxh, mk_week_file [1], mk_week_file [2]
	mkthumb, mo_check, mo_patch, mreadfits, mreadfits_header, mreadfits_sxig12
	mreadfits_urls, mtcmd [1], mtcmd [2], multi_hda2hxi, mwritefits, mxf_decomp_data
	mxf_dset_map, mxf_read_data, mxfdset_map, netscape_control, normalize_cube
	password_info, plot_ace, plot_goesp, plot_gsn, pr_status [1], pr_status [2]
	pr_visible, prcols [1], prcols [2], prcols [3], pref_super, rd_sxg, rd_sxtgoes
	read_eits, read_genxcat, read_lapalma, read_soon, read_sooncheck, read_sxt
	read_trace, region_mark, reltime [1], reltime [2], rep_logenv, required_tags
	res_freq, restgenx, roll_xy, rotate_3d, safe_log10, save_idl_routines, savegenx
	search [1], search [2], search_obs, secchi_time2files, set_logenv [1]
	set_logenv [2], set_logvms, sfd_comp, show_pix [1], show_pix [2]
	show_pix_event [1], show_pix_event [2], show_pix_event [3], sobel_scale
	soon_search [1], soon_search [3], soon_search_www, soon_table, sooncat_cadence
	spartan_roll, special_movie, ssc_files [1], ssc_files [2], ssc_files [3]
	ssw_apkpbar, ssw_build_trace, ssw_check_contrib, ssw_colors, ssw_composite
	ssw_conflicts, ssw_contrib_info, ssw_contrib_monitor, ssw_ct2rgb
	ssw_expand_times, ssw_fill_cube, ssw_find_transit, ssw_findstuff2html
	ssw_findstuff_struct, ssw_flare_locator, ssw_fov_context, ssw_fs_maskdbase
	ssw_getapplet, ssw_getdst, ssw_imapcoord2html, ssw_install_explinkages
	ssw_javamovie, ssw_jsulr2data, ssw_jsurl2imagelist, ssw_move, ssw_nar2armurl
	ssw_packages, ssw_pos2zenith, ssw_post_query, ssw_required_path
	ssw_sec_aktxt2struct, ssw_set_instr, ssw_start_rpcserver, ssw_strfind
	ssw_strsplit, ssw_subimage, ssw_swmap_bestof, ssw_swmap_uniqinfo
	ssw_time2filelist, ssw_time2paths, ssw_track_demo, ssw_track_fov
	ssw_unspike_cube, ssw_upgrade [1], ssw_upgrade [2], ssw_upgrade_backup
	ssw_url2data, sswdb_files, sswdb_info, sswdb_upgrade, sswloc, sswstruct_fill [1]
	str2cols [1], str2cols [2], str2html_anchor, str_subset, str_taginfo
	str_tagval [1], str_tagval [2], strarrinsert, strcapitalize [1]
	strcapitalize [2], strjustify, strmids [1], strmids [2], strnocomment
	strpair2struct, strspecial [1], strspecial [2], strsplit, struct2fitshead
	struct2ms [1], struct2ms [2], struct2ssw, struct_where, sun_today [1]
	sun_today [2], sun_today [3], sxt2eit, sxt2file, sxt_cba2os1 [1], sxt_cba2os1 [2]
	sxt_deleak [1], sxt_deleak [2], sxt_dstreek, sxt_his_info [2], sxt_html, sxt_plan
	sxt_prep [1], sxt_prep [2], sxt_prep [3], sxt_sff_composite [1]
	sxt_sff_composite [2], sxt_ssc2file, sxt_ssc2sss, sxt_ssc_rationalize
	sxt_suture [1], sxt_suture [2], sxt_xsaa, table2struct, tace_time2level1
	thumbnail_table_html, time_window, timeavg [1], timeavg [2], timegrid
	tr_head_info, tr_wrt_fits_i1 [2], trace_bin_struct, trace_build_mosaic3
	trace_cat, trace_cat2cosmic, trace_comsmic_norm, trace_dph2struct [1]
	trace_files, trace_get_vignette, trace_index2macrofov, trace_jpeg_dbase
	trace_last_movie [1], trace_last_movie [3], trace_last_movie_queue
	trace_make_tma, trace_make_tmr [2], trace_make_vignette, trace_movie_context
	trace_movie_index [1], trace_movie_index [2], trace_movies_prioritize [1]
	trace_movies_prioritize [2], trace_prioritize_um, trace_request_summary
	trace_scale, trace_special_movie [1], trace_special_movie [2]
	trace_special_movie [3], trace_special_movie2, trace_struct2filename
	trace_sub2point, trace_success_file, trace_uniq_movies, trace_unspike_time
	trace_wave2point, trace_wavename2num, trace_write_genxcat, ucon_path
	update_history, url_encode, v4canon, weeks_in_year [1], weeks_in_year [2]
	write_genxcat, write_trace, write_trace_bin, wrt_str [1], wrt_str [2]
	wwwidl_server_check, xspr [1], xspr [2], xy_lwa, yo_file_check [1]
	yo_file_check [2], yo_index2path, yo_xda2legacy, yoh_orb_interp [1]
	yoh_orb_interp [2], yohkoh_legacy_files [1], yohkoh_legacy_files [2]
	yopos [1], yopos [2], ys_file_check [1], ys_file_check [2], zcheck_hdr, zintervals
	zmovie, zmovify, zstr2utc [1], zstr2utc [2]
   History:
      27-Apr-1993 (SLF)
      21-Mar-1994 (SLF) documentation header
      10-oct-1996 (SLF) add SCALAR (synonym for the historical mispell SCALER)
       2-oct-1997 (SLF) add NIMAGES
      15-nov-1997 (SLF) add XSIZE and YSIZE keyword and function
      20-oct-2002 (LWA) added list of data types to header
       2-jan-2007 (SLF) removed vestigal references to ORR (not supported)

   Restrictions:
      some keywords are mutually exclusive - for self-documenting code 
      and reduction of code duplicataion 
      ORR not supported (place holder never realized - you'll have to
      do your own 'ands' and 'ors' external (could write data_chks.pro
      driver with keyword inherit via _extra to This routine...)


data_compress [1] $SSW/gen/idl/genutil/data_compress.pro
[Previous] [Next]
NAME:
	data_compress

PURPOSE:
	Compress and decompress data using UNIX compress or gzip by
	writing a temporary file.
INPUT:
	data	  - uncompressed data (unless /DECOMP is set in which
		    case it is the compressed data)
 CALLS: ***
	CONCAT_DIR [1], CONCAT_DIR [2], CONCAT_DIR [3], FILE_STAT [1], FILE_STAT [2]
	GET_NBYTES, concat_dir [4], curdir [1], curdir [2], diskfree [1], diskfree [2]
	file_compress [1], file_compress [2], file_stat [3], file_uncompress [1]
	file_uncompress [2], get_logenv [1], get_logenv [2], rdwrt [1], rdwrt [2]
	rdwrt [3], write_access [1], write_access [2]
 CALLED BY:
	RD_SDA_DATA [1], RD_SDA_DATA [2], sav_sda [1], sav_sda [2], sav_sda [3]
OPTIONAL KEYWORD INPUT:
	decomp	  - If set, then the input is compressed data and decompression
		    is supposed to be performed.
       type_comp - Indicates type of compression.    1=>gzip, 2=>Unix Compress
          t_comp - indicates type of decompression.  1=>gzip, 2=>Unix Compress

METHOD:
	A file must be created in a temporary directory to be decompressed/
	compressed.  The following logic is used to figure out which 
	directory to use:
		1. If $DIR_GEN_DECOMP is defined and has enough space
		2. If $DIR_GBO_TEMP is defined and has enough space
		3. If $HOME has enough space
		4. The current default directory
		5. If /tmp has enough space
HISTORY:
	Written 7-Mar-95 by M.Morrison 
       t_comp, type_comp added 11-Dec-97 by PGS      


DATA_PATHS $SSW/gen/idl/fund_lib/yohkoh/data_paths.pro
[Previous] [Next]
 Project     : YOHKOH     
                   
 Name        : DATA_PATHS
               
 Purpose     : check for directories/subdirectories pointed to by
               environmentals named yd* where * is an integer (e.g. yd1)
               
 Category    : utility
               
 Explanation : Used by Yohkoh software such as YODAT and WBDA
               
 Syntax      : IDL> paths=data_paths()
    
 CALLED BY:
	BCS_24HR_PLOT [1], BCS_24HR_PLOT [3], BCS_CAT, BCS_COMPARE, BCS_CREATE_CAT
	BCS_FREE_DATA, FIND_CAL [1], FIND_CAL [2], FIND_SEU, GET_SUBARR2, HXT_AUTOIMG
	HXT_CAL_FIX [1], HXT_CAL_FIX [2], LASTSFD_DIFF, SEL_AR, SORT_FILES, WBDA [1]
	WBDA [2], bcs_unpack, fort2hxi [1], fort2hxi [2], go_hxt_hk_temps
	go_lasdisk golaserdisk, go_lasdisk2 golaserdisk, mk_mapfile [1]
	mk_mapfile [2], mk_sdm, new_dpath [1], new_dpath [2], rd_sxs_pha [1]
	rd_sxs_pha [2], rd_xda_same, search_file [1], search_file [2], stt_plot
	tim2file [1], tim2file [2]
 Examples    : 

 Inputs      : None.
               
 Opt. Inputs : SELECT = index to select 
               (e.g. path=data_paths(0) for first path element)
               
 Outputs     : paths = list of directories under yd*

 Opt. Outputs: None.
               
 Keywords    : RESET = nulls last search results
               QUIET = turn off messages

 CALLS: ***
	CHK_DIR [1], CHK_DIR [2], DATATYPE [1], DATATYPE [2], DATATYPE [3], DELVARX [1]
	DELVARX [2], DELVARX [3], DELVARX [4], ESPAWN, TRIM, UNIQ [1], UNIQ [2], UNIQ [3]
	delvarx [5], get_subdirs [1], get_subdirs [2], is_number [1], is_number [2]
	rd_tfile [1], rd_tfile [2]
 Common      : DATA_PATHS = stores last search results.
               
 Restrictions: None.
               
 Side effects: None.
               
 History     : 1-Dec-93, D. Zarro (ARC) - written (based on Yohkoh version)
               28-Dec-97, Zarro (SAC) - modified for SSW compatibility
               5-Jan-98, Zarro (SAC) - modified for SSW (again)

 Contact     : DZARRO@SOLAR.STANFORD.EDU


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

   Name: data_quality

   Purpose: determine empirical data quality

   Input Parameters:
      images - 2D image or 3D image cube

   Output Parameters:
      function returns %GOOD OR Boolean (true=good)
                 floating vector w/length = #images
            -OR- boolean vector  w/length = #images if QUALITY_THRESH supplied

   Keyword Parameters:
      rows     - switch - if set, quality in terms of good rows      
      columns  - switch - if set, quality in terms of good columns  
      badvalue - user supplied value defining BAD (default is minimum(image))
      hist     - switch - if set, BAD value is highest frequency value
      minimum  - switch - if set, BAD value is minimum(image) [DEFAULT]
      maximum  - switch - if set, BAD value is maximum(image)

   Calling Sequence:
      quality=data_quality(images [,/row, /col, /min, /max, /hist, badval=nn])

   Calling Examples:
      quality=data_quality(cube)                 ; %pixels NE minimum(image)
      good=data_quality(cube, quality=90)        ; boolean quality GE 90
      quality=data_quality(cube, bad=0, /rows)   ; %rows with some data

 CALLED BY:
	eit_fulldisk, lasteit, quality_filter
   History:
       2-Oct-1996 - S.L.Freeland


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

   Purpose: add data summary fields to fits header (data not effected)

   Input Parameters:
      fitsfiles - list of FITS files to read & optionally update

   Keyword Parameters:
      satthresh - top cutoff level (ex: saturated pix level) - default=4090
      minthresh - low cutoff level (ex: missing data)        - default=0
      outfiles  - optional output file names (DEFAULT UPDATES INPUT FILE LIST)

   FITS FIELDS CALCULATED AND ADDED:
      IMG_AVG 	- Image Average
      STD_DEV  - Standard Deviation
      SAT_VAL  - hi cutoff level (ex: saturated pixels)
      SAT_PIX  - Number Pixels >= SAT_VAL
      MIN_VAL  - lo cutoff level (ex: missing data)
      MIN_PIX  - Number Pixels <= MIN_VAL

   Calling Sequence:
      data_sum2fits, fitsfiles [/img_avg, /std_dev, satthresh=NN, $
				    outfiles=outfiles
   
   History:
      3-Apr-1996 - S.L.Freeland

 CALLS: ***
	FILE_EXIST [2], FXADDPAR [1], FXADDPAR [2], READFITS [1], READFITS [2]
	READFITS [3], STDEV, WRITEFITS [1], WRITEFITS [2], file_exist [1], file_exist [3]
   Side Effects:
      if OUTFILES not specified, the input FITS files are updated


data_type [1] $SSW/gen/idl/genutil/data_type.pro
[Previous] [Next]
       NAME: data_type

       PURPOSE: Return the data type code from SIZE

       CALLING SEQUENCE: type=data_type(data)

 CALLED BY:
	CUT_IMG, READ_PS [1], READ_PS2, RESTORE_LOW8 [1], RESTORE_LOW8 [3], RFITS2 [1]
	RFITS2 [2], STEPPER [1], STEPPER [2], STEPPER [3], STEPPER [4], STEPPER [5]
	STEPPER2 [1], STEPPER2 [2], STEPPER_LP, cam_run_sum, ccd_hdr_info, check_dumps [1]
	check_ff_load, check_sci5k_trunc, command_laser, disp_sci160k [1]
	disp_sci160k [2], disp_sci5k, do_tr_reformat, dpc_img_summary
	exp_scale min_exp max_exp [1], focus_trace [1], focus_trace [2]
	get1hk_info [1], get1hk_info [2], get_gbo_pfi, get_linearity sig e_min e_max
	go_lasdisk2 golaserdisk, gtt_info, gtt_mnem, hkplot_info, in_fov, ip_que_dmpver
	iperr_sea, leak_sub [1], leak_sub [2], leak_sub [3], list_nrt_times, ltc
	mk_ascii_list, mk_dpc_image, mk_fits_head [1], mk_fits_head [2], mk_mdi_fits
	mk_mdi_iap, mk_obs_str, mnr_frm_fix, monitor_center [1], new_disp_sci5k [1]
	new_disp_sci5k [2], obs_summary, perf_vwbin, pfi_loc, plot_fem, plot_fft
	plot_img_cadence, plot_lcur [1], plot_lcur [2], plot_pzt_corr, plot_shutter_perf
	plott_bda, plott_hda, plott_wda, pr_gsn [1], pr_gsn [2], pr_mdihk_trans [1]
	pr_mdihk_trans [2], pr_therm_rs232, quick_hkplot [1], quick_hkplot [2], rd_fdss
	rd_hk [1], rd_hk [2], rd_pkt_head [1], rd_pkt_head [2], rd_rdb [1], rd_rdb [2]
	rd_sci5k, rd_station_plan, rd_therm_rs232, rd_trace_i0 [1], rd_trace_i0 [2]
	rd_week_file [2], read_ltc file, read_mdi, read_mdi16, read_trace, redo_disploi
	redo_mon_sci5k, seq_frame_info, seq_run_sum [1], seq_run_sum [2], sxpar2 [1]
	sxpar2 [2], sxt_prep [1], sxt_prep [2], sxt_prep [3], tfr_summary, tfr_summary2
	timeline, topsdb [1], topsdb [2], tr_build_img [1], tr_decode_head [1]
	tr_decode_head [2], tr_head_info, tr_summary_head, tr_wrt_fits
	tr_wrt_fits_i1 [1], tr_wrt_fits_i1 [2], trace_rd_jpeg, web_seq, weekid [2]
	wrt_fits [1], wrt_fits [2], wrt_fits_bin_exten [1], wrt_fits_bin_exten [2]
	wrt_sci160k_img, xanal_emi, xdisp_trace2, xdisp_trace3, xhkplot, xrd_trace
	xset_chain [1], xset_chain [2], xy_raster [1], xy_raster [2], xy_raster [3]
	ydb_exist [1], ydb_exist [2], ydb_exist [3], ydb_exist [4]
       HISTORY: Drafted by A.McAllister, 8-jul-93.


DATE $SSW/gen/idl_libs/astron/astro/date.pro
[Previous] [Next]
 NAME:
	DATE
 PURPOSE:
	Convert day-of-year to a DD-MMM-YYYY string

 CALLING SEQUENCE:
	D_String = DATE(Year, day )

 INPUTS:
	Year - Integer scalar specifying the year.   If the year contains only
		two digits, then it is assumed to indicate the number of 
		years after 1900. 

	Day - Integer scalar giving number of days after Jan 0 of the 
		specified year.    Can be larger than 366     

 OUTPUTS:
	D_String - String giving date in format '13-MAR-1986'

 RESTRICTIONS:
	Will not work for years before 100 AD 
 EXAMPLE:
	IDL> print, date(1997,279)
		'6-Oct-1997'

 MODIFICATION HISTORY:
       D.M. fecit  24 October,1983
	Work for years outside of the 19th century  W. Landsman  September 1997
	Converted to IDL V5.0   W. Landsman   September 1997


Date2DOY [1] $SSW/gen/idl/genutil/date2doy.pro
[Previous] [Next]
	NAME: 
		Date2DOY
	PURPOSE:
		Convert yymmdd into DOY (day of the year).  Input can
		be either string or integer.  The year is an Optional 
		return parameter.
	CALLING SEQUENCE:
		Date2DOY, idate, DOY [, yr]
	INPUT:
		idate	input format for the date: yymmdd.
			Data-type can be either string or integer.
	OUTPUT:
		DOY	integer with the day of the year.
	Output/Optional:
		yr	year of the returned DOY.
 CALLED BY:
	FndDur, FndIDs, dsn_input, mk_hst_summary, timeline
	Note:	If input data-type is string the returned values are
		string-type and if input-type is longword the returned
		parameters (DOY and yr) are integers.
	HISTORY:
		written by GAL 18-Sep-91


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

 Name        :	DATE2MJD()

 Purpose     :	Convert calendar dates to Modified Julian Days.

 Explanation :	This procedure calculates the Modified Julian Day number from
		the year, month and day, or from the year, day-of-year.

 Use         :	Result = DATE2MJD(YEAR, MONTH, DAY)
		Result = DATE2MJD(YEAR, DOY)

 Inputs      :	YEAR	= Calendar year, e.g. 1989.  All four digits are
			  required.

 Opt. Inputs :	MONTH	= Calendar month, from 1-12.
		DAY	= Calendar day, from 1-31, depending on the month.

				or

		DOY	= Day-of-year, from 1-365 or 1-366, depending on the
			  year.

		Either MONTH and DAY, or DOY must be passed.

 Outputs     :	The result of the function is the Modified Julian Day number
		for the date in question.  It is an integral number--fractional
		days are not considered.

 Opt. Outputs:	None.

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

                            ERRMSG = ''
                            MJD = DATE2MJD ( YEAR, MONTH, DAY, ERRMSG=ERRMSG )
                            IF ERRMSG NE '' THEN ...

 Calls       : ***
	DATATYPE [1], DATATYPE [2], DATATYPE [3]
 CALLED BY:
	LST, STR2UTC [1], STR2UTC [2], STR2UTC [3], UTC2DOY, UTC2INT [1], UTC2INT [2]
	UTC2INT [3], get_ovsa_log
 Common      :	None.

 Restrictions:	None.

 Side effects:	If number of parameters sent is invalid, ERRMSG is returned as
               a string array of 2 elements if the keyword ERRMSG is set.
		Also, the result returned has a value of -1.

 Category    :	Utilities, Time.

 Prev. Hist. :	None.  However, part of the logic of this routine is based on
		JDCNV by B. Pfarr, GSFC.

 Written     :	William Thompson, GSFC, 13 September 1993.

 Modified    :	Version 1, William Thompson, GSFC, 13 September 1993.
		Version 2, Donald G. Luttermoser, GSFC/ARC, 20 December 1994.
			Added the keyword ERRMSG.  Added test for month to 
			make sure a string is not passed.  Note that there are
			no internal procedures called that use the ERRMSG
			keyword.
		Version 3, Donald G. Luttermoser, GSFC/ARC, 30 January 1995.
			Made the error handling routine more robust.  Note 
			this routine can handle both vector and scalar input.

 Version     :	Version 3, 30 January 1995.


DATE_CODE $SSW/gen/idl/time/date_code.pro
[Previous] [Next]
 PROJECT:
       SOHO - SUMER

 NAME:	
       DATE_CODE()

 PURPOSE:
       Convert any date/time value into YYYYMMDD format.

 EXPLANATION:
       
 CALLING SEQUENCE: 
       Result = DATE_CODE(time)

 INPUTS:
       TIME - The date/time in any of the standard CDS time formats

 OPTIONAL INPUTS: 
       None.

 OUTPUTS:
       Result - A string with 'YYYYMMDD' format. If error occurs, a null
                string is returned.

 OPTIONAL OUTPUTS:
       None.

 KEYWORD PARAMETERS: 
       None.

 CALLS: ***
	ANYTIM2UTC [1], ANYTIM2UTC [2]
 CALLED BY:
	FIND_FID, FIND_KAP_FILE, FTP_BBSO, FTP_KISF, FTP_MLSO_IMAGES, FTP_MWSO, FTP_NOBE
	GET_LATEST_IAP, GET_LATEST_KAP, GET_NOAA, GET_RECENT_EIT, ITOOL_GETFILE
	ITOOL_PICKFILE, MK_SOHO, PLOT_CDS_POINT [1], PLOT_CDS_POINT [2], UPDATE_KAP
	XGET_SYNOPTIC, eis_get_events_filename [2], eis_get_events_filename [4]
	eis_mk_plan_gui [1], eis_mk_plan_gui [2], get_ovsa_log, todays_targets
 COMMON BLOCKS:
       None.

 RESTRICTIONS: 
       None.

 SIDE EFFECTS:
       None.

 CATEGORY:
       
 PREVIOUS HISTORY:
       Written April 24, 1995, Liyun Wang, GSFC/ARC

 MODIFICATION HISTORY:
       Version 1, Liyun Wang, GSFC/ARC, April 24, 1995
       Version 2, August 21, 1995, Liyun Wang, GSFC/ARC
          Added ERROR keyword

 VERSION:
       Version 2, August 21, 1995


DATE_CONV $SSW/gen/idl_libs/astron/astro/date_conv.pro
[Previous] [Next]
 NAME:
     DATE_CONV
 PURPOSE:
     Procedure to perform conversion of dates to one of three possible formats.

 EXPLANATION:
     The following date formats are allowed

       format 1: real*8 scalar encoded as:
               year*1000 + day + hour/24. + min/24./60 + sec/24./60/60
               where day is the day of year (1 to 366)
       format 2: Vector encoded as:
               date[0] = year (eg. 2005)
               date[1] = day of year (1 to 366)
               date[2] = hour
               date[3] = minute
               date[4] = second
       format 3: string (ascii text) encoded as
               DD-MON-YEAR HH:MM:SS.SS
               (eg.  14-JUL-2005 15:25:44.23)
            OR
               YYYY-MM-DD HH:MM:SS.SS  (ISO standard)
               (eg.  1987-07-14 15:25:44.23 or 1987-07-14T15:25:44.23)
                   
       format 4: three element vector giving spacecraft time words
       from a Hubble Space Telescope (HST) telemetry packet.   Based on
       total number of secs since midnight, JAN. 1, 1979

 CALLING SEQUENCE
       results = DATE_CONV( DATE, TYPE )

 INPUTS:
       DATE - input date in one of the three possible formats.
       TYPE - type of output format desired.  If not supplied then
               format 3 (real*8 scalar) is used.
                       valid values:
                       'REAL'  - format 1
                       'VECTOR' - format 2
                       'STRING' - format 3
                       'FITS' - YYYY-MM-DDTHH:MM:SS.SS'
               TYPE can be abbreviated to the single character strings 'R',
               'V', 'S' and 'F'.
               Nobody wants to convert TO spacecraft time (I hope!)
 OUTPUTS:
       The converted date is returned as the function value.

 CALLS: ***
	GETTOK [1], GETTOK [2], GETTOK [3], GETTOK [4]
 CALLED BY:
	DBFPARSE [1], DBFPARSE [2], DBFPARSE [3]
 EXAMPLES:
       IDL> print,date_conv('2006-03-13 19:58:00.00'),f='(f15.5)' 
             2006072.83194 
       IDL> print,date_conv( 2006072.8319444d,'F')
             2006-03-13T19:58:00.00
       IDL> print,date_conv( 2006072.8319444d,'V')
             2006.00      72.0000      19.0000      57.0000      59.9962

 HISTORY:
      version 1  D. Lindler  July, 1987
      adapted for IDL version 2  J. Isensee  May, 1990
      Made year 2000 compliant; allow ISO format input  jls/acc Oct 1998
      DJL/ACC Jan 1998, Modified to work with dates such as 6-JAN-1996 where
               day of month has only one digit.
      DJL, Nov. 2000, Added input/output format YYYY-MM-DDTHH:MM:SS.SS
      Replace spaces with '0' in output FITS format  W.Landsman April 2006


DATPLOT $SSW/gen/idl/display/datplot.pro
[Previous] [Next]
 PROJECT:
       SDAC
 Name:
	DATPLOT

 CALLING SEQUENCE:
	datplot,xl,xh,y [,xnew,ynew , STAIRS=STAIRS, color=color [,/OUTPLOT] ]

	or
	datplot,dummy1, dummy2, xs=xs, y [, xnew,ynew , $
	STAIRS=STAIRS, color=color [,/OUTPLOT] ]

 PURPOSE:
	This procedure is used to OVERplot histograms between channel edges.
 CATEGORY:
	1-D Graphics.
 INPUTS:
	xl - Low edges of abscissae
	xh - High edges of abscissae
	y  - Ordinates

 Optional Inputs:
	xs - xl and xhi are packed into xs(0,*) and xs(1,*)
	if xs is passed, then y is still the third argument,
	  the first two arguments are not used but required

 Optional Outputs:
	xnew - If /stairs, then array used for abscissae bins
	ynew - If /stairs, then ordinate array

 KEYWORDS:
	OUTPLOT - if set, interpret abscissae as time values for OUTPLOT
		If the abscissae is datatype structure, it is interpreted
		using Anytim().  Xnew  will have Utbase removed.

	/stairs - connect all the bins together, looks like stairs
	/nolegs - leave the ends floating under stairs option
	color   - plotting color to use, as with linecolors
	psym  - symbol to plot at center of horizontal bar, def=no effect
	sysmsize - size of symbol, def=0.1
	All remaining keywords available to OPLOT
 CALLS: ***
	CHECKVAR [1], CRANGE, FCHECK, GETUTBASE [1], GETUTBASE [2], anytim [1], anytim [2]
	anytim [3], anytim [4], anytim [5], checkvar [2]
 CALLED BY:
	CAL_SHER, ROUTINE_NAME [1], SPEX_THISTORY [1], SPEX_THISTORY [2], XYPLOT__DEFINE
	countsmod_plot [1], countsmod_plot [2], get_slider, out_spectra_4_designer
	set_field, spec_plot [1], spec_plot [2], spec_plot [3], spec_plot [4]
	spex_spec_plot [1], spex_spec_plot [2], spex_spec_plot [3], spex_spec_plot [4]
 RESTRICTIONS:
       Initial call to plot must be made to establish scaling. For
	overplotting only.

 MODIFICATION HISTORY:
	91/12/06, FOR VERSION2
       	18-oct-93, ras, nolegs and color
	19-may-94, ras, indicate gaps between intervals using stairs
	Version 4, RAS, 17-Jun-1997, protect case of a single data interval to plot.
	Version 5, RAS, 29-mar-2001, direct support for Utplot through OUTPLOT
   Kim, 17-Apr-2001, Add keyword nsum so nsum will not be in oplotextra, and can
     be excluded from call to oplot.  Changed default for psym to !p.psym, and don't
     oplot the symbols if psym=0 OR psym=10.  Also use abs(psym).
 CONTACT:
	richard.schwartz@gsfc.nasa.gov


DAYCNV [1] $SSW/gen/idl/genutil/daycnv.pro
[Previous] [Next]
 NAME:
       DAYCNV
 PURPOSE:
       Converts Julian dates to Gregorian calendar dates

 CALLING SEQUENCE:
       DAYCNV, XJD, YR, MN, DAY, HR

 INPUTS:
       XJD = Julian date, positive double precision scalar or vector

 OUTPUTS:
       YR = Year (Integer)
       MN = Month (Integer)
       DAY = Day (Integer)
       HR = Hours and fractional hours (Real).   If XJD is a vector,
               then YR,MN,DAY and HR will be vectors of the same length.

 CALLED BY:
	BARYVEL, GET_DATE [1], GET_DATE [2], Int2Ex [1], Int2Ex [2], UT_2_YYDOY [1]
	ut_2_yydoy [2]
 EXAMPLE:
       IDL> DAYCNV, 2440000.D, yr, mn, day, hr    

       yields yr = 1968, mn =5, day = 23, hr =12.   

 WARNING:
       Be sure that the Julian date is specified as double precision to
       maintain accuracy at the fractional hour level.

 METHOD:
       Uses the algorithm of Fliegel and Van Flandern (1968) as reported in
       the "Explanatory Supplement to the Astronomical Almanac" (1992), p. 604
       Works for all Gregorian calendar dates with XJD > 0, i.e., dates after
       -4713 November 23.
 REVISION HISTORY:
       Converted to IDL from Yeoman's Comet Ephemeris Generator, 
       B. Pfarr, STX, 6/16/88
       Converted to IDL V5.0   W. Landsman   September 1997


DAYCNV [2] $SSW/gen/idl_libs/astron/astro/daycnv.pro
[Previous] [Next]
 NAME:
       DAYCNV
 PURPOSE:
       Converts Julian dates to Gregorian calendar dates

 CALLING SEQUENCE:
       DAYCNV, XJD, YR, MN, DAY, HR

 INPUTS:
       XJD = Julian date, positive double precision scalar or vector

 OUTPUTS:
       YR = Year (Integer)
       MN = Month (Integer)
       DAY = Day (Integer)
       HR = Hours and fractional hours (Real).   If XJD is a vector,
               then YR,MN,DAY and HR will be vectors of the same length.

 CALLED BY:
	BARYVEL, GET_DATE [1], GET_DATE [2], Int2Ex [1], Int2Ex [2], UT_2_YYDOY [1]
	ut_2_yydoy [2]
 EXAMPLE:
       IDL> DAYCNV, 2440000.D, yr, mn, day, hr    

       yields yr = 1968, mn =5, day = 23, hr =12.   

 WARNING:
       Be sure that the Julian date is specified as double precision to
       maintain accuracy at the fractional hour level.

 METHOD:
       Uses the algorithm of Fliegel and Van Flandern (1968) as reported in
       the "Explanatory Supplement to the Astronomical Almanac" (1992), p. 604
       Works for all Gregorian calendar dates with XJD > 0, i.e., dates after
       -4713 November 23.
 REVISION HISTORY:
       Converted to IDL from Yeoman's Comet Ephemeris Generator, 
       B. Pfarr, STX, 6/16/88
       Converted to IDL V5.0   W. Landsman   September 1997


DB_CHECK $SSW/gen/idl/database/db_check.pro
[Previous] [Next]
 Project     : HESSI     
                   
 Name        : DB_CHECK
               
 Purpose     : check input search string for syntax errors
               
 Category    : Database
               
 Syntax      : IDL> db_check,field,in_search,out_search

 Example     : db_check,['tstart,tend,xcen,ycen'],'xcen<1,ycen>2'
    
 Inputs      : FIELD = valid searchable fields in database
               IN_SEARCH = search string
               
 Opt. Inputs : None
               
 Outputs     : OUT_SEARCH = corrected search string

 Opt. Outputs: None
               
 Keywords    : STATUS = 1 if corrected string is ok, 0 otherwise
               SYNTAX = 1 if syntax error found
               (STATUS can be 0 even if SYNTAX=0. This can occur
               if input string does not contain at least one valid
               searchable field name).

 Restrictions: None
               
 CALLS: ***
	ARR2STR [1], Arr2Str [2], DATATYPE [1], DATATYPE [2], DATATYPE [3], DPRINT, EXIST
	PR_SYNTAX, STR2ARR [1], STR2ARR [2], TRIM, WHERE_VECTOR
 Side effects: None.
               
 History     : Version 1,  13-May-1999,  D M Zarro (SM&A/GSFC)  Written
     
 Contact     : dzarro@solar.stanford.edu


DB_ENT2EXT [1] $SSW/gen/idl/database/db_ent2ext.pro
[Previous] [Next]
 NAME:
	DB_ENT2EXT
 PURPOSE:
	Convert a database entry to external (IEEE) data format
 EXPLANATION: 
	Converts a database entry to external (IEEE) data format prior to
	writing it.  Called from DBWRT.

 CALLING SEQUENCE:
	DB_ENT2EXT, ENTRY

 INPUTS:
	ENTRY	= Byte array containing a single record to be written to the
		  database file.

 OUTPUTS:
	ENTRY	= The converted array is returned in place of the input array.

 CALLS: ***
	DBXPUT [1], DBXPUT [2], DBXPUT [3], DBXVAL [1], DBXVAL [2], DBXVAL [3], DB_INFO [1]
	DB_INFO [2], DB_INFO [3], HOST_TO_IEEE [1], HOST_TO_IEEE [2], HOST_TO_IEEE [3]
	HOST_TO_IEEE [4]
 CALLED BY:
	DBREPAIR, DBWRT [1], DBWRT [2], DBWRT [3]
 COMMON BLOCKS:
	DB_COM

 HISTORY:
	Version 1, William Thompson, GSFC/CDS (ARC), 1 June 1994
	Version 2, William Thompson, GSFC/CDS (ARC), 15 September 1995
			Fixed bug where only the first element in a
			multidimensional array was converted.
	Converted to IDL V5.0   W. Landsman   September 1997


DB_ENT2EXT [2] $SSW/gen/idl_libs/astron/database/db_ent2ext.pro
[Previous] [Next]
 NAME:
	DB_ENT2EXT
 PURPOSE:
	Convert a database entry to external (IEEE) data format
 EXPLANATION: 
	Converts a database entry to external (IEEE) data format prior to
	writing it.  Called from DBWRT.

 CALLING SEQUENCE:
	DB_ENT2EXT, ENTRY

 INPUTS:
	ENTRY	= Byte array containing a single record to be written to the
		  database file.

 OUTPUTS:
	ENTRY	= The converted array is returned in place of the input array.

 CALLS: ***
	DBXPUT [1], DBXPUT [2], DBXPUT [3], DBXVAL [1], DBXVAL [2], DBXVAL [3], DB_INFO [1]
	DB_INFO [2], DB_INFO [3], HOST_TO_IEEE [1], HOST_TO_IEEE [2], HOST_TO_IEEE [3]
	HOST_TO_IEEE [4]
 CALLED BY:
	DBREPAIR, DBWRT [1], DBWRT [2], DBWRT [3]
 COMMON BLOCKS:
	DB_COM

 HISTORY:
	Version 1, William Thompson, GSFC/CDS (ARC), 1 June 1994
	Version 2, William Thompson, GSFC/CDS (ARC), 15 September 1995
			Fixed bug where only the first element in a
			multidimensional array was converted.
	Converted to IDL V5.0   W. Landsman   September 1997


DB_ENT2HOST [1] $SSW/gen/idl/database/db_ent2host.pro
[Previous] [Next]
 NAME:
	DB_ENT2HOST
 PURPOSE:
	Converts a database entry from external data format to host format.
 EXPLANATION:
	All items are extracted from the entry, and then converted to host 
	format, and placed back into the entry.  Called from DBRD and DBEXT_DBF.

 CALLING SEQUENCE:
	DB_ENT2HOST, ENTRY, DBNO

 INPUTS:
	ENTRY	= Byte array containing a single record read from the
		  database file.
	DBNO	= Number of the opened database file.

 OUTPUTS:
	ENTRY	= The converted array is returned in place of the input array.

 CALLS: ***
	DBXPUT [1], DBXPUT [2], DBXPUT [3], DBXVAL [1], DBXVAL [2], DBXVAL [3], DB_INFO [1]
	DB_INFO [2], DB_INFO [3], IEEE_TO_HOST [1], IEEE_TO_HOST [2], IEEE_TO_HOST [3]
	IEEE_TO_HOST [4]
 CALLED BY:
	DBEXT_DBF [1], DBEXT_DBF [2], DBEXT_DBF [3], DBRD [1], DBRD [2], DBRD [3], DBREPAIR
 COMMON BLOCKS:
	DB_COM

 HISTORY:
	Version 1, William Thompson, GSFC/CDS (ARC), 1 June 1994
	Version 2, William Thompson, GSFC/CDS (ARC), 15 September 1995
			Fixed bug where only the first element in a
			multidimensional array was converted.
	Version 3, Richard Schwartz, GSFC/SDAC, 23 August 1996
		Allow 2 dimensional byte arrays for entries to facilitate 
		multiple entry processing.    Pass IDLTYPE onto IEEE_TO_HOST
	Converted to IDL V5.0   W. Landsman   September 1997
       Version 4, 2 May 2003, W. Thompson
               Use BSWAP keyword to DBXVAL instead of calling IEEE_TO_HOST.


DB_ENT2HOST [2] $SSW/gen/idl_libs/astron/database/db_ent2host.pro
[Previous] [Next]
 NAME:
	DB_ENT2HOST
 PURPOSE:
	Converts a database entry from external data format to host format.
 EXPLANATION:
	All items are extracted from the entry, and then converted to host 
	format, and placed back into the entry.  Called from DBRD and DBEXT_DBF.

 CALLING SEQUENCE:
	DB_ENT2HOST, ENTRY, DBNO

 INPUTS:
	ENTRY	= Byte array containing a single record read from the
		  database file.
	DBNO	= Number of the opened database file.

 OUTPUTS:
	ENTRY	= The converted array is returned in place of the input array.

 CALLS: ***
	DBXPUT [1], DBXPUT [2], DBXPUT [3], DBXVAL [1], DBXVAL [2], DBXVAL [3], DB_INFO [1]
	DB_INFO [2], DB_INFO [3], IEEE_TO_HOST [1], IEEE_TO_HOST [2], IEEE_TO_HOST [3]
	IEEE_TO_HOST [4]
 CALLED BY:
	DBEXT_DBF [1], DBEXT_DBF [2], DBEXT_DBF [3], DBRD [1], DBRD [2], DBRD [3], DBREPAIR
 COMMON BLOCKS:
	DB_COM

 HISTORY:
	Version 1, William Thompson, GSFC/CDS (ARC), 1 June 1994
	Version 2, William Thompson, GSFC/CDS (ARC), 15 September 1995
			Fixed bug where only the first element in a
			multidimensional array was converted.
	Version 3, Richard Schwartz, GSFC/SDAC, 23 August 1996
		Allow 2 dimensional byte arrays for entries to facilitate 
		multiple entry processing.    Pass IDLTYPE onto IEEE_TO_HOST
	Converted to IDL V5.0   W. Landsman   September 1997
       Version 4, 2 May 2003, W. Thompson
               Use BSWAP keyword to DBXVAL instead of calling IEEE_TO_HOST.


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

 Name        : db_gbo

 Purpose     : IDL database for Max Millennium Campaign

 Category    : Database

 Inputs      : See component routines

 Outputs     : Database save file in $GBO_DB

 Keywords    : See component routines

 CALLS: ***
	ADD_GBO, ANYTIM2TAI, ANYTIM2UTC [1], ANYTIM2UTC [2], APPEND_ARR, APPLY_LOCK
	ARR2STR [1], Arr2Str [2], BREAK_FILE [1], BREAK_FILE [2], BREAK_FILE [3]
	BSORT [1], BSORT [2], BSORT [3], BSORT [4], CACHE_GBO, CAT_GBO, CHECK_GBO, CHECK_LOCK
	CHKLOG [1], CHKLOG [2], CHMOD, CLEAR_GBO, CLEAR_STRUCT, CLOSE_LUN, COM_GBO
	CONCAT_DIR [1], CONCAT_DIR [2], CONCAT_DIR [3], COPY_STRUCT [1], COPY_STRUCT [2]
	COPY_STRUCT [3], DATATYPE [1], DATATYPE [2], DATATYPE [3], DEF_GBO, DELVARX [1]
	DELVARX [2], DELVARX [3], DELVARX [4], DISPLAY_GBO, ERR_STATE, ESPAWN, EXIST
	GBO_LOCKED, GBO_LOCK_FILE, GBO_PNG, GBO_SERVER, GBO_TIME, GET_CALLER, GET_GBO, GET_GEV
	GET_UTC, GREP, HELP_GBO, IDL_RELEASE, IS_BLANK, IS_STRING, LIST_FILE, LIST_GBO, LIST_NAR
	LOAD_GBO, LOCK_GBO, LOC_FILE [1], LOC_FILE [2], LOC_FILE [3], LOGS_GBO, MATCH_STRUCT
	MERGE_GBO, MKLOG, NEXT_GBO, NUM2STR, OBS_GBO, OUTPUT_GBO, PLOT_GBO, PRINTF_GBO
	PRINT_CONTENT, PRINT_GBO, PRINT_HTML, PRINT_SEARCH, PURGE_GBO, RD_ASCII [1]
	RD_ASCII [2], RD_GEV, REMDUP_GBO, RESTORE_GBO, RM_LOCK, SAVE_GBO, SEARCH_GBO, SET_GBO
	SET_LINE_COLOR, SHOW_GBO, STR2ARR [1], STR2ARR [2], STR2LINES, STR_FORMAT
	TAG_EXIST [1], TAG_EXIST [2], TEST_DIR, TRIM, TRIM2, UNIQ [1], UNIQ [2], UNIQ [3]
	UNLOCK_GBO, UPDATE_GBO, USE_GBO, UTPLOT [1], UTPLOT [2], UTPLOT [3], UTPLOT [4]
	UTPLOT [5], UTPLOT [6], VALID_GBO, VALID_TIME, anytim [1], anytim [2], anytim [3]
	anytim [4], anytim [5], break_file [4], concat_dir [4], delvarx [5], get_uniq
	gt_day [1], gt_day [2], gt_time [1], gt_time [2], is_number [1], is_number [2]
	is_struct, stc_compress, stc_uniq, stc_where, str_cut, str_replace [1]
	str_replace [2], where_arr [1], where_arr [2]
 History     : 2-Aug-1999,  D.M. Zarro.  Written

 Contact     : DZARRO@SOLAR.STANFORD.EDU


DB_INFO [1] $SSW/gen/idl/database/db_info.pro
[Previous] [Next]
 NAME:
	DB_INFO
 PURPOSE:
	Function to obtain information on opened data base file(s)

 CALLING SEQUENCES:
	1)  result = db_info(request)
	2)  result = db_info(request,dbname)
 INPUTS (calling sequence 1):

	request - string specifying requested value(s)
		value of request	  value returned in result
			'open'		Flag set to 1 if data base(s) are opened
			'number'	Number of data base files opened
			'items'		Total number of items (all db's opened)
			'update'	update flag (1 if opened for update)
			'unit_dbf'	Unit number of the .dbf files
			'unit_dbx'	Unit number of the .dbx files
			'entries'	Number of entries in the db's
			'length'	Record lengths for the db's
			'external'	True if the db's are in external format

 INPUTS (calling sequence 2):

	request - string specifying requested value(s)
		   value of request	  value returned in result
			'name'		Name of the data base
			'number'	Sequential number of the db
			'items'		Number of items for this db
			'item1'		Position of item1 for this db
					in item list for all db's
			'item2'		Position of last item for this db.
			'pointer'	Number of the item which points
					to this db. 0 for first or primary
					db.  -1 if link file pointers.
			'length'	Record length for this db.
			'title'		Title of the data base
			'unit_dbf'	Unit number of the .dbf file
			'unit_dbx'	Unit number of the .dbx file
	    		'entries'	Number of entries in the db
			'seqnum'	Last sequence number used
			'alloc'		Allocated space (# entries)
			'update'	1 if data base opened for update
			'external'	True if data base in external format

	dbname - data base name or number
 OUTPUTS:
	Requested value(s) are returned as the function value.

 CALLED BY:
	ADD_ANOMALY, ADD_DATAWIN, ADD_EXPER, ADD_EXP_COMM, ADD_F_RASTER, ADD_F_STUDY
	ADD_GSET, ADD_LINELIST, ADD_PROGRAM, ADD_RAW, ADD_RES_TYPE, ADD_T_STUDY, ADD_V_STUDY
	CHECK_INTEG, CP_GET_HISTORY, CP_GET_MNEMONIC, DBBUILD [1], DBBUILD [2]
	DBBUILD [3], DBCIRCLE [1], DBCIRCLE [2], DBCLOSE [1], DBCLOSE [2], DBCLOSE [3]
	DBCOMPARE [1], DBCOMPARE [2], DBCOMPRESS, DBDELETE [1], DBDELETE [2], DBDELETE [3]
	DBEDIT [1], DBEDIT [2], DBEDIT [3], DBEDIT_BASIC [1], DBEDIT_BASIC [2]
	DBEDIT_BASIC [3], DBEXT [1], DBEXT [2], DBEXT [3], DBEXT [4], DBEXT_DBF [1]
	DBEXT_DBF [2], DBEXT_DBF [3], DBEXT_IND [1], DBEXT_IND [2], DBEXT_IND [3]
	DBFIND [1], DBFIND [2], DBFIND [3], DBFIND_SORT [1], DBFIND_SORT [2]
	DBFIND_SORT [3], DBGET [1], DBGET [2], DBGET [3], DBHELP [1], DBHELP [2], DBHELP [3]
	DBINDEX [1], DBINDEX [2], DBINDEX [3], DBMATCH [1], DBMATCH [2], DBMATCH [3]
	DBOPEN [1], DBOPEN [2], DBOPEN [3], DBPRINT [1], DBPRINT [2], DBPRINT [3], DBRD [1]
	DBRD [2], DBRD [3], DBREPAIR, DBUPDATE [1], DBUPDATE [2], DBUPDATE [3], DBUPDATE [4]
	DBWRT [1], DBWRT [2], DBWRT [3], DB_ENT2EXT [1], DB_ENT2EXT [2], DB_ENT2EXT [3]
	DB_ENT2HOST [1], DB_ENT2HOST [2], DB_ENT2HOST [3], DB_ITEM [1], DB_ITEM [2]
	DB_ITEM [3], FLUSH_CATALOG, GET_CDHS_DEXWIN, GET_CDHS_RASTER, GET_CDHS_SERIES
	GET_CDHS_VDSWIN, GET_INSTRUMENT, LIST_F_RASTER, LIST_F_STUDY, LIST_LINELIST
	LIST_OBJECT, LIST_PROGRAM, WHAT_CDHS_STUDY, db_read_linelist_all [1]
	db_read_linelist_all [2], db_read_raster_all [1], db_read_raster_all [2]
	db_read_study_all [1], db_read_study_all [2], eis_import_study_gui
	eis_save_imported_linelist, eis_save_imported_raster
 HISTORY:
	version 1  D. Lindler    Oct. 1987
       changed type from 1 to 7 for IDLV2, J. Isensee, Nov., 1990
	William Thompson, GSFC/CDS (ARC), 30 May 1994
		Added EXTERNAL request type.
	Converted to IDL V5.0   W. Landsman   September 1997


DB_INFO [2] $SSW/gen/idl_libs/astron/database/db_info.pro
[Previous] [Next]
 NAME:
	DB_INFO
 PURPOSE:
	Function to obtain information on opened data base file(s)

 CALLING SEQUENCES:
	1)  result = db_info(request)
	2)  result = db_info(request,dbname)
 INPUTS (calling sequence 1):

	request - string specifying requested value(s)
		value of request	  value returned in result
			'open'		Flag set to 1 if data base(s) are opened
			'number'	Number of data base files opened
			'items'		Total number of items (all db's opened)
			'update'	update flag (1 if opened for update)
			'unit_dbf'	Unit number of the .dbf files
			'unit_dbx'	Unit number of the .dbx files
			'entries'	Number of entries in the db's
			'length'	Record lengths for the db's
			'external'	True if the db's are in external format

 INPUTS (calling sequence 2):

	request - string specifying requested value(s)
		   value of request	  value returned in result
			'name'		Name of the data base
			'number'	Sequential number of the db
			'items'		Number of items for this db
			'item1'		Position of item1 for this db
					in item list for all db's
			'item2'		Position of last item for this db.
			'pointer'	Number of the item which points
					to this db. 0 for first or primary
					db.  -1 if link file pointers.
			'length'	Record length for this db.
			'title'		Title of the data base
			'unit_dbf'	Unit number of the .dbf file
			'unit_dbx'	Unit number of the .dbx file
	    		'entries'	Number of entries in the db
			'seqnum'	Last sequence number used
			'alloc'		Allocated space (# entries)
			'update'	1 if data base opened for update
			'external'	True if data base in external format

	dbname - data base name or number
 OUTPUTS:
	Requested value(s) are returned as the function value.

 CALLED BY:
	ADD_ANOMALY, ADD_DATAWIN, ADD_EXPER, ADD_EXP_COMM, ADD_F_RASTER, ADD_F_STUDY
	ADD_GSET, ADD_LINELIST, ADD_PROGRAM, ADD_RAW, ADD_RES_TYPE, ADD_T_STUDY, ADD_V_STUDY
	CHECK_INTEG, CP_GET_HISTORY, CP_GET_MNEMONIC, DBBUILD [1], DBBUILD [2]
	DBBUILD [3], DBCIRCLE [1], DBCIRCLE [2], DBCLOSE [1], DBCLOSE [2], DBCLOSE [3]
	DBCOMPARE [1], DBCOMPARE [2], DBCOMPRESS, DBDELETE [1], DBDELETE [2], DBDELETE [3]
	DBEDIT [1], DBEDIT [2], DBEDIT [3], DBEDIT_BASIC [1], DBEDIT_BASIC [2]
	DBEDIT_BASIC [3], DBEXT [1], DBEXT [2], DBEXT [3], DBEXT [4], DBEXT_DBF [1]
	DBEXT_DBF [2], DBEXT_DBF [3], DBEXT_IND [1], DBEXT_IND [2], DBEXT_IND [3]
	DBFIND [1], DBFIND [2], DBFIND [3], DBFIND_SORT [1], DBFIND_SORT [2]
	DBFIND_SORT [3], DBGET [1], DBGET [2], DBGET [3], DBHELP [1], DBHELP [2], DBHELP [3]
	DBINDEX [1], DBINDEX [2], DBINDEX [3], DBMATCH [1], DBMATCH [2], DBMATCH [3]
	DBOPEN [1], DBOPEN [2], DBOPEN [3], DBPRINT [1], DBPRINT [2], DBPRINT [3], DBRD [1]
	DBRD [2], DBRD [3], DBREPAIR, DBUPDATE [1], DBUPDATE [2], DBUPDATE [3], DBUPDATE [4]
	DBWRT [1], DBWRT [2], DBWRT [3], DB_ENT2EXT [1], DB_ENT2EXT [2], DB_ENT2EXT [3]
	DB_ENT2HOST [1], DB_ENT2HOST [2], DB_ENT2HOST [3], DB_ITEM [1], DB_ITEM [2]
	DB_ITEM [3], FLUSH_CATALOG, GET_CDHS_DEXWIN, GET_CDHS_RASTER, GET_CDHS_SERIES
	GET_CDHS_VDSWIN, GET_INSTRUMENT, LIST_F_RASTER, LIST_F_STUDY, LIST_LINELIST
	LIST_OBJECT, LIST_PROGRAM, WHAT_CDHS_STUDY, db_read_linelist_all [1]
	db_read_linelist_all [2], db_read_raster_all [1], db_read_raster_all [2]
	db_read_study_all [1], db_read_study_all [2], eis_import_study_gui
	eis_save_imported_linelist, eis_save_imported_raster
 HISTORY:
	version 1  D. Lindler    Oct. 1987
       changed type from 1 to 7 for IDLV2, J. Isensee, Nov., 1990
	William Thompson, GSFC/CDS (ARC), 30 May 1994
		Added EXTERNAL request type.
	Converted to IDL V5.0   W. Landsman   September 1997


DB_ITEM [1] $SSW/gen/idl/database/db_item.pro
[Previous] [Next]
 NAME: 
       DB_ITEM
 PURPOSE:      
       Returns the item numbers and other info. for an item name.
 EXPLANATION:  
       Procedure to return the item numbers and other information
       of a specified item name

 CALLING SEQUENCE:     
       db_item, items, itnum, ivalnum, idltype, sbyte, numvals, nbytes

 INPUTS:       
       items - item name or number
               form 1  scalar string giving item(s) as list of names
                       separated by commas
               form 2  string array giving list of item names
               form 3  string of form '$filename' giving name
                       of text file containing items (one item per
                       line)
               form 4  integer scalar giving single item number or
                         integer vector list of item numbers
               form 5  Null string specifying interactive selection
                       Upon return items will contain selected items
                       in form 1
               form 6  '*'     select all items

 OUTPUTS:      
       itnum - item number
       ivalnum - value(s) number from multiple valued item
       idltype - data type(s) (1=string,2=byte,4=i*4,...)
       sbyte - starting byte(s) in entry
       numvals - number of data values for item(s)
               It is the full length of a vector item unless
               a subscript was supplied
       nbytes - number of bytes for each value
    All outputs are vectors even if a single item is requested

 OPTIONAL INPUT 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 = ''
                               DB_ITEM, ERRMSG=ERRMSG, ...
                               IF ERRMSG NE '' THEN ...

 PROCEDURE CALLS:
       DB_INFO, GETTOK, SCREEN_SELECT

 REVISION HISTORY:
       Written:   D. Lindler, GSFC/HRS, October 1987
       Version 2, William Thompson, GSFC, 17-Mar-1997
                       Added keyword ERRMSG
       Converted to IDL V5.0   W. Landsman   October 1997
       Use STRSPLIT instead of GETTOK to parse form 1, W. Landsman July 2002
       Assume since V5.4 use FILE_EXPAND_PATH() instead of SPEC_DIR()
               W. Landsman April 2006
 CALLS:
 CALLED BY
	DBBUILD [1], DBBUILD [2], DBBUILD [3], DBCOMPARE [1], DBCOMPARE [2], DBEDIT [1]
	DBEDIT [2], DBEDIT [3], DBEDIT_BASIC [1], DBEDIT_BASIC [2], DBEDIT_BASIC [3]
	DBEXT [1], DBEXT [2], DBEXT [3], DBEXT [4], DBEXT_IND [1], DBEXT_IND [2]
	DBEXT_IND [3], DBFIND [1], DBFIND [2], DBFIND [3], DBGET [1], DBGET [2], DBGET [3]
	DBHELP [1], DBHELP [2], DBHELP [3], DBINDEX [1], DBINDEX [2], DBINDEX [3]
	DBMATCH [1], DBMATCH [2], DBMATCH [3], DBPRINT [1], DBPRINT [2], DBPRINT [3]
	DBPUT [1], DBPUT [2], DBPUT [3], DBRD [1], DBRD [2], DBRD [3], DBSORT [1], DBSORT [2]
	DBSORT [3], DBUPDATE [1], DBUPDATE [2], DBUPDATE [3], DBUPDATE [4], DBVAL [1]
	DBVAL [2], DBVAL [3], DBWRT [1], DBWRT [2], DBWRT [3], IMDBASE
	eis_get_as_string_arry [1], eis_get_as_string_arry [2]


DB_ITEM [2] $SSW/gen/idl_libs/astron/database/db_item.pro
[Previous] [Next]
 NAME: 
       DB_ITEM
 PURPOSE:      
       Returns the item numbers and other info. for an item name.
 EXPLANATION:  
       Procedure to return the item numbers and other information
       of a specified item name

 CALLING SEQUENCE:     
       db_item, items, itnum, ivalnum, idltype, sbyte, numvals, nbytes

 INPUTS:       
       items - item name or number
               form 1  scalar string giving item(s) as list of names
                       separated by commas
               form 2  string array giving list of item names
               form 3  string of form '$filename' giving name
                       of text file containing items (one item per
                       line)
               form 4  integer scalar giving single item number or
                         integer vector list of item numbers
               form 5  Null string specifying interactive selection
                       Upon return items will contain selected items
                       in form 1
               form 6  '*'     select all items

 OUTPUTS:      
       itnum - item number
       ivalnum - value(s) number from multiple valued item
       idltype - data type(s) (1=string,2=byte,4=i*4,...)
       sbyte - starting byte(s) in entry
       numvals - number of data values for item(s)
               It is the full length of a vector item unless
               a subscript was supplied
       nbytes - number of bytes for each value
    All outputs are vectors even if a single item is requested

 OPTIONAL INPUT 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 = ''
                               DB_ITEM, ERRMSG=ERRMSG, ...
                               IF ERRMSG NE '' THEN ...

 PROCEDURE CALLS:
       DB_INFO, GETTOK, SCREEN_SELECT

 REVISION HISTORY:
       Written:   D. Lindler, GSFC/HRS, October 1987
       Version 2, William Thompson, GSFC, 17-Mar-1997
                       Added keyword ERRMSG
       Converted to IDL V5.0   W. Landsman   October 1997
       Use STRSPLIT instead of GETTOK to parse form 1, W. Landsman July 2002
       Assume since V5.4 use FILE_EXPAND_PATH() instead of SPEC_DIR()
               W. Landsman April 2006
 CALLS:
 CALLED BY
	DBBUILD [1], DBBUILD [2], DBBUILD [3], DBCOMPARE [1], DBCOMPARE [2], DBEDIT [1]
	DBEDIT [2], DBEDIT [3], DBEDIT_BASIC [1], DBEDIT_BASIC [2], DBEDIT_BASIC [3]
	DBEXT [1], DBEXT [2], DBEXT [3], DBEXT [4], DBEXT_IND [1], DBEXT_IND [2]
	DBEXT_IND [3], DBFIND [1], DBFIND [2], DBFIND [3], DBGET [1], DBGET [2], DBGET [3]
	DBHELP [1], DBHELP [2], DBHELP [3], DBINDEX [1], DBINDEX [2], DBINDEX [3]
	DBMATCH [1], DBMATCH [2], DBMATCH [3], DBPRINT [1], DBPRINT [2], DBPRINT [3]
	DBPUT [1], DBPUT [2], DBPUT [3], DBRD [1], DBRD [2], DBRD [3], DBSORT [1], DBSORT [2]
	DBSORT [3], DBUPDATE [1], DBUPDATE [2], DBUPDATE [3], DBUPDATE [4], DBVAL [1]
	DBVAL [2], DBVAL [3], DBWRT [1], DBWRT [2], DBWRT [3], IMDBASE
	eis_get_as_string_arry [1], eis_get_as_string_arry [2]


DB_ITEM_INFO [1] $SSW/gen/idl/database/db_item_info.pro
[Previous] [Next]
 NAME:
	DB_ITEM_INFO
 PURPOSE:
	routine to return information on selected item(s) in the opened
	data bases.

 CALLING SEQUENCE:
	result = db_item_info( request, itnums)
 INPUTS:
	request - string giving the requested information.
		'name'		- item names
		'idltype'	- IDL data type (integers)
				  see documentation of intrinsic SIZE funtion
		'nvalues'	- vector item length (1 for scalar)
		'sbyte'		- starting byte in .dbf record (use bytepos
				  to get starting byte in record returned by
				  dbrd)
		'nbytes'	- bytes per data value
		'index'		- index types
		'description'	- description of the item
		'pflag'		- pointer item flags
		'pointer'	- data bases the items point to
		'format'	- print formats
		'flen'		- print field length
		'headers'	- print headers
		'bytepos'	- starting byte in dbrd record for the items
		'dbnumber'	- number of the opened data base
		'pnumber'	- number of db it points to (if the db is
					opened)
		'itemnumber'	- item number in the file

	itnums -(optional) Item numbers.  If not supplied info on all items
		are returned.
 OUTPUT:
	Requested information is returned as a vector.  Its type depends
	on the item requested.
 CALLED BY:
	DBBUILD [1], DBBUILD [2], DBBUILD [3], DBCOMPARE [1], DBCOMPARE [2], DBEDIT [1]
	DBEDIT [2], DBEDIT [3], DBEDIT_BASIC [1], DBEDIT_BASIC [2], DBEDIT_BASIC [3]
	DBEXT [1], DBEXT [2], DBEXT [3], DBEXT [4], DBEXT_IND [1], DBEXT_IND [2]
	DBEXT_IND [3], DBFIND [1], DBFIND [2], DBFIND [3], DBFIND_SORT [1]
	DBFIND_SORT [2], DBFIND_SORT [3], DBGET [1], DBGET [2], DBGET [3], DBHELP [1]
	DBHELP [2], DBHELP [3], DBINDEX [1], DBINDEX [2], DBINDEX [3], DBMATCH [1]
	DBMATCH [2], DBMATCH [3], DBPRINT [1], DBPRINT [2], DBPRINT [3], DBREPAIR
	DBUPDATE [1], DBUPDATE [2], DBUPDATE [3], DBUPDATE [4], DBWRT [1], DBWRT [2]
	DBWRT [3], IMDBASE
 HISTORY:
	version 1  D. Lindler  Nov. 1987
	Converted to IDL V5.0   W. Landsman   September 1997


DB_ITEM_INFO [2] $SSW/gen/idl_libs/astron/database/db_item_info.pro
[Previous] [Next]
 NAME:
	DB_ITEM_INFO
 PURPOSE:
	routine to return information on selected item(s) in the opened
	data bases.

 CALLING SEQUENCE:
	result = db_item_info( request, itnums)
 INPUTS:
	request - string giving the requested information.
		'name'		- item names
		'idltype'	- IDL data type (integers)
				  see documentation of intrinsic SIZE funtion
		'nvalues'	- vector item length (1 for scalar)
		'sbyte'		- starting byte in .dbf record (use bytepos
				  to get starting byte in record returned by
				  dbrd)
		'nbytes'	- bytes per data value
		'index'		- index types
		'description'	- description of the item
		'pflag'		- pointer item flags
		'pointer'	- data bases the items point to
		'format'	- print formats
		'flen'		- print field length
		'headers'	- print headers
		'bytepos'	- starting byte in dbrd record for the items
		'dbnumber'	- number of the opened data base
		'pnumber'	- number of db it points to (if the db is
					opened)
		'itemnumber'	- item number in the file

	itnums -(optional) Item numbers.  If not supplied info on all items
		are returned.
 OUTPUT:
	Requested information is returned as a vector.  Its type depends
	on the item requested.
 CALLED BY:
	DBBUILD [1], DBBUILD [2], DBBUILD [3], DBCOMPARE [1], DBCOMPARE [2], DBEDIT [1]
	DBEDIT [2], DBEDIT [3], DBEDIT_BASIC [1], DBEDIT_BASIC [2], DBEDIT_BASIC [3]
	DBEXT [1], DBEXT [2], DBEXT [3], DBEXT [4], DBEXT_IND [1], DBEXT_IND [2]
	DBEXT_IND [3], DBFIND [1], DBFIND [2], DBFIND [3], DBFIND_SORT [1]
	DBFIND_SORT [2], DBFIND_SORT [3], DBGET [1], DBGET [2], DBGET [3], DBHELP [1]
	DBHELP [2], DBHELP [3], DBINDEX [1], DBINDEX [2], DBINDEX [3], DBMATCH [1]
	DBMATCH [2], DBMATCH [3], DBPRINT [1], DBPRINT [2], DBPRINT [3], DBREPAIR
	DBUPDATE [1], DBUPDATE [2], DBUPDATE [3], DBUPDATE [4], DBWRT [1], DBWRT [2]
	DBWRT [3], IMDBASE
 HISTORY:
	version 1  D. Lindler  Nov. 1987
	Converted to IDL V5.0   W. Landsman   September 1997


DB_OR [1] $SSW/gen/idl/database/db_or.pro
[Previous] [Next]
 NAME:
	DB_OR
 PURPOSE:
	Combine two vectors of entry numbers, removing duplicate values.
 EXPLANATION:
	DB_OR can also be used to remove duplicate values from any longword 
	vector

 CALLING SEQUENCE:
	LIST = DB_OR( LIST1 )          ;Remove duplicate values from LIST1
		or
	LIST = DB_OR( LIST1, LIST2 )   ;Concatenate LIST1 and LIST2, remove dups

 INPUTS:
	LIST1, LIST2 - Vectors containing entry numbers, must be non-negative
			integers or longwords.
 OUTPUT:
	LIST - Vector containing entry numbers in either LIST1 or LIST2
  
 METHOD
	DB_OR returns where the histogram of the entry vectors is non-zero

 PROCEDURE CALLS
	ZPARCHECK - checks parameters  
 REVISION HISTORY:
	Written,     W. Landsman             February, 1989
	Check for degenerate values  W.L.    February, 1993
	Converted to IDL V5.0   W. Landsman   September 1997
 CALLS:


DB_OR [2] $SSW/gen/idl_libs/astron/database/db_or.pro
[Previous] [Next]
 NAME:
	DB_OR
 PURPOSE:
	Combine two vectors of entry numbers, removing duplicate values.
 EXPLANATION:
	DB_OR can also be used to remove duplicate values from any longword 
	vector

 CALLING SEQUENCE:
	LIST = DB_OR( LIST1 )          ;Remove duplicate values from LIST1
		or
	LIST = DB_OR( LIST1, LIST2 )   ;Concatenate LIST1 and LIST2, remove dups

 INPUTS:
	LIST1, LIST2 - Vectors containing entry numbers, must be non-negative
			integers or longwords.
 OUTPUT:
	LIST - Vector containing entry numbers in either LIST1 or LIST2
  
 METHOD
	DB_OR returns where the histogram of the entry vectors is non-zero

 PROCEDURE CALLS
	ZPARCHECK - checks parameters  
 REVISION HISTORY:
	Written,     W. Landsman             February, 1989
	Check for degenerate values  W.L.    February, 1993
	Converted to IDL V5.0   W. Landsman   September 1997
 CALLS:


DB_TITLES [1] $SSW/gen/idl/database/db_titles.pro
[Previous] [Next]
 NAME:
	DB_TITLES

 PURPOSE:
	Print database name and title.  Called by DBHELP

 CALLING SEQUENCE:
	db_titles, fnames, titles

 INPUT:
	fnames - string array of data base names

 SIDE EFFECT:
	Database name is printed along with the description in the .dbh file

 CALLS: ***
	FIND_WITH_DEF [1], FIND_WITH_DEF [2], FIND_WITH_DEF [3]
 HISTORY:
	version 2  W. Landsman May, 1989
	modified to work under Unix, D. Neill, ACC, Feb 1991.
	William Thompson, GSFC/CDS (ARC), 1 June 1994
		Added support for external (IEEE) representation.
	William Thompson, GSFC, 3 November 1994
			Modified to allow ZDBASE to be a path string.
	Converted to IDL V5.0   W. Landsman   September 1997
       Assume since V5.5,      W. Landsman   September 2006


DB_TITLES [2] $SSW/gen/idl_libs/astron/database/db_titles.pro
[Previous] [Next]
 NAME:
	DB_TITLES

 PURPOSE:
	Print database name and title.  Called by DBHELP

 CALLING SEQUENCE:
	db_titles, fnames, titles

 INPUT:
	fnames - string array of data base names

 SIDE EFFECT:
	Database name is printed along with the description in the .dbh file

 CALLS: ***
	FIND_WITH_DEF [1], FIND_WITH_DEF [2], FIND_WITH_DEF [3]
 HISTORY:
	version 2  W. Landsman May, 1989
	modified to work under Unix, D. Neill, ACC, Feb 1991.
	William Thompson, GSFC/CDS (ARC), 1 June 1994
		Added support for external (IEEE) representation.
	William Thompson, GSFC, 3 November 1994
			Modified to allow ZDBASE to be a path string.
	Converted to IDL V5.0   W. Landsman   September 1997
       Assume since V5.5,      W. Landsman   September 2006


DBBUILD [1] $SSW/gen/idl/database/dbbuild.pro
[Previous] [Next]
 NAME:
	DBBUILD
 PURPOSE:
	Build a database by appending new values for every item.  
 EXPLANATION:
	The database must be opened for update (with DBOPEN) before calling 
	DBBUILD.

       Users with IDL V6.1 or later might which to use the version of 
       DBBUILD in http://idlastro.gsfc.nasa.gov/ftp/v61/ which does not
       use the EXECUTE() function and accepts up to 50 items.

 CALLING SEQUENCE:
	DBBUILD, [ v1, v2, v3, v4......v30, /NOINDEX, /SILENT, STATUS =  ]

 INPUTS:
	v1,v2....v30 - vectors containing values for all items in the database.
         V1 contains values for the first item, V2 for the second, etc.
         The number of vectors supplied must equal the number of items
         (excluding entry number) in the database.  The number of elements 
         in each vector should be the same.   A multiple valued item
         should be dimensioned NVALUE by NENTRY, where NVALUE is the number
         of values, and NENTRY is the number of entries.

 OPTIONAL INPUT KEYWORDS:
	/NOINDEX - If this keyword is supplied and non-zero then DBBUILD will
             *not* create an indexed file.    Useful to save time if
             DBBUILD is to be called several times and the indexed file need
             only be created on the last call

	/SILENT  - If the keyword SILENT is set and non-zero, then DBBUILD
	      will not print a message when the index files are generated

 OPTIONAL OUTPUT KEYWORD:
	STATUS - Returns a status code denoting whether the operation was
	      successful (1) or unsuccessful (0).  Useful when DBBUILD is
	      called from within other applications.

 CALLS: ***
	DBCLOSE [1], DBCLOSE [2], DBCLOSE [3], DBINDEX [1], DBINDEX [2], DBINDEX [3]
	DBWRT [1], DBWRT [2], DBWRT [3], DBXPUT [1], DBXPUT [2], DBXPUT [3], DB_INFO [1]
	DB_INFO [2], DB_INFO [3], DB_ITEM [1], DB_ITEM [2], DB_ITEM [3], DB_ITEM_INFO [1]
	DB_ITEM_INFO [2], DB_ITEM_INFO [3], S
 CALLED BY:
	ADD_ALT, ADD_ANOMALY, ADD_CAMPAIGN, ADD_CDS_POINT, ADD_DATAWIN, ADD_DETAIL
	ADD_EFFICIENCY, ADD_EFF_AREA, ADD_EXPER, ADD_EXP_COMM, ADD_FLAG, ADD_F_RASTER
	ADD_F_STUDY, ADD_GSET, ADD_INST_DLYD, ADD_LINELIST, ADD_MAIN, ADD_MIRSHIFT
	ADD_NRT_RES, ADD_OTHER_OBS, ADD_PLAN, ADD_PROGRAM, ADD_RAW, ADD_RESOURCE
	ADD_RES_TYPE, ADD_TEL_MODE, ADD_TEL_SUBMODE, ADD_TILTCAL, ADD_T_STUDY
	ADD_V_RASTER, ADD_V_STUDY, ADD_WAVECAL, ADD_WAVE_EFF, FLUSH_CATALOG, MOD_CAMPAIGN
	REG_CDROM, SET_KAP_VERS, UPD_PLAN, UPD_SOHO_DET
	db_save_linelist_entry_create [1], db_save_linelist_entry_create [2]
	db_save_raster_entry_create [1], db_save_raster_entry_create [2]
	db_save_study_entry_create [1], db_save_study_entry_create [2]
	db_save_study_entry_create [3], db_save_study_entry_create [4]
	eis_write_science_component_database_table [1]
	eis_write_science_component_database_table [2]
	eis_write_time_component_database_table [1]
	eis_write_time_component_database_table [2]
 EXAMPLE:
	Suppose a database named STARS contains the four items NAME,RA,DEC, and 
	FLUX.   Assume that one already has the four vectors containing the
	values, and that the database definition (.DBD) file already exists.

	IDL> !PRIV=2                  ;Writing to database requires !PRIV=2
	IDL> dbcreate,'stars',1,1   ;Create database (.DBF) & index (.DBX) file
	IDL> dbopen,'stars',1         ;Open database for update
	IDL> dbbuild,name,ra,dec,flux ;Write 4 vectors into the database

 NOTES:
	Do not call DBCREATE before DBBUILD if you want to append entries to
	an existing database

	DBBUILD checks that each value vector matches the idl type given in the
	database definition (..dbd) file, and that character strings are the 
	proper length. 
 REVISION HISTORY:
	Written          W. Landsman           March, 1989
	Added /NOINDEX keyword           W. Landsman        November, 1992
	User no longer need supply all items   W. Landsman  December, 1992 
	Added STATUS keyword, William Thompson, GSFC, 1 April 1994
	Added /SILENT keyword, William Thompson, GSFC, October 1995
	Allow up to 30 items, fix problem if first item was multiple value
				  W. Landsman    GSFC, July 1996
	Faster build of external databases on big endian machines 
				  W. Landsman    GSFC, November 1997  
	Converted to IDL V5.0   W. Landsman 24-Nov-1997
       Use SIZE(/TNAME) for error mesage display  W.Landsman   July 2001
       Fix message display error introduced July 2001  W. Landsman   Oct. 2001 
       Make sure error message appears even if !QUIET is set W.L November 2006


DBBUILD [2] $SSW/gen/idl_libs/astron/database/dbbuild.pro
[Previous] [Next]
 NAME:
	DBBUILD
 PURPOSE:
	Build a database by appending new values for every item.  
 EXPLANATION:
	The database must be opened for update (with DBOPEN) before calling 
	DBBUILD.

       Users with IDL V6.1 or later might which to use the version of 
       DBBUILD in http://idlastro.gsfc.nasa.gov/ftp/v61/ which does not
       use the EXECUTE() function and accepts up to 50 items.

 CALLING SEQUENCE:
	DBBUILD, [ v1, v2, v3, v4......v30, /NOINDEX, /SILENT, STATUS =  ]

 INPUTS:
	v1,v2....v30 - vectors containing values for all items in the database.
         V1 contains values for the first item, V2 for the second, etc.
         The number of vectors supplied must equal the number of items
         (excluding entry number) in the database.  The number of elements 
         in each vector should be the same.   A multiple valued item
         should be dimensioned NVALUE by NENTRY, where NVALUE is the number
         of values, and NENTRY is the number of entries.

 OPTIONAL INPUT KEYWORDS:
	/NOINDEX - If this keyword is supplied and non-zero then DBBUILD will
             *not* create an indexed file.    Useful to save time if
             DBBUILD is to be called several times and the indexed file need
             only be created on the last call

	/SILENT  - If the keyword SILENT is set and non-zero, then DBBUILD
	      will not print a message when the index files are generated

 OPTIONAL OUTPUT KEYWORD:
	STATUS - Returns a status code denoting whether the operation was
	      successful (1) or unsuccessful (0).  Useful when DBBUILD is
	      called from within other applications.

 CALLS: ***
	DBCLOSE [1], DBCLOSE [2], DBCLOSE [3], DBINDEX [1], DBINDEX [2], DBINDEX [3]
	DBWRT [1], DBWRT [2], DBWRT [3], DBXPUT [1], DBXPUT [2], DBXPUT [3], DB_INFO [1]
	DB_INFO [2], DB_INFO [3], DB_ITEM [1], DB_ITEM [2], DB_ITEM [3], DB_ITEM_INFO [1]
	DB_ITEM_INFO [2], DB_ITEM_INFO [3], S
 CALLED BY:
	ADD_ALT, ADD_ANOMALY, ADD_CAMPAIGN, ADD_CDS_POINT, ADD_DATAWIN, ADD_DETAIL
	ADD_EFFICIENCY, ADD_EFF_AREA, ADD_EXPER, ADD_EXP_COMM, ADD_FLAG, ADD_F_RASTER
	ADD_F_STUDY, ADD_GSET, ADD_INST_DLYD, ADD_LINELIST, ADD_MAIN, ADD_MIRSHIFT
	ADD_NRT_RES, ADD_OTHER_OBS, ADD_PLAN, ADD_PROGRAM, ADD_RAW, ADD_RESOURCE
	ADD_RES_TYPE, ADD_TEL_MODE, ADD_TEL_SUBMODE, ADD_TILTCAL, ADD_T_STUDY
	ADD_V_RASTER, ADD_V_STUDY, ADD_WAVECAL, ADD_WAVE_EFF, FLUSH_CATALOG, MOD_CAMPAIGN
	REG_CDROM, SET_KAP_VERS, UPD_PLAN, UPD_SOHO_DET
	db_save_linelist_entry_create [1], db_save_linelist_entry_create [2]
	db_save_raster_entry_create [1], db_save_raster_entry_create [2]
	db_save_study_entry_create [1], db_save_study_entry_create [2]
	db_save_study_entry_create [3], db_save_study_entry_create [4]
	eis_write_science_component_database_table [1]
	eis_write_science_component_database_table [2]
	eis_write_time_component_database_table [1]
	eis_write_time_component_database_table [2]
 EXAMPLE:
	Suppose a database named STARS contains the four items NAME,RA,DEC, and 
	FLUX.   Assume that one already has the four vectors containing the
	values, and that the database definition (.DBD) file already exists.

	IDL> !PRIV=2                  ;Writing to database requires !PRIV=2
	IDL> dbcreate,'stars',1,1   ;Create database (.DBF) & index (.DBX) file
	IDL> dbopen,'stars',1         ;Open database for update
	IDL> dbbuild,name,ra,dec,flux ;Write 4 vectors into the database

 NOTES:
	Do not call DBCREATE before DBBUILD if you want to append entries to
	an existing database

	DBBUILD checks that each value vector matches the idl type given in the
	database definition (..dbd) file, and that character strings are the 
	proper length. 
 REVISION HISTORY:
	Written          W. Landsman           March, 1989
	Added /NOINDEX keyword           W. Landsman        November, 1992
	User no longer need supply all items   W. Landsman  December, 1992 
	Added STATUS keyword, William Thompson, GSFC, 1 April 1994
	Added /SILENT keyword, William Thompson, GSFC, October 1995
	Allow up to 30 items, fix problem if first item was multiple value
				  W. Landsman    GSFC, July 1996
	Faster build of external databases on big endian machines 
				  W. Landsman    GSFC, November 1997  
	Converted to IDL V5.0   W. Landsman 24-Nov-1997
       Use SIZE(/TNAME) for error mesage display  W.Landsman   July 2001
       Fix message display error introduced July 2001  W. Landsman   Oct. 2001 
       Make sure error message appears even if !QUIET is set W.L November 2006


DBCIRCLE [1] $SSW/gen/idl/database/dbcircle.pro
[Previous] [Next]
 NAME:
      DBCIRCLE
 PURPOSE:
      Find sources in a database within specified radius of specified center
 EXPLANATION:
      Database must include items named 'RA' (in hours) and 'DEC' (in degrees)
      and must have previously been opened with DBOPEN

 CALLING SEQUENCE:
     list = DBCIRCLE( ra_cen, dec_cen, [radius, dis, sublist, /SILENT, 
                                          TO_B1950, /TO_J2000 ] )   

 INPUTS:
       RA_CEN - Right ascension of the search center in decimal HOURS, scalar
       DEC_CEN - Declination of the search center in decimal DEGREES, scalar
               RA_CEN and DEC_CEN should be in the same equinox as the 
               currently opened catalog.

 OPTIONAL INPUT:
       RADIUS - Radius of the search field in arc minutes, scalar.
               DBCIRCLE prompts for RADIUS if not supplied.
       SUBLIST - Vector giving entry numbers in currently opened database
               to be searched.  Default is to search all entries

 OUTPUTS:
     LIST - Vector giving entry numbers in the currently opened catalog
            which have positions within the specified search circle
            LIST is set to -1 if no sources fall within the search circle
            !ERR is set to the number sources found.

 OPTIONAL OUTPUT
       DIS -  The distance in arcminutes of each entry specified by LIST
               to the search center (given by RA_CEN and DEC_CEN)

 CALLS: ***
	BPRECESS, DBEXT [1], DBEXT [2], DBEXT [3], DBEXT [4], DBFIND [1], DBFIND [2]
	DBFIND [3], DB_INFO [1], DB_INFO [2], DB_INFO [3], GCIRC, JPRECESS
 CALLED BY:
	DBTARGET [1], DBTARGET [2]
 OPTIONAL KEYWORD INPUT:
       /SILENT - If this keyword is set, then DBCIRCLE will not print the 
               number of entries found at the terminal
       /TO_J2000 - If this keyword is set, then the entered coordinates are
               assumed to be in equinox B1950, and will be converted to
               J2000 before searching the database
       /TO_B1950 - If this keyword is set, then the entered coordinates are
               assumed to be in equinox J2000, and will be converted to
               B1950 before searching the database
               NOTE: The user must determine on his own whether the database
               is in B1950 or J2000 coordinates.

 METHOD:
       A DBFIND search is first performed on a square area of given radius.
       The list is the restricted to a circular area by using GCIRC to 
       compute the distance of each object to the field center.

 EXAMPLE:
       Find all Hipparcos stars within 40' of the nucleus of M33
       (at J2000 1h 33m 50.9s 30d 39' 36.7'')

       IDL> dbopen,'hipparcos'
       IDL> list = dbcircle( ten(1,33,50.9), ten(3,39,36.7), 40)

 PROCEDURE CALLS:
       BPRECESS, DBFIND(), DBEXT, DB_INFO(), GCIRC, JPRECESS
 REVISION HISTORY:
      Written W. Landsman     STX           January 1990
      Fixed search when crossing 0h         July 1990
      Spiffed up code a bit     October, 1991
      Converted to IDL V5.0   W. Landsman   September 1997
      Leave DIS vector unchanged if no entries found W. Landsman July 1999
      Use maximum declination, rather than declination at field center to
      correct RA for latitude effect    W. Landsman   September 1999


DBCIRCLE [2] $SSW/gen/idl_libs/astron/database/dbcircle.pro
[Previous] [Next]
 NAME:
      DBCIRCLE
 PURPOSE:
      Find sources in a database within specified radius of specified center
 EXPLANATION:
      Database must include items named 'RA' (in hours) and 'DEC' (in degrees)
      and must have previously been opened with DBOPEN

 CALLING SEQUENCE:
     list = DBCIRCLE( ra_cen, dec_cen, [radius, dis, sublist, /SILENT, 
                                          TO_B1950, /TO_J2000 ] )   

 INPUTS:
       RA_CEN - Right ascension of the search center in decimal HOURS, scalar
       DEC_CEN - Declination of the search center in decimal DEGREES, scalar
               RA_CEN and DEC_CEN should be in the same equinox as the 
               currently opened catalog.

 OPTIONAL INPUT:
       RADIUS - Radius of the search field in arc minutes, scalar.
               DBCIRCLE prompts for RADIUS if not supplied.
       SUBLIST - Vector giving entry numbers in currently opened database
               to be searched.  Default is to search all entries

 OUTPUTS:
     LIST - Vector giving entry numbers in the currently opened catalog
            which have positions within the specified search circle
            LIST is set to -1 if no sources fall within the search circle
            !ERR is set to the number sources found.

 OPTIONAL OUTPUT
       DIS -  The distance in arcminutes of each entry specified by LIST
               to the search center (given by RA_CEN and DEC_CEN)

 CALLS: ***
	BPRECESS, DBEXT [1], DBEXT [2], DBEXT [3], DBEXT [4], DBFIND [1], DBFIND [2]
	DBFIND [3], DB_INFO [1], DB_INFO [2], DB_INFO [3], GCIRC, JPRECESS
 CALLED BY:
	DBTARGET [1], DBTARGET [2]
 OPTIONAL KEYWORD INPUT:
       /SILENT - If this keyword is set, then DBCIRCLE will not print the 
               number of entries found at the terminal
       /TO_J2000 - If this keyword is set, then the entered coordinates are
               assumed to be in equinox B1950, and will be converted to
               J2000 before searching the database
       /TO_B1950 - If this keyword is set, then the entered coordinates are
               assumed to be in equinox J2000, and will be converted to
               B1950 before searching the database
               NOTE: The user must determine on his own whether the database
               is in B1950 or J2000 coordinates.

 METHOD:
       A DBFIND search is first performed on a square area of given radius.
       The list is the restricted to a circular area by using GCIRC to 
       compute the distance of each object to the field center.

 EXAMPLE:
       Find all Hipparcos stars within 40' of the nucleus of M33
       (at J2000 1h 33m 50.9s 30d 39' 36.7'')

       IDL> dbopen,'hipparcos'
       IDL> list = dbcircle( ten(1,33,50.9), ten(3,39,36.7), 40)

 PROCEDURE CALLS:
       BPRECESS, DBFIND(), DBEXT, DB_INFO(), GCIRC, JPRECESS
 REVISION HISTORY:
      Written W. Landsman     STX           January 1990
      Fixed search when crossing 0h         July 1990
      Spiffed up code a bit     October, 1991
      Converted to IDL V5.0   W. Landsman   September 1997
      Leave DIS vector unchanged if no entries found W. Landsman July 1999
      Use maximum declination, rather than declination at field center to
      correct RA for latitude effect    W. Landsman   September 1999


DBCLOSE [1] $SSW/gen/idl/database/dbclose.pro
[Previous] [Next]
 NAME:
       DBCLOSE
 PURPOSE:
       procedure to close a data base file

 CALLING SEQUENCE:  
       dbclose

 INPUTS:
       None

 OUTPUTS
       None

 CALLS: ***
	DB_INFO [1], DB_INFO [2], DB_INFO [3], HOST_TO_IEEE [1], HOST_TO_IEEE [2]
	HOST_TO_IEEE [3], HOST_TO_IEEE [4]
 CALLED BY:
	ADD_ALT, ADD_ANOMALY, ADD_CAMPAIGN, ADD_CDS_POINT, ADD_DATAWIN, ADD_DETAIL
	ADD_EFFICIENCY, ADD_EFF_AREA, ADD_EXPER, ADD_EXP_COMM, ADD_FLAG, ADD_F_RASTER
	ADD_F_STUDY, ADD_GSET, ADD_INST_DLYD, ADD_LINELIST, ADD_MAIN, ADD_MIRSHIFT
	ADD_NRT_RES, ADD_OTHER_OBS, ADD_PLAN, ADD_PROGRAM, ADD_RAW, ADD_RESOURCE
	ADD_RES_TYPE, ADD_TEL_MODE, ADD_TEL_SUBMODE, ADD_TILTCAL, ADD_T_STUDY
	ADD_V_RASTER, ADD_V_STUDY, ADD_WAVECAL, ADD_WAVE_EFF, CHECK_INTEG, CHK_T_STUDY
	CHK_V_STUDY, CLR_INST_DLYD, CLR_NRT_RES, CLR_OTHER_OBS, CLR_RESOURCE, CLR_TEL_MODE
	CLR_TEL_SUBMODE, CP_GET_HISTORY, CP_GET_MNEMONIC, DBBUILD [1], DBBUILD [2]
	DBBUILD [3], DBDELETE [1], DBDELETE [2], DBDELETE [3], DBOPEN [1], DBOPEN [2]
	DBOPEN [3], DBREPAIR, DEL_ALT, DEL_ANOMALY, DEL_DETAIL, DEL_FLAG, DEL_PLAN
	DEL_SOHO_DET, FIND_CDS_STUDIES, FIX_MAIN_TIMES, FLUSH_CATALOG, GET_ALT
	GET_ANOMALY, GET_CAMPAIGN, GET_CDHS_DEXWIN, GET_CDHS_RASTER, GET_CDHS_SERIES
	GET_CDHS_VDSWIN, GET_CDS_PNTCAL, GET_COMPRESS, GET_DATAWIN, GET_DETAIL
	GET_EFFICIENCY, GET_EFF_AREA, GET_EXPER, GET_FLAG, GET_F_RASTER, GET_F_STUDY
	GET_GSET, GET_INSTRUMENT, GET_LINELIST, GET_MAIN, GET_MIRSHIFT, GET_PLAN
	GET_PROGRAM, GET_RASTER, GET_RAW, GET_RAW_FIL, GET_SOHO_DET, GET_STUDY, GET_TILTCAL
	GET_WAVECAL, GET_WAVE_EFF, LAST_KAP_VERS, LIST_ALT, LIST_ANOMALY, LIST_CAMPAIGN
	LIST_CDROM, LIST_COM_TIMES, LIST_DATAWIN, LIST_DETAIL, LIST_DLYD_TIMES, LIST_DSN
	LIST_EXPER, LIST_EXP_COMM, LIST_FLAG, LIST_F_RASTER, LIST_F_STUDY, LIST_GSET
	LIST_INST_DLYD, LIST_LINELIST, LIST_MAIN, LIST_MDI_M, LIST_NRT_RES, LIST_OBJECT
	LIST_OTHER_OBS, LIST_OTHER_RES, LIST_PLAN, LIST_PROGRAM, LIST_RAW, LIST_RES_TYPE
	LIST_SOHO_DET, LIST_V_RASTER, LIST_V_STUDY, MOD_CAMPAIGN, MOD_EXPER, MOD_GSET
	MOD_LINELIST, MOD_MAIN, MOD_V_RASTER, MOD_V_STUDY, PRG_ALT, PRG_ANOMALY, PRG_DETAIL
	PRG_FLAG, PRG_PLAN, PRG_SOHO_DET, PURGE_CDHSSTATE, REG_CDROM, SEARCH_HXRBS_DB
	SET_KAP_VERS, TP_DISP_RAST, UPD_PLAN, UPD_SOHO_DET, WHAT_CDHS_STUDY, WHAT_USES
	db_read_linelist_all [1], db_read_linelist_all [2]
	db_read_linelist_entry [1], db_read_linelist_entry [2]
	db_read_raster_all [1], db_read_raster_all [2], db_read_raster_entry [1]
	db_read_raster_entry [2], db_read_study_all [1], db_read_study_all [2]
	db_save_linelist_entry_create [1], db_save_linelist_entry_create [2]
	db_save_linelist_entry_update [1], db_save_linelist_entry_update [2]
	db_save_raster_entry_create [1], db_save_raster_entry_create [2]
	db_save_raster_entry_update [1], db_save_raster_entry_update [2]
	db_save_study_entry_create [1], db_save_study_entry_create [2]
	db_save_study_entry_create [3], db_save_study_entry_create [4]
	db_save_study_entry_update [1], db_save_study_entry_update [2]
	eis_get_esdb_details [1], eis_get_esdb_details [2]
	eis_get_science_details [1], eis_get_science_details [2]
	eis_get_science_details [3], eis_get_science_details [4]
	eis_get_science_entry [1], eis_get_science_entry [2]
	eis_get_science_raster_entry [1], eis_get_science_raster_entry [2]
	eis_get_study_raster_entry [1], eis_get_study_raster_entry [2]
	eis_get_technical_study_rasters [1], eis_get_technical_study_rasters [2]
	eis_get_timeline_details [1], eis_get_timeline_details [2]
	eis_linelist_gui [1], eis_linelist_gui [2], eis_raster_gui [1]
	eis_raster_gui [2], eis_study_gui [1], eis_study_gui [2]
	eis_update_timeline_science_entry [1]
	eis_update_timeline_science_entry [2]
	eis_write_science_component_database_table [1]
	eis_write_science_component_database_table [2]
	eis_write_time_component_database_table [1]
	eis_write_time_component_database_table [2]
 SIDE EFFECTS:
       the data base files currently opened are closed

 PROCEDURE CALLS:
       DB_INFO(), HOST_TO_IEEE
 HISTORY:
       version 2  D. Lindler  Oct. 1987
       For IDL version 2      August 1990
       William Thompson, GSFC/CDS (ARC), 30 May 1994
                Added support for external (IEEE) data format
       Converted to IDL V5.0   W. Landsman   September 1997


DBCLOSE [2] $SSW/gen/idl_libs/astron/database/dbclose.pro
[Previous] [Next]
 NAME:
       DBCLOSE
 PURPOSE:
       procedure to close a data base file

 CALLING SEQUENCE:  
       dbclose

 INPUTS:
       None

 OUTPUTS
       None

 CALLS: ***
	DB_INFO [1], DB_INFO [2], DB_INFO [3], HOST_TO_IEEE [1], HOST_TO_IEEE [2]
	HOST_TO_IEEE [3], HOST_TO_IEEE [4]
 CALLED BY:
	ADD_ALT, ADD_ANOMALY, ADD_CAMPAIGN, ADD_CDS_POINT, ADD_DATAWIN, ADD_DETAIL
	ADD_EFFICIENCY, ADD_EFF_AREA, ADD_EXPER, ADD_EXP_COMM, ADD_FLAG, ADD_F_RASTER
	ADD_F_STUDY, ADD_GSET, ADD_INST_DLYD, ADD_LINELIST, ADD_MAIN, ADD_MIRSHIFT
	ADD_NRT_RES, ADD_OTHER_OBS, ADD_PLAN, ADD_PROGRAM, ADD_RAW, ADD_RESOURCE
	ADD_RES_TYPE, ADD_TEL_MODE, ADD_TEL_SUBMODE, ADD_TILTCAL, ADD_T_STUDY
	ADD_V_RASTER, ADD_V_STUDY, ADD_WAVECAL, ADD_WAVE_EFF, CHECK_INTEG, CHK_T_STUDY
	CHK_V_STUDY, CLR_INST_DLYD, CLR_NRT_RES, CLR_OTHER_OBS, CLR_RESOURCE, CLR_TEL_MODE
	CLR_TEL_SUBMODE, CP_GET_HISTORY, CP_GET_MNEMONIC, DBBUILD [1], DBBUILD [2]
	DBBUILD [3], DBDELETE [1], DBDELETE [2], DBDELETE [3], DBOPEN [1], DBOPEN [2]
	DBOPEN [3], DBREPAIR, DEL_ALT, DEL_ANOMALY, DEL_DETAIL, DEL_FLAG, DEL_PLAN
	DEL_SOHO_DET, FIND_CDS_STUDIES, FIX_MAIN_TIMES, FLUSH_CATALOG, GET_ALT
	GET_ANOMALY, GET_CAMPAIGN, GET_CDHS_DEXWIN, GET_CDHS_RASTER, GET_CDHS_SERIES
	GET_CDHS_VDSWIN, GET_CDS_PNTCAL, GET_COMPRESS, GET_DATAWIN, GET_DETAIL
	GET_EFFICIENCY, GET_EFF_AREA, GET_EXPER, GET_FLAG, GET_F_RASTER, GET_F_STUDY
	GET_GSET, GET_INSTRUMENT, GET_LINELIST, GET_MAIN, GET_MIRSHIFT, GET_PLAN
	GET_PROGRAM, GET_RASTER, GET_RAW, GET_RAW_FIL, GET_SOHO_DET, GET_STUDY, GET_TILTCAL
	GET_WAVECAL, GET_WAVE_EFF, LAST_KAP_VERS, LIST_ALT, LIST_ANOMALY, LIST_CAMPAIGN
	LIST_CDROM, LIST_COM_TIMES, LIST_DATAWIN, LIST_DETAIL, LIST_DLYD_TIMES, LIST_DSN
	LIST_EXPER, LIST_EXP_COMM, LIST_FLAG, LIST_F_RASTER, LIST_F_STUDY, LIST_GSET
	LIST_INST_DLYD, LIST_LINELIST, LIST_MAIN, LIST_MDI_M, LIST_NRT_RES, LIST_OBJECT
	LIST_OTHER_OBS, LIST_OTHER_RES, LIST_PLAN, LIST_PROGRAM, LIST_RAW, LIST_RES_TYPE
	LIST_SOHO_DET, LIST_V_RASTER, LIST_V_STUDY, MOD_CAMPAIGN, MOD_EXPER, MOD_GSET
	MOD_LINELIST, MOD_MAIN, MOD_V_RASTER, MOD_V_STUDY, PRG_ALT, PRG_ANOMALY, PRG_DETAIL
	PRG_FLAG, PRG_PLAN, PRG_SOHO_DET, PURGE_CDHSSTATE, REG_CDROM, SEARCH_HXRBS_DB
	SET_KAP_VERS, TP_DISP_RAST, UPD_PLAN, UPD_SOHO_DET, WHAT_CDHS_STUDY, WHAT_USES
	db_read_linelist_all [1], db_read_linelist_all [2]
	db_read_linelist_entry [1], db_read_linelist_entry [2]
	db_read_raster_all [1], db_read_raster_all [2], db_read_raster_entry [1]
	db_read_raster_entry [2], db_read_study_all [1], db_read_study_all [2]
	db_save_linelist_entry_create [1], db_save_linelist_entry_create [2]
	db_save_linelist_entry_update [1], db_save_linelist_entry_update [2]
	db_save_raster_entry_create [1], db_save_raster_entry_create [2]
	db_save_raster_entry_update [1], db_save_raster_entry_update [2]
	db_save_study_entry_create [1], db_save_study_entry_create [2]
	db_save_study_entry_create [3], db_save_study_entry_create [4]
	db_save_study_entry_update [1], db_save_study_entry_update [2]
	eis_get_esdb_details [1], eis_get_esdb_details [2]
	eis_get_science_details [1], eis_get_science_details [2]
	eis_get_science_details [3], eis_get_science_details [4]
	eis_get_science_entry [1], eis_get_science_entry [2]
	eis_get_science_raster_entry [1], eis_get_science_raster_entry [2]
	eis_get_study_raster_entry [1], eis_get_study_raster_entry [2]
	eis_get_technical_study_rasters [1], eis_get_technical_study_rasters [2]
	eis_get_timeline_details [1], eis_get_timeline_details [2]
	eis_linelist_gui [1], eis_linelist_gui [2], eis_raster_gui [1]
	eis_raster_gui [2], eis_study_gui [1], eis_study_gui [2]
	eis_update_timeline_science_entry [1]
	eis_update_timeline_science_entry [2]
	eis_write_science_component_database_table [1]
	eis_write_science_component_database_table [2]
	eis_write_time_component_database_table [1]
	eis_write_time_component_database_table [2]
 SIDE EFFECTS:
       the data base files currently opened are closed

 PROCEDURE CALLS:
       DB_INFO(), HOST_TO_IEEE
 HISTORY:
       version 2  D. Lindler  Oct. 1987
       For IDL version 2      August 1990
       William Thompson, GSFC/CDS (ARC), 30 May 1994
                Added support for external (IEEE) data format
       Converted to IDL V5.0   W. Landsman   September 1997


DBCOMPARE [1] $SSW/gen/idl/database/dbcompare.pro
[Previous] [Next]
 NAME:
     DBCOMPARE
 PURPOSE:
     Display two entries in an IDL database side by side in a column format

 CALLING SEQUENCE:     
     dbcompare, list1, list2, [items, TEXTOUT= , /DIFF]  

 INPUTS:
     list1 - Integer scalar giving first entry number to be compared.
     list2 - Integer scalar giving second entry number to be compared.

 OPTIONAL INPUT-OUTPUT:
     items - items to be compared, if not supplied then all items will be
          compared.    The items can be specified in any of the following ways:

             form 1  scalar string giving item(s) as list of names
                     separated by commas
             form 2  string array giving list of item names
             form 3  string of form '$filename' giving name
                     of text file containing items (one item per line)                      line)
             form 4  integer scalar giving single item number or
                     integer vector list of item numbers
             form 5  Null string specifying interactive selection.   This
                     is the default if 'items' is not supplied
             form 6  '*'     select all items (= default)

            If items was undefined or a null string on input, then
            on output it will contain the items interactively selected.

 OPTIONAL INPUT KEYWORDS:
     /DIFF - If this keyword is set and non-zero, then only the items 
             in the database that differ will be printed

     TEXTOUT -  Scalar Integer (1-7) Used to determine output device.   See
               TEXTOPEN for more info.

 SYSTEM VARIABLES:
     Output device controlled by non-standard system variable !TEXTOUT, if 
     TEXTOUT keyword is not used.    

 CALLS: ***
	DBRD [1], DBRD [2], DBRD [3], DBXVAL [1], DBXVAL [2], DBXVAL [3], DB_INFO [1]
	DB_INFO [2], DB_INFO [3], DB_ITEM [1], DB_ITEM [2], DB_ITEM [3], DB_ITEM_INFO [1]
	DB_ITEM_INFO [2], DB_ITEM_INFO [3], TEXTCLOSE [1], TEXTCLOSE [2], TEXTCLOSE [3]
	TEXTOPEN [1], TEXTOPEN [2], TEXTOPEN [3]
 EXAMPLE:
     Display entries 3624 and 3625 in column form showing only the items
     that differ.
               IDL> dbcompare,3624,3625,/diff

 PROCEDURES USED:
     DB_INFO(), DB_ITEM, DB_ITEM_INFO(), DBRD, DBXVAL()
     TEXTOPEN, TEXTCLOSE
 HISTORY:
     Written,  W. Landsman            July 1996
     Fix documentation, add Syntax display    W. Landsman   November 1998   
     Replace DATATYPE() with size(/TNAME)   W. Landsman    November 2001
     Assume since V5.5, remove VMS call  W. Landsman       September 2006


DBCOMPARE [2] $SSW/gen/idl_libs/astron/database/dbcompare.pro
[Previous] [Next]
 NAME:
     DBCOMPARE
 PURPOSE:
     Display two entries in an IDL database side by side in a column format

 CALLING SEQUENCE:     
     dbcompare, list1, list2, [items, TEXTOUT= , /DIFF]  

 INPUTS:
     list1 - Integer scalar giving first entry number to be compared.
     list2 - Integer scalar giving second entry number to be compared.

 OPTIONAL INPUT-OUTPUT:
     items - items to be compared, if not supplied then all items will be
          compared.    The items can be specified in any of the following ways:

             form 1  scalar string giving item(s) as list of names
                     separated by commas
             form 2  string array giving list of item names
             form 3  string of form '$filename' giving name
                     of text file containing items (one item per line)                      line)
             form 4  integer scalar giving single item number or
                     integer vector list of item numbers
             form 5  Null string specifying interactive selection.   This
                     is the default if 'items' is not supplied
             form 6  '*'     select all items (= default)

            If items was undefined or a null string on input, then
            on output it will contain the items interactively selected.

 OPTIONAL INPUT KEYWORDS:
     /DIFF - If this keyword is set and non-zero, then only the items 
             in the database that differ will be printed

     TEXTOUT -  Scalar Integer (1-7) Used to determine output device.   See
               TEXTOPEN for more info.

 SYSTEM VARIABLES:
     Output device controlled by non-standard system variable !TEXTOUT, if 
     TEXTOUT keyword is not used.    

 CALLS: ***
	DBRD [1], DBRD [2], DBRD [3], DBXVAL [1], DBXVAL [2], DBXVAL [3], DB_INFO [1]
	DB_INFO [2], DB_INFO [3], DB_ITEM [1], DB_ITEM [2], DB_ITEM [3], DB_ITEM_INFO [1]
	DB_ITEM_INFO [2], DB_ITEM_INFO [3], TEXTCLOSE [1], TEXTCLOSE [2], TEXTCLOSE [3]
	TEXTOPEN [1], TEXTOPEN [2], TEXTOPEN [3]
 EXAMPLE:
     Display entries 3624 and 3625 in column form showing only the items
     that differ.
               IDL> dbcompare,3624,3625,/diff

 PROCEDURES USED:
     DB_INFO(), DB_ITEM, DB_ITEM_INFO(), DBRD, DBXVAL()
     TEXTOPEN, TEXTCLOSE
 HISTORY:
     Written,  W. Landsman            July 1996
     Fix documentation, add Syntax display    W. Landsman   November 1998   
     Replace DATATYPE() with size(/TNAME)   W. Landsman    November 2001
     Assume since V5.5, remove VMS call  W. Landsman       September 2006


DBCOMPRESS $SSW/gen/idl/database/dbcompress.pro
[Previous] [Next]
 NAME:
       DBCOMPRESS
 PURPOSE:
       Compress a .dbf database file after a call to DBDELETE
 EXPLANATION:
       The procedure DBDELETE will remove specified entries from a database
       but it will not free the unused space.     DBCOMPRESS will compress
       the .dbf file so that it only contains valid entries.   
 CALLING SEQUENCE:
       DBCOMPRESS, dbname
 INPUT PARAMETERS: 
       dbname - Name of the database to be compressed, scalar string
 NOTES:
       (1) Will not compress the index (.dbx) file.   The size of the .dbx file
       is controlled by the MaxEntries value in the database definition 
       (.dbd) file
       (2) The updated .dbf file is written in the current directory.
       This may need to be moved into the ZDBASE directory.
 PROCEDURE CALLS:
       DBOPEN, DB_INFO(), FIND_WITH_DEF()
 REVISION HISTORY:
       Written, W. Landsman      Raytheon STX        May 1998 
       Converted to IDL V5.0 June 1998
 CALLS:
 CALLED BY
	FLUSH_CATALOG, PRG_DETAIL, PRG_PLAN


DBCREATE [1] $SSW/gen/idl/database/dbcreate.pro
[Previous] [Next]
 NAME: 
       DBCREATE
 PURPOSE:      
       Create a new data base (.dbf), index (.dbx) or description (.dbh) file
 EXPLANATION:
       A database definition (.dbd) file must already exist.
       The default directory must be a ZDBASE: directory.

 CALLING SEQUENCE:     
       dbcreate, name,[ newindex, newdb, maxitems]  [,/EXTERNAL, MAXENTRY=]  

 INPUTS:       
       name- name of the data base (with no qualifier), scalar string. 
               The description will be read from the file "NAME".dbd 

 OPTIONAL INPUTS:      
       newindex - if non-zero then a new index file is created,
               otherwise it is assumed that changes do not affect the
               index file. (default=0)
       newdb - if non-zero then a new data base file (.dbf) will
               be created. Otherwise changes are assumed not to affect
               the file's present format.
       maxitems - maximum number of items in data base.
               If not supplied then the number of items is
               limited to 200.

 OUTPUTS:
       NONE.

 OPTIONAL INPUT KEYWORDS:       

       external - If set, then the database is written with an external data
               representation.  This allows the database files to be used on
               any computer platform, e.g. through NFS mounts, but some
               overhead is added to reading the files.  The default is to
               write the data in the native format of the computer being used.

               This keyword is only paid attention to if NEWDB or NEWINDEX
               are nonzero.  Otherwise, the database is opened to find
               out if it uses external representation or not.

               Extreme caution should be used if this keyword is used with
               only NEWINDEX set to a nonzero value.  This mode is allowed so
               that databases written on machines which already use the
               external data representation format, e.g. Sun workstations, to
               be marked external so that other machines can read them.


       MAXENTRY - positive integer giving the maximum number of entries in the
               database (needed to adjust the size of the index file).   This
               keyword can be used to supercede the  #maxentries line in the 
               .dbd file (the larger of the two numbers will be used).
 PROCEDURE CALLS:      
       GETTOK(), FIND_WITH_DEF(), HOST_TO_IEEE, ZPARCHECK

 CALLED BY:
	FLUSH_CATALOG, PRG_DETAIL, PRG_PLAN
 RESTRICTIONS: 
       If newdb=0 is not specified, the changes to the .dbd file can
       not alter the length of the records in the data base file.
       and may not alter positions of current fields in the file.
       permissible changes are:
               1) utilization of spares to create a item or field
               2) change in field name(s)
               3) respecification of index items
               4) changes in default print formats
               5) change in data base title
               6) changes in pointer specification to other data
                       data bases

       !priv must be 2 or greater to execute this routine.

 CALLS: ***
	FIND_WITH_DEF [1], FIND_WITH_DEF [2], FIND_WITH_DEF [3], GETTOK [1], GETTOK [2]
	GETTOK [3], GETTOK [4], HOST_TO_IEEE [1], HOST_TO_IEEE [2], HOST_TO_IEEE [3]
	HOST_TO_IEEE [4], ZPARCHECK [1], ZPARCHECK [2], ZPARCHECK [3]
 SIDE EFFECTS:  
       data base description file ZDBASE:name.dbh is created
       and optionally ZDBASE:name.dbf (data file) and
       ZDBASE.dbx (index file) if it is a new data base.

 REVISION HISTORY:     
       D. Lindler, GSFC/HRS, October 1987
       Modified:  Version 1, William Thompson, GSFC, 29 March 1994
                  Version 2, William Thompson, GSFC/CDS (ARC), 28 May 1994
                  Added EXTERNAL keyword.
       Version 4, William Thompson, GSFC, 3 November 1994
                       Modified to allow ZDBASE to be a path string.
       8/14/95  JKF/ACC - allow EXTERNAL data for newindex OR newdb modes.
       Make sure all databases closed before starting W. Landsman June 1997
       Added new unsigned and 64 bit integer datatypes W. Landsman July 2001
       Make sure to use lowercase filenames on Unix W. Landsman May 2006
       Added MAXENTRY keyword   W. Landsman July 2006
       Assume since V5.5, remove obsolete keywords to OPEN W. Landsman Sep2006


DBCREATE [2] $SSW/gen/idl_libs/astron/database/dbcreate.pro
[Previous] [Next]
 NAME: 
       DBCREATE
 PURPOSE:      
       Create a new data base (.dbf), index (.dbx) or description (.dbh) file
 EXPLANATION:
       A database definition (.dbd) file must already exist.
       The default directory must be a ZDBASE: directory.

 CALLING SEQUENCE:     
       dbcreate, name,[ newindex, newdb, maxitems]  [,/EXTERNAL, MAXENTRY=]  

 INPUTS:       
       name- name of the data base (with no qualifier), scalar string. 
               The description will be read from the file "NAME".dbd 

 OPTIONAL INPUTS:      
       newindex - if non-zero then a new index file is created,
               otherwise it is assumed that changes do not affect the
               index file. (default=0)
       newdb - if non-zero then a new data base file (.dbf) will
               be created. Otherwise changes are assumed not to affect
               the file's present format.
       maxitems - maximum number of items in data base.
               If not supplied then the number of items is
               limited to 200.

 OUTPUTS:
       NONE.

 OPTIONAL INPUT KEYWORDS:       

       external - If set, then the database is written with an external data
               representation.  This allows the database files to be used on
               any computer platform, e.g. through NFS mounts, but some
               overhead is added to reading the files.  The default is to
               write the data in the native format of the computer being used.

               This keyword is only paid attention to if NEWDB or NEWINDEX
               are nonzero.  Otherwise, the database is opened to find
               out if it uses external representation or not.

               Extreme caution should be used if this keyword is used with
               only NEWINDEX set to a nonzero value.  This mode is allowed so
               that databases written on machines which already use the
               external data representation format, e.g. Sun workstations, to
               be marked external so that other machines can read them.


       MAXENTRY - positive integer giving the maximum number of entries in the
               database (needed to adjust the size of the index file).   This
               keyword can be used to supercede the  #maxentries line in the 
               .dbd file (the larger of the two numbers will be used).
 PROCEDURE CALLS:      
       GETTOK(), FIND_WITH_DEF(), HOST_TO_IEEE, ZPARCHECK

 CALLED BY:
	FLUSH_CATALOG, PRG_DETAIL, PRG_PLAN
 RESTRICTIONS: 
       If newdb=0 is not specified, the changes to the .dbd file can
       not alter the length of the records in the data base file.
       and may not alter positions of current fields in the file.
       permissible changes are:
               1) utilization of spares to create a item or field
               2) change in field name(s)
               3) respecification of index items
               4) changes in default print formats
               5) change in data base title
               6) changes in pointer specification to other data
                       data bases

       !priv must be 2 or greater to execute this routine.

 CALLS: ***
	FIND_WITH_DEF [1], FIND_WITH_DEF [2], FIND_WITH_DEF [3], GETTOK [1], GETTOK [2]
	GETTOK [3], GETTOK [4], HOST_TO_IEEE [1], HOST_TO_IEEE [2], HOST_TO_IEEE [3]
	HOST_TO_IEEE [4], ZPARCHECK [1], ZPARCHECK [2], ZPARCHECK [3]
 SIDE EFFECTS:  
       data base description file ZDBASE:name.dbh is created
       and optionally ZDBASE:name.dbf (data file) and
       ZDBASE.dbx (index file) if it is a new data base.

 REVISION HISTORY:     
       D. Lindler, GSFC/HRS, October 1987
       Modified:  Version 1, William Thompson, GSFC, 29 March 1994
                  Version 2, William Thompson, GSFC/CDS (ARC), 28 May 1994
                  Added EXTERNAL keyword.
       Version 4, William Thompson, GSFC, 3 November 1994
                       Modified to allow ZDBASE to be a path string.
       8/14/95  JKF/ACC - allow EXTERNAL data for newindex OR newdb modes.
       Make sure all databases closed before starting W. Landsman June 1997
       Added new unsigned and 64 bit integer datatypes W. Landsman July 2001
       Make sure to use lowercase filenames on Unix W. Landsman May 2006
       Added MAXENTRY keyword   W. Landsman July 2006
       Assume since V5.5, remove obsolete keywords to OPEN W. Landsman Sep2006


DBDELETE [1] $SSW/gen/idl/database/dbdelete.pro
[Previous] [Next]
 NAME:
       DBDELETE
 PURPOSE:
       Deletes specified entries from data base

 CALLING SEQUENCE:
       DBDELETE, list, [ name, /DEBUG ]   

 INPUTS:
       list - list of entries to be deleted, scalar or vector
       name - optional name of data base, scalar string.  If not specified
               then the data base file must be previously opened for update 
               by DBOPEN.

 OPERATIONAL NOTES:
       !PRIV must be at least 3 to execute.

 CALLED BY:
	ADD_DATAWIN, ADD_EXPER, ADD_F_STUDY, ADD_LINELIST, ADD_V_STUDY, CLR_INST_DLYD
	CLR_NRT_RES, CLR_OTHER_OBS, CLR_RESOURCE, CLR_TEL_MODE, CLR_TEL_SUBMODE
	FLUSH_CATALOG, MOD_CAMPAIGN, PRG_ALT, PRG_ANOMALY, PRG_DETAIL, PRG_FLAG, PRG_PLAN
	PRG_SOHO_DET, PURGE_CDHSSTATE
 SIDE EFFECTS:
       The data base file (ZDBASE:name.dbf) is modified by removing the
       specified entries and reordering the remaining entry numbers
       accordingly (ie. if you delete entry 100, it will be replaced
       by entry 101 and the database will contain 1 less entry.

 EXAMPLE:
        Delete entries in a database STARS where RA=DEC = 0.0

        IDL> !PRIV= 3                           ;Set privileges
        IDL> dbopen,'STARS',1                   ;Open for update
        IDL> list = dbfind('ra=0.0,dec=0.0')    ;Obtain LIST vector
        IDL> dbdelete, list             ;Delete specified entries from db

 NOTES:
       The procedure is rather slow because the entire database is re-
       created with the specified entries deleted.
 CALLS: ***
	DBCLOSE [1], DBCLOSE [2], DBCLOSE [3], DBINDEX [1], DBINDEX [2], DBINDEX [3]
	DBOPEN [1], DBOPEN [2], DBOPEN [3], DBPUT [1], DBPUT [2], DBPUT [3], DB_INFO [1]
	DB_INFO [2], DB_INFO [3], ZPARCHECK [1], ZPARCHECK [2], ZPARCHECK [3]
 OPTIONAL KEYWORD INPUT:
        DEBUG - if this keyword is set and non-zero, then additional 
               diagnostics will be printed as each entry is deleted.
 COMMON BLOCKS:
       DBCOM
 PROCEDURE CALLS:
       DBINDEX, DB_INFO(), DBOPEN, DBPUT, ZPARCHECK
 HISTORY
       Version 2  D. Lindler  July, 1989
       Updated documentation   W. Landsman    December 1992
       William Thompson, GSFC, 28 February 1995
                       Fixed bug when external representation used.
       Fixed for case where second parameter supplied W. Landsman April 1996
       Use keyword DEBUG rather than !DEBUG   W. Landsman    May 1997
       Don't call DBINDEX if no indexed items  W. Landsman May 2006  
       Use TRUNCATE_LUN if V5.6 or later W. Landsman   Sep 2006 
       


DBDELETE [2] $SSW/gen/idl_libs/astron/database/dbdelete.pro
[Previous] [Next]
 NAME:
       DBDELETE
 PURPOSE:
       Deletes specified entries from data base

 CALLING SEQUENCE:
       DBDELETE, list, [ name, /DEBUG ]   

 INPUTS:
       list - list of entries to be deleted, scalar or vector
       name - optional name of data base, scalar string.  If not specified
               then the data base file must be previously opened for update 
               by DBOPEN.

 OPERATIONAL NOTES:
       !PRIV must be at least 3 to execute.

 CALLED BY:
	ADD_DATAWIN, ADD_EXPER, ADD_F_STUDY, ADD_LINELIST, ADD_V_STUDY, CLR_INST_DLYD
	CLR_NRT_RES, CLR_OTHER_OBS, CLR_RESOURCE, CLR_TEL_MODE, CLR_TEL_SUBMODE
	FLUSH_CATALOG, MOD_CAMPAIGN, PRG_ALT, PRG_ANOMALY, PRG_DETAIL, PRG_FLAG, PRG_PLAN
	PRG_SOHO_DET, PURGE_CDHSSTATE
 SIDE EFFECTS:
       The data base file (ZDBASE:name.dbf) is modified by removing the
       specified entries and reordering the remaining entry numbers
       accordingly (ie. if you delete entry 100, it will be replaced
       by entry 101 and the database will contain 1 less entry.

 EXAMPLE:
        Delete entries in a database STARS where RA=DEC = 0.0

        IDL> !PRIV= 3                           ;Set privileges
        IDL> dbopen,'STARS',1                   ;Open for update
        IDL> list = dbfind('ra=0.0,dec=0.0')    ;Obtain LIST vector
        IDL> dbdelete, list             ;Delete specified entries from db

 NOTES:
       The procedure is rather slow because the entire database is re-
       created with the specified entries deleted.
 CALLS: ***
	DBCLOSE [1], DBCLOSE [2], DBCLOSE [3], DBINDEX [1], DBINDEX [2], DBINDEX [3]
	DBOPEN [1], DBOPEN [2], DBOPEN [3], DBPUT [1], DBPUT [2], DBPUT [3], DB_INFO [1]
	DB_INFO [2], DB_INFO [3], ZPARCHECK [1], ZPARCHECK [2], ZPARCHECK [3]
 OPTIONAL KEYWORD INPUT:
        DEBUG - if this keyword is set and non-zero, then additional 
               diagnostics will be printed as each entry is deleted.
 COMMON BLOCKS:
       DBCOM
 PROCEDURE CALLS:
       DBINDEX, DB_INFO(), DBOPEN, DBPUT, ZPARCHECK
 HISTORY
       Version 2  D. Lindler  July, 1989
       Updated documentation   W. Landsman    December 1992
       William Thompson, GSFC, 28 February 1995
                       Fixed bug when external representation used.
       Fixed for case where second parameter supplied W. Landsman April 1996
       Use keyword DEBUG rather than !DEBUG   W. Landsman    May 1997
       Don't call DBINDEX if no indexed items  W. Landsman May 2006  
       Use TRUNCATE_LUN if V5.6 or later W. Landsman   Sep 2006 
       


DBEDIT [1] $SSW/gen/idl/database/dbedit.pro
[Previous] [Next]
 NAME:
      DBEDIT

 PURPOSE:
       Interactively edit specified fields in an IDL database. 
 EXPLANATION:
       The value of each field is displayed, and the user has the option
       of changing or keeping the value.  Widgets will be used if they
       are available.

 CALLING SEQUENCE:
       dbedit, list, [ items ]

 INPUTS:
       list - scalar or vector of database entry numbers.  Set list = 0 to 
       interactively add a new entry to a database.  Set list = -1 to edit 
       all entries.

 OPTIONAL INPUTS:
       items - list of items to be edited.  If omitted, all fields can be 
               edited.      

 KEYWORDS:
       BYTENUM = If set, treat byte variables as numbers instead of
                 characters.

 CALLS: ***
	ACKNOW_EVENT, DATATYPE [1], DATATYPE [2], DATATYPE [3], DBEDIT_BASIC [1]
	DBEDIT_BASIC [2], DBEDIT_BASIC [3], DBINDEX [1], DBINDEX [2], DBINDEX [3]
	DBOPEN [1], DBOPEN [2], DBOPEN [3], DBRD [1], DBRD [2], DBRD [3], DBWRT [1], DBWRT [2]
	DBWRT [3], DBXPUT [1], DBXPUT [2], DBXPUT [3], DBXVAL [1], DBXVAL [2], DBXVAL [3]
	DB_INFO [1], DB_INFO [2], DB_INFO [3], DB_ITEM [1], DB_ITEM [2], DB_ITEM [3]
	DB_ITEM_INFO [1], DB_ITEM_INFO [2], DB_ITEM_INFO [3], WIDEDIT, WIDGETEDIT_EVENT
	XMANAGER, ZPARCHECK [1], ZPARCHECK [2], ZPARCHECK [3]
 COMMON BLOCKS:
       DB_COM -- contains information about the opened database.
       DBW_C -- contains information intrinsic to this program.

 SIDE EFFECTS:
       Will update the database files.

 RESTRICTIIONS:
       Database must be opened for update prior to running
       this program.  User must be running DBEDIT from an 
       account that has write privileges to the databases.  

       If one is editing an indexed item, then after all edits are complete,
       DBINDEX will be called to reindex the entire item.    This may
       be time consuming.

       Cannot be used to edit items with multiple values

 EXAMPLE:
       Suppose one had new parallaxes for all stars fainter than 5th magnitude
       in the Yale Bright Star Catalog and wanted to update the PRLAX and
       PRLAX_CODE fields with these new numbers

       IDL> !priv=2                    
       IDL> dbopen, 'yale_bs', 1            ;Open catalog for update
       IDL> list = dbfind( 'v>5')     ;Find fainter than 5th magnitude
       IDL> dbedit, list, 'prlax, prlax_code'   ;Manual entry of new values

 PROCEDURE:
       (1) Use the cursor and point to the value you want to edit.   
       (2) Type the new field value over the old field value.
       (3) When you are done changing all of the field values for each entry
       save the entry to the databases by pressing 'SAVE ENTRY TO DATABASES'.
       Here all of the values will be checked to see if they are the correct
       data type.  If a field value is not of the correct data type, it will
       not be saved.  

       Use the buttons "PREV ENTRY" and "NEXT ENTRY" to move between entry 
       numbers.  You must save each entry before going on to another entry in 
       order for your changes to be saved.

       Pressing "RESET THIS ENTRY" will remove any unsaved changes to the 
       current entry.

REVISION HISTORY:
       Adapted from Landsman's DBEDIT
       added widgets,  Melissa Marsh, HSTX, August 1993
       do not need to press return after entering each entry,
                       fixed layout problem on SUN,
                       Melissa Marsh, HSTX, January 1994
       Only updates the fields which are changed. Joel Offenberg, HSTX, Mar 94
       Corrected test for changed fields  Wayne Landsman  HSTX, Mar 94
       Removed a couple of redundant statements W. Landsman HSTX Jan 96
       Converted to IDL V5.0   W. Landsman   September 1997
       Replace DATAYPE() with size(/TNAME)   W. Landsman   November 2001
       Work for entry numbers > 32767     W. Landsman   December 2001
       Added /BYTENUM  William Thompson        13-Mar-2006
       Use DIALOG_MESSAGE for error messages  W. Landsman  April 2006
       Assume since V5.5, remove VMS support  W. Landsman  Sep 2006


DBEDIT [2] $SSW/gen/idl_libs/astron/database/dbedit.pro
[Previous] [Next]
 NAME:
      DBEDIT

 PURPOSE:
       Interactively edit specified fields in an IDL database. 
 EXPLANATION:
       The value of each field is displayed, and the user has the option
       of changing or keeping the value.  Widgets will be used if they
       are available.

 CALLING SEQUENCE:
       dbedit, list, [ items ]

 INPUTS:
       list - scalar or vector of database entry numbers.  Set list = 0 to 
       interactively add a new entry to a database.  Set list = -1 to edit 
       all entries.

 OPTIONAL INPUTS:
       items - list of items to be edited.  If omitted, all fields can be 
               edited.      

 KEYWORDS:
       BYTENUM = If set, treat byte variables as numbers instead of
                 characters.

 CALLS: ***
	ACKNOW_EVENT, DATATYPE [1], DATATYPE [2], DATATYPE [3], DBEDIT_BASIC [1]
	DBEDIT_BASIC [2], DBEDIT_BASIC [3], DBINDEX [1], DBINDEX [2], DBINDEX [3]
	DBOPEN [1], DBOPEN [2], DBOPEN [3], DBRD [1], DBRD [2], DBRD [3], DBWRT [1], DBWRT [2]
	DBWRT [3], DBXPUT [1], DBXPUT [2], DBXPUT [3], DBXVAL [1], DBXVAL [2], DBXVAL [3]
	DB_INFO [1], DB_INFO [2], DB_INFO [3], DB_ITEM [1], DB_ITEM [2], DB_ITEM [3]
	DB_ITEM_INFO [1], DB_ITEM_INFO [2], DB_ITEM_INFO [3], WIDEDIT, WIDGETEDIT_EVENT
	XMANAGER, ZPARCHECK [1], ZPARCHECK [2], ZPARCHECK [3]
 COMMON BLOCKS:
       DB_COM -- contains information about the opened database.
       DBW_C -- contains information intrinsic to this program.

 SIDE EFFECTS:
       Will update the database files.

 RESTRICTIIONS:
       Database must be opened for update prior to running
       this program.  User must be running DBEDIT from an 
       account that has write privileges to the databases.  

       If one is editing an indexed item, then after all edits are complete,
       DBINDEX will be called to reindex the entire item.    This may
       be time consuming.

       Cannot be used to edit items with multiple values

 EXAMPLE:
       Suppose one had new parallaxes for all stars fainter than 5th magnitude
       in the Yale Bright Star Catalog and wanted to update the PRLAX and
       PRLAX_CODE fields with these new numbers

       IDL> !priv=2                    
       IDL> dbopen, 'yale_bs', 1            ;Open catalog for update
       IDL> list = dbfind( 'v>5')     ;Find fainter than 5th magnitude
       IDL> dbedit, list, 'prlax, prlax_code'   ;Manual entry of new values

 PROCEDURE:
       (1) Use the cursor and point to the value you want to edit.   
       (2) Type the new field value over the old field value.
       (3) When you are done changing all of the field values for each entry
       save the entry to the databases by pressing 'SAVE ENTRY TO DATABASES'.
       Here all of the values will be checked to see if they are the correct
       data type.  If a field value is not of the correct data type, it will
       not be saved.  

       Use the buttons "PREV ENTRY" and "NEXT ENTRY" to move between entry 
       numbers.  You must save each entry before going on to another entry in 
       order for your changes to be saved.

       Pressing "RESET THIS ENTRY" will remove any unsaved changes to the 
       current entry.

REVISION HISTORY:
       Adapted from Landsman's DBEDIT
       added widgets,  Melissa Marsh, HSTX, August 1993
       do not need to press return after entering each entry,
                       fixed layout problem on SUN,
                       Melissa Marsh, HSTX, January 1994
       Only updates the fields which are changed. Joel Offenberg, HSTX, Mar 94
       Corrected test for changed fields  Wayne Landsman  HSTX, Mar 94
       Removed a couple of redundant statements W. Landsman HSTX Jan 96
       Converted to IDL V5.0   W. Landsman   September 1997
       Replace DATAYPE() with size(/TNAME)   W. Landsman   November 2001
       Work for entry numbers > 32767     W. Landsman   December 2001
       Added /BYTENUM  William Thompson        13-Mar-2006
       Use DIALOG_MESSAGE for error messages  W. Landsman  April 2006
       Assume since V5.5, remove VMS support  W. Landsman  Sep 2006


DBEDIT_BASIC [1] $SSW/gen/idl/database/dbedit_basic.pro
[Previous] [Next]
 NAME:
       DBEDIT_BASIC
 PURPOSE:
       Subroutine of DBEDIT_BASIC to edit a database on a dumb terminal.
 EXPLANATION:
       Interactively edit specified fields in a database.  The
       value of each field is displayed, and the user has the option
       of changing or keeping the value.

 CALLING SEQUENCE:
       dbedit_basic, list, [ items ]

 INPUTS:
       list - scalar or vector of database entry numbers.  Set LIST=0
               to interactively add a new entry to a database.

 OPTIONAL INPUTS
       items - list of items to be edited.  If not supplied, then the
               value of every field will be displayed.

 NOTES:
       (1) Database must be opened for update (dbopen,<dbname>,1) before
       calling DBEDIT_BASIC.  User must have write privileges on the database
       files.
       (2) User gets a second chance to look at edited values, before
       they are actually written to the database

 PROMPTS:
       The item values for each entry to be edited are first displayed
       User is the asked "EDIT VALUES IN THIS ENTRY (Y(es), N(o), or Q(uit))?
       If user answers 'Y' or hits RETURN, then each item is displayed
       with its current value, which the user can update.  If user answered
       'N' then DBEDIT_BASIC skips to the next  entry.   If user answers 'Q'
       then DBEDIT will exit, saving all previous changes.

 CALLS: ***
	DATATYPE [1], DATATYPE [2], DATATYPE [3], DBINDEX [1], DBINDEX [2], DBINDEX [3]
	DBOPEN [1], DBOPEN [2], DBOPEN [3], DBPRINT [1], DBPRINT [2], DBPRINT [3], DBRD [1]
	DBRD [2], DBRD [3], DBWRT [1], DBWRT [2], DBWRT [3], DBXPUT [1], DBXPUT [2]
	DBXPUT [3], DBXVAL [1], DBXVAL [2], DBXVAL [3], DB_INFO [1], DB_INFO [2]
	DB_INFO [3], DB_ITEM [1], DB_ITEM [2], DB_ITEM [3], DB_ITEM_INFO [1]
	DB_ITEM_INFO [2], DB_ITEM_INFO [3], ZPARCHECK [1], ZPARCHECK [2], ZPARCHECK [3]
 CALLED BY:
	DBEDIT [1], DBEDIT [2], DBEDIT [3]
 EXAMPLE:
       Suppose V magnitudes (V_MAG) in a database STARS with unknown values 
       were assigned a value of 99.9.  Once the true values become known, the
       database can be edited

       IDL> !PRIV=2 & dbopen,'STARS',1         ;Open database for update
       IDL> list =  dbfind('V_MAG=99.9')       ;Get list of bad V_MAG values
       IDL> dbedit,list,'V_MAG'       ;Interactively insert good V_MAG values

 REVISION HISTORY:
       Written  W. Landsman     STX        April, 1989
       Rename DBEDIT_BASIC from DBEDIT            July, 1993
       Converted to IDL V5.0   W. Landsman   September 1997
       Change DATATYPE() to size(/TNAME)  W. Landsman   November 2001


DBEDIT_BASIC [2] $SSW/gen/idl_libs/astron/database/dbedit_basic.pro
[Previous] [Next]
 NAME:
       DBEDIT_BASIC
 PURPOSE:
       Subroutine of DBEDIT_BASIC to edit a database on a dumb terminal.
 EXPLANATION:
       Interactively edit specified fields in a database.  The
       value of each field is displayed, and the user has the option
       of changing or keeping the value.

 CALLING SEQUENCE:
       dbedit_basic, list, [ items ]

 INPUTS:
       list - scalar or vector of database entry numbers.  Set LIST=0
               to interactively add a new entry to a database.

 OPTIONAL INPUTS
       items - list of items to be edited.  If not supplied, then the
               value of every field will be displayed.

 NOTES:
       (1) Database must be opened for update (dbopen,<dbname>,1) before
       calling DBEDIT_BASIC.  User must have write privileges on the database
       files.
       (2) User gets a second chance to look at edited values, before
       they are actually written to the database

 PROMPTS:
       The item values for each entry to be edited are first displayed
       User is the asked "EDIT VALUES IN THIS ENTRY (Y(es), N(o), or Q(uit))?
       If user answers 'Y' or hits RETURN, then each item is displayed
       with its current value, which the user can update.  If user answered
       'N' then DBEDIT_BASIC skips to the next  entry.   If user answers 'Q'
       then DBEDIT will exit, saving all previous changes.

 CALLS: ***
	DATATYPE [1], DATATYPE [2], DATATYPE [3], DBINDEX [1], DBINDEX [2], DBINDEX [3]
	DBOPEN [1], DBOPEN [2], DBOPEN [3], DBPRINT [1], DBPRINT [2], DBPRINT [3], DBRD [1]
	DBRD [2], DBRD [3], DBWRT [1], DBWRT [2], DBWRT [3], DBXPUT [1], DBXPUT [2]
	DBXPUT [3], DBXVAL [1], DBXVAL [2], DBXVAL [3], DB_INFO [1], DB_INFO [2]
	DB_INFO [3], DB_ITEM [1], DB_ITEM [2], DB_ITEM [3], DB_ITEM_INFO [1]
	DB_ITEM_INFO [2], DB_ITEM_INFO [3], ZPARCHECK [1], ZPARCHECK [2], ZPARCHECK [3]
 CALLED BY:
	DBEDIT [1], DBEDIT [2], DBEDIT [3]
 EXAMPLE:
       Suppose V magnitudes (V_MAG) in a database STARS with unknown values 
       were assigned a value of 99.9.  Once the true values become known, the
       database can be edited

       IDL> !PRIV=2 & dbopen,'STARS',1         ;Open database for update
       IDL> list =  dbfind('V_MAG=99.9')       ;Get list of bad V_MAG values
       IDL> dbedit,list,'V_MAG'       ;Interactively insert good V_MAG values

 REVISION HISTORY:
       Written  W. Landsman     STX        April, 1989
       Rename DBEDIT_BASIC from DBEDIT            July, 1993
       Converted to IDL V5.0   W. Landsman   September 1997
       Change DATATYPE() to size(/TNAME)  W. Landsman   November 2001


DBEXT [1] $SSW/gen/idl/database/dbext.pro
[Previous] [Next]
 NAME:
       DBEXT
 PURPOSE:
       Extract values of up to 12 items from an IDL database 
 EXPLANATION:
       Procedure to extract values of up to 12 items from
       data base file, and place into IDL variables

 CALLING SEQUENCE:
       dbext,list,items,v1,[v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12]

 INPUTS:
       list - list of entry numbers to be printed, vector or scalar
               If list = -1, then all entries will be extracted.
               list may be converted to a vector by DBEXT 
       items - standard item list specification.  See DBPRINT for 
               the 6 different ways that items may be specified. 

 OUTPUTS:
       v1...v12 - the vectors of values for up to 12 items.

 CALLS: ***
	DBEXT_DBF [1], DBEXT_DBF [2], DBEXT_DBF [3], DB_INFO [1], DB_INFO [2], DB_INFO [3]
	DB_ITEM [1], DB_ITEM [2], DB_ITEM [3], DB_ITEM_INFO [1], DB_ITEM_INFO [2]
	DB_ITEM_INFO [3], ZPARCHECK [1], ZPARCHECK [2], ZPARCHECK [3]
 CALLED BY:
	ADD_ALT, ADD_ANOMALY, ADD_DATAWIN, ADD_DETAIL, ADD_EXP_COMM, ADD_FLAG, ADD_F_RASTER
	ADD_F_STUDY, ADD_GSET, ADD_LINELIST, ADD_PLAN, ADD_PROGRAM, ADD_RAW, ADD_RES_TYPE
	ADD_T_STUDY, ADD_V_RASTER, ADD_V_STUDY, CHECK_INTEG, CHK_DATAWIN, CHK_F_RASTER
	CHK_F_STUDY, CHK_LINELIST, CHK_V_RASTER, CHK_V_STUDY, CLR_INST_DLYD, CLR_NRT_RES
	CLR_OTHER_OBS, CLR_RESOURCE, CLR_TEL_MODE, CLR_TEL_SUBMODE, CP_GET_HISTORY
	CP_GET_MNEMONIC, DBCIRCLE [1], DBCIRCLE [2], DBFIND [1], DBFIND [2], DBFIND [3]
	DBGET [1], DBGET [2], DBGET [3], DBMATCH [1], DBMATCH [2], DBMATCH [3], DBREPAIR
	DBSORT [1], DBSORT [2], DBSORT [3], DBUPDATE [1], FIND_CDS_STUDIES, FIX_MAIN_TIMES
	FIX_OBS_SEQ, FLUSH_CATALOG, GET_ALT, GET_CAMPAIGN, GET_CDHS_DEXWIN
	GET_CDHS_RASTER, GET_CDHS_SERIES, GET_CDHS_VDSWIN, GET_CDS_PNTCAL, GET_COMPRESS
	GET_DATAWIN, GET_DETAIL, GET_EFFICIENCY, GET_EFF_AREA, GET_EXPER, GET_FLAG
	GET_F_RASTER, GET_F_STUDY, GET_GSET, GET_INSTRUMENT, GET_LINELIST, GET_MAIN
	GET_MIRSHIFT, GET_PLAN, GET_PROGRAM, GET_RASTER, GET_RAW, GET_RAW_FIL, GET_SOHO_DET
	GET_STUDY, GET_TILTCAL, GET_WAVECAL, GET_WAVE_EFF, IMDBASE, LAST_KAP_VERS, LIST_ALT
	LIST_CAMPAIGN, LIST_CDROM, LIST_COM_TIMES, LIST_DATAWIN, LIST_DETAIL
	LIST_DLYD_TIMES, LIST_DSN, LIST_EXPER, LIST_EXP_COMM, LIST_FLAG, LIST_F_RASTER
	LIST_F_STUDY, LIST_GSET, LIST_INST_DLYD, LIST_LINELIST, LIST_MAIN, LIST_MDI_M
	LIST_NRT_RES, LIST_OBJECT, LIST_OTHER_OBS, LIST_OTHER_RES, LIST_PLAN, LIST_PROGRAM
	LIST_RAW, LIST_RES_TYPE, LIST_SOHO_DET, LIST_V_RASTER, LIST_V_STUDY, MOD_EXPER
	PRG_DETAIL, PRG_PLAN, PURGE_CDHSSTATE, SEARCH_HXRBS_DB, UPD_PLAN, UPD_SOHO_DET
	WHAT_USES, eis_get_timeline_details [1], eis_get_timeline_details [2]
 EXAMPLE:
       Extract all RA and DEC values from the currently opened database, and
       place into the IDL vectors, IDLRA and IDLDEC.

               IDL> DBEXT,-1,'RA,DEC',idlra,idldec

 HISTORY
       version 2  D. Lindler  NOV. 1987
       check for INDEXED items   W. Landsman   Feb. 1989
       Converted to IDL V5.0   W. Landsman   September 1997
       Avoid EXECUTE() call for V6.1 or later  W. Landsman   December 2006


DBEXT [2] $SSW/gen/idl/database/dbfix.pro
[Previous] [Next]
 Project     :	SOHO - CDS

 Name        :	
	DBEXT
 Purpose     :	
	Extract values of up to 12 items from data base file.
 Explanation :	
	Procedure to extract values of up to 12 items from
	data base file, and place into IDL variables

 Use         :	
	dbext,list,items,v1,[v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12]

 CALLED BY:
	ADD_ALT, ADD_ANOMALY, ADD_DATAWIN, ADD_DETAIL, ADD_EXP_COMM, ADD_FLAG, ADD_F_RASTER
	ADD_F_STUDY, ADD_GSET, ADD_LINELIST, ADD_PLAN, ADD_PROGRAM, ADD_RAW, ADD_RES_TYPE
	ADD_T_STUDY, ADD_V_RASTER, ADD_V_STUDY, CHECK_INTEG, CHK_DATAWIN, CHK_F_RASTER
	CHK_F_STUDY, CHK_LINELIST, CHK_V_RASTER, CHK_V_STUDY, CLR_INST_DLYD, CLR_NRT_RES
	CLR_OTHER_OBS, CLR_RESOURCE, CLR_TEL_MODE, CLR_TEL_SUBMODE, CP_GET_HISTORY
	CP_GET_MNEMONIC, DBCIRCLE [1], DBCIRCLE [2], DBFIND [1], DBFIND [2], DBFIND [3]
	DBGET [1], DBGET [2], DBGET [3], DBMATCH [1], DBMATCH [2], DBMATCH [3], DBREPAIR
	DBSORT [1], DBSORT [2], DBSORT [3], DBUPDATE [1], FIND_CDS_STUDIES, FIX_MAIN_TIMES
	FIX_OBS_SEQ, FLUSH_CATALOG, GET_ALT, GET_CAMPAIGN, GET_CDHS_DEXWIN
	GET_CDHS_RASTER, GET_CDHS_SERIES, GET_CDHS_VDSWIN, GET_CDS_PNTCAL, GET_COMPRESS
	GET_DATAWIN, GET_DETAIL, GET_EFFICIENCY, GET_EFF_AREA, GET_EXPER, GET_FLAG
	GET_F_RASTER, GET_F_STUDY, GET_GSET, GET_INSTRUMENT, GET_LINELIST, GET_MAIN
	GET_MIRSHIFT, GET_PLAN, GET_PROGRAM, GET_RASTER, GET_RAW, GET_RAW_FIL, GET_SOHO_DET
	GET_STUDY, GET_TILTCAL, GET_WAVECAL, GET_WAVE_EFF, IMDBASE, LAST_KAP_VERS, LIST_ALT
	LIST_CAMPAIGN, LIST_CDROM, LIST_COM_TIMES, LIST_DATAWIN, LIST_DETAIL
	LIST_DLYD_TIMES, LIST_DSN, LIST_EXPER, LIST_EXP_COMM, LIST_FLAG, LIST_F_RASTER
	LIST_F_STUDY, LIST_GSET, LIST_INST_DLYD, LIST_LINELIST, LIST_MAIN, LIST_MDI_M
	LIST_NRT_RES, LIST_OBJECT, LIST_OTHER_OBS, LIST_OTHER_RES, LIST_PLAN, LIST_PROGRAM
	LIST_RAW, LIST_RES_TYPE, LIST_SOHO_DET, LIST_V_RASTER, LIST_V_STUDY, MOD_EXPER
	PRG_DETAIL, PRG_PLAN, PURGE_CDHSSTATE, SEARCH_HXRBS_DB, UPD_PLAN, UPD_SOHO_DET
	WHAT_USES, eis_get_timeline_details [1], eis_get_timeline_details [2]
	EXAMPLE: Extract all RA and DEC values from the currently opened
	database, and place into the IDL vectors, IDLRA and IDLDEC.

		IDL> DBEXT,-1,'RA,DEC',idlra,idldec

 Inputs      :	
	list - list of entry numbers to be printed, vector or scalar
		If list = -1, then all entries will be extracted.
		list may be converted to a vector by DBEXT 
	items - standard item list specification.  See DBPRINT for 
		the 6 different ways that items may be specified. 

 Opt. Inputs :	None.

 Outputs     :	
	v1...v12 - the vectors of values for up to 12 items.

 Opt. Outputs:	None.

 Keywords    :	None.

 Calls       : ***
	DBEXT_DBF [1], DBEXT_DBF [2], DBEXT_DBF [3], DBFIX, DBINDEX [1], DBINDEX [2]
	DBINDEX [3], DBRD [1], DBRD [2], DBRD [3], DBUPDATE [1], DBUPDATE [2], DBUPDATE [3]
	DBUPDATE [4], DBWRT [1], DBWRT [2], DBWRT [3], DBXPUT [1], DBXPUT [2], DBXPUT [3]
	DB_INFO [1], DB_INFO [2], DB_INFO [3], DB_ITEM [1], DB_ITEM [2], DB_ITEM [3]
	DB_ITEM_INFO [1], DB_ITEM_INFO [2], DB_ITEM_INFO [3], DPRINT, IS_IEEE_BIG [1]
	IS_IEEE_BIG [2], TRIM, ZPARCHECK [1], ZPARCHECK [2], ZPARCHECK [3]
 Common      :	None.

 Restrictions:	None.

 Side effects:	None.

 Category    :	Utilities, Database

 Prev. Hist. :	
	version 2  D. Lindler  NOV. 1987
	check for INDEXED items   W. Landsman   Feb. 1989

 Written     :	D. Lindler, GSFC/HRS, November 1987

 Modified    :	Version 1, William Thompson, GSFC, 29 March 1994
			Incorporated into CDS library

 Version     :	Version 1, 29 March 1994
               Version 2, 17 Oct 2001 - added check for duplicate entries


DBEXT [3] $SSW/gen/idl_libs/astron/database/dbext.pro
[Previous] [Next]
 NAME:
       DBEXT
 PURPOSE:
       Extract values of up to 12 items from an IDL database 
 EXPLANATION:
       Procedure to extract values of up to 12 items from
       data base file, and place into IDL variables

 CALLING SEQUENCE:
       dbext,list,items,v1,[v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12]

 INPUTS:
       list - list of entry numbers to be printed, vector or scalar
               If list = -1, then all entries will be extracted.
               list may be converted to a vector by DBEXT 
       items - standard item list specification.  See DBPRINT for 
               the 6 different ways that items may be specified. 

 OUTPUTS:
       v1...v12 - the vectors of values for up to 12 items.

 CALLS: ***
	DBEXT_DBF [1], DBEXT_DBF [2], DBEXT_DBF [3], DB_INFO [1], DB_INFO [2], DB_INFO [3]
	DB_ITEM [1], DB_ITEM [2], DB_ITEM [3], DB_ITEM_INFO [1], DB_ITEM_INFO [2]
	DB_ITEM_INFO [3], ZPARCHECK [1], ZPARCHECK [2], ZPARCHECK [3]
 CALLED BY:
	ADD_ALT, ADD_ANOMALY, ADD_DATAWIN, ADD_DETAIL, ADD_EXP_COMM, ADD_FLAG, ADD_F_RASTER
	ADD_F_STUDY, ADD_GSET, ADD_LINELIST, ADD_PLAN, ADD_PROGRAM, ADD_RAW, ADD_RES_TYPE
	ADD_T_STUDY, ADD_V_RASTER, ADD_V_STUDY, CHECK_INTEG, CHK_DATAWIN, CHK_F_RASTER
	CHK_F_STUDY, CHK_LINELIST, CHK_V_RASTER, CHK_V_STUDY, CLR_INST_DLYD, CLR_NRT_RES
	CLR_OTHER_OBS, CLR_RESOURCE, CLR_TEL_MODE, CLR_TEL_SUBMODE, CP_GET_HISTORY
	CP_GET_MNEMONIC, DBCIRCLE [1], DBCIRCLE [2], DBFIND [1], DBFIND [2], DBFIND [3]
	DBGET [1], DBGET [2], DBGET [3], DBMATCH [1], DBMATCH [2], DBMATCH [3], DBREPAIR
	DBSORT [1], DBSORT [2], DBSORT [3], DBUPDATE [1], FIND_CDS_STUDIES, FIX_MAIN_TIMES
	FIX_OBS_SEQ, FLUSH_CATALOG, GET_ALT, GET_CAMPAIGN, GET_CDHS_DEXWIN
	GET_CDHS_RASTER, GET_CDHS_SERIES, GET_CDHS_VDSWIN, GET_CDS_PNTCAL, GET_COMPRESS
	GET_DATAWIN, GET_DETAIL, GET_EFFICIENCY, GET_EFF_AREA, GET_EXPER, GET_FLAG
	GET_F_RASTER, GET_F_STUDY, GET_GSET, GET_INSTRUMENT, GET_LINELIST, GET_MAIN
	GET_MIRSHIFT, GET_PLAN, GET_PROGRAM, GET_RASTER, GET_RAW, GET_RAW_FIL, GET_SOHO_DET
	GET_STUDY, GET_TILTCAL, GET_WAVECAL, GET_WAVE_EFF, IMDBASE, LAST_KAP_VERS, LIST_ALT
	LIST_CAMPAIGN, LIST_CDROM, LIST_COM_TIMES, LIST_DATAWIN, LIST_DETAIL
	LIST_DLYD_TIMES, LIST_DSN, LIST_EXPER, LIST_EXP_COMM, LIST_FLAG, LIST_F_RASTER
	LIST_F_STUDY, LIST_GSET, LIST_INST_DLYD, LIST_LINELIST, LIST_MAIN, LIST_MDI_M
	LIST_NRT_RES, LIST_OBJECT, LIST_OTHER_OBS, LIST_OTHER_RES, LIST_PLAN, LIST_PROGRAM
	LIST_RAW, LIST_RES_TYPE, LIST_SOHO_DET, LIST_V_RASTER, LIST_V_STUDY, MOD_EXPER
	PRG_DETAIL, PRG_PLAN, PURGE_CDHSSTATE, SEARCH_HXRBS_DB, UPD_PLAN, UPD_SOHO_DET
	WHAT_USES, eis_get_timeline_details [1], eis_get_timeline_details [2]
 EXAMPLE:
       Extract all RA and DEC values from the currently opened database, and
       place into the IDL vectors, IDLRA and IDLDEC.

               IDL> DBEXT,-1,'RA,DEC',idlra,idldec

 HISTORY
       version 2  D. Lindler  NOV. 1987
       check for INDEXED items   W. Landsman   Feb. 1989
       Converted to IDL V5.0   W. Landsman   September 1997
       Avoid EXECUTE() call for V6.1 or later  W. Landsman   December 2006


DBEXT_DBF [1] $SSW/gen/idl/database/dbext_dbf.pro
[Previous] [Next]
 NAME:
       DBEXT_DBF
 PURPOSE:
       Subroutine of DBEXT to extract values of up to 18 items from a database 
 EXPLANATION:
       This is a subroutine of DBEXT, which is the routine a user should 
       normally use.

 CALLING SEQUENCE:
       dbext_dbf,list,dbno,sbyte,nbytes,idltype,nval,v1,[ v2,v3,v4,v5,v6,v7,
                  v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18 ITEM_DBNO = ]

 INPUTS:
       list - list of entry numbers to extract desired items.   It is the 
               entry numbers in the primary data base unless dbno is greater 
               than or equal to -1.  In that case it is the entry number in 
               the specified data base.
       dbno - number of the opened db file
               if set to -1 then all data bases are included
       sbyte - starting byte in the entry.  If single data base then it must 
               be the starting byte for that data base only and not the 
               concatenation of db records 
       nbytes - number of bytes in the entry
       idltype - idl data type of each item to be extracted
       nval - number of values per entry of each item to be extracted

 OUTPUTS:
       v1...v18 - the vectors of values for up to 18 items

 OPTIONAL INPUT KEYWORD:
       item_dbno - A vector of the individual database numbers for each item.
               Simplifies the code for linked databases
 PROCEDURE CALLS:
       DB_INFO(), DB_ITEM_INFO(), DBRD, DBXVAL(), IS_IEEE_BIG(), IEEE_TO_HOST
 HISTORY
       version 1  D. Lindler  Nov. 1987
       Extract multiple valued entries    W. Landsman   May 1989
       William Thompson, GSFC/CDS (ARC), 1 June 1994
               Added support for external (IEEE) representation.
       Work with multiple element string items  W. Landsman  August 1995
       Increase speed for external databases on IEEE machines WBL August 1996
       IEEE conversion implemented on blocks of entries using BIG
       Added keyword ITEM_DBNO     R. Schwartz, GSFC/SDAC, August 1996
       Return a vector even if only 1 value W. Thompson  October 1996
       Change variable name of BYTESWAP to BSWAP  W. Thompson Mar 1997
       Use /OVERWRITE with reform   W. Landsman   May 1997
       Converted to IDL V5.0   W. Landsman   September 1997
       Increase maximum number of items to 18  W. Landsman  November 1999
       2 May 2003, W. Thompson, Use DBXVAL with BSWAP instead of IEEE_TO_HOST.
       Avoid EXECUTE() for V6.1 or later  W. Landsman Jan 2007 
 CALLS:
 CALLED BY
	DBEXT [1], DBEXT [2], DBEXT [3], DBEXT [4], DBINDEX [1], DBINDEX [2], DBINDEX [3]
	DBUPDATE [1]


DBEXT_DBF [2] $SSW/gen/idl_libs/astron/database/dbext_dbf.pro
[Previous] [Next]
 NAME:
       DBEXT_DBF
 PURPOSE:
       Subroutine of DBEXT to extract values of up to 18 items from a database 
 EXPLANATION:
       This is a subroutine of DBEXT, which is the routine a user should 
       normally use.

 CALLING SEQUENCE:
       dbext_dbf,list,dbno,sbyte,nbytes,idltype,nval,v1,[ v2,v3,v4,v5,v6,v7,
                  v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18 ITEM_DBNO = ]

 INPUTS:
       list - list of entry numbers to extract desired items.   It is the 
               entry numbers in the primary data base unless dbno is greater 
               than or equal to -1.  In that case it is the entry number in 
               the specified data base.
       dbno - number of the opened db file
               if set to -1 then all data bases are included
       sbyte - starting byte in the entry.  If single data base then it must 
               be the starting byte for that data base only and not the 
               concatenation of db records 
       nbytes - number of bytes in the entry
       idltype - idl data type of each item to be extracted
       nval - number of values per entry of each item to be extracted

 OUTPUTS:
       v1...v18 - the vectors of values for up to 18 items

 OPTIONAL INPUT KEYWORD:
       item_dbno - A vector of the individual database numbers for each item.
               Simplifies the code for linked databases
 PROCEDURE CALLS:
       DB_INFO(), DB_ITEM_INFO(), DBRD, DBXVAL(), IS_IEEE_BIG(), IEEE_TO_HOST
 HISTORY
       version 1  D. Lindler  Nov. 1987
       Extract multiple valued entries    W. Landsman   May 1989
       William Thompson, GSFC/CDS (ARC), 1 June 1994
               Added support for external (IEEE) representation.
       Work with multiple element string items  W. Landsman  August 1995
       Increase speed for external databases on IEEE machines WBL August 1996
       IEEE conversion implemented on blocks of entries using BIG
       Added keyword ITEM_DBNO     R. Schwartz, GSFC/SDAC, August 1996
       Return a vector even if only 1 value W. Thompson  October 1996
       Change variable name of BYTESWAP to BSWAP  W. Thompson Mar 1997
       Use /OVERWRITE with reform   W. Landsman   May 1997
       Converted to IDL V5.0   W. Landsman   September 1997
       Increase maximum number of items to 18  W. Landsman  November 1999
       2 May 2003, W. Thompson, Use DBXVAL with BSWAP instead of IEEE_TO_HOST.
       Avoid EXECUTE() for V6.1 or later  W. Landsman Jan 2007 
 CALLS:
 CALLED BY
	DBEXT [1], DBEXT [2], DBEXT [3], DBEXT [4], DBINDEX [1], DBINDEX [2], DBINDEX [3]
	DBUPDATE [1]


DBEXT_IND [1] $SSW/gen/idl/database/dbext_ind.pro
[Previous] [Next]
 NAME:
       DBEXT_IND
 PURPOSE:
       routine to read a indexed item values from index file

 CALLING SEQUENCE:  
       dbext_ind,list,item,dbno,values

 INPUTS:
       list - list of entry numbers to extract values for
               (if it is a scalar, values for all entries are extracted)
       item - item to extract
       dbno - number of the opened data base

 OUTPUT:
       values - vector of values returned as function value
 CALLS: ***
	DB_INFO [1], DB_INFO [2], DB_INFO [3], DB_ITEM [1], DB_ITEM [2], DB_ITEM [3]
	DB_ITEM_INFO [1], DB_ITEM_INFO [2], DB_ITEM_INFO [3], IEEE_TO_HOST [1]
	IEEE_TO_HOST [2], IEEE_TO_HOST [3], IEEE_TO_HOST [4]
 CALLED BY:
	DBFIND [1], DBFIND [2], DBFIND [3]
 HISTORY:
       version 1  D. Lindler  Feb 88
       Faster processing of string values    W. Landsman   April, 1992
       William Thompson, GSFC/CDS (ARC), 30 May 1994
               Added support for external (IEEE) data format
       Converted to IDL V5.0   W. Landsman   September 1997
       Allow multiple valued (nonstring) index items W. Landsman  November 2000      
       Use 64bit integer index for large databases W. Landsman  February 2001
       Fix sublisting of multiple valued index items W. Landsamn  March 2001


DBEXT_IND [2] $SSW/gen/idl_libs/astron/database/dbext_ind.pro
[Previous] [Next]
 NAME:
       DBEXT_IND
 PURPOSE:
       routine to read a indexed item values from index file

 CALLING SEQUENCE:  
       dbext_ind,list,item,dbno,values

 INPUTS:
       list - list of entry numbers to extract values for
               (if it is a scalar, values for all entries are extracted)
       item - item to extract
       dbno - number of the opened data base

 OUTPUT:
       values - vector of values returned as function value
 CALLS: ***
	DB_INFO [1], DB_INFO [2], DB_INFO [3], DB_ITEM [1], DB_ITEM [2], DB_ITEM [3]
	DB_ITEM_INFO [1], DB_ITEM_INFO [2], DB_ITEM_INFO [3], IEEE_TO_HOST [1]
	IEEE_TO_HOST [2], IEEE_TO_HOST [3], IEEE_TO_HOST [4]
 CALLED BY:
	DBFIND [1], DBFIND [2], DBFIND [3]
 HISTORY:
       version 1  D. Lindler  Feb 88
       Faster processing of string values    W. Landsman   April, 1992
       William Thompson, GSFC/CDS (ARC), 30 May 1994
               Added support for external (IEEE) data format
       Converted to IDL V5.0   W. Landsman   September 1997
       Allow multiple valued (nonstring) index items W. Landsman  November 2000      
       Use 64bit integer index for large databases W. Landsman  February 2001
       Fix sublisting of multiple valued index items W. Landsamn  March 2001


DBFIND [1] $SSW/gen/idl/database/dbfind.pro
[Previous] [Next]
 NAME: 
    DBFIND()
 PURPOSE:      
     Search data base for entries with specified characteristics
 EXPLANATION:  
     Function to search data base for entries with specified
     search characteristics.

 CALLING SEQUENCE:     
     result = dbfind(spar,[ listin, /SILENT, /FULLSTRING, ERRMSG=, Count = ])

 INPUTS:       
     spar - search_parameters (string)...each search parameter 
               is of the form:

               option 1) min_val < item_name < max_val
               option 2) item_name = value
               option 3) item_name = [value_1, value_10]
 CALLED BY:
	ADD_ALT, ADD_ANOMALY, ADD_DATAWIN, ADD_DETAIL, ADD_EXPER, ADD_FLAG, ADD_F_RASTER
	ADD_F_STUDY, ADD_LINELIST, ADD_PLAN, ADD_T_STUDY, ADD_V_RASTER, ADD_V_STUDY
	CHECK_INTEG, CHK_DATAWIN, CHK_F_RASTER, CHK_F_STUDY, CHK_LINELIST, CHK_T_STUDY
	CHK_V_RASTER, CHK_V_STUDY, CLR_INST_DLYD, CLR_NRT_RES, CLR_OTHER_OBS, CLR_RESOURCE
	CLR_TEL_MODE, CLR_TEL_SUBMODE, CP_GET_HISTORY, CP_GET_MNEMONIC, DBCIRCLE [1]
	DBCIRCLE [2], DEL_ALT, DEL_ANOMALY, DEL_DETAIL, DEL_FLAG, DEL_PLAN, DEL_SOHO_DET
	FIND_CDS_STUDIES, GET_ALT, GET_ANOMALY, GET_CAMPAIGN, GET_CDHS_DEXWIN
	GET_CDHS_RASTER, GET_CDHS_SERIES, GET_CDHS_VDSWIN, GET_CDS_PNTCAL, GET_COMPRESS
	GET_DATAWIN, GET_DETAIL, GET_EFFICIENCY, GET_EFF_AREA, GET_EXPER, GET_FLAG
	GET_F_RASTER, GET_F_STUDY, GET_GSET, GET_LINELIST, GET_MAIN, GET_MIRSHIFT, GET_PLAN
	GET_PROGRAM, GET_RASTER, GET_RAW, GET_RAW_FIL, GET_SOHO_DET, GET_STUDY, GET_TILTCAL
	GET_WAVECAL, GET_WAVE_EFF, IMDBASE, LAST_KAP_VERS, LIST_ALT, LIST_ANOMALY
	LIST_CAMPAIGN, LIST_CDROM, LIST_COM_TIMES, LIST_DATAWIN, LIST_DETAIL
	LIST_DLYD_TIMES, LIST_DSN, LIST_EXPER, LIST_EXP_COMM, LIST_FLAG, LIST_F_RASTER
	LIST_F_STUDY, LIST_GSET, LIST_INST_DLYD, LIST_LINELIST, LIST_MAIN, LIST_MDI_M
	LIST_NRT_RES, LIST_OTHER_OBS, LIST_OTHER_RES, LIST_PLAN, LIST_RAW, LIST_SOHO_DET
	LIST_V_RASTER, LIST_V_STUDY, MOD_CAMPAIGN, MOD_DETAIL, MOD_EXPER, MOD_GSET
	MOD_LINELIST, MOD_MAIN, MOD_V_RASTER, MOD_V_STUDY, PRG_ALT, PRG_ANOMALY, PRG_DETAIL
	PRG_FLAG, PRG_PLAN, PRG_SOHO_DET, REG_CDROM, SEARCH_HXRBS_DB, SET_KAP_VERS
	TP_DISP_RAST, UPD_PLAN, UPD_SOHO_DET, WHAT_USES, db_save_study_entry_update [1]
	db_save_study_entry_update [2], eis_get_engineering_state_list [1]
	eis_get_engineering_state_list [2], eis_get_science_entry [1]
	eis_get_science_entry [2], eis_get_science_raster_entry [1]
	eis_get_science_raster_entry [2], eis_get_study_raster_entry [1]
	eis_get_study_raster_entry [2], eis_get_timeline_entries [1]
	eis_get_timeline_entries [2], eis_linelist_gui [1], eis_linelist_gui [2]
	eis_raster_gui [1], eis_raster_gui [2], eis_study_gui [1], eis_study_gui [2]
	eis_update_timeline_science_entry [1]
	eis_update_timeline_science_entry [2]
                       Note: option 3 is also the slowest.
               option 4) item_name > value
               option 5) item_name < value
               option 6) item_name = value(tolerance) ;eg. temp=25.0(5.2)
               option 7) item_name                     ;must be non-zero

               Multiple search parameters are separated by a comma.
               eg.     'cam_no=2,14<ra<20'

               Note: < is interpreted as less than or equal.
                     > is interpreted as greater than or equal.
       
               RA and DEC keyfields are stored as floating point numbers 
               in the data base may be entered as HH:MM:SEC and
               DEG:MIN:SEC. Where:

                       HH:MM:SEC   equals  HH + MM/60.0  + SEC/3600.
                       DEG:MIN:SEC equals DEG + MIN/60.0 + SEC/3600.
                       
               For example:
                       40:34:10.5 < dec < 43:25:19 , 8:22:1.0 < ra < 8:23:23.0

               Specially encoded date/time in the data base may
               be entered by  CCYY/DAY:hr:min:sec which is
               interpreted as  
                       CCYY*1000+DAY+hr/24.0+min/24.0/60.+sec/24.0/3600.
               If a two digit year is supplied and YY GE 40 then it is 
               understood to refer to year 1900 +YY;  if YY LT 40 then it is 
               understood to refer to year 2000 +YY

               For example
                       1985/201:10:35:30<date_time<1985/302:10:33:33.4
               would specify all entries between:
                       year 1985 day 201 at 10:35:30 to
                       day 302 at 10:33:33.4
               The date/time may also be encoded as:
                       DD-MMM-YEAR HH::MM:SS.SS        
                       eg.  12-JUL-86 10:23:33.45
               (this is the format of system variable !stime)

               Multiple search parameters may be stored in a string
               array (one parameter per array element) instead of
               concatenating them with commas in a single string.
               Example:
                       input_array = strarr(2)
                       input_array[0] = '14<ra<16'   ; 14-16 hrs of ra.
                       input_array[1] = '8<dec<20'   ; + 8-20 deg. decl.

 OPTIONAL INPUT:       
       listin - gives list of entries to be searched.  If not supplied or 
               set to -1 then all entries are searched.

 OUTPUT:       
       List of ENTRY numbers satisfying search characteristics
               is returned as the function value.

 OPTIONAL INPUT KEYWORDS:      
       /SILENT  - If the keyword SILENT is set and non-zero, then DBFIND
               will not print the number of entries found.

       /FULLSTRING - By default, one has a match if a search string is 
               included in any part of a database value (substring match).   
               But if /FULLSTRING is set, then all characters in the database
               value must match the search string (excluding leading and 
               trailing blanks).    Both types of string searches are case
               insensitive.

       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 = ''
                       DB_ITEM, ERRMSG=ERRMSG, ...
                       IF ERRMSG NE '' THEN ...;

 OPTIONAL OUTPUT KEYWORD:
       COUNT - Integer scalar giving the number of valid matches
 PROCEDURE CALLS:
       DB_INFO, DB_ITEM, DB_ITEM_INFO, DBEXT, DBEXT_IND, DBFIND_ENTRY,
       DBFIND_SORT, DBFPARSE, DBRD, DBSEARCH, ZPARCHECK,IS_IEEE_BIG

 RESTRICTIONS: 
       The data base must be previously opened with DBOPEN.

 CALLS: ***
	DBEXT [1], DBEXT [2], DBEXT [3], DBEXT [4], DBEXT_IND [1], DBEXT_IND [2]
	DBEXT_IND [3], DBFIND_ENTRY [1], DBFIND_ENTRY [2], DBFIND_ENTRY [3]
	DBFIND_SORT [1], DBFIND_SORT [2], DBFIND_SORT [3], DBFPARSE [1], DBFPARSE [2]
	DBFPARSE [3], DBRD [1], DBRD [2], DBRD [3], DBSEARCH [1], DBSEARCH [2], DBSEARCH [3]
	DB_INFO [1], DB_INFO [2], DB_INFO [3], DB_ITEM [1], DB_ITEM [2], DB_ITEM [3]
	DB_ITEM_INFO [1], DB_ITEM_INFO [2], DB_ITEM_INFO [3], ZPARCHECK [1]
	ZPARCHECK [2], ZPARCHECK [3]
 SIDE EFFECTS: 
       The obsolete system variable !ERR is set to number of entries found

 REVISION HISTORY:
       Written     :   D. Lindler, GSFC/HRS, November 1987
       Version 2, Wayne Landsman, GSFC/UIT (STX), 1 April 1994
                       Added FULLSTRING keyword.
       Version 3, William Thompson, GSFC, 1 April 1994
                       Added check for empty database
       Version 4, William Thompson, GSFC, 5 April 1994
                       Changed so that !ERR is zero when database is empty,
                       and LISTIN is returned, based on discussion with Wayne
                       Landsman.
       Version 5, Wayne Landsman, GSFC/UIT (STX), 26 May 1994
                       Added error message when database is empty.
       Version 6, William Thompson, GSFC, 14 March 1995
                       Added FULLSTRING keyword to DBFIND_SORT call
       Version 7, Richard Schwartz, GSFC/SDAC 23 August 1996
                       Move external to host conversion from DBRD to
                       operation on extracted values only.
       Version 8, William Thompson, GSFC, 3 December 1996
                       Renamed BYTESWAP variable to BSWAP--appeared to be
                       conflicting with function of same name.
       Version 9, William Thompson, GSFC, 17-Mar-1997
                       Added keyword ERRMSG
       Version 10, July, 1997  W. Landsman, added CATCH errors
       Converted to IDL V5.0   W. Landsman   October 1997
       Update documentation for new Y2K compliant DBFPARSE W. Landsman Nov 1998
       Suppress empty database message with /SILENT, W. Landsman Jan 1999
       Added COUNT keyword, deprecate !ERR        W. Landsman March 2000
       Added new unsigned & 64bit datatypes       W. Landsman July 2001


DBFIND [2] $SSW/gen/idl_libs/astron/database/dbfind.pro
[Previous] [Next]
 NAME: 
    DBFIND()
 PURPOSE:      
     Search data base for entries with specified characteristics
 EXPLANATION:  
     Function to search data base for entries with specified
     search characteristics.

 CALLING SEQUENCE:     
     result = dbfind(spar,[ listin, /SILENT, /FULLSTRING, ERRMSG=, Count = ])

 INPUTS:       
     spar - search_parameters (string)...each search parameter 
               is of the form:

               option 1) min_val < item_name < max_val
               option 2) item_name = value
               option 3) item_name = [value_1, value_10]
 CALLED BY:
	ADD_ALT, ADD_ANOMALY, ADD_DATAWIN, ADD_DETAIL, ADD_EXPER, ADD_FLAG, ADD_F_RASTER
	ADD_F_STUDY, ADD_LINELIST, ADD_PLAN, ADD_T_STUDY, ADD_V_RASTER, ADD_V_STUDY
	CHECK_INTEG, CHK_DATAWIN, CHK_F_RASTER, CHK_F_STUDY, CHK_LINELIST, CHK_T_STUDY
	CHK_V_RASTER, CHK_V_STUDY, CLR_INST_DLYD, CLR_NRT_RES, CLR_OTHER_OBS, CLR_RESOURCE
	CLR_TEL_MODE, CLR_TEL_SUBMODE, CP_GET_HISTORY, CP_GET_MNEMONIC, DBCIRCLE [1]
	DBCIRCLE [2], DEL_ALT, DEL_ANOMALY, DEL_DETAIL, DEL_FLAG, DEL_PLAN, DEL_SOHO_DET
	FIND_CDS_STUDIES, GET_ALT, GET_ANOMALY, GET_CAMPAIGN, GET_CDHS_DEXWIN
	GET_CDHS_RASTER, GET_CDHS_SERIES, GET_CDHS_VDSWIN, GET_CDS_PNTCAL, GET_COMPRESS
	GET_DATAWIN, GET_DETAIL, GET_EFFICIENCY, GET_EFF_AREA, GET_EXPER, GET_FLAG
	GET_F_RASTER, GET_F_STUDY, GET_GSET, GET_LINELIST, GET_MAIN, GET_MIRSHIFT, GET_PLAN
	GET_PROGRAM, GET_RASTER, GET_RAW, GET_RAW_FIL, GET_SOHO_DET, GET_STUDY, GET_TILTCAL
	GET_WAVECAL, GET_WAVE_EFF, IMDBASE, LAST_KAP_VERS, LIST_ALT, LIST_ANOMALY
	LIST_CAMPAIGN, LIST_CDROM, LIST_COM_TIMES, LIST_DATAWIN, LIST_DETAIL
	LIST_DLYD_TIMES, LIST_DSN, LIST_EXPER, LIST_EXP_COMM, LIST_FLAG, LIST_F_RASTER
	LIST_F_STUDY, LIST_GSET, LIST_INST_DLYD, LIST_LINELIST, LIST_MAIN, LIST_MDI_M
	LIST_NRT_RES, LIST_OTHER_OBS, LIST_OTHER_RES, LIST_PLAN, LIST_RAW, LIST_SOHO_DET
	LIST_V_RASTER, LIST_V_STUDY, MOD_CAMPAIGN, MOD_DETAIL, MOD_EXPER, MOD_GSET
	MOD_LINELIST, MOD_MAIN, MOD_V_RASTER, MOD_V_STUDY, PRG_ALT, PRG_ANOMALY, PRG_DETAIL
	PRG_FLAG, PRG_PLAN, PRG_SOHO_DET, REG_CDROM, SEARCH_HXRBS_DB, SET_KAP_VERS
	TP_DISP_RAST, UPD_PLAN, UPD_SOHO_DET, WHAT_USES, db_save_study_entry_update [1]
	db_save_study_entry_update [2], eis_get_engineering_state_list [1]
	eis_get_engineering_state_list [2], eis_get_science_entry [1]
	eis_get_science_entry [2], eis_get_science_raster_entry [1]
	eis_get_science_raster_entry [2], eis_get_study_raster_entry [1]
	eis_get_study_raster_entry [2], eis_get_timeline_entries [1]
	eis_get_timeline_entries [2], eis_linelist_gui [1], eis_linelist_gui [2]
	eis_raster_gui [1], eis_raster_gui [2], eis_study_gui [1], eis_study_gui [2]
	eis_update_timeline_science_entry [1]
	eis_update_timeline_science_entry [2]
                       Note: option 3 is also the slowest.
               option 4) item_name > value
               option 5) item_name < value
               option 6) item_name = value(tolerance) ;eg. temp=25.0(5.2)
               option 7) item_name                     ;must be non-zero

               Multiple search parameters are separated by a comma.
               eg.     'cam_no=2,14<ra<20'

               Note: < is interpreted as less than or equal.
                     > is interpreted as greater than or equal.
       
               RA and DEC keyfields are stored as floating point numbers 
               in the data base may be entered as HH:MM:SEC and
               DEG:MIN:SEC. Where:

                       HH:MM:SEC   equals  HH + MM/60.0  + SEC/3600.
                       DEG:MIN:SEC equals DEG + MIN/60.0 + SEC/3600.
                       
               For example:
                       40:34:10.5 < dec < 43:25:19 , 8:22:1.0 < ra < 8:23:23.0

               Specially encoded date/time in the data base may
               be entered by  CCYY/DAY:hr:min:sec which is
               interpreted as  
                       CCYY*1000+DAY+hr/24.0+min/24.0/60.+sec/24.0/3600.
               If a two digit year is supplied and YY GE 40 then it is 
               understood to refer to year 1900 +YY;  if YY LT 40 then it is 
               understood to refer to year 2000 +YY

               For example
                       1985/201:10:35:30<date_time<1985/302:10:33:33.4
               would specify all entries between:
                       year 1985 day 201 at 10:35:30 to
                       day 302 at 10:33:33.4
               The date/time may also be encoded as:
                       DD-MMM-YEAR HH::MM:SS.SS        
                       eg.  12-JUL-86 10:23:33.45
               (this is the format of system variable !stime)

               Multiple search parameters may be stored in a string
               array (one parameter per array element) instead of
               concatenating them with commas in a single string.
               Example:
                       input_array = strarr(2)
                       input_array[0] = '14<ra<16'   ; 14-16 hrs of ra.
                       input_array[1] = '8<dec<20'   ; + 8-20 deg. decl.

 OPTIONAL INPUT:       
       listin - gives list of entries to be searched.  If not supplied or 
               set to -1 then all entries are searched.

 OUTPUT:       
       List of ENTRY numbers satisfying search characteristics
               is returned as the function value.

 OPTIONAL INPUT KEYWORDS:      
       /SILENT  - If the keyword SILENT is set and non-zero, then DBFIND
               will not print the number of entries found.

       /FULLSTRING - By default, one has a match if a search string is 
               included in any part of a database value (substring match).   
               But if /FULLSTRING is set, then all characters in the database
               value must match the search string (excluding leading and 
               trailing blanks).    Both types of string searches are case
               insensitive.

       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 = ''
                       DB_ITEM, ERRMSG=ERRMSG, ...
                       IF ERRMSG NE '' THEN ...;

 OPTIONAL OUTPUT KEYWORD:
       COUNT - Integer scalar giving the number of valid matches
 PROCEDURE CALLS:
       DB_INFO, DB_ITEM, DB_ITEM_INFO, DBEXT, DBEXT_IND, DBFIND_ENTRY,
       DBFIND_SORT, DBFPARSE, DBRD, DBSEARCH, ZPARCHECK,IS_IEEE_BIG

 RESTRICTIONS: 
       The data base must be previously opened with DBOPEN.

 CALLS: ***
	DBEXT [1], DBEXT [2], DBEXT [3], DBEXT [4], DBEXT_IND [1], DBEXT_IND [2]
	DBEXT_IND [3], DBFIND_ENTRY [1], DBFIND_ENTRY [2], DBFIND_ENTRY [3]
	DBFIND_SORT [1], DBFIND_SORT [2], DBFIND_SORT [3], DBFPARSE [1], DBFPARSE [2]
	DBFPARSE [3], DBRD [1], DBRD [2], DBRD [3], DBSEARCH [1], DBSEARCH [2], DBSEARCH [3]
	DB_INFO [1], DB_INFO [2], DB_INFO [3], DB_ITEM [1], DB_ITEM [2], DB_ITEM [3]
	DB_ITEM_INFO [1], DB_ITEM_INFO [2], DB_ITEM_INFO [3], ZPARCHECK [1]
	ZPARCHECK [2], ZPARCHECK [3]
 SIDE EFFECTS: 
       The obsolete system variable !ERR is set to number of entries found

 REVISION HISTORY:
       Written     :   D. Lindler, GSFC/HRS, November 1987
       Version 2, Wayne Landsman, GSFC/UIT (STX), 1 April 1994
                       Added FULLSTRING keyword.
       Version 3, William Thompson, GSFC, 1 April 1994
                       Added check for empty database
       Version 4, William Thompson, GSFC, 5 April 1994
                       Changed so that !ERR is zero when database is empty,
                       and LISTIN is returned, based on discussion with Wayne
                       Landsman.
       Version 5, Wayne Landsman, GSFC/UIT (STX), 26 May 1994
                       Added error message when database is empty.
       Version 6, William Thompson, GSFC, 14 March 1995
                       Added FULLSTRING keyword to DBFIND_SORT call
       Version 7, Richard Schwartz, GSFC/SDAC 23 August 1996
                       Move external to host conversion from DBRD to
                       operation on extracted values only.
       Version 8, William Thompson, GSFC, 3 December 1996
                       Renamed BYTESWAP variable to BSWAP--appeared to be
                       conflicting with function of same name.
       Version 9, William Thompson, GSFC, 17-Mar-1997
                       Added keyword ERRMSG
       Version 10, July, 1997  W. Landsman, added CATCH errors
       Converted to IDL V5.0   W. Landsman   October 1997
       Update documentation for new Y2K compliant DBFPARSE W. Landsman Nov 1998
       Suppress empty database message with /SILENT, W. Landsman Jan 1999
       Added COUNT keyword, deprecate !ERR        W. Landsman March 2000
       Added new unsigned & 64bit datatypes       W. Landsman July 2001


DBFIND_ENTRY [1] $SSW/gen/idl/database/dbfind_entry.pro
[Previous] [Next]
 NAME:
       DBFIND_ENTRY
 PURPOSE:
       Subroutine of DBFIND to perform an entry number search 
 EXPLANATION:
       This is a subroutine of dbfind and is not a standalone procedure
       It performs a entry number search.

 CALLING SEQUENCE:
       dbfind_entry, type, svals, nentries, values, [COUNT = ]

 INPUTS: 
       type - type of search (output from dbfparse)
       svals - search values (output from dbfparse)
       values - array of values to search
 OUTPUT:
       good - indices of good values
 OPTIONAL OUTPUT KEYWORD:
       Count - integer scalar giving the number of valid matches
 SIDE EFFECTS"
       The obsolete system variable !err is set to number of good values

 REVISION HISTORY:
       D. Lindler  July,1987
       Fixed test for final entry number  W. Landsman    Sept. 95       
       Converted to IDL V5.0   W. Landsman   September 1997
       Added COUNT keyword, deprecate !ERR  W. Landsman   March 2000
       Better checking of out of range values  W. Landsman February 2002
 CALLED BY
	DBFIND [1], DBFIND [2], DBFIND [3]


DBFIND_ENTRY [2] $SSW/gen/idl_libs/astron/database/dbfind_entry.pro
[Previous] [Next]
 NAME:
       DBFIND_ENTRY
 PURPOSE:
       Subroutine of DBFIND to perform an entry number search 
 EXPLANATION:
       This is a subroutine of dbfind and is not a standalone procedure
       It performs a entry number search.

 CALLING SEQUENCE:
       dbfind_entry, type, svals, nentries, values, [COUNT = ]

 INPUTS: 
       type - type of search (output from dbfparse)
       svals - search values (output from dbfparse)
       values - array of values to search
 OUTPUT:
       good - indices of good values
 OPTIONAL OUTPUT KEYWORD:
       Count - integer scalar giving the number of valid matches
 SIDE EFFECTS"
       The obsolete system variable !err is set to number of good values

 REVISION HISTORY:
       D. Lindler  July,1987
       Fixed test for final entry number  W. Landsman    Sept. 95       
       Converted to IDL V5.0   W. Landsman   September 1997
       Added COUNT keyword, deprecate !ERR  W. Landsman   March 2000
       Better checking of out of range values  W. Landsman February 2002
 CALLED BY
	DBFIND [1], DBFIND [2], DBFIND [3]


DBFIND_SORT [1] $SSW/gen/idl/database/dbfind_sort.pro
[Previous] [Next]
 NAME:
       DBFIND_SORT   
 PURPOSE:
       Subroutine of DBFIND to perform a search using sorted values 
 EXPLANATION:
       This is a subroutine of dbfind and is not a standalone procedure
       It is used to limit the search using sorted values  V5.2 or later!

 CALLING SEQUENCE:
       dbfind_sort, it, type, svals, list, [/FULLSTRING, COUNT = ]

 INPUT: 
       it - item number, scalar
       type - type of search (output from dbfparse)
       svals - search values (output from dbfparse)

 INPUT/OUTPUT:
       list - found entries

 OPTIONAL INPUT KEYWORD:
       /FULLSTRING - By default, one has a match if a search string is 
               included in any part of a database value (substring match).   
               But if /FULLSTRING is set, then all characters in the database
               value must match the search string (excluding leading and 
               trailing blanks).    Both types of string searches are case
               insensitive.
 OPTIONAL OUTPUT KEYWORD
       Count - Integer scalar giving the number of matches found
 SYSTEM VARIABLES:
       The obsolete system variable !err is set to number of good values
       !ERR = -2 for an invalid search
 REVISION HISTORY:
       D. Lindler  July,1987
       William Thompson, GSFC/CDS (ARC), 30 May 1994
               Added support for external (IEEE) data format
       William Thompson, GSFC, 14 March 1995 Added keyword FULLSTRING
       Converted to IDL V5.0   W. Landsman   September 1997
       Minimize use of obsolete !ERR variable   W. Landsman  February 2000
       Added COUNT keyword, deprecate !ERR W. Landsman  March 2000
       Use 64 bit integers V5.2 or later
       Include new IDL unsigned & 64 bit integer datatypes W.Landsman July 2001
       Make sure returned list vector is LONG  W. Landsman August 2001
 CALLS:
 CALLED BY
	DBFIND [1], DBFIND [2], DBFIND [3], DBGET [1], DBGET [2], DBGET [3], DBMATCH [1]
	DBMATCH [2], DBMATCH [3]


DBFIND_SORT [2] $SSW/gen/idl_libs/astron/database/dbfind_sort.pro
[Previous] [Next]
 NAME:
       DBFIND_SORT   
 PURPOSE:
       Subroutine of DBFIND to perform a search using sorted values 
 EXPLANATION:
       This is a subroutine of dbfind and is not a standalone procedure
       It is used to limit the search using sorted values  V5.2 or later!

 CALLING SEQUENCE:
       dbfind_sort, it, type, svals, list, [/FULLSTRING, COUNT = ]

 INPUT: 
       it - item number, scalar
       type - type of search (output from dbfparse)
       svals - search values (output from dbfparse)

 INPUT/OUTPUT:
       list - found entries

 OPTIONAL INPUT KEYWORD:
       /FULLSTRING - By default, one has a match if a search string is 
               included in any part of a database value (substring match).   
               But if /FULLSTRING is set, then all characters in the database
               value must match the search string (excluding leading and 
               trailing blanks).    Both types of string searches are case
               insensitive.
 OPTIONAL OUTPUT KEYWORD
       Count - Integer scalar giving the number of matches found
 SYSTEM VARIABLES:
       The obsolete system variable !err is set to number of good values
       !ERR = -2 for an invalid search
 REVISION HISTORY:
       D. Lindler  July,1987
       William Thompson, GSFC/CDS (ARC), 30 May 1994
               Added support for external (IEEE) data format
       William Thompson, GSFC, 14 March 1995 Added keyword FULLSTRING
       Converted to IDL V5.0   W. Landsman   September 1997
       Minimize use of obsolete !ERR variable   W. Landsman  February 2000
       Added COUNT keyword, deprecate !ERR W. Landsman  March 2000
       Use 64 bit integers V5.2 or later
       Include new IDL unsigned & 64 bit integer datatypes W.Landsman July 2001
       Make sure returned list vector is LONG  W. Landsman August 2001
 CALLS:
 CALLED BY
	DBFIND [1], DBFIND [2], DBFIND [3], DBGET [1], DBGET [2], DBGET [3], DBMATCH [1]
	DBMATCH [2], DBMATCH [3]


DBFPARSE [1] $SSW/gen/idl/database/dbfparse.pro
[Previous] [Next]
 NAME:
     DBFPARSE
 PURPOSE:
     Parse the search string supplied to DBFIND.   Not a standalone routine

 CALLING SEQUENCE:
     DBFPARSE, [ spar, items, stype, values ]

 INPUTS:
     spar - search parameter specification, scalar string

 OUTPUTS:
     items - list of items to search on
     stype - search type, numeric scalar
               0    item=values(j,0)
               -1   item>values(j,0)
               -2   item<values(j,1)
               -3   values(j,0)<item<values(j,1)
               -4   item is non zero
               -5   item=values(j,0) within tolerance values(j,1)
               0<   items in list values(j,i) for i=0,stype-1
     values - search values, 20 x 10 string array, can parse a string
               with up to 20 items specifications, each item can have 10
               values

 REVISION HISTORY:  
     D. Lindler NOV, 1987
     Check for valid numeric values before assuming a date string
     W. Landsman                    July, 1993
     Accept four digit years when in ccyy/doy format W. Landsman   October 1998
     Don't do DATE/Time test for string items  W. Landsman   July 2006
 CALLS:
 CALLED BY
	DBFIND [1], DBFIND [2], DBFIND [3]


DBFPARSE [2] $SSW/gen/idl_libs/astron/database/dbfparse.pro
[Previous] [Next]
 NAME:
     DBFPARSE
 PURPOSE:
     Parse the search string supplied to DBFIND.   Not a standalone routine

 CALLING SEQUENCE:
     DBFPARSE, [ spar, items, stype, values ]

 INPUTS:
     spar - search parameter specification, scalar string

 OUTPUTS:
     items - list of items to search on
     stype - search type, numeric scalar
               0    item=values(j,0)
               -1   item>values(j,0)
               -2   item<values(j,1)
               -3   values(j,0)<item<values(j,1)
               -4   item is non zero
               -5   item=values(j,0) within tolerance values(j,1)
               0<   items in list values(j,i) for i=0,stype-1
     values - search values, 20 x 10 string array, can parse a string
               with up to 20 items specifications, each item can have 10
               values

 REVISION HISTORY:  
     D. Lindler NOV, 1987
     Check for valid numeric values before assuming a date string
     W. Landsman                    July, 1993
     Accept four digit years when in ccyy/doy format W. Landsman   October 1998
     Don't do DATE/Time test for string items  W. Landsman   July 2006
 CALLS:
 CALLED BY
	DBFIND [1], DBFIND [2], DBFIND [3]


DBGET [1] $SSW/gen/idl/database/dbget.pro
[Previous] [Next]
 NAME:
       DBGET
 PURPOSE:
       Find entry numbers which contain specified values of a given item.
 EXPLANATION:
       DBGET() is useful as an alternative to DBFIND() when the desired 
       search values are not easily expressed as a string.  

 CALLING SEQUENCE:
       list = dbget( item, values, [ listin ], /SILENT, /FULLSTRING )

 INPUTS:
       item - Item name or number
       values -  scalar or vector containing item values to search for.

 OPTIONAL INPUTS:
       listin - list of entries to be searched.  If not supplied, or
               set to -1, then all entries are searched

 OUTPUT:
       list - vector giving the entry number of entries containing desired
               item values.  The number of elements in  LIST may be different 
               from that of VALUE, since a value might be located zero, once, 
               or many times in the database.  Use the function DBMATCH if a 
               one to one correspondence is desired between VALUES and LIST. 
 OPTIONAL INPUT KEYWORDS:
       /SILENT - If this keyword is set, then DBGET will not display
               the number of entries found
       /FULLSTRING - By default, one has a match if a search string is 
               included in any part of a database value (substring match).   
               But if /FULLSTRING is set, then all characters in the database
               value must match the search string (excluding leading and 
               trailing blanks).    Both types of string searches are case
               insensitive.
 OPTIONAL OUTPUT KEYWORD:
       COUNT - Integer scalar giving the number of valid matches

 CALLS: ***
	DBEXT [1], DBEXT [2], DBEXT [3], DBEXT [4], DBFIND_SORT [1], DBFIND_SORT [2]
	DBFIND_SORT [3], DBSEARCH [1], DBSEARCH [2], DBSEARCH [3], DB_INFO [1]
	DB_INFO [2], DB_INFO [3], DB_ITEM [1], DB_ITEM [2], DB_ITEM [3], DB_ITEM_INFO [1]
	DB_ITEM_INFO [2], DB_ITEM_INFO [3]
 RESTRICTIONS:
       When linked databases are opened together, DBGET can only be used to
       search on items in the primary database.
 EXAMPLE:
       Get info on selected HD stars in Bright Star catalogue

       IDL> dbopen, 'YALE_BS' 
       IDL> hdno = [1141,2363,3574,4128,6192,6314,6668]    ;Desired HD numbers
       IDL> list = dbget( 'HD', hdno )        ;Get corresponding entry numbers

 SYSTEM VARIABLES:
       The obsolete system variable !ERR is set to number of entries found
 REVISION HISTORY:
       Written,    W. Landsman      STX     February, 1989
       William Thompson, GSFC, 14 March 1995 Added keyword FULLSTRING
       Converted to IDL V5.0   W. Landsman   September 1997
       Added COUNT keyword, deprecate !ERR        W. Landsman March 2000
       Fix bug introduced March 2000              W. Landsman November 2000


DBGET [2] $SSW/gen/idl_libs/astron/database/dbget.pro
[Previous] [Next]
 NAME:
       DBGET
 PURPOSE:
       Find entry numbers which contain specified values of a given item.
 EXPLANATION:
       DBGET() is useful as an alternative to DBFIND() when the desired 
       search values are not easily expressed as a string.  

 CALLING SEQUENCE:
       list = dbget( item, values, [ listin ], /SILENT, /FULLSTRING )

 INPUTS:
       item - Item name or number
       values -  scalar or vector containing item values to search for.

 OPTIONAL INPUTS:
       listin - list of entries to be searched.  If not supplied, or
               set to -1, then all entries are searched

 OUTPUT:
       list - vector giving the entry number of entries containing desired
               item values.  The number of elements in  LIST may be different 
               from that of VALUE, since a value might be located zero, once, 
               or many times in the database.  Use the function DBMATCH if a 
               one to one correspondence is desired between VALUES and LIST. 
 OPTIONAL INPUT KEYWORDS:
       /SILENT - If this keyword is set, then DBGET will not display
               the number of entries found
       /FULLSTRING - By default, one has a match if a search string is 
               included in any part of a database value (substring match).   
               But if /FULLSTRING is set, then all characters in the database
               value must match the search string (excluding leading and 
               trailing blanks).    Both types of string searches are case
               insensitive.
 OPTIONAL OUTPUT KEYWORD:
       COUNT - Integer scalar giving the number of valid matches

 CALLS: ***
	DBEXT [1], DBEXT [2], DBEXT [3], DBEXT [4], DBFIND_SORT [1], DBFIND_SORT [2]
	DBFIND_SORT [3], DBSEARCH [1], DBSEARCH [2], DBSEARCH [3], DB_INFO [1]
	DB_INFO [2], DB_INFO [3], DB_ITEM [1], DB_ITEM [2], DB_ITEM [3], DB_ITEM_INFO [1]
	DB_ITEM_INFO [2], DB_ITEM_INFO [3]
 RESTRICTIONS:
       When linked databases are opened together, DBGET can only be used to
       search on items in the primary database.
 EXAMPLE:
       Get info on selected HD stars in Bright Star catalogue

       IDL> dbopen, 'YALE_BS' 
       IDL> hdno = [1141,2363,3574,4128,6192,6314,6668]    ;Desired HD numbers
       IDL> list = dbget( 'HD', hdno )        ;Get corresponding entry numbers

 SYSTEM VARIABLES:
       The obsolete system variable !ERR is set to number of entries found
 REVISION HISTORY:
       Written,    W. Landsman      STX     February, 1989
       William Thompson, GSFC, 14 March 1995 Added keyword FULLSTRING
       Converted to IDL V5.0   W. Landsman   September 1997
       Added COUNT keyword, deprecate !ERR        W. Landsman March 2000
       Fix bug introduced March 2000              W. Landsman November 2000


DBHELP [1] $SSW/gen/idl/database/dbhelp.pro
[Previous] [Next]
 NAME:
     DBHELP
 PURPOSE:
     List available databases or items in the currently open database
 EXPLANATION:
     Procedure to either list available databases (if no database is 
     currently open) or the items in the currently open database.

 CALLING SEQUENCE:  
     dbhelp, [ flag , TEXTOUT=, /SORT ]

 INPUT:
     flag - (optional) if set to nonzero then item or database
             descriptions are also printed
             default=0
             If flag is a string, then it is interpreted as the
             name of a data base (if no data base is opened) or a name 
             of an item in the opened data base.   In this case, help
             is displayed only for the particular item or database

 OUTPUTS:
      None
 OPTIONAL INPUT KEYWORDS:
      TEXTOUT  - Used to determine output device.  If not present, the
                value of !TEXTOUT system variable is used (see TEXTOPEN )

               textout=0       Nowhere
               textout=1       if a TTY then TERMINAL using /more option
                                   otherwise standard (Unit=-1) output
               textout=2       if a TTY then TERMINAL without /more option
                                   otherwise standard (Unit=-1) output
               textout=3       <program>.prt
               textout=4       laser.tmp
               textout=5      user must open file
               textout=7      same as 3 but text is appended to <program>.prt
                               file if it already exists.
               textout = filename (default extension of .prt)

        /SORT - If set and non-zero, then the help items will be displayed
               sorted alphabetically.    If more than one database is open,
               then this keyword does nothing.
 METHOD:
       If no data base is opened then a list of data bases are
       printed, otherwise the items in the open data base are printed.

       If a string is supplied for flag and a data base is opened
       flag is assumed to be an item name.  The information for that
       item is printed along with contents in a optional file
       zdbase:dbname_itemname.hlp
       if a string is supplied for flag and no data base is opened,
       then string is assumed to be the name of a data base file.
       only information for that file is printed along with an
       optional file zdbase:dbname.hlp.
 PROCEDURES USED:
       DB_INFO(),DB_ITEM_INFO(),FIND_WITH_DEF(), TEXTOPEN, TEXTCLOSE, UNIQ()
 IDL VERSION:
       V5.3 or later (uses vectorized FDECOMP)
 CALLS: ***
	DB_INFO [1], DB_INFO [2], DB_INFO [3], DB_ITEM [1], DB_ITEM [2], DB_ITEM [3]
	DB_ITEM_INFO [1], DB_ITEM_INFO [2], DB_ITEM_INFO [3], FDECOMP [1], FDECOMP [2]
	FDECOMP [3], FIND_WITH_DEF [1], FIND_WITH_DEF [2], FIND_WITH_DEF [3]
	LIST_WITH_PATH [1], LIST_WITH_PATH [2], LIST_WITH_PATH [3], REM_DUP [1]
	REM_DUP [2], REM_DUP [3], TEXTCLOSE [1], TEXTCLOSE [2], TEXTCLOSE [3]
	TEXTOPEN [1], TEXTOPEN [2], TEXTOPEN [3]
 HISTORY:
       Version 2  D. Lindler  Nov 1987 (new db format)
       Faster printing of title desc. W. Landsman  May 1989 
       Keyword textout added, J. Isensee, July, 1990
       Modified to work on Unix, D. Neill, ACC, Feb 1991.
       William Thompson, GSFC/CDS (ARC), 1 June 1994
               Added support for external (IEEE) representation.
       William Thompson, GSFC, 3 November 1994
               Modified to allow ZDBASE to be a path string.
       Remove duplicate database names  Wayne Landsman    December 1994
       8/17/95 jkf/acc - force lowercase filenames for .hlp files.
       Added /SORT keyword  J. Sandoval/W. Landsman     October 1998
       V5.3 version use vectorized FDECOMP   W. Landsman   February 2001
       Recognize 64 bit, unsigned integer datatypes W. Landsman September 2001
       Fix display of number of bytes with /SORT W. Landsman February 2002
       Assume since V5.2                 W. Landsman February 2002  
       Assume since V5.5                 W. Landsman   


DBHELP [2] $SSW/gen/idl_libs/astron/database/dbhelp.pro
[Previous] [Next]
 NAME:
     DBHELP
 PURPOSE:
     List available databases or items in the currently open database
 EXPLANATION:
     Procedure to either list available databases (if no database is 
     currently open) or the items in the currently open database.

 CALLING SEQUENCE:  
     dbhelp, [ flag , TEXTOUT=, /SORT ]

 INPUT:
     flag - (optional) if set to nonzero then item or database
             descriptions are also printed
             default=0
             If flag is a string, then it is interpreted as the
             name of a data base (if no data base is opened) or a name 
             of an item in the opened data base.   In this case, help
             is displayed only for the particular item or database

 OUTPUTS:
      None
 OPTIONAL INPUT KEYWORDS:
      TEXTOUT  - Used to determine output device.  If not present, the
                value of !TEXTOUT system variable is used (see TEXTOPEN )

               textout=0       Nowhere
               textout=1       if a TTY then TERMINAL using /more option
                                   otherwise standard (Unit=-1) output
               textout=2       if a TTY then TERMINAL without /more option
                                   otherwise standard (Unit=-1) output
               textout=3       <program>.prt
               textout=4       laser.tmp
               textout=5      user must open file
               textout=7      same as 3 but text is appended to <program>.prt
                               file if it already exists.
               textout = filename (default extension of .prt)

        /SORT - If set and non-zero, then the help items will be displayed
               sorted alphabetically.    If more than one database is open,
               then this keyword does nothing.
 METHOD:
       If no data base is opened then a list of data bases are
       printed, otherwise the items in the open data base are printed.

       If a string is supplied for flag and a data base is opened
       flag is assumed to be an item name.  The information for that
       item is printed along with contents in a optional file
       zdbase:dbname_itemname.hlp
       if a string is supplied for flag and no data base is opened,
       then string is assumed to be the name of a data base file.
       only information for that file is printed along with an
       optional file zdbase:dbname.hlp.
 PROCEDURES USED:
       DB_INFO(),DB_ITEM_INFO(),FIND_WITH_DEF(), TEXTOPEN, TEXTCLOSE, UNIQ()
 IDL VERSION:
       V5.3 or later (uses vectorized FDECOMP)
 CALLS: ***
	DB_INFO [1], DB_INFO [2], DB_INFO [3], DB_ITEM [1], DB_ITEM [2], DB_ITEM [3]
	DB_ITEM_INFO [1], DB_ITEM_INFO [2], DB_ITEM_INFO [3], FDECOMP [1], FDECOMP [2]
	FDECOMP [3], FIND_WITH_DEF [1], FIND_WITH_DEF [2], FIND_WITH_DEF [3]
	LIST_WITH_PATH [1], LIST_WITH_PATH [2], LIST_WITH_PATH [3], REM_DUP [1]
	REM_DUP [2], REM_DUP [3], TEXTCLOSE [1], TEXTCLOSE [2], TEXTCLOSE [3]
	TEXTOPEN [1], TEXTOPEN [2], TEXTOPEN [3]
 HISTORY:
       Version 2  D. Lindler  Nov 1987 (new db format)
       Faster printing of title desc. W. Landsman  May 1989 
       Keyword textout added, J. Isensee, July, 1990
       Modified to work on Unix, D. Neill, ACC, Feb 1991.
       William Thompson, GSFC/CDS (ARC), 1 June 1994
               Added support for external (IEEE) representation.
       William Thompson, GSFC, 3 November 1994
               Modified to allow ZDBASE to be a path string.
       Remove duplicate database names  Wayne Landsman    December 1994
       8/17/95 jkf/acc - force lowercase filenames for .hlp files.
       Added /SORT keyword  J. Sandoval/W. Landsman     October 1998
       V5.3 version use vectorized FDECOMP   W. Landsman   February 2001
       Recognize 64 bit, unsigned integer datatypes W. Landsman September 2001
       Fix display of number of bytes with /SORT W. Landsman February 2002
       Assume since V5.2                 W. Landsman February 2002  
       Assume since V5.5                 W. Landsman   


DBINDEX [1] $SSW/gen/idl/database/dbindex.pro
[Previous] [Next]
 NAME:
       DBINDEX
 PURPOSE:
       Procedure to create index file for data base 

 CALLING SEQUENCE:     
       dbindex, [ items ]

 OPTIONAL INPUT:
       items - names or numbers of items to be index -- if not supplied,
               then all indexed fields will be processed.  

 OUTPUT:
       Index file <name>.dbx is created on disk location ZDBASE:

 OPERATIONAL NOTES:
       (1) Data base must have been previously opened for update
       by DBOPEN 

       (2) Only 18 items can be indexed at one time.   If the database has
       more than 18 items, then two separate calls to DBINDEX are needed.
 PROCEDURES CALLED:
       DBINDEX_BLK, DB_INFO(), DB_ITEM, DB_ITEM_INFO(), IEEE_TO_HOST, 
       IS_IEEE_BIG()
 CALLS: ***
	BSORT [1], BSORT [2], BSORT [3], BSORT [4], DBEXT_DBF [1], DBEXT_DBF [2]
	DBEXT_DBF [3], DBINDEX_BLK [1], DBINDEX_BLK [2], DBINDEX_BLK [3], DB_INFO [1]
	DB_INFO [2], DB_INFO [3], DB_ITEM [1], DB_ITEM [2], DB_ITEM [3], DB_ITEM_INFO [1]
	DB_ITEM_INFO [2], DB_ITEM_INFO [3], HOST_TO_IEEE [1], HOST_TO_IEEE [2]
	HOST_TO_IEEE [3], HOST_TO_IEEE [4], IEEE_TO_HOST [1], IEEE_TO_HOST [2]
	IEEE_TO_HOST [3], IEEE_TO_HOST [4]
 CALLED BY:
	DBBUILD [1], DBBUILD [2], DBBUILD [3], DBDELETE [1], DBDELETE [2], DBDELETE [3]
	DBEDIT [1], DBEDIT [2], DBEDIT [3], DBEDIT_BASIC [1], DBEDIT_BASIC [2]
	DBEDIT_BASIC [3], DBEXT [2], DBUPDATE [1], DBUPDATE [2], DBUPDATE [3]
	DBUPDATE [4], FLUSH_CATALOG, PRG_DETAIL, PRG_PLAN
 HISTORY:
       version 2  D. Lindler  Nov 1987 (new db format)
       W. Landsman    added optional items parameter Feb 1989 
       William Thompson, GSFC/CDS (ARC), 30 May 1994
               Added support for external (IEEE) data format
       Test if machine is bigendian  W. Landsman     May, 1996
       Change variable name of BYTESWAP to BSWAP  W. Thompson  Mar, 1997
       Increased number of fields to 15   W. Landsman   June, 1997
       Increase number of items to 18     W. Landsman  November 1999
       Allow multiple valued (nonstring) index items W. Landsman November 2000
       Use 64 bit integers for V5.2 or later  W. Landsman February 2001
       Do not use EXECUTE() for V6.1 or later, improve efficiency 
                W. Landsman   December 2006
       Automatically enlarge .dbx file if needed, fix major bug in last
             update    W. Landsman Dec 2006


DBINDEX [2] $SSW/gen/idl_libs/astron/database/dbindex.pro
[Previous] [Next]
 NAME:
       DBINDEX
 PURPOSE:
       Procedure to create index file for data base 

 CALLING SEQUENCE:     
       dbindex, [ items ]

 OPTIONAL INPUT:
       items - names or numbers of items to be index -- if not supplied,
               then all indexed fields will be processed.  

 OUTPUT:
       Index file <name>.dbx is created on disk location ZDBASE:

 OPERATIONAL NOTES:
       (1) Data base must have been previously opened for update
       by DBOPEN 

       (2) Only 18 items can be indexed at one time.   If the database has
       more than 18 items, then two separate calls to DBINDEX are needed.
 PROCEDURES CALLED:
       DBINDEX_BLK, DB_INFO(), DB_ITEM, DB_ITEM_INFO(), IEEE_TO_HOST, 
       IS_IEEE_BIG()
 CALLS: ***
	BSORT [1], BSORT [2], BSORT [3], BSORT [4], DBEXT_DBF [1], DBEXT_DBF [2]
	DBEXT_DBF [3], DBINDEX_BLK [1], DBINDEX_BLK [2], DBINDEX_BLK [3], DB_INFO [1]
	DB_INFO [2], DB_INFO [3], DB_ITEM [1], DB_ITEM [2], DB_ITEM [3], DB_ITEM_INFO [1]
	DB_ITEM_INFO [2], DB_ITEM_INFO [3], HOST_TO_IEEE [1], HOST_TO_IEEE [2]
	HOST_TO_IEEE [3], HOST_TO_IEEE [4], IEEE_TO_HOST [1], IEEE_TO_HOST [2]
	IEEE_TO_HOST [3], IEEE_TO_HOST [4]
 CALLED BY:
	DBBUILD [1], DBBUILD [2], DBBUILD [3], DBDELETE [1], DBDELETE [2], DBDELETE [3]
	DBEDIT [1], DBEDIT [2], DBEDIT [3], DBEDIT_BASIC [1], DBEDIT_BASIC [2]
	DBEDIT_BASIC [3], DBEXT [2], DBUPDATE [1], DBUPDATE [2], DBUPDATE [3]
	DBUPDATE [4], FLUSH_CATALOG, PRG_DETAIL, PRG_PLAN
 HISTORY:
       version 2  D. Lindler  Nov 1987 (new db format)
       W. Landsman    added optional items parameter Feb 1989 
       William Thompson, GSFC/CDS (ARC), 30 May 1994
               Added support for external (IEEE) data format
       Test if machine is bigendian  W. Landsman     May, 1996
       Change variable name of BYTESWAP to BSWAP  W. Thompson  Mar, 1997
       Increased number of fields to 15   W. Landsman   June, 1997
       Increase number of items to 18     W. Landsman  November 1999
       Allow multiple valued (nonstring) index items W. Landsman November 2000
       Use 64 bit integers for V5.2 or later  W. Landsman February 2001
       Do not use EXECUTE() for V6.1 or later, improve efficiency 
                W. Landsman   December 2006
       Automatically enlarge .dbx file if needed, fix major bug in last
             update    W. Landsman Dec 2006


DBINDEX_BLK [1] $SSW/gen/idl/database/dbindex_blk.pro
[Previous] [Next]
 NAME:
       DBINDEX_BLK
 PURPOSE:
       Subroutine of DBINDEX to create associated variable of correct datatype
 EXPLANATION:
       DBINDEX_BLK will offset into the file by a specified amount in 
       preparation for writing to the file.   V5.2 or later

 CALLING SEQUENCE:
       res = dbindex_blk(unit, nb, bsz, ofb, dtype)

 INPUTS:
       unit   The unit number assigned to the file.
       nb     The number of blocks to offset into the file.
       bsz    The size of each block, in bytes, to offset into the file.
       ofb    The offset into the block, in bytes.
       dtype  The IDL datatype as defined in the SIZE function

 OUTPUTS:
       res    The returned variable.  This is an associated variable.

 CALLED BY:
	DBINDEX [1], DBINDEX [2], DBINDEX [3], DBWRT [1], DBWRT [2], DBWRT [3]
 RESTRICTIONS:
       The file must have been previously opened.

 MODIFICATION HISTORY:
       Written by Michael R. Greason, STX, 14 June 1990.
       Converted to IDL V5.0   W. Landsman   September 1997
       Use 64 bit integer for very large databases  W. Landsman February 2001
       Added new unsigned & 64bit integer datatypes    W. Landsman July 2001


DBINDEX_BLK [2] $SSW/gen/idl_libs/astron/database/dbindex_blk.pro
[Previous] [Next]
 NAME:
       DBINDEX_BLK
 PURPOSE:
       Subroutine of DBINDEX to create associated variable of correct datatype
 EXPLANATION:
       DBINDEX_BLK will offset into the file by a specified amount in 
       preparation for writing to the file.   V5.2 or later

 CALLING SEQUENCE:
       res = dbindex_blk(unit, nb, bsz, ofb, dtype)

 INPUTS:
       unit   The unit number assigned to the file.
       nb     The number of blocks to offset into the file.
       bsz    The size of each block, in bytes, to offset into the file.
       ofb    The offset into the block, in bytes.
       dtype  The IDL datatype as defined in the SIZE function

 OUTPUTS:
       res    The returned variable.  This is an associated variable.

 CALLED BY:
	DBINDEX [1], DBINDEX [2], DBINDEX [3], DBWRT [1], DBWRT [2], DBWRT [3]
 RESTRICTIONS:
       The file must have been previously opened.

 MODIFICATION HISTORY:
       Written by Michael R. Greason, STX, 14 June 1990.
       Converted to IDL V5.0   W. Landsman   September 1997
       Use 64 bit integer for very large databases  W. Landsman February 2001
       Added new unsigned & 64bit integer datatypes    W. Landsman July 2001


DBL2ARRAY $SSW/gen/idl/fund_lib/sdac/dbl2array.pro
[Previous] [Next]

 NAME: 
	DBL2ARRAY

 PURPOSE:
	Convert a 64 bit flag word to a byte array of 1's and 0's.  

 CATEGORY:
	SMM Catalog

 CALLING SEQUENCE:
	result = DBL2ARRAY(DBL=DBL)

 CALLED BY:
	SMMCAT

 CALLS TO:
	none

 INPUTS:
       DBL 	Double precision word array containing 64 bit flags to convert

 OPTIONAL INPUTS:
	none

 OUTPUTS:
       Returns a byte array (64 x n_elements(dbl)) containing 1s or 0s
	corresponding to the bits of DBL. 

 OPTIONAL OUTPUTS:
	none

 COMMON BLOCKS:
	none

 SIDE EFFECTS:
	none

 RESTRICTIONS:
	none

 PROCEDURE:
	Convert double values into 2 by n long array, and identify which
	bits are set.

 MODIFICATION HISTORY:
	Mar 15, 1994 - Kim Tolbert (HSTX)
	May '94      - Elaine Einfalt (HSTX) - Changed procedure into function
					     - Added array input
					     - Removed ONFLAGS return variable


DBMATCH [1] $SSW/gen/idl/database/dbmatch.pro
[Previous] [Next]
 NAME:
       DBMATCH
 PURPOSE:
       Find the entry number in a database for each element of item values
 EXPLANATION:
       DBMATCH() is especially useful for finding a one-to-one 
       correspondence between entries in different databases, and thus to 
       create the vector needed for database pointers.

 CALLING SEQUENCE:
       list = DBMATCH( item, values, [ listin, /FULLSTRING ] )

 INPUTS:
       ITEM - Item name or number, scalar
       VALUES -  scalar or vector containing item values to search for.

 OPTIONAL INPUTS:
       LISTIN - list of entries to be searched.  If not supplied, or
               set to -1, then all entries are searched
 OUTPUT:
       LIST - vector of entry numbers with the same number of elements as 
               VALUES.  Contains a value of 0 wherever the corresponding item
               value was not found.

 OPTIONAL INPUT:
       /FULLSTRING - By default, one has a match if a search string is 
               included in any part of a database value (substring match).   
               But if /FULLSTRING is set, then all characters in the database
               value must match the search string (excluding leading and 
               trailing blanks).    Both types of string searches are case
               insensitive.

 NOTES:
       DBMATCH is meant to be used for items which do not have duplicate values
       in a database (e.g. catalog numbers).  If more than one entry is found
       for a particular item value, then only the first one is stored in LIST.

       When linked databases are opened together, DBMATCH can only be 
       used to search on items in the primary database.

 CALLS: ***
	DATATYPE [1], DATATYPE [2], DATATYPE [3], DBEXT [1], DBEXT [2], DBEXT [3], DBEXT [4]
	DBFIND_SORT [1], DBFIND_SORT [2], DBFIND_SORT [3], DB_INFO [1], DB_INFO [2]
	DB_INFO [3], DB_ITEM [1], DB_ITEM [2], DB_ITEM [3], DB_ITEM_INFO [1]
	DB_ITEM_INFO [2], DB_ITEM_INFO [3]
 CALLED BY:
	ADD_DATAWIN, ADD_F_RASTER, ADD_LINELIST, ADD_RES_TYPE, ADD_V_RASTER, ADD_V_STUDY
	CHK_T_STUDY
 EXAMPLE:
       Make a vector which points from entries in the Yale Bright Star catalog
       to those in the Hipparcos catalog, using the HD number

       IDL> dbopen, 'yale_bs'            ;Open the Yale Bright star catalog
       IDL> dbext, -1, 'HD', hd          ;Get the HD numbers
       IDL> dbopen, 'hipparcos'          ;Open the Hipparcos catalog
       IDL> list = dbmatch( 'HD', HD)    ;Get entries in Hipparcos catalog 
                                         ;corresponding to each HD number.
 PROCEDURE CALLS:
       DB_ITEM, DB_ITEM_INFO(), DBEXT, DBFIND_SORT()
 REVISION HISTORY:
       Written,    W. Landsman      STX     February, 1990
       Fixed error when list in parameter used May, 1992
       Faster algorithm with sorted item when listin parameter supplied 
       Added keyword FULLSTRING,check for empty database, William Thompson, 
               GSFC, 15 March 1995
       Work for more than 32767 values, added CATCH W. Landsman   July 1997
       Converted to IDL V5.0   W. Landsman 25-Nov-1997
       Change some loop variables to type LONG,  W. Landsman  July 1999
       Remove loop for substring searches (faster)  W. landsman August 1999
       Replace DATATYPE() with size(/TNAME)  W. Landsman  November 2001
       Fixed typo when search on sorted items W. Landsman February 2002


DBMATCH [2] $SSW/gen/idl_libs/astron/database/dbmatch.pro
[Previous] [Next]
 NAME:
       DBMATCH
 PURPOSE:
       Find the entry number in a database for each element of item values
 EXPLANATION:
       DBMATCH() is especially useful for finding a one-to-one 
       correspondence between entries in different databases, and thus to 
       create the vector needed for database pointers.

 CALLING SEQUENCE:
       list = DBMATCH( item, values, [ listin, /FULLSTRING ] )

 INPUTS:
       ITEM - Item name or number, scalar
       VALUES -  scalar or vector containing item values to search for.

 OPTIONAL INPUTS:
       LISTIN - list of entries to be searched.  If not supplied, or
               set to -1, then all entries are searched
 OUTPUT:
       LIST - vector of entry numbers with the same number of elements as 
               VALUES.  Contains a value of 0 wherever the corresponding item
               value was not found.

 OPTIONAL INPUT:
       /FULLSTRING - By default, one has a match if a search string is 
               included in any part of a database value (substring match).   
               But if /FULLSTRING is set, then all characters in the database
               value must match the search string (excluding leading and 
               trailing blanks).    Both types of string searches are case
               insensitive.

 NOTES:
       DBMATCH is meant to be used for items which do not have duplicate values
       in a database (e.g. catalog numbers).  If more than one entry is found
       for a particular item value, then only the first one is stored in LIST.

       When linked databases are opened together, DBMATCH can only be 
       used to search on items in the primary database.

 CALLS: ***
	DATATYPE [1], DATATYPE [2], DATATYPE [3], DBEXT [1], DBEXT [2], DBEXT [3], DBEXT [4]
	DBFIND_SORT [1], DBFIND_SORT [2], DBFIND_SORT [3], DB_INFO [1], DB_INFO [2]
	DB_INFO [3], DB_ITEM [1], DB_ITEM [2], DB_ITEM [3], DB_ITEM_INFO [1]
	DB_ITEM_INFO [2], DB_ITEM_INFO [3]
 CALLED BY:
	ADD_DATAWIN, ADD_F_RASTER, ADD_LINELIST, ADD_RES_TYPE, ADD_V_RASTER, ADD_V_STUDY
	CHK_T_STUDY
 EXAMPLE:
       Make a vector which points from entries in the Yale Bright Star catalog
       to those in the Hipparcos catalog, using the HD number

       IDL> dbopen, 'yale_bs'            ;Open the Yale Bright star catalog
       IDL> dbext, -1, 'HD', hd          ;Get the HD numbers
       IDL> dbopen, 'hipparcos'          ;Open the Hipparcos catalog
       IDL> list = dbmatch( 'HD', HD)    ;Get entries in Hipparcos catalog 
                                         ;corresponding to each HD number.
 PROCEDURE CALLS:
       DB_ITEM, DB_ITEM_INFO(), DBEXT, DBFIND_SORT()
 REVISION HISTORY:
       Written,    W. Landsman      STX     February, 1990
       Fixed error when list in parameter used May, 1992
       Faster algorithm with sorted item when listin parameter supplied 
       Added keyword FULLSTRING,check for empty database, William Thompson, 
               GSFC, 15 March 1995
       Work for more than 32767 values, added CATCH W. Landsman   July 1997
       Converted to IDL V5.0   W. Landsman 25-Nov-1997
       Change some loop variables to type LONG,  W. Landsman  July 1999
       Remove loop for substring searches (faster)  W. landsman August 1999
       Replace DATATYPE() with size(/TNAME)  W. Landsman  November 2001
       Fixed typo when search on sorted items W. Landsman February 2002


DBOPEN [1] $SSW/gen/idl/database/dbopen.pro
[Previous] [Next]
 NAME:
       DBOPEN
 PURPOSE:
       Routine to open an IDL database

 CALLING SEQUENCE:
       dbopen, name, update

 INPUTS:
       name - (Optional) name or names of the data base files to open.
               It has one of the following forms:

               'name'          -open single data base file
               'name1,name2,...,nameN' - open N files which are
                               connected via pointers.
               'name,*'        -Open the data base with all data
                               bases connected via pointers
               ''              -Interactively allow selection of
                               the data base files.

               If not supplied then '' is assumed.
               name may optionally be a string array with one name
               per element.

       update - (Optional) Integer flag specifing openning for update.
               0       - Open for read only
               1       - Open for update
               2       - Open index file for update only
               !PRIV must be 2 or greater to open a file for update.
               If a file is opened for update only a single data base
               can be specified.

 OUTPUTS:
       none

 KEYWORDS:
       UNAVAIL - If present, a "database doesn't exit" flag is returned
                 through it.  0 = the database exists and was opened (if
                 no other errors arose).  1 = the database doesn't exist.
                 Also if present, the error message for non-existent databases
                 is suppressed.  The action, however, remains the same.  
 CALLS: ***
	DBCLOSE [1], DBCLOSE [2], DBCLOSE [3], DB_INFO [1], DB_INFO [2], DB_INFO [3]
	FDECOMP [1], FDECOMP [2], FDECOMP [3], FIND_WITH_DEF [1], FIND_WITH_DEF [2]
	FIND_WITH_DEF [3], GETTOK [1], GETTOK [2], GETTOK [3], GETTOK [4]
	IEEE_TO_HOST [1], IEEE_TO_HOST [2], IEEE_TO_HOST [3], IEEE_TO_HOST [4]
	LIST_WITH_PATH [1], LIST_WITH_PATH [2], LIST_WITH_PATH [3], SCREEN_SELECT [1]
	SCREEN_SELECT [2], SCREEN_SELECT [3], ZPARCHECK [1], ZPARCHECK [2]
	ZPARCHECK [3]
 CALLED BY:
	ADD_ALT, ADD_ANOMALY, ADD_CAMPAIGN, ADD_CDS_POINT, ADD_DATAWIN, ADD_DETAIL
	ADD_EFFICIENCY, ADD_EFF_AREA, ADD_EXPER, ADD_EXP_COMM, ADD_FLAG, ADD_F_RASTER
	ADD_F_STUDY, ADD_GSET, ADD_INST_DLYD, ADD_LINELIST, ADD_MAIN, ADD_MIRSHIFT
	ADD_NRT_RES, ADD_OTHER_OBS, ADD_PLAN, ADD_PROGRAM, ADD_RAW, ADD_RESOURCE
	ADD_RES_TYPE, ADD_TEL_MODE, ADD_TEL_SUBMODE, ADD_TILTCAL, ADD_T_STUDY
	ADD_V_RASTER, ADD_V_STUDY, ADD_WAVECAL, ADD_WAVE_EFF, CHECK_INTEG, CHK_DATAWIN
	CHK_F_RASTER, CHK_F_STUDY, CHK_LINELIST, CHK_T_STUDY, CHK_V_RASTER, CHK_V_STUDY
	CLR_INST_DLYD, CLR_NRT_RES, CLR_OTHER_OBS, CLR_RESOURCE, CLR_TEL_MODE
	CLR_TEL_SUBMODE, CP_GET_HISTORY, CP_GET_MNEMONIC, DBCOMPRESS, DBDELETE [1]
	DBDELETE [2], DBDELETE [3], DBEDIT [1], DBEDIT [2], DBEDIT [3], DBEDIT_BASIC [1]
	DBEDIT_BASIC [2], DBEDIT_BASIC [3], DBREPAIR, DEL_ALT, DEL_ANOMALY, DEL_DETAIL
	DEL_FLAG, DEL_PLAN, DEL_SOHO_DET, EIS_LIST_EXPER [1], EIS_LIST_EXPER [2]
	EIS_LIST_MAIN [1], EIS_LIST_MAIN [2], FIND_CDS_STUDIES, FIX_MAIN_TIMES
	FIX_OBS_SEQ, FLUSH_CATALOG, GET_ALT, GET_ANOMALY, GET_CAMPAIGN, GET_CDHS_DEXWIN
	GET_CDHS_RASTER, GET_CDHS_SERIES, GET_CDHS_VDSWIN, GET_CDS_PNTCAL, GET_COMPRESS
	GET_DATAWIN, GET_DETAIL, GET_EFFICIENCY, GET_EFF_AREA, GET_EXPER, GET_FLAG
	GET_F_RASTER, GET_F_STUDY, GET_GSET, GET_INSTRUMENT, GET_LINELIST, GET_MAIN
	GET_MIRSHIFT, GET_PLAN, GET_PROGRAM, GET_RASTER, GET_RAW, GET_RAW_FIL, GET_SOHO_DET
	GET_STUDY, GET_TILTCAL, GET_WAVECAL, GET_WAVE_EFF, IMDBASE, LAST_KAP_VERS, LIST_ALT
	LIST_ANOMALY, LIST_CAMPAIGN, LIST_CDROM, LIST_COM_TIMES, LIST_DATAWIN, LIST_DETAIL
	LIST_DLYD_TIMES, LIST_DSN, LIST_EXPER, LIST_EXP_COMM, LIST_FLAG, LIST_F_RASTER
	LIST_F_STUDY, LIST_GSET, LIST_INST_DLYD, LIST_LINELIST, LIST_MAIN, LIST_MDI_M
	LIST_NRT_RES, LIST_OBJECT, LIST_OTHER_OBS, LIST_OTHER_RES, LIST_PLAN, LIST_PROGRAM
	LIST_RAW, LIST_RES_TYPE, LIST_SOHO_DET, LIST_V_RASTER, LIST_V_STUDY, MOD_CAMPAIGN
	MOD_DETAIL, MOD_EXPER, MOD_GSET, MOD_LINELIST, MOD_MAIN, MOD_V_RASTER, MOD_V_STUDY
	PRG_ALT, PRG_ANOMALY, PRG_DETAIL, PRG_FLAG, PRG_PLAN, PRG_SOHO_DET, PURGE_CDHSSTATE
	REG_CDROM, SEARCH_HXRBS_DB, SET_KAP_VERS, TP_DISP_RAST, UPD_PLAN, UPD_SOHO_DET
	WHAT_CDHS_STUDY, WHAT_USES, db_read_linelist_all [1], db_read_linelist_all [2]
	db_read_linelist_entry [1], db_read_linelist_entry [2]
	db_read_raster_all [1], db_read_raster_all [2], db_read_raster_entry [1]
	db_read_raster_entry [2], db_read_study_all [1], db_read_study_all [2]
	db_save_linelist_entry_create [1], db_save_linelist_entry_create [2]
	db_save_linelist_entry_update [1], db_save_linelist_entry_update [2]
	db_save_raster_entry_create [1], db_save_raster_entry_create [2]
	db_save_raster_entry_update [1], db_save_raster_entry_update [2]
	db_save_study_entry_create [1], db_save_study_entry_create [2]
	db_save_study_entry_create [3], db_save_study_entry_create [4]
	db_save_study_entry_update [1], db_save_study_entry_update [2]
	eis_delete_timeline_entry [1], eis_delete_timeline_entry [2]
	eis_get_timeline_entries [1], eis_get_timeline_entries [2]
	eis_import_study_gui, eis_linelist_gui [1], eis_linelist_gui [2]
	eis_open_db [1], eis_open_db [2], eis_raster_gui [1], eis_raster_gui [2]
	eis_save_imported_linelist, eis_save_imported_raster, eis_study_gui [1]
	eis_study_gui [2], eis_update_timeline_entry [1]
	eis_update_timeline_entry [2], eis_update_timeline_science_entry [1]
	eis_update_timeline_science_entry [2]
	eis_write_science_component_database_table [1]
	eis_write_science_component_database_table [2]
 SIDE EFFECTS:
       The .DBF and .dbx files are opened using unit numbers obtained by
       GET_LUN.  Descriptions of the files are placed in the common block
       DB_COM.

 HISTORY:
       For IDL Version 2  W. Landsman May 1990 -- Will require further 
           modfication once SCREEN_SELECT is working
       Modified to work under Unix, D. Neill, ACC, Feb 1991.
       UNAVAIL keyword added.  M. Greason, Hughes STX, Feb 1993.
       William Thompson, GSFC/CDS (ARC), 1 June 1994
               Added support for external (IEEE) representation.
       William Thompson, GSFC, 3 November 1994
                       Modified to allow ZDBASE to be a path string.
       8/29/95 JKF/ACC - forces lowercase for input database names.
       W. Landsman, Use CATCH to catch errors    July, 1997
       W. Landsman Use vector call to FDECOMP, STRSPLIT()    Sep 2006
       W. Landsman Remove obsolete keywords to OPEN   Sep 2006


DBOPEN [2] $SSW/gen/idl_libs/astron/database/dbopen.pro
[Previous] [Next]
 NAME:
       DBOPEN
 PURPOSE:
       Routine to open an IDL database

 CALLING SEQUENCE:
       dbopen, name, update

 INPUTS:
       name - (Optional) name or names of the data base files to open.
               It has one of the following forms:

               'name'          -open single data base file
               'name1,name2,...,nameN' - open N files which are
                               connected via pointers.
               'name,*'        -Open the data base with all data
                               bases connected via pointers
               ''              -Interactively allow selection of
                               the data base files.

               If not supplied then '' is assumed.
               name may optionally be a string array with one name
               per element.

       update - (Optional) Integer flag specifing openning for update.
               0       - Open for read only
               1       - Open for update
               2       - Open index file for update only
               !PRIV must be 2 or greater to open a file for update.
               If a file is opened for update only a single data base
               can be specified.

 OUTPUTS:
       none

 KEYWORDS:
       UNAVAIL - If present, a "database doesn't exit" flag is returned
                 through it.  0 = the database exists and was opened (if
                 no other errors arose).  1 = the database doesn't exist.
                 Also if present, the error message for non-existent databases
                 is suppressed.  The action, however, remains the same.  
 CALLS: ***
	DBCLOSE [1], DBCLOSE [2], DBCLOSE [3], DB_INFO [1], DB_INFO [2], DB_INFO [3]
	FDECOMP [1], FDECOMP [2], FDECOMP [3], FIND_WITH_DEF [1], FIND_WITH_DEF [2]
	FIND_WITH_DEF [3], GETTOK [1], GETTOK [2], GETTOK [3], GETTOK [4]
	IEEE_TO_HOST [1], IEEE_TO_HOST [2], IEEE_TO_HOST [3], IEEE_TO_HOST [4]
	LIST_WITH_PATH [1], LIST_WITH_PATH [2], LIST_WITH_PATH [3], SCREEN_SELECT [1]
	SCREEN_SELECT [2], SCREEN_SELECT [3], ZPARCHECK [1], ZPARCHECK [2]
	ZPARCHECK [3]
 CALLED BY:
	ADD_ALT, ADD_ANOMALY, ADD_CAMPAIGN, ADD_CDS_POINT, ADD_DATAWIN, ADD_DETAIL
	ADD_EFFICIENCY, ADD_EFF_AREA, ADD_EXPER, ADD_EXP_COMM, ADD_FLAG, ADD_F_RASTER
	ADD_F_STUDY, ADD_GSET, ADD_INST_DLYD, ADD_LINELIST, ADD_MAIN, ADD_MIRSHIFT
	ADD_NRT_RES, ADD_OTHER_OBS, ADD_PLAN, ADD_PROGRAM, ADD_RAW, ADD_RESOURCE
	ADD_RES_TYPE, ADD_TEL_MODE, ADD_TEL_SUBMODE, ADD_TILTCAL, ADD_T_STUDY
	ADD_V_RASTER, ADD_V_STUDY, ADD_WAVECAL, ADD_WAVE_EFF, CHECK_INTEG, CHK_DATAWIN
	CHK_F_RASTER, CHK_F_STUDY, CHK_LINELIST, CHK_T_STUDY, CHK_V_RASTER, CHK_V_STUDY
	CLR_INST_DLYD, CLR_NRT_RES, CLR_OTHER_OBS, CLR_RESOURCE, CLR_TEL_MODE
	CLR_TEL_SUBMODE, CP_GET_HISTORY, CP_GET_MNEMONIC, DBCOMPRESS, DBDELETE [1]
	DBDELETE [2], DBDELETE [3], DBEDIT [1], DBEDIT [2], DBEDIT [3], DBEDIT_BASIC [1]
	DBEDIT_BASIC [2], DBEDIT_BASIC [3], DBREPAIR, DEL_ALT, DEL_ANOMALY, DEL_DETAIL
	DEL_FLAG, DEL_PLAN, DEL_SOHO_DET, EIS_LIST_EXPER [1], EIS_LIST_EXPER [2]
	EIS_LIST_MAIN [1], EIS_LIST_MAIN [2], FIND_CDS_STUDIES, FIX_MAIN_TIMES
	FIX_OBS_SEQ, FLUSH_CATALOG, GET_ALT, GET_ANOMALY, GET_CAMPAIGN, GET_CDHS_DEXWIN
	GET_CDHS_RASTER, GET_CDHS_SERIES, GET_CDHS_VDSWIN, GET_CDS_PNTCAL, GET_COMPRESS
	GET_DATAWIN, GET_DETAIL, GET_EFFICIENCY, GET_EFF_AREA, GET_EXPER, GET_FLAG
	GET_F_RASTER, GET_F_STUDY, GET_GSET, GET_INSTRUMENT, GET_LINELIST, GET_MAIN
	GET_MIRSHIFT, GET_PLAN, GET_PROGRAM, GET_RASTER, GET_RAW, GET_RAW_FIL, GET_SOHO_DET
	GET_STUDY, GET_TILTCAL, GET_WAVECAL, GET_WAVE_EFF, IMDBASE, LAST_KAP_VERS, LIST_ALT
	LIST_ANOMALY, LIST_CAMPAIGN, LIST_CDROM, LIST_COM_TIMES, LIST_DATAWIN, LIST_DETAIL
	LIST_DLYD_TIMES, LIST_DSN, LIST_EXPER, LIST_EXP_COMM, LIST_FLAG, LIST_F_RASTER
	LIST_F_STUDY, LIST_GSET, LIST_INST_DLYD, LIST_LINELIST, LIST_MAIN, LIST_MDI_M
	LIST_NRT_RES, LIST_OBJECT, LIST_OTHER_OBS, LIST_OTHER_RES, LIST_PLAN, LIST_PROGRAM
	LIST_RAW, LIST_RES_TYPE, LIST_SOHO_DET, LIST_V_RASTER, LIST_V_STUDY, MOD_CAMPAIGN
	MOD_DETAIL, MOD_EXPER, MOD_GSET, MOD_LINELIST, MOD_MAIN, MOD_V_RASTER, MOD_V_STUDY
	PRG_ALT, PRG_ANOMALY, PRG_DETAIL, PRG_FLAG, PRG_PLAN, PRG_SOHO_DET, PURGE_CDHSSTATE
	REG_CDROM, SEARCH_HXRBS_DB, SET_KAP_VERS, TP_DISP_RAST, UPD_PLAN, UPD_SOHO_DET
	WHAT_CDHS_STUDY, WHAT_USES, db_read_linelist_all [1], db_read_linelist_all [2]
	db_read_linelist_entry [1], db_read_linelist_entry [2]
	db_read_raster_all [1], db_read_raster_all [2], db_read_raster_entry [1]
	db_read_raster_entry [2], db_read_study_all [1], db_read_study_all [2]
	db_save_linelist_entry_create [1], db_save_linelist_entry_create [2]
	db_save_linelist_entry_update [1], db_save_linelist_entry_update [2]
	db_save_raster_entry_create [1], db_save_raster_entry_create [2]
	db_save_raster_entry_update [1], db_save_raster_entry_update [2]
	db_save_study_entry_create [1], db_save_study_entry_create [2]
	db_save_study_entry_create [3], db_save_study_entry_create [4]
	db_save_study_entry_update [1], db_save_study_entry_update [2]
	eis_delete_timeline_entry [1], eis_delete_timeline_entry [2]
	eis_get_timeline_entries [1], eis_get_timeline_entries [2]
	eis_import_study_gui, eis_linelist_gui [1], eis_linelist_gui [2]
	eis_open_db [1], eis_open_db [2], eis_raster_gui [1], eis_raster_gui [2]
	eis_save_imported_linelist, eis_save_imported_raster, eis_study_gui [1]
	eis_study_gui [2], eis_update_timeline_entry [1]
	eis_update_timeline_entry [2], eis_update_timeline_science_entry [1]
	eis_update_timeline_science_entry [2]
	eis_write_science_component_database_table [1]
	eis_write_science_component_database_table [2]
 SIDE EFFECTS:
       The .DBF and .dbx files are opened using unit numbers obtained by
       GET_LUN.  Descriptions of the files are placed in the common block
       DB_COM.

 HISTORY:
       For IDL Version 2  W. Landsman May 1990 -- Will require further 
           modfication once SCREEN_SELECT is working
       Modified to work under Unix, D. Neill, ACC, Feb 1991.
       UNAVAIL keyword added.  M. Greason, Hughes STX, Feb 1993.
       William Thompson, GSFC/CDS (ARC), 1 June 1994
               Added support for external (IEEE) representation.
       William Thompson, GSFC, 3 November 1994
                       Modified to allow ZDBASE to be a path string.
       8/29/95 JKF/ACC - forces lowercase for input database names.
       W. Landsman, Use CATCH to catch errors    July, 1997
       W. Landsman Use vector call to FDECOMP, STRSPLIT()    Sep 2006
       W. Landsman Remove obsolete keywords to OPEN   Sep 2006


DBPRINT [1] $SSW/gen/idl/database/dbprint.pro
[Previous] [Next]
 NAME:
     DBPRINT
 PURPOSE:
     Procedure to print specified items from a list of database entries

 CALLING SEQUENCE:     
     dbprint, list, [items, FORMS= , TEXTOUT= , /AdjustFormat, /NoHeader]  

 INPUTS:
     list  - list of entry numbers to be printed, vector or scalar 
               if list = -1, then all entries will be printed.
               An error message is returned if any entry number is larger
               than the number of entries in the database

 OPTIONAL INPUT-OUTPUT:
     items - items to be printed, specified in any of the following ways:

               form 1  scalar string giving item(s) as list of names
                       separated by commas
               form 2  string array giving list of item names
               form 3  string of form '$filename' giving name
                       of text file containing items (one item per
                       line)
               form 4  integer scalar giving single item number or
                         integer vector list of item numbers
               form 5  Null string specifying interactive selection.   This
                       is the default if 'items' is not supplied
               form 6  '*'     select all items, printout will be in
                       table format. 

            If items was undefined or a null string on input, then
            on output it will contain the items interactively selected.

 OPTIONAL INPUT KEYWORDS:
       /ADJUSTFORMAT -  If set, then the format length for string items will
               be adjusted to the maximum length for the entries to be printed.
               This option will slow down DBPRINT because it requires the 
               string items be extracted and their maximum length determined 
               prior to any printing.   However, it enables the display of
               string items without any truncation or wasted space. 

       FORMS - The number of printed lines per page. If forms is not 
               present, output assumed to be in PORTRAIT form, and 
               a heading and 47 lines are printed on each page, with
               a page eject between each page.  For LANDSCAPE form with
               headings on each page, and a page eject between pages, set 
               forms = 34.  For a heading only on the first page, and no
               page eject, set forms = 0.   This is the default for output
               to the terminal.

       TEXTOUT - Integer (0-7) or string used to determine output device (see 
               TEXTOPEN for more info).  If not present, the !TEXTOUT system 
               variable is used.
               textout=0       Nowhere
               textout=1       if a TTY then TERMINAL using /more option
                                   otherwise standard (Unit=-1) output
               textout=2       if a TTY then TERMINAL without /more option
                                   otherwise standard (Unit=-1) output
               textout=3       dbprint.prt (file)
               textout=4       laser.tmp
               textout=5       user must open file
               textout=7      same as 3 but text is appended to <program>.prt
               textout = filename   (default extension of .prt)

       /NOHEADER - If this keyword is set, then the column headers will not
               be printed

 CALLS: ***
	DATATYPE [1], DATATYPE [2], DATATYPE [3], DBRD [1], DBRD [2], DBRD [3], DBTITLE [1]
	DBTITLE [2], DBTITLE [3], DBXVAL [1], DBXVAL [2], DBXVAL [3], DB_INFO [1]
	DB_INFO [2], DB_INFO [3], DB_ITEM [1], DB_ITEM [2], DB_ITEM [3], DB_ITEM_INFO [1]
	DB_ITEM_INFO [2], DB_ITEM_INFO [3], FIND_WITH_DEF [1], FIND_WITH_DEF [2]
	FIND_WITH_DEF [3], TEXTCLOSE [1], TEXTCLOSE [2], TEXTCLOSE [3], TEXTOPEN [1]
	TEXTOPEN [2], TEXTOPEN [3], ZPARCHECK [1], ZPARCHECK [2], ZPARCHECK [3]
 CALLED BY:
	DBEDIT_BASIC [1], DBEDIT_BASIC [2], DBEDIT_BASIC [3], IMDBASE
 EXAMPLE:
       The following example shows how a multiple valued item DATAMAX can be 
       printed as separate columns.   In the WFPC2 target database, DATAMAX
       is an item with 4 values, one for each of the 4 chips

       IDL> dbopen,'wflog'
       IDL> dbprint,list,'entry,datamax(0),datamax(1),datamax(2),datamax(3)'

 SYSTEM VARIABLES:
       Output device controlled by non-standard system varaible !TEXTOUT, if 
       TEXTOUT keyword is not used.    

 NOTES:
       Users may want to adjust the default lines_per_page value given at
       the beginning of the program for their own particular printer.
 PROCEDURE CALLS:
       db_info(), db_item_info(), dbtitle(), dbxval(), textopen, textclose
       zparcheck
 HISTORY:
       version 2  D. Lindler  Nov. 1987 (new db format)
       Test if user pressed 'Q' in response to /MORE W. Landsman  Sep 1991
       Apply STRTRIM to free form (table) output    W. Landsman   Dec 1992
       Test for string value of TEXTOUT         W. Landsman   Feb 1994
       William Thompson, GSFC, 3 November 1994
                       Modified to allow ZDBASE to be a path string.
       W. Landsman, GSFC, July, 1997, Use CATCH to catch errors
       Removed STRTRIM in table format output to handle byte values April 1999
       Fixed occasional problem when /NOHEADER is supplied   Sep. 1999
       Only byteswap when necessary for improved performance  Feb. 2000
       Change loop index for table listing to type LONG  W. Landsman Aug 2000
       Entry vector can be any integer type   W. Landsman Aug. 2001
       Replace DATATYPE() with size(/TNAME)   W. Landsman  Nov. 2001
       No page eject for TEXTOUT =5           W. Landsman  Nov. 2001
       No initial page eject                  W. Landsman  Jan. 2002
       Added AdjustFormat keyword             W. Landsman  Sep. 2002
       Assume since V5.3 (STRJOIN)            W. Landsman Feb. 2004
       Fix display on GUI terminals           W. Landsman March 2006
       Remove VMS statements                  W. Landsman Sep 2006
       Remove EXECUTE statement               W. Landsman Jan 2007


DBPRINT [2] $SSW/gen/idl_libs/astron/database/dbprint.pro
[Previous] [Next]
 NAME:
     DBPRINT
 PURPOSE:
     Procedure to print specified items from a list of database entries

 CALLING SEQUENCE:     
     dbprint, list, [items, FORMS= , TEXTOUT= , /AdjustFormat, /NoHeader]  

 INPUTS:
     list  - list of entry numbers to be printed, vector or scalar 
               if list = -1, then all entries will be printed.
               An error message is returned if any entry number is larger
               than the number of entries in the database

 OPTIONAL INPUT-OUTPUT:
     items - items to be printed, specified in any of the following ways:

               form 1  scalar string giving item(s) as list of names
                       separated by commas
               form 2  string array giving list of item names
               form 3  string of form '$filename' giving name
                       of text file containing items (one item per
                       line)
               form 4  integer scalar giving single item number or
                         integer vector list of item numbers
               form 5  Null string specifying interactive selection.   This
                       is the default if 'items' is not supplied
               form 6  '*'     select all items, printout will be in
                       table format. 

            If items was undefined or a null string on input, then
            on output it will contain the items interactively selected.

 OPTIONAL INPUT KEYWORDS:
       /ADJUSTFORMAT -  If set, then the format length for string items will
               be adjusted to the maximum length for the entries to be printed.
               This option will slow down DBPRINT because it requires the 
               string items be extracted and their maximum length determined 
               prior to any printing.   However, it enables the display of
               string items without any truncation or wasted space. 

       FORMS - The number of printed lines per page. If forms is not 
               present, output assumed to be in PORTRAIT form, and 
               a heading and 47 lines are printed on each page, with
               a page eject between each page.  For LANDSCAPE form with
               headings on each page, and a page eject between pages, set 
               forms = 34.  For a heading only on the first page, and no
               page eject, set forms = 0.   This is the default for output
               to the terminal.

       TEXTOUT - Integer (0-7) or string used to determine output device (see 
               TEXTOPEN for more info).  If not present, the !TEXTOUT system 
               variable is used.
               textout=0       Nowhere
               textout=1       if a TTY then TERMINAL using /more option
                                   otherwise standard (Unit=-1) output
               textout=2       if a TTY then TERMINAL without /more option
                                   otherwise standard (Unit=-1) output
               textout=3       dbprint.prt (file)
               textout=4       laser.tmp
               textout=5       user must open file
               textout=7      same as 3 but text is appended to <program>.prt
               textout = filename   (default extension of .prt)

       /NOHEADER - If this keyword is set, then the column headers will not
               be printed

 CALLS: ***
	DATATYPE [1], DATATYPE [2], DATATYPE [3], DBRD [1], DBRD [2], DBRD [3], DBTITLE [1]
	DBTITLE [2], DBTITLE [3], DBXVAL [1], DBXVAL [2], DBXVAL [3], DB_INFO [1]
	DB_INFO [2], DB_INFO [3], DB_ITEM [1], DB_ITEM [2], DB_ITEM [3], DB_ITEM_INFO [1]
	DB_ITEM_INFO [2], DB_ITEM_INFO [3], FIND_WITH_DEF [1], FIND_WITH_DEF [2]
	FIND_WITH_DEF [3], TEXTCLOSE [1], TEXTCLOSE [2], TEXTCLOSE [3], TEXTOPEN [1]
	TEXTOPEN [2], TEXTOPEN [3], ZPARCHECK [1], ZPARCHECK [2], ZPARCHECK [3]
 CALLED BY:
	DBEDIT_BASIC [1], DBEDIT_BASIC [2], DBEDIT_BASIC [3], IMDBASE
 EXAMPLE:
       The following example shows how a multiple valued item DATAMAX can be 
       printed as separate columns.   In the WFPC2 target database, DATAMAX
       is an item with 4 values, one for each of the 4 chips

       IDL> dbopen,'wflog'
       IDL> dbprint,list,'entry,datamax(0),datamax(1),datamax(2),datamax(3)'

 SYSTEM VARIABLES:
       Output device controlled by non-standard system varaible !TEXTOUT, if 
       TEXTOUT keyword is not used.    

 NOTES:
       Users may want to adjust the default lines_per_page value given at
       the beginning of the program for their own particular printer.
 PROCEDURE CALLS:
       db_info(), db_item_info(), dbtitle(), dbxval(), textopen, textclose
       zparcheck
 HISTORY:
       version 2  D. Lindler  Nov. 1987 (new db format)
       Test if user pressed 'Q' in response to /MORE W. Landsman  Sep 1991
       Apply STRTRIM to free form (table) output    W. Landsman   Dec 1992
       Test for string value of TEXTOUT         W. Landsman   Feb 1994
       William Thompson, GSFC, 3 November 1994
                       Modified to allow ZDBASE to be a path string.
       W. Landsman, GSFC, July, 1997, Use CATCH to catch errors
       Removed STRTRIM in table format output to handle byte values April 1999
       Fixed occasional problem when /NOHEADER is supplied   Sep. 1999
       Only byteswap when necessary for improved performance  Feb. 2000
       Change loop index for table listing to type LONG  W. Landsman Aug 2000
       Entry vector can be any integer type   W. Landsman Aug. 2001
       Replace DATATYPE() with size(/TNAME)   W. Landsman  Nov. 2001
       No page eject for TEXTOUT =5           W. Landsman  Nov. 2001
       No initial page eject                  W. Landsman  Jan. 2002
       Added AdjustFormat keyword             W. Landsman  Sep. 2002
       Assume since V5.3 (STRJOIN)            W. Landsman Feb. 2004
       Fix display on GUI terminals           W. Landsman March 2006
       Remove VMS statements                  W. Landsman Sep 2006
       Remove EXECUTE statement               W. Landsman Jan 2007


DBPUT [1] $SSW/gen/idl/database/dbput.pro
[Previous] [Next]
 NAME:
	DBPUT
 PURPOSE:
	Procedure to place a new value for a specified item into
	a data base file entry.  

 CALLING SEQUENCE:	
	dbput, item, val, entry

 INPUTS:
	item - item name or number
	val - item value(s)

 INPUT/OUTPUT:
	entry - entry (byte array) or scalar entry number.
	        if entry is a scalar entry number then the data
	        base file will be updated.  Otherwise the change
	        will be only made to the entry array which must
	        be written latter using DBWRT.

 OPERATIONAL NOTES:
	If entry is a scalar entry number or the input file name
	is supplied, the entry in the data base will be updated
	instead of a supplied entry variable.  In this case, !priv
	must be greater than 1.
 CALLS: ***
	DBRD [1], DBRD [2], DBRD [3], DBWRT [1], DBWRT [2], DBWRT [3], DBXPUT [1], DBXPUT [2]
	DBXPUT [3], DB_ITEM [1], DB_ITEM [2], DB_ITEM [3]
 CALLED BY:
	DBDELETE [1], DBDELETE [2], DBDELETE [3], db_save_linelist_entry_update [1]
	db_save_linelist_entry_update [2], db_save_raster_entry_update [1]
	db_save_raster_entry_update [2], db_save_study_entry_update [1]
	db_save_study_entry_update [2], eis_delete_timeline_entry [1]
	eis_delete_timeline_entry [2], eis_update_timeline_entry [1]
	eis_update_timeline_entry [2], eis_update_timeline_science_entry [1]
	eis_update_timeline_science_entry [2]
 EXAMPLE:
       IDL> dbput,'WAVELEN',1215.6,entry
 PROCEDURES USED:
       DB_ITEM, DBRD, DBXPUT, DBWRT
 HISTORY:
	version 2  D. Lindler  Feb 1988 (new db formats)
	modified to convert blanks into zeros correctly D. Neill Jan 1991
	Converted to IDL V5.0   W. Landsman   September 1997
       V5.2 version support unsigned, 64bit integers W. Landsman  Sep. 2001


DBPUT [2] $SSW/gen/idl_libs/astron/database/dbput.pro
[Previous] [Next]
 NAME:
	DBPUT
 PURPOSE:
	Procedure to place a new value for a specified item into
	a data base file entry.  

 CALLING SEQUENCE:	
	dbput, item, val, entry

 INPUTS:
	item - item name or number
	val - item value(s)

 INPUT/OUTPUT:
	entry - entry (byte array) or scalar entry number.
	        if entry is a scalar entry number then the data
	        base file will be updated.  Otherwise the change
	        will be only made to the entry array which must
	        be written latter using DBWRT.

 OPERATIONAL NOTES:
	If entry is a scalar entry number or the input file name
	is supplied, the entry in the data base will be updated
	instead of a supplied entry variable.  In this case, !priv
	must be greater than 1.
 CALLS: ***
	DBRD [1], DBRD [2], DBRD [3], DBWRT [1], DBWRT [2], DBWRT [3], DBXPUT [1], DBXPUT [2]
	DBXPUT [3], DB_ITEM [1], DB_ITEM [2], DB_ITEM [3]
 CALLED BY:
	DBDELETE [1], DBDELETE [2], DBDELETE [3], db_save_linelist_entry_update [1]
	db_save_linelist_entry_update [2], db_save_raster_entry_update [1]
	db_save_raster_entry_update [2], db_save_study_entry_update [1]
	db_save_study_entry_update [2], eis_delete_timeline_entry [1]
	eis_delete_timeline_entry [2], eis_update_timeline_entry [1]
	eis_update_timeline_entry [2], eis_update_timeline_science_entry [1]
	eis_update_timeline_science_entry [2]
 EXAMPLE:
       IDL> dbput,'WAVELEN',1215.6,entry
 PROCEDURES USED:
       DB_ITEM, DBRD, DBXPUT, DBWRT
 HISTORY:
	version 2  D. Lindler  Feb 1988 (new db formats)
	modified to convert blanks into zeros correctly D. Neill Jan 1991
	Converted to IDL V5.0   W. Landsman   September 1997
       V5.2 version support unsigned, 64bit integers W. Landsman  Sep. 2001


DBRD [1] $SSW/gen/idl/database/dbrd.pro
[Previous] [Next]
 NAME:
	DBRD
 PURPOSE:
	procedure to read an entry from a data base file or from
	linked multiple databases.

 CALLING SEQUENCE:
	dbrd, enum, entry, [available, dbno, /NoConvert]

 INPUTS:
	enum - entry number to read, integer scalar

 OUTPUT:
	entry - byte array containing the entry

 OPTIONAL OUTPUT:
	available - byte array with length equal to number of data
		bases opened.  available(i) eq 1 if an entry (pointed
		to) is available.  It always equals 1 for the first 
		data base, otherwise it is an error condition.

 OPTIONAL  INPUT:
	dbno - specification of the data base number to return.  If
		supplied, only the record for the requested data base
		number is returned in entry.  Normally this input should
		not be supplied.  dbno is numbered for 0 to n-1 and gives
		the number of the data base opened.  The data bases are 
		numbered in the order supplied to dbopen.  If dbno is supplied 
		then the entry number refers to that data base and not the
		primary or first data base. If set to -1, then it means all
		data bases opened (same as not supplying it)
 OPTIONAL INPUT KEYWORD:
	noconvert - if set then don't convert external to host format.
		Assumes that calling program will take care of this
		requirement.
 OPERATIONAL NOTES:
	If multiple data base files are opened, the records are
	concatenated with each other
 HISTORY
	version 2  D. Lindler  Nov. 1987
	William Thompson, GSFC/CDS (ARC), 1 June 1994
		Added support for external (IEEE) representation.
	Version 3, Richard Schwartz, GSFC/SDAC, 23-Aug-1996
			Add noconvert keyword

	Converted to IDL V5.0   W. Landsman   September 1997
       Version 4, 2 May 2003, W. Thompson
               Use BSWAP keyword to DBXVAL instead of calling IEEE_TO_HOST.
 CALLS:
 CALLED BY
	DBCOMPARE [1], DBCOMPARE [2], DBEDIT [1], DBEDIT [2], DBEDIT [3], DBEDIT_BASIC [1]
	DBEDIT_BASIC [2], DBEDIT_BASIC [3], DBEXT [2], DBEXT_DBF [1], DBEXT_DBF [2]
	DBEXT_DBF [3], DBFIND [1], DBFIND [2], DBFIND [3], DBPRINT [1], DBPRINT [2]
	DBPRINT [3], DBPUT [1], DBPUT [2], DBPUT [3], DBUPDATE [1], DBUPDATE [2]
	DBUPDATE [3], DBUPDATE [4], DBVAL [1], DBVAL [2], DBVAL [3]
	eis_get_as_string_arry [1], eis_get_as_string_arry [2]


DBRD [2] $SSW/gen/idl_libs/astron/database/dbrd.pro
[Previous] [Next]
 NAME:
	DBRD
 PURPOSE:
	procedure to read an entry from a data base file or from
	linked multiple databases.

 CALLING SEQUENCE:
	dbrd, enum, entry, [available, dbno, /NoConvert]

 INPUTS:
	enum - entry number to read, integer scalar

 OUTPUT:
	entry - byte array containing the entry

 OPTIONAL OUTPUT:
	available - byte array with length equal to number of data
		bases opened.  available(i) eq 1 if an entry (pointed
		to) is available.  It always equals 1 for the first 
		data base, otherwise it is an error condition.

 OPTIONAL  INPUT:
	dbno - specification of the data base number to return.  If
		supplied, only the record for the requested data base
		number is returned in entry.  Normally this input should
		not be supplied.  dbno is numbered for 0 to n-1 and gives
		the number of the data base opened.  The data bases are 
		numbered in the order supplied to dbopen.  If dbno is supplied 
		then the entry number refers to that data base and not the
		primary or first data base. If set to -1, then it means all
		data bases opened (same as not supplying it)
 OPTIONAL INPUT KEYWORD:
	noconvert - if set then don't convert external to host format.
		Assumes that calling program will take care of this
		requirement.
 OPERATIONAL NOTES:
	If multiple data base files are opened, the records are
	concatenated with each other
 HISTORY
	version 2  D. Lindler  Nov. 1987
	William Thompson, GSFC/CDS (ARC), 1 June 1994
		Added support for external (IEEE) representation.
	Version 3, Richard Schwartz, GSFC/SDAC, 23-Aug-1996
			Add noconvert keyword

	Converted to IDL V5.0   W. Landsman   September 1997
       Version 4, 2 May 2003, W. Thompson
               Use BSWAP keyword to DBXVAL instead of calling IEEE_TO_HOST.
 CALLS:
 CALLED BY
	DBCOMPARE [1], DBCOMPARE [2], DBEDIT [1], DBEDIT [2], DBEDIT [3], DBEDIT_BASIC [1]
	DBEDIT_BASIC [2], DBEDIT_BASIC [3], DBEXT [2], DBEXT_DBF [1], DBEXT_DBF [2]
	DBEXT_DBF [3], DBFIND [1], DBFIND [2], DBFIND [3], DBPRINT [1], DBPRINT [2]
	DBPRINT [3], DBPUT [1], DBPUT [2], DBPUT [3], DBUPDATE [1], DBUPDATE [2]
	DBUPDATE [3], DBUPDATE [4], DBVAL [1], DBVAL [2], DBVAL [3]
	eis_get_as_string_arry [1], eis_get_as_string_arry [2]


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

 Name        :	DBREPAIR

 Purpose     :	Repairs problem with IEEE format databases.

 Category    :	Utilities, database

 Explanation : Version 1 of DB_ENT2EXT contained a bug where only the first
		element in an array was converted from IEEE to host format.
		DB_ENT2EXT contained the same bug, so that the problem only
		manifested itself when one tried to read data on one machine
		that was written on another one with a different native format.

		This procedure reads in a database which had been written
		incorrectly, and repairs it.  The following conditions must be
		met for a database file to require repair:

		1.  The database must have been created with the /EXTERNAL
		    switch set in the call to DBCREATE.

		2.  The database must have been written on a machine who's
		    native format is either not IEEE or uses a different byte
		    order.  For example, the native format on Sun workstations
		    is the same as the external format, so databases created on
		    Sun's are okay.  However, DEC Alpha/OSF workstations use
		    IEEE format, but the bytes are reversed, so data files
		    written on Alphas need to be repaired.

		3.  At least one of the items in the database must be an array.
		    The problem only manifests itself with arrays.  For
		    example, a line in the .dbd file like

			WIN_DEF(4)	I*2	Window definition

		    is an array, because of the (4).  Byte and string arrays
		    are not affected, and do not exhibit this problem.

 Syntax      :	DBREPAIR, DBNAME

 Examples    :	!PRIV = 4
		DBREPAIR, 'datawin2'

 Inputs      :	DBNAME = Name of the data base file to repair.

 Opt. Inputs :	None.

 Outputs     :	None.

 Opt. Outputs:	None.

 Keywords    :	None.

 Calls       : ***
	DBCLOSE [1], DBCLOSE [2], DBCLOSE [3], DBEXT [1], DBEXT [2], DBEXT [3], DBEXT [4]
	DBOPEN [1], DBOPEN [2], DBOPEN [3], DB_ENT2EXT [1], DB_ENT2EXT [2], DB_ENT2EXT [3]
	DB_ENT2HOST [1], DB_ENT2HOST [2], DB_ENT2HOST [3], DB_INFO [1], DB_INFO [2]
	DB_INFO [3], DB_ITEM_INFO [1], DB_ITEM_INFO [2], DB_ITEM_INFO [3]
 Common      :	DB_COM

 Restrictions:	This routine must only be applied to databases requiring
		repair.  Using it on a correctly formatted database will damage
		it.  To work properly, this routine must be used on the same
		kind of computer that was used to originally write the data.

		Because of the dangers of corrupting a database, it is strongly
		suggested that this routine be run against a copy of the
		database, rather than the original.  Change to the directory
		containing the copy, and run IDL from there.

		!PRIV must be 4 or greater to repair a file.

 Side effects:	None.

 Prev. Hist. :	None.

 History     :	Version 1, 15-Sep-1995, William Thompson, GSFC

 Contact     :	WTHOMPSON


DBSEARCH [1] $SSW/gen/idl/database/dbsearch.pro
[Previous] [Next]
 NAME:
	DBSEARCH
 PURPOSE:
	Subroutine of DBFIND() to search a vector for specified values

 CALLING SEQUENCE:
	dbsearch, type, svals, values, good, [ /FULLSTRING, COUNT = ] 

 INPUT: 
	type - type of search (output from dbfparse)
	svals - search values (output from dbfparse)
	values - array of values to search

 OUTPUT:
	good - indices of good values

 OPTIONAL INPUT KEYWORD:
	/FULLSTRING - By default, one has a match if a search string is 
		included in any part of a database value (substring match).   
		But if /FULLSTRING is set, then all characters in the database
		value must match the search string (excluding leading and 
		trailing blanks).    Both types of string searches are case
		insensitive.
 OPTIONAL OUTPUT KEYWORD:
       COUNT  - Integer scalar giving the number of valid matches
 CALLED BY:
	DBFIND [1], DBFIND [2], DBFIND [3], DBFIND_SORT [1], DBFIND_SORT [2]
	DBFIND_SORT [3], DBGET [1], DBGET [2], DBGET [3]
  SIDE EFFECTS:
	The obsolete system variable !ERR is set to number of good values
 REVISION HISTORY:
	D. Lindler  July,1987
	Converted to IDL V5.0   W. Landsman   September 1997
       Added COUNT keyword, deprecate !ERR   W. Landsman   March 2000


DBSEARCH [2] $SSW/gen/idl_libs/astron/database/dbsearch.pro
[Previous] [Next]
 NAME:
	DBSEARCH
 PURPOSE:
	Subroutine of DBFIND() to search a vector for specified values

 CALLING SEQUENCE:
	dbsearch, type, svals, values, good, [ /FULLSTRING, COUNT = ] 

 INPUT: 
	type - type of search (output from dbfparse)
	svals - search values (output from dbfparse)
	values - array of values to search

 OUTPUT:
	good - indices of good values

 OPTIONAL INPUT KEYWORD:
	/FULLSTRING - By default, one has a match if a search string is 
		included in any part of a database value (substring match).   
		But if /FULLSTRING is set, then all characters in the database
		value must match the search string (excluding leading and 
		trailing blanks).    Both types of string searches are case
		insensitive.
 OPTIONAL OUTPUT KEYWORD:
       COUNT  - Integer scalar giving the number of valid matches
 CALLED BY:
	DBFIND [1], DBFIND [2], DBFIND [3], DBFIND_SORT [1], DBFIND_SORT [2]
	DBFIND_SORT [3], DBGET [1], DBGET [2], DBGET [3]
  SIDE EFFECTS:
	The obsolete system variable !ERR is set to number of good values
 REVISION HISTORY:
	D. Lindler  July,1987
	Converted to IDL V5.0   W. Landsman   September 1997
       Added COUNT keyword, deprecate !ERR   W. Landsman   March 2000


DBSORT [1] $SSW/gen/idl/database/dbsort.pro
[Previous] [Next]
 NAME:
       DBSORT
 PURPOSE:
       Routine to sort list of entries in data base

 CALLING SEQUENCE: 
       result = dbsort( list, items , [ REVERSE = ])

 INPUTS:
       list - list of entry numbers to sort
               -1 to sort all entries
       items - list of items to sort (up to 9 items)

 OUTPUT:
       result - numeric vector giving input list sorted by items

 CALLS: ***
	BSORT [1], BSORT [2], BSORT [3], BSORT [4], DBEXT [1], DBEXT [2], DBEXT [3], DBEXT [4]
	DB_ITEM [1], DB_ITEM [2], DB_ITEM [3], ZPARCHECK [1], ZPARCHECK [2], ZPARCHECK [3]
 CALLED BY:
	GET_CAMPAIGN, GET_CDS_PNTCAL, GET_EFFICIENCY, GET_EFF_AREA, GET_MIRSHIFT
	GET_TILTCAL, GET_WAVECAL, GET_WAVE_EFF, LIST_ALT, LIST_ANOMALY, LIST_CAMPAIGN
	LIST_CDROM, LIST_COM_TIMES, LIST_DETAIL, LIST_DLYD_TIMES, LIST_DSN, LIST_EXPER
	LIST_FLAG, LIST_INST_DLYD, LIST_MAIN, LIST_MDI_M, LIST_NRT_RES, LIST_OTHER_OBS
	LIST_OTHER_RES, LIST_PLAN, LIST_SOHO_DET, MOD_CAMPAIGN, PURGE_CDHSSTATE
 OPTIONAL KEYWORD INPUT:
       REVERSE - scalar or vector with the same number of elements as the
         the number of items to sort.  If the corresponding element of REVERSE 
         is non-zero then that item is sorted in descending rather than 
         ascending order.

 EXAMPLE:
       Sort an astronomical catalog with RA as primary sort, and declination
       as secondary sort (used when RA values are equal)

          IDL> NEWLIST = DBSORT( -1, 'RA,DEC' )

       If for some reason, one wanted the DEC sorted in descending order, but
       the RA in ascending order

          IDL> NEWLIST = DBSORT( -1, 'RA,DEC', REV = [ 0, 1 ] )

 METHOD:
       The list is sorted such that each item is sorted into
       asscending order starting with the last item.
 COMMON BLOCKS:
       DBCOM
 PROCEDURES USED:
       ZPARCHECK, BSORT, DBEXT, DB_ITEM
 HISTORY
       VERSION 1  D. Lindler  Oct. 86
       Added REVERSE keyword   W. Landsman        August, 1991
       Avoid use of EXECUTE() for V6.1 or later   W. Landsman Dec 2006


DBSORT [2] $SSW/gen/idl_libs/astron/database/dbsort.pro
[Previous] [Next]
 NAME:
       DBSORT
 PURPOSE:
       Routine to sort list of entries in data base

 CALLING SEQUENCE: 
       result = dbsort( list, items , [ REVERSE = ])

 INPUTS:
       list - list of entry numbers to sort
               -1 to sort all entries
       items - list of items to sort (up to 9 items)

 OUTPUT:
       result - numeric vector giving input list sorted by items

 CALLS: ***
	BSORT [1], BSORT [2], BSORT [3], BSORT [4], DBEXT [1], DBEXT [2], DBEXT [3], DBEXT [4]
	DB_ITEM [1], DB_ITEM [2], DB_ITEM [3], ZPARCHECK [1], ZPARCHECK [2], ZPARCHECK [3]
 CALLED BY:
	GET_CAMPAIGN, GET_CDS_PNTCAL, GET_EFFICIENCY, GET_EFF_AREA, GET_MIRSHIFT
	GET_TILTCAL, GET_WAVECAL, GET_WAVE_EFF, LIST_ALT, LIST_ANOMALY, LIST_CAMPAIGN
	LIST_CDROM, LIST_COM_TIMES, LIST_DETAIL, LIST_DLYD_TIMES, LIST_DSN, LIST_EXPER
	LIST_FLAG, LIST_INST_DLYD, LIST_MAIN, LIST_MDI_M, LIST_NRT_RES, LIST_OTHER_OBS
	LIST_OTHER_RES, LIST_PLAN, LIST_SOHO_DET, MOD_CAMPAIGN, PURGE_CDHSSTATE
 OPTIONAL KEYWORD INPUT:
       REVERSE - scalar or vector with the same number of elements as the
         the number of items to sort.  If the corresponding element of REVERSE 
         is non-zero then that item is sorted in descending rather than 
         ascending order.

 EXAMPLE:
       Sort an astronomical catalog with RA as primary sort, and declination
       as secondary sort (used when RA values are equal)

          IDL> NEWLIST = DBSORT( -1, 'RA,DEC' )

       If for some reason, one wanted the DEC sorted in descending order, but
       the RA in ascending order

          IDL> NEWLIST = DBSORT( -1, 'RA,DEC', REV = [ 0, 1 ] )

 METHOD:
       The list is sorted such that each item is sorted into
       asscending order starting with the last item.
 COMMON BLOCKS:
       DBCOM
 PROCEDURES USED:
       ZPARCHECK, BSORT, DBEXT, DB_ITEM
 HISTORY
       VERSION 1  D. Lindler  Oct. 86
       Added REVERSE keyword   W. Landsman        August, 1991
       Avoid use of EXECUTE() for V6.1 or later   W. Landsman Dec 2006


DBTARGET [1] $SSW/gen/idl/database/dbtarget.pro
[Previous] [Next]
 NAME:
      DBTARGET
 PURPOSE:
      Find sources in a database within specified radius of specified target
 EXPLANATION:
      Uses QuerySimbad to translate target name to RA and Dec, and then uses
      DBCIRCLE() to find any entries within specified radius.   Database must 
      include items named 'RA' (in hours) and 'DEC' (in degrees) and must 
      have previously been opened with DBOPEN

      Requires IDL V5.4 or later, Unix and Windows only
 CALLING SEQUENCE:
     list = DBTARGET(target, [radius, sublist, /SILENT, DIS= ,/TO_B1950 ] )   

 INPUTS:
      TARGET - A scalar string giving an astronomical target name, which 
          will be  translated into J2000 celestial coordinates by QuerySimbad 

 OPTIONAL INPUT:
       RADIUS - Radius of the search field in arc minutes, scalar.
                Default is 5 arc minutes
       SUBLIST - Vector giving entry numbers in currently opened database
               to be searched.  Default is to search all entries

 OUTPUTS:
     LIST - Vector giving entry numbers in the currently opened catalog
            which have positions within the specified search circle
            LIST is set to -1 if no sources fall within the search circle
            !ERR is set to the number sources found.

 OPTIONAL OUTPUT
       DIS -  The distance in arcminutes of each entry specified by LIST
               to the search center specified by the target.

 CALLS: ***
	DBCIRCLE [1], DBCIRCLE [2], QUERYSIMBAD
 OPTIONAL KEYWORD INPUT:
       /SILENT - If this keyword is set, then DBTARGET will not print the 
               number of entries found at the terminal
       /TO_B1950 - If this keyword is set, then the SIMBAD J2000 coordinates 
               are converted to B1950 before searching the database
               NOTE: The user must determine on his own whether the database
               is in B1950 or J2000 coordinates.

 EXAMPLE:
       (1) Use the HST_CATALOG database to find all  HST observations within 
           5' (the default) of M33

       IDL> dbopen,'hst_catalog'
       IDL> list = dbtarget('M33')

      (2) As above but restrict targets within 2' of the nucleus using the
          WFPC2 camara

       IDL> dbopen,'hst_catalog'
       IDL> sublist = dbfind('config=WFPC2')
       IDL> list = dbtarget('M33',2,sublist)


 PROCEDURE CALLS:
       QuerySimbad, DBCIRCLE()
 REVISION HISTORY:
      Written W. Landsman     SSAI          September 2002


DBTARGET [2] $SSW/gen/idl_libs/astron/database/dbtarget.pro
[Previous] [Next]
 NAME:
      DBTARGET
 PURPOSE:
      Find sources in a database within specified radius of specified target
 EXPLANATION:
      Uses QuerySimbad to translate target name to RA and Dec, and then uses
      DBCIRCLE() to find any entries within specified radius.   Database must 
      include items named 'RA' (in hours) and 'DEC' (in degrees) and must 
      have previously been opened with DBOPEN

      Requires IDL V5.4 or later, Unix and Windows only
 CALLING SEQUENCE:
     list = DBTARGET(target, [radius, sublist, /SILENT, DIS= ,/TO_B1950 ] )   

 INPUTS:
      TARGET - A scalar string giving an astronomical target name, which 
          will be  translated into J2000 celestial coordinates by QuerySimbad 

 OPTIONAL INPUT:
       RADIUS - Radius of the search field in arc minutes, scalar.
                Default is 5 arc minutes
       SUBLIST - Vector giving entry numbers in currently opened database
               to be searched.  Default is to search all entries

 OUTPUTS:
     LIST - Vector giving entry numbers in the currently opened catalog
            which have positions within the specified search circle
            LIST is set to -1 if no sources fall within the search circle
            !ERR is set to the number sources found.

 OPTIONAL OUTPUT
       DIS -  The distance in arcminutes of each entry specified by LIST
               to the search center specified by the target.

 CALLS: ***
	DBCIRCLE [1], DBCIRCLE [2], QUERYSIMBAD
 OPTIONAL KEYWORD INPUT:
       /SILENT - If this keyword is set, then DBTARGET will not print the 
               number of entries found at the terminal
       /TO_B1950 - If this keyword is set, then the SIMBAD J2000 coordinates 
               are converted to B1950 before searching the database
               NOTE: The user must determine on his own whether the database
               is in B1950 or J2000 coordinates.

 EXAMPLE:
       (1) Use the HST_CATALOG database to find all  HST observations within 
           5' (the default) of M33

       IDL> dbopen,'hst_catalog'
       IDL> list = dbtarget('M33')

      (2) As above but restrict targets within 2' of the nucleus using the
          WFPC2 camara

       IDL> dbopen,'hst_catalog'
       IDL> sublist = dbfind('config=WFPC2')
       IDL> list = dbtarget('M33',2,sublist)


 PROCEDURE CALLS:
       QuerySimbad, DBCIRCLE()
 REVISION HISTORY:
      Written W. Landsman     SSAI          September 2002


DBTITLE [1] $SSW/gen/idl/database/dbtitle.pro
[Previous] [Next]
 NAME:
	DBTITLE
 PURPOSE:
	function to create title line for routine dbprint

 CALLING SEQUENCE:
	result = dbtitle( c, f )

 INPUTS:
	c = string array of titles for each item
	f = field length of each item

 OUTPUT:
	header string returned as function value

 OPERATIONAL NOTES:
	this is a subroutine of DBPRINT.

 CALLED BY:
	DBPRINT [1], DBPRINT [2], DBPRINT [3]
 HISTORY:
	version 1  D. Lindler  Sept 86
	Converted to IDL V5.0   W. Landsman   September 1997


DBTITLE [2] $SSW/gen/idl_libs/astron/database/dbtitle.pro
[Previous] [Next]
 NAME:
	DBTITLE
 PURPOSE:
	function to create title line for routine dbprint

 CALLING SEQUENCE:
	result = dbtitle( c, f )

 INPUTS:
	c = string array of titles for each item
	f = field length of each item

 OUTPUT:
	header string returned as function value

 OPERATIONAL NOTES:
	this is a subroutine of DBPRINT.

 CALLED BY:
	DBPRINT [1], DBPRINT [2], DBPRINT [3]
 HISTORY:
	version 1  D. Lindler  Sept 86
	Converted to IDL V5.0   W. Landsman   September 1997


DBUPDATE [1] $SSW/gen/idl/database/dbfix.pro
[Previous] [Next]
 NAME:
	DBUPDATE
 PURPOSE:
	Update columns of data in a database  -- inverse of DBEXT
 EXPLANATION:
	Database must be open for update before calling DBUPDATE

 CALLING SEQUENCE:
	dbupdate, list, items, v1, [ v2, v3, v4......v14 ]

 INPUTS:
	list - entries in database to be updated, scalar or vector
		If list=-1 then all entries will be updated
	items -standard list of items that will be updated.  
	v1,v2....v14 - vectors containing values for specified items.  The
		number of vectors supplied must equal the number of items
		specified.   The number of elements in each vector should be
		the same.

 CALLS: ***
	DBEXT [1], DBEXT [2], DBEXT [3], DBEXT [4], DBEXT_DBF [1], DBEXT_DBF [2]
	DBEXT_DBF [3], DBFIX, DBINDEX [1], DBINDEX [2], DBINDEX [3], DBRD [1], DBRD [2]
	DBRD [3], DBWRT [1], DBWRT [2], DBWRT [3], DBXPUT [1], DBXPUT [2], DBXPUT [3]
	DB_INFO [1], DB_INFO [2], DB_INFO [3], DB_ITEM [1], DB_ITEM [2], DB_ITEM [3]
	DB_ITEM_INFO [1], DB_ITEM_INFO [2], DB_ITEM_INFO [3], DPRINT, IS_IEEE_BIG [1]
	IS_IEEE_BIG [2], TRIM, ZPARCHECK [1], ZPARCHECK [2], ZPARCHECK [3]
 CALLED BY:
	ADD_ANOMALY, DBEXT [2], DEL_ALT, DEL_ANOMALY, DEL_DETAIL, DEL_FLAG, DEL_PLAN
	DEL_SOHO_DET, MOD_CAMPAIGN, MOD_DETAIL, MOD_EXPER, MOD_GSET, MOD_LINELIST, MOD_MAIN
	MOD_V_RASTER, MOD_V_STUDY, SET_KAP_VERS, TP_DISP_RAST, UPD_PLAN, UPD_SOHO_DET
 EXAMPLES:
	A database STAR contains RA and DEC in radians, convert to degrees

	IDL> !PRIV=2 & dbopen,'STAR',1          ;Open database for update
	IDL> dbext,-1,'RA,DEC',ra,dec          ;Extract RA and DEC, all entries 
	IDL> ra = ra*!RADEG & dec=dec*!RADEG    ;Convert to degrees
	IDL> dbupdate,-1,'RA,DEC',ra,dec        ;Update database with new values

 NOTES:
	It is quicker to update several items simultaneously rather than use
	repeated calls to DBUPDATE.  
 
	It is possible to update multiple valued items.  In this case, the
	input vector should be of dimension (NVAL,NLIST) where NVAL is the
	number of values per item, and NLIST is the number of entries to be
	updated.  This vector will be temporarily transposed by DBUPDATE but
	will be restored before DBUPDATE exits.

 REVISION HISTORY
	Written W. Landsman      STX       March, 1989
	Work for multiple valued items     May, 1991
	String arrays no longer need to be fixed length      December 1992
	Transpose multiple array items back on output        December 1993
       Added check for corrupted database entries, Zarro, GSFC, 9 September 1996                       
	Faster update of external databases on big endian machines November 1997


DBUPDATE [2] $SSW/gen/idl/database/dbupdate.pro
[Previous] [Next]
 NAME:
	DBUPDATE
 PURPOSE:
	Update columns of data in a database  -- inverse of DBEXT
 EXPLANATION:
	Database must be open for update before calling DBUPDATE

 CALLING SEQUENCE:
	dbupdate, list, items, v1, [ v2, v3, v4......v14 ]

 INPUTS:
	list - entries in database to be updated, scalar or vector
		If list=-1 then all entries will be updated
	items -standard list of items that will be updated.  
	v1,v2....v14 - vectors containing values for specified items.  The
		number of vectors supplied must equal the number of items
		specified.   The number of elements in each vector should be
		the same.

 CALLS: ***
	DBINDEX [1], DBINDEX [2], DBINDEX [3], DBRD [1], DBRD [2], DBRD [3], DBWRT [1]
	DBWRT [2], DBWRT [3], DBXPUT [1], DBXPUT [2], DBXPUT [3], DB_INFO [1], DB_INFO [2]
	DB_INFO [3], DB_ITEM [1], DB_ITEM [2], DB_ITEM [3], DB_ITEM_INFO [1]
	DB_ITEM_INFO [2], DB_ITEM_INFO [3], S
 CALLED BY:
	ADD_ANOMALY, DBEXT [2], DEL_ALT, DEL_ANOMALY, DEL_DETAIL, DEL_FLAG, DEL_PLAN
	DEL_SOHO_DET, MOD_CAMPAIGN, MOD_DETAIL, MOD_EXPER, MOD_GSET, MOD_LINELIST, MOD_MAIN
	MOD_V_RASTER, MOD_V_STUDY, SET_KAP_VERS, TP_DISP_RAST, UPD_PLAN, UPD_SOHO_DET
 OPTIONAL KEYWORD INPUT:
       /NOINDEX - If set, then DBUPDATE will not update the index file.   This
               keyword is useful to save if additional updates will occur,
               and the index file need only be updated on the last call.
            
 EXAMPLES:
	A database STAR contains RA and DEC in radians, convert to degrees

	IDL> !PRIV=2 & dbopen,'STAR',1          ;Open database for update
	IDL> dbext,-1,'RA,DEC',ra,dec          ;Extract RA and DEC, all entries 
	IDL> ra = ra*!RADEG & dec=dec*!RADEG    ;Convert to degrees
	IDL> dbupdate,-1,'RA,DEC',ra,dec        ;Update database with new values

 NOTES:
	It is quicker to update several items simultaneously rather than use
	repeated calls to DBUPDATE.  
 
	It is possible to update multiple valued items.  In this case, the
	input vector should be of dimension (NVAL,NLIST) where NVAL is the
	number of values per item, and NLIST is the number of entries to be
	updated.  This vector will be temporarily transposed by DBUPDATE but
	will be restored before DBUPDATE exits.

 REVISION HISTORY
	Written W. Landsman      STX       March, 1989
	Work for multiple valued items     May, 1991
	String arrays no longer need to be fixed length      December 1992
	Transpose multiple array items back on output        December 1993
	Faster update of external databases on big endian machines November 1997
	Converted to IDL V5.0   W. Landsman 24-Nov-1997
       Added /NOINDEX keyword  W. Landsman  July 2001


DBUPDATE [3] $SSW/gen/idl_libs/astron/database/dbupdate.pro
[Previous] [Next]
 NAME:
	DBUPDATE
 PURPOSE:
	Update columns of data in a database  -- inverse of DBEXT
 EXPLANATION:
	Database must be open for update before calling DBUPDATE

 CALLING SEQUENCE:
	dbupdate, list, items, v1, [ v2, v3, v4......v14 ]

 INPUTS:
	list - entries in database to be updated, scalar or vector
		If list=-1 then all entries will be updated
	items -standard list of items that will be updated.  
	v1,v2....v14 - vectors containing values for specified items.  The
		number of vectors supplied must equal the number of items
		specified.   The number of elements in each vector should be
		the same.

 CALLS: ***
	DBINDEX [1], DBINDEX [2], DBINDEX [3], DBRD [1], DBRD [2], DBRD [3], DBWRT [1]
	DBWRT [2], DBWRT [3], DBXPUT [1], DBXPUT [2], DBXPUT [3], DB_INFO [1], DB_INFO [2]
	DB_INFO [3], DB_ITEM [1], DB_ITEM [2], DB_ITEM [3], DB_ITEM_INFO [1]
	DB_ITEM_INFO [2], DB_ITEM_INFO [3], S
 CALLED BY:
	ADD_ANOMALY, DBEXT [2], DEL_ALT, DEL_ANOMALY, DEL_DETAIL, DEL_FLAG, DEL_PLAN
	DEL_SOHO_DET, MOD_CAMPAIGN, MOD_DETAIL, MOD_EXPER, MOD_GSET, MOD_LINELIST, MOD_MAIN
	MOD_V_RASTER, MOD_V_STUDY, SET_KAP_VERS, TP_DISP_RAST, UPD_PLAN, UPD_SOHO_DET
 OPTIONAL KEYWORD INPUT:
       /NOINDEX - If set, then DBUPDATE will not update the index file.   This
               keyword is useful to save if additional updates will occur,
               and the index file need only be updated on the last call.
            
 EXAMPLES:
	A database STAR contains RA and DEC in radians, convert to degrees

	IDL> !PRIV=2 & dbopen,'STAR',1          ;Open database for update
	IDL> dbext,-1,'RA,DEC',ra,dec          ;Extract RA and DEC, all entries 
	IDL> ra = ra*!RADEG & dec=dec*!RADEG    ;Convert to degrees
	IDL> dbupdate,-1,'RA,DEC',ra,dec        ;Update database with new values

 NOTES:
	It is quicker to update several items simultaneously rather than use
	repeated calls to DBUPDATE.  
 
	It is possible to update multiple valued items.  In this case, the
	input vector should be of dimension (NVAL,NLIST) where NVAL is the
	number of values per item, and NLIST is the number of entries to be
	updated.  This vector will be temporarily transposed by DBUPDATE but
	will be restored before DBUPDATE exits.

 REVISION HISTORY
	Written W. Landsman      STX       March, 1989
	Work for multiple valued items     May, 1991
	String arrays no longer need to be fixed length      December 1992
	Transpose multiple array items back on output        December 1993
	Faster update of external databases on big endian machines November 1997
	Converted to IDL V5.0   W. Landsman 24-Nov-1997
       Added /NOINDEX keyword  W. Landsman  July 2001


DBVAL [1] $SSW/gen/idl/database/dbval.pro
[Previous] [Next]
 NAME:
	DBVAL
 PURPOSE:
	procedure to extract value(s) of the specified item from
	a data base file entry.

 CALLING SEQUENCE:
	result = dbval( entry, item )

 INPUTS:
	entry - byte array containing the entry, or a scalar entry number
	item - name (string) or number (integer) of the item

 OUTPUT:
	the value(s) will be returned as the function value

 CALLS: ***
	DBRD [1], DBRD [2], DBRD [3], DBXVAL [1], DBXVAL [2], DBXVAL [3], DB_ITEM [1]
	DB_ITEM [2], DB_ITEM [3]
 CALLED BY:
	db_read_linelist_all [1], db_read_linelist_all [2]
	db_read_linelist_entry [1], db_read_linelist_entry [2]
	db_read_raster_all [1], db_read_raster_all [2], db_read_raster_entry [1]
	db_read_raster_entry [2], db_read_study_all [1], db_read_study_all [2]
	eis_get_esdb_details [1], eis_get_esdb_details [2]
	eis_get_science_details [1], eis_get_science_details [2]
	eis_get_science_details [3], eis_get_science_details [4]
	eis_get_technical_study_rasters [1], eis_get_technical_study_rasters [2]
 EXAMPLE:
	Extract a flux vector from entry 28 of the database FARUV
	==> flux = dbval(28,'FLUX')

 HISTORY:
   version 2  D. Lindler Nov, 1987	(new db format)
	Converted to IDL V5.0   W. Landsman   September 1997


DBVAL [2] $SSW/gen/idl_libs/astron/database/dbval.pro
[Previous] [Next]
 NAME:
	DBVAL
 PURPOSE:
	procedure to extract value(s) of the specified item from
	a data base file entry.

 CALLING SEQUENCE:
	result = dbval( entry, item )

 INPUTS:
	entry - byte array containing the entry, or a scalar entry number
	item - name (string) or number (integer) of the item

 OUTPUT:
	the value(s) will be returned as the function value

 CALLS: ***
	DBRD [1], DBRD [2], DBRD [3], DBXVAL [1], DBXVAL [2], DBXVAL [3], DB_ITEM [1]
	DB_ITEM [2], DB_ITEM [3]
 CALLED BY:
	db_read_linelist_all [1], db_read_linelist_all [2]
	db_read_linelist_entry [1], db_read_linelist_entry [2]
	db_read_raster_all [1], db_read_raster_all [2], db_read_raster_entry [1]
	db_read_raster_entry [2], db_read_study_all [1], db_read_study_all [2]
	eis_get_esdb_details [1], eis_get_esdb_details [2]
	eis_get_science_details [1], eis_get_science_details [2]
	eis_get_science_details [3], eis_get_science_details [4]
	eis_get_technical_study_rasters [1], eis_get_technical_study_rasters [2]
 EXAMPLE:
	Extract a flux vector from entry 28 of the database FARUV
	==> flux = dbval(28,'FLUX')

 HISTORY:
   version 2  D. Lindler Nov, 1987	(new db format)
	Converted to IDL V5.0   W. Landsman   September 1997


DBWRT [1] $SSW/gen/idl/database/dbwrt.pro
[Previous] [Next]
 NAME:
	DBWRT
 PURPOSE:
	procedure to update or add a new entry to a data base

 CALLING SEQUENCE:
	dbwrt, entry, [ index, append, /NoConvert ]

 INPUTS:
	entry - entry record to be updated or added if first
		item (entry number=0)

 OPTIONAL INPUTS:
	index - optional integer flag,  if set to non zero then index
		file is  updated. (default=0, do not update index file)
		(Updating the index file is time-consuming, and should
		normally be done after all changes have been made.
	append - optional integer flag, if set to non-zero the record
		is appended as a new entry, regardless of what the
		entry number in the record is.  The entry number will
		be reset to the next entry number in the file.
 OUTPUTS:
	data base file is updated.                    
	If index is non-zero then the index file is updated.
 OPTIONAL INPUT KEYWORD:
	NoConvert - If set then don't convert to host format with an external
		database.    Useful when the calling program decides that
		conversion isn't needed (i.e. on a big-endian machine), or 
		takes care of the conversion itself.
 OPERATIONAL NOTES:
	!PRIV must be greater than 1 to execute
 CALLS: ***
	BSORT [1], BSORT [2], BSORT [3], BSORT [4], DBINDEX_BLK [1], DBINDEX_BLK [2]
	DBINDEX_BLK [3], DBXPUT [1], DBXPUT [2], DBXPUT [3], DBXVAL [1], DBXVAL [2]
	DBXVAL [3], DB_ENT2EXT [1], DB_ENT2EXT [2], DB_ENT2EXT [3], DB_INFO [1]
	DB_INFO [2], DB_INFO [3], DB_ITEM [1], DB_ITEM [2], DB_ITEM [3], DB_ITEM_INFO [1]
	DB_ITEM_INFO [2], DB_ITEM_INFO [3], HOST_TO_IEEE [1], HOST_TO_IEEE [2]
	HOST_TO_IEEE [3], HOST_TO_IEEE [4], IEEE_TO_HOST [1], IEEE_TO_HOST [2]
	IEEE_TO_HOST [3], IEEE_TO_HOST [4]
 CALLED BY:
	DBBUILD [1], DBBUILD [2], DBBUILD [3], DBEDIT [1], DBEDIT [2], DBEDIT [3]
	DBEDIT_BASIC [1], DBEDIT_BASIC [2], DBEDIT_BASIC [3], DBEXT [2], DBPUT [1]
	DBPUT [2], DBPUT [3], DBUPDATE [1], DBUPDATE [2], DBUPDATE [3], DBUPDATE [4]
 HISTORY:
	version 2  D. Lindler  Feb. 1988 (new db format)
	converted to IDL Version 2.  M. Greason, STX, June 1990.
	William Thompson, GSFC/CDS (ARC), 28 May 1994
		Added support for external (IEEE) representation.
	Converted to IDL V5.0   W. Landsman 24-Nov-1997


DBWRT [2] $SSW/gen/idl_libs/astron/database/dbwrt.pro
[Previous] [Next]
 NAME:
	DBWRT
 PURPOSE:
	procedure to update or add a new entry to a data base

 CALLING SEQUENCE:
	dbwrt, entry, [ index, append, /NoConvert ]

 INPUTS:
	entry - entry record to be updated or added if first
		item (entry number=0)

 OPTIONAL INPUTS:
	index - optional integer flag,  if set to non zero then index
		file is  updated. (default=0, do not update index file)
		(Updating the index file is time-consuming, and should
		normally be done after all changes have been made.
	append - optional integer flag, if set to non-zero the record
		is appended as a new entry, regardless of what the
		entry number in the record is.  The entry number will
		be reset to the next entry number in the file.
 OUTPUTS:
	data base file is updated.                    
	If index is non-zero then the index file is updated.
 OPTIONAL INPUT KEYWORD:
	NoConvert - If set then don't convert to host format with an external
		database.    Useful when the calling program decides that
		conversion isn't needed (i.e. on a big-endian machine), or 
		takes care of the conversion itself.
 OPERATIONAL NOTES:
	!PRIV must be greater than 1 to execute
 CALLS: ***
	BSORT [1], BSORT [2], BSORT [3], BSORT [4], DBINDEX_BLK [1], DBINDEX_BLK [2]
	DBINDEX_BLK [3], DBXPUT [1], DBXPUT [2], DBXPUT [3], DBXVAL [1], DBXVAL [2]
	DBXVAL [3], DB_ENT2EXT [1], DB_ENT2EXT [2], DB_ENT2EXT [3], DB_INFO [1]
	DB_INFO [2], DB_INFO [3], DB_ITEM [1], DB_ITEM [2], DB_ITEM [3], DB_ITEM_INFO [1]
	DB_ITEM_INFO [2], DB_ITEM_INFO [3], HOST_TO_IEEE [1], HOST_TO_IEEE [2]
	HOST_TO_IEEE [3], HOST_TO_IEEE [4], IEEE_TO_HOST [1], IEEE_TO_HOST [2]
	IEEE_TO_HOST [3], IEEE_TO_HOST [4]
 CALLED BY:
	DBBUILD [1], DBBUILD [2], DBBUILD [3], DBEDIT [1], DBEDIT [2], DBEDIT [3]
	DBEDIT_BASIC [1], DBEDIT_BASIC [2], DBEDIT_BASIC [3], DBEXT [2], DBPUT [1]
	DBPUT [2], DBPUT [3], DBUPDATE [1], DBUPDATE [2], DBUPDATE [3], DBUPDATE [4]
 HISTORY:
	version 2  D. Lindler  Feb. 1988 (new db format)
	converted to IDL Version 2.  M. Greason, STX, June 1990.
	William Thompson, GSFC/CDS (ARC), 28 May 1994
		Added support for external (IEEE) representation.
	Converted to IDL V5.0   W. Landsman 24-Nov-1997


DBXPUT [1] $SSW/gen/idl/database/dbxput.pro
[Previous] [Next]
 NAME:
	DBXPUT
 PURPOSE:
	routine to replace value of an item in a data base entry

 CALLING SEQUENCE:	
	dbxput, val, entry, idltype, sbyte, nbytes

 INPUT:
	val - value(s) to be placed into entry, string values might be
		truncated to fit number of allowed bytes in item
	entry - entry or entries to be updated
	idltype - idl data type for item (1-7)
	sbyte - starting byte in record
	nbytes - total number of bytes in value added

 OUTPUT:
	entry - (updated)

 OPERATIONAL NOTES:
	This routine assumes that the calling procedure or user knows what he 
	or she is doing.  String items are truncated or padded to the fixed 
	size specified by the database but otherwise no validity checks are 
	made.

 CALLED BY:
	DBBUILD [1], DBBUILD [2], DBBUILD [3], DBEDIT [1], DBEDIT [2], DBEDIT [3]
	DBEDIT_BASIC [1], DBEDIT_BASIC [2], DBEDIT_BASIC [3], DBEXT [2], DBPUT [1]
	DBPUT [2], DBPUT [3], DBUPDATE [1], DBUPDATE [2], DBUPDATE [3], DBUPDATE [4]
	DBWRT [1], DBWRT [2], DBWRT [3], DB_ENT2EXT [1], DB_ENT2EXT [2], DB_ENT2EXT [3]
	DB_ENT2HOST [1], DB_ENT2HOST [2], DB_ENT2HOST [3]
 HISTORY:
	version 1, D. Lindler   Aug, 1986
	converted to IDL Version 2.  M. Greason, STX, June 1990.
	Work with multiple element string items   W. Landsman  August 1995
	Really work with multiple element string items   
			R. Bergman/W. Landsman  July 1996
	Work with multiple entries, R. Schwartz, GSFC/SDAC August 1996
	Use /overwrite with REFORM() W. Landsman May 1997
	Converted to IDL V5.0   W. Landsman   September 1997


DBXPUT [2] $SSW/gen/idl_libs/astron/database/dbxput.pro
[Previous] [Next]
 NAME:
	DBXPUT
 PURPOSE:
	routine to replace value of an item in a data base entry

 CALLING SEQUENCE:	
	dbxput, val, entry, idltype, sbyte, nbytes

 INPUT:
	val - value(s) to be placed into entry, string values might be
		truncated to fit number of allowed bytes in item
	entry - entry or entries to be updated
	idltype - idl data type for item (1-7)
	sbyte - starting byte in record
	nbytes - total number of bytes in value added

 OUTPUT:
	entry - (updated)

 OPERATIONAL NOTES:
	This routine assumes that the calling procedure or user knows what he 
	or she is doing.  String items are truncated or padded to the fixed 
	size specified by the database but otherwise no validity checks are 
	made.

 CALLED BY:
	DBBUILD [1], DBBUILD [2], DBBUILD [3], DBEDIT [1], DBEDIT [2], DBEDIT [3]
	DBEDIT_BASIC [1], DBEDIT_BASIC [2], DBEDIT_BASIC [3], DBEXT [2], DBPUT [1]
	DBPUT [2], DBPUT [3], DBUPDATE [1], DBUPDATE [2], DBUPDATE [3], DBUPDATE [4]
	DBWRT [1], DBWRT [2], DBWRT [3], DB_ENT2EXT [1], DB_ENT2EXT [2], DB_ENT2EXT [3]
	DB_ENT2HOST [1], DB_ENT2HOST [2], DB_ENT2HOST [3]
 HISTORY:
	version 1, D. Lindler   Aug, 1986
	converted to IDL Version 2.  M. Greason, STX, June 1990.
	Work with multiple element string items   W. Landsman  August 1995
	Really work with multiple element string items   
			R. Bergman/W. Landsman  July 1996
	Work with multiple entries, R. Schwartz, GSFC/SDAC August 1996
	Use /overwrite with REFORM() W. Landsman May 1997
	Converted to IDL V5.0   W. Landsman   September 1997


DBXVAL [1] $SSW/gen/idl/database/dbxval.pro
[Previous] [Next]
 NAME: 
       DBXVAL

 PURPOSE:      
       Quickly return a value of the specified item number     
 EXPLANATION:
       Procedure to quickly return a value of the specified item number
       from the entry.

 CALLING SEQUENCE:     
       result = dbxval( entry, idltype, nvalues, sbyte, nbytes )

 INPUTS        
       entry - entry or entries from data base (bytarr) 
       idltype - idl data type (obtained with db_item_info)
       nvalues - number of values to return (obtained with db_item)
       sbyte - starting byte in the entry (obtained with db_item)
       nbytes - number of bytes (needed only for string type)
                       (obtained with db_item)

 OUTPUTS:      
       function value is value of the specified item in entry

 KEYWORDS:
       bswap - If set, then IEEE_TO_HOST is called.

 CALLED BY:
	DBCOMPARE [1], DBCOMPARE [2], DBEDIT [1], DBEDIT [2], DBEDIT [3], DBEDIT_BASIC [1]
	DBEDIT_BASIC [2], DBEDIT_BASIC [3], DBPRINT [1], DBPRINT [2], DBPRINT [3]
	DBRD [1], DBRD [2], DBRD [3], DBVAL [1], DBVAL [2], DBVAL [3], DBWRT [1], DBWRT [2]
	DBWRT [3], DB_ENT2EXT [1], DB_ENT2EXT [2], DB_ENT2EXT [3], DB_ENT2HOST [1]
	DB_ENT2HOST [2], DB_ENT2HOST [3]
 RESTRICTIONS: 
       To increase speed the routine assumes that entry and item are
       valid and that the data base is already opened using dbopen.

 REVISION HISTORY:     
       version 0  D. Lindler Nov. 1987  (for new db format)
       Version 1, William Thompson, GSFC, 28 March 1994.
                       Incorporated into CDS library.
       Version 2, Richard Schwartz, GSFC/SDAC, 23 August 1996
                       Allowed Entry to have 2 dimensions
       Version 2.1, 22 Feb 1997, JK Feggans, 
                               avoid reform for strings arrays.
       Version 2.2     Use overwrite with REFORM(),  W. Landsman,  May 1997
       Converted to IDL V5.0   W. Landsman   September 1997
       Work for multiple-valued strings   W. Landsman   October 2000
       Add new 64bit & unsigned integer datatypes W.Landsman   July 2001
       Version 3, 2-May-2003, JK Feggans/Sigma, W.T. Thompson
           Added BSWAP keyword to avoid floating errors on some platforms.


DBXVAL [2] $SSW/gen/idl_libs/astron/database/dbxval.pro
[Previous] [Next]
 NAME: 
       DBXVAL

 PURPOSE:      
       Quickly return a value of the specified item number     
 EXPLANATION:
       Procedure to quickly return a value of the specified item number
       from the entry.

 CALLING SEQUENCE:     
       result = dbxval( entry, idltype, nvalues, sbyte, nbytes )

 INPUTS        
       entry - entry or entries from data base (bytarr) 
       idltype - idl data type (obtained with db_item_info)
       nvalues - number of values to return (obtained with db_item)
       sbyte - starting byte in the entry (obtained with db_item)
       nbytes - number of bytes (needed only for string type)
                       (obtained with db_item)

 OUTPUTS:      
       function value is value of the specified item in entry

 KEYWORDS:
       bswap - If set, then IEEE_TO_HOST is called.

 CALLED BY:
	DBCOMPARE [1], DBCOMPARE [2], DBEDIT [1], DBEDIT [2], DBEDIT [3], DBEDIT_BASIC [1]
	DBEDIT_BASIC [2], DBEDIT_BASIC [3], DBPRINT [1], DBPRINT [2], DBPRINT [3]
	DBRD [1], DBRD [2], DBRD [3], DBVAL [1], DBVAL [2], DBVAL [3], DBWRT [1], DBWRT [2]
	DBWRT [3], DB_ENT2EXT [1], DB_ENT2EXT [2], DB_ENT2EXT [3], DB_ENT2HOST [1]
	DB_ENT2HOST [2], DB_ENT2HOST [3]
 RESTRICTIONS: 
       To increase speed the routine assumes that entry and item are
       valid and that the data base is already opened using dbopen.

 REVISION HISTORY:     
       version 0  D. Lindler Nov. 1987  (for new db format)
       Version 1, William Thompson, GSFC, 28 March 1994.
                       Incorporated into CDS library.
       Version 2, Richard Schwartz, GSFC/SDAC, 23 August 1996
                       Allowed Entry to have 2 dimensions
       Version 2.1, 22 Feb 1997, JK Feggans, 
                               avoid reform for strings arrays.
       Version 2.2     Use overwrite with REFORM(),  W. Landsman,  May 1997
       Converted to IDL V5.0   W. Landsman   September 1997
       Work for multiple-valued strings   W. Landsman   October 2000
       Add new 64bit & unsigned integer datatypes W.Landsman   July 2001
       Version 3, 2-May-2003, JK Feggans/Sigma, W.T. Thompson
           Added BSWAP keyword to avoid floating errors on some platforms.


DD $SSW/gen/idl/system/dd.pro
[Previous] [Next]
 PROJECT:
       SOHO - CDS

 NAME:
       DD

 PURPOSE: 
       Display directory stack used by PD and PPD

 EXPLANATION:
       
 CALLING SEQUENCE: 
       DD

 INPUTS:
       None.

 OPTIONAL INPUTS: 
       None.

 OUTPUTS:
       None.

 OPTIONAL OUTPUTS:
       None.

 KEYWORD PARAMETERS: 
       None.

 CALLS: ***
	CDD
 COMMON BLOCKS:
	DIR_STACK:  Contains the directory stack.
       CDD:        Common block used by CDD.

 RESTRICTIONS: 
       None.

 SIDE EFFECTS:
       None.

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

 MODIFICATION HISTORY:
       Version 2, Liyun Wang, GSFC/ARC, February 3, 1995
          Renamed from SD to DD

 VERSION:
       Version 2, February 3, 1995


DEC2BIN $SSW/gen/idl/util/dec2bin.pro
[Previous] [Next]
 Project     : SOHO - CDS     
                   
 Name        : DEC2BIN
               
 Purpose     : Convert integer decimal number to binary representation.
               
 Explanation : The binary representation of a decimal number is calculated
               and can be displayed or returned or both or neither.
               
 Use         : IDL> dec2bin, decimal [, binary, /quiet]
    
 Inputs      : decimal - the number to convert
               
 Opt. Inputs : None
               
 Outputs     : See below
               
 Opt. Outputs: binary - the binary representation of the input.
               
 Keywords    : quiet - unless given the binary number is printed to the
                       terminal

 Calls       : ***
	DATATYPE [1], DATATYPE [2], DATATYPE [3]
 CALLED BY:
	HEX2BIN, OPEN_CALFITS, WRITE_CALFITS
 Restrictions: Input must be of byte, int or long type.
               
 Side effects: When the input variable DECIMAL is an array, then the output
		variable BINARY is also an array with the dimensions
		(32,N_ELEMENTS(DECIMAL)) no matter what the dimensions of
		DECIMAL are.
               
 Category    : Utils, Numerical
               
 Prev. Hist. : None

 Written     : C D Pike, RAL, 7-Oct-93
               
 Modified    : Version 1, C D Pike, RAL, 7-Oct-93
		Version 2, William Thompson, GSFC, 23 December 1994
			Modified to work with arrays.
               Version 3, William Thompson, GSFC, 24 June 2005
                       Change to use [] array notation

 Version     : Version 3, 24 June 2005


DEC2HEX $SSW/gen/idl/util/dec2hex.pro
[Previous] [Next]
 Project     : SOHO - CDS     
                   
 Name        : DEC2HEX
               
 Purpose     : Convert a non-negative decimal integer to a hex string.
               
 Explanation : 
               
 Use         : IDL> dec2hex,decimal [,hex, nchar=nchar, /quiet, /upper]
    
 Inputs      : decimal - non-negative decimal integer, scalar.  All leading 
                         blanks are removed.
               
 Opt. Inputs : None
               
 Outputs     : See below
               
 Opt. Outputs: hex - the hexadecimal representation of the number.
               
 Keywords    : quiet - if not present, the hex form will be output to the
                       terminal.
               nchar - number of characters in the output hexadecimal string.
                       If not supplied, then the hex string will contain no 
                       leading zeros.

               upper - converts hex letters to uppercase for output

 Calls       : None
 CALLED BY:
	BIN2HEX, UNPACK_LZ_SCIENCE, WHAT_CDHS_STUDY
 Restrictions: Input can only be non-negative integer number.
               
 Side effects: None
               
 Category    : Util, numerical
               
 Prev. Hist. : Written by W. Landsman, November, 1990 

 Written     : CDS version by C D Pike, RAL, 7-Oct-93
               
 Modified    : Added /upper keyword, CDP, 20-Dec-1993
               Trap negatives, CDP, 19-May-94

 Version     : Version 3, 19-May-94


dec2sun [1] $SSW/gen/idl/genutil/dec2sun.pro
[Previous] [Next]
NAME:
	dec2sun
PURPOSE:
	Converts data written on a DEC machine to SUN format by swapping
	bytes appropriately for the type of the input data.  The data
       on the DEC machine is assumed to be IEEE format with the byte
       order reversed: this is *not* VAX format!  The routine converts
       between data from a DECStation and a Sun.  Since both use IEEE
       format, dec2sun will also convert from sun format to DEC format.
CATEGORY:
	Byte-swapping
CALLING SEQUENCE:
	dec2sun,a
INPUTS:
	a = input variable which is to have its bytes swapped
OPTIONAL INPUT PARAMETERS:
	none
KEYWORD PARAMETERS
	none
OUTPUTS:
	a = reformatted variable is passed back in the original variable
 CALLED BY:
	BFITS, F1, RFITS [1], RFITS [2], RFITS [3], ccd_hdr_info, gtt_mnem, jitter_gif_xyimg
	list_tfi, make_into_bytarr, mdifocus2, mk_bad_pix_map_load, mk_list_image, mk_tfi
	mk_trace_i0, nimg_in_tfr fnam [1], raw_list2pixmap, rd_ccdh_fil, rd_goes_fits
	rd_hist_dbase [1], rd_hist_dbase [2], rd_hk [1], rd_hk [2], rd_soup, rdtfr
	rdwrt [1], rdwrt [2], rdwrt [3], tfr_summary, tfr_summary2, timeline, topsdb [1]
	topsdb [2], tr_build_img [1], tr_decode_head [1], tr_decode_head [2]
	tr_wrt_fits_i1 [2], web_seq, wrt_fits [1], wrt_fits [2], yoh_ieee2vax [1]
	yoh_ieee2vax [2], yoh_vax2ieee [1], yoh_vax2ieee [2]
COMMON BLOCKS:
	None
SIDE EFFECTS:
	None
RESTRICTIONS:
	None
PROCEDURE:
	Determines the type of the variable and swaps the bytes depending
	on the type.  If the variable is a structure, the tags are 
	recursively searched so that the bytes are swapped throughout
	the structure.
MODIFICATION HISTORY:
	T. Metcalf 5/20/91  Version 1.0

       T. Metcalf Aug 1991: Added complex floating point  Version 1.1
       T. Metcalf Nov 1991: Converted vax2sun to dec2sun
	29-Jun-94 (MDM) - Modified to preserve the dimensions when
			  working on double precision data
	14-Nov-95 (MDM) - Modified to allow double precision array in
			  an structure array.


decode_gev $SSW/gen/idl/solar/decode_gev.pro
[Previous] [Next]
   Name: decode_gev

   Purpose: decode gev structures (return event times in desired format)

   Input Parameters:
      gev - Goes Event (GEV) structure(s) (output of rd_gev, get_gev...)
  
   Output Parameters:
      gev_start - event start time list 
      gev_stop  - event stop time list
      gev_peak  - event peak time list

   Keyword Parameters:
      above  - if set, only return subset >= this GOES class
      fstart - keyword synonym for gev_start  
      fstop  - keyword synonym for gev_stop
      fpeak  - keyword synonym for gev_peak
      class  - (output) GOES XRay Class (string, such as C2.5, X9.1...)
      noaa_ar - (output) return NOAA active region - string 'xxxxxx'
      location - (output) heliographic location - string {N,S}nsdeg{E,W}ewdeg
      found  - (output flag) - true if at least one event returned
      ss     - (output) - SubScripts of decoded events (reflects 
                         events matching ABOVE criteria if set)

      out_style - desired SSW time format for output - default=CCSDS
                  [see anytim.pro for options, inc 'ecs','vms','ints'...
      _extra - switch synonyms for OUT_STYLE - supports anytim.pro 
               format switches such as [/vms] [/ints] [/utc_ints] [/ecs]...

   Calling Examples:
                       IN     OUT     OUT    OUT
      IDL> decode_gev, gevin, fstart, fstop, fpeak
      IDL> decode_gev, gevin, fstart, fstop, fpeak, [,/ecs][,/ccsds][,/int]

      SSWIDL Context Example:
      Read goes events for desired time range, check/decode events
           greater than specified level - plot lightcurve around
           1st event window and read the corresponding trace catalog
          
      gev=get_gev(time0, time1)            
      decode_gev,gev,fstart,fstop, fpeak, above='C1', found=found, ss=ss,/int
      if found then begin                     ;(at least 1 event > C1)
         fdur=ssw_deltat(fstop,ref=fstart,/minute)       ; T(start->end)
         start2peak=ssw_deltat(fpeak,ref=fstart,/minute) ; T(start->peak)
         peak2end=ssw_deltat(fstop,ref=fpeak,/minute)    ; T( peak->end)
         time_window,[fstart(0),fstop(0)],t0,t1,min=30   ; event +/- 30 min
         plot_goes,t0,t1                                 ; plot event window
         trace_cat,fstart(0),fstop(0),tcat               ; goes -> trace
         [---- etc.... other event actions... ----]
      endif

 CALLS: ***
	BOX_MESSAGE, anytim [1], anytim [2], anytim [3], anytim [4], anytim [5]
	anytim2ints [1], anytim2ints [2], data_chk [1], data_chk [2], is_member [1]
	is_member [2], required_tags
 CALLED BY:
	EIT_COPY, EIT_GBO, FILT_EVENTS, SXI_GBO, TRACE_COPY, TRACE_GBO, UPDATE_MM, flare_hist
	ssw_gxd_remove_flares
   History:
      26-June-2000 - S.L.Freeland - simplify GEV:SSWDB cross reference
      27-oct-2004  - S.L.Freeland - add NOAA_AR and LOCATION output keywords
       3-dec-2004  - S.L.Freeland - fix typo in doc-header context example
      15-aug-2005  - S.L.Freeland - fixup old ngdc derived (only integer classes avail)


DEF_DIRLIST $SSW/gen/idl/system/def_dirlist.pro
[Previous] [Next]
 NAME:	
       DEF_DIRLIST

 PURPOSE:
       Define directory list using setenv or setlog

 EXPLANATION:	
       Environment variables which point to a list of directories can
       end up to be very long.  In VMS this can be a problem, because logical 
       names cannot be longer than 256 characters.  However, it is possible to
       get around this in VMS by assigning multiple values to a single logical
       name--a facility that does not exist in Unix.

       This routine will define the environment variable as either a delimited
       string, or as a series of values, whichever is most appropriate.

 CALLING SEQUENCE:	
       DEF_DIRLIST, EVAR, VALUE
 INPUTD:	
       EVAR = The name of the environment variable to define.
       VALUE = The value to give to EVAR.  This can be either a single, 
               delimited string, or it can be an array of directory names.
               The routine will choose for itself how to use this to define the 
               environment variable.

 CALLS: ***
	SETLOG, strsplit
 CALLED BY:
	SET_CDS_SDB
 EXAMPLES:	
       DIRS = FIND_ALL_DIR('+/data/fits')
       DEF_DIRLIST, 'FITS_DATA', DIRS

 PROCEDURE CALLS:
       SETENV, STR_SEP()
	Note: The intrinsic SETENV command is available under Unix & Windows
	only.   However, it is available as a Library procedure for VMS.

 REVISION HISTORY:	
	Version 1, 06-Aug-1996, William Thompson, GSFC
       Converted to IDL V5.0   June 1998    W. Landsman
       Use STRSPLIT instead of STR_SEP if V5.3 or later W.L.  July 2002


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

   Purpose: return system dependent default fonts using system variable

   Keyword Parameters:
      init - switch, if set, return machine dependent defaults
      button,label,slider,text, - widget type specific values
      default - default (for all types)
       
   slf, 19-june-92 (eventually should use defsysv for this)
   slf, 22-oct-92   add case
   slf, 30-apr-93  use system variable, added keywords, alpha case
   slf, 23-feb-96  remove system variable references (SSW integration)
   Zarro (ADNET/GSFC) 25-July-06 - made default font a blank string

 CALLED BY:
	xstepper [1], xstepper [2]
   Restrictions:


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

 Name        : DEF_MAP

 Purpose     : Define a basic 2x2 element image map 

 Category    : imaging

 Explanation : 

 Syntax      : def_map,map

 Examples    :

 Inputs      : None

 Opt. Inputs : None


 Outputs     : MAP = {data:data,xp:xp,yp:yp,time:time,id:id} (old format)
                 or  {data:data,xc:xc,yc:yc,dx:dx,dy:dy,time:time,id:id}
               where,
               DATA  = 2x2 image array
               XP,YP = 2x2 cartesian coordinate arrays
               XC,YC = image center coordinates
               DX,DY = image pixel scales
               ID    = blank ID label
               TIME  = blank start time of image

 Opt. Outputs: None

 Keywords    : OLD = use old format
               DIM = data dimensions [nx,ny]

 Common      : None

 Restrictions: None

 Side effects: None

 History     : Written 22 October 1997, D. Zarro, SAC/GSFC

 Contact     : dzarro@solar.stanford.edu


def_yssysv [1] $SSW/gen/idl/fund_lib/yohkoh/def_yssysv.pro
[Previous] [Next]
   Name: def_yssysv

   Purpose: define system variables for Yohkoh SW 
	     values are assigned elsewhere

   Category:
      swmaint, system, gen

   Calling Sequence:
	def_yssysv [,/loud] 	(generally part of idl startup)

 CALLS: ***
	anytim2ints [1], anytim2ints [2], str_copy_tags [1], str_copy_tags [2]
	str_copy_tags [3], str_copy_tags [4]
 CALLED BY:
	restsys [1], restsys [2], savesys [1], savesys [2], ssw_setup_windows
   Common Blocks:
      def_yssysv_blk	- private to track first call

   History: slf, 21-dec-1992
            slf, 23-feb-1993 	; anonomous to make_str for compatibility
				; with older idl versions
            slf,  9-mar-1993   ; back to named structures - will control
				; compatibilty with restore files within
				; this routine
	     slf, 30-mar-1993   ; add some new vars, error return to caller
	     slf, 21-apr-1993   ; add !ys_idlsys_temp/!ys_idlsys_init
	     slf, 22-apr-1993   ; removed !more tag from 21-apr (old idl prob)
	     slf, 12-Jan-1993   ; add !ys_deftape
	     slf, 20-Jan-1993   ; add !ys_sxt_ef
            slf,  5-oct-1994   ; sxt pixel size
            rdb, 23-Apr-1996   ; removed callss to anytim2ints
            slf,  6-Aug-1997   ; added /LOUD keyword (default=quiet)


DEFAULT $SSW/gen/idl/util/default.pro
[Previous] [Next]
 Project     : SOHO - CDS     
                   
 Name        : DEFAULT
               
 Purpose     : Supply default values for variables
               
 Explanation : If the first parameter is not defined, it is
		set to the value of the second parameter.
               
 Use         : DEFAULT,VARIABLE,DEFAULT_VALUE
    
 Inputs      : VARIABLE : The variable that could take on the default value

		DEFAULT_VALUE : The default value.
               
 Opt. Inputs : None.
               
 Outputs     : None.
               
 Opt. Outputs: None.
               
 Keywords    : None.

 Calls       : None.
 CALLED BY:
	APPLY_CDS_ADEF, Array_Despike, CDS_CORR_GRADIENT, CDS_LINEFIT_WRAP
	CDS_REPAIR_TOP, CFIT, CFITSLIST, CFIT_BLOCK, CFIT_ERRDEMO, CLEAN_EXPOSURE
	CWF_COMPONENT, CWF_FIT, CWF_STATUS, CWQ_CUBE, CWQ_DSPWAV [1], CWQ_IMAGE [1]
	CWQ_SPECTR [1], CWQ_WINSEL [1], CW_CHECKBOX, CW_CUBEVEIW, CW_ENTERB, CW_FLIPSWITCH
	CW_LOADCT, CW_MOUSE, CW_PLOTZ [1], CW_PSELECT, CW_PZOOM [1], DSPEXP, DSP_AUX, DSP_CUBE
	DSP_MOVIE, DSP_POINT, DSP_WAV, Energy_res [2], F_MULTI_THERM, GT_SCANP, GT_SCANT
	GT_SCANX, GT_SCANY, GT_SPECTRUM, GT_WINDATA, HANDLE_KILLER_HOOKUP
	HESSI FRAMEWORK TEMPLATE CLASS [2], HESSI FRAMEWORK TEMPLATE CLASS [3]
	HSI_ANNSEC_BPROJ [1], HSI_ANNSEC_BPROJ [3], HSI_ANNSEC_BPROJ_WEIGHT [1]
	HSI_ANNSEC_BPROJ_WEIGHT [2], HSI_ANNSEC_BPROJ_WEIGHT_MAP [1]
	HSI_ANNSEC_BPROJ_WEIGHT_MAP [2], HSI_ANNSEC_PROFILE [1]
	HSI_ANNSEC_PROFILE [2], HSI_DECIM_CORRECTION [1], HSI_DECIM_CORRECTION [2]
	HSI_DRM_MOD CLASS, HSI_DRM_MOD_CONTROL__DEFINE, HSI_GSMOOTH
	HSI_SPECTROGRAMCHAN_OVERLAP_FIX, HSI_SPECTROGRAM_DECIM_CORRECT
	HSI_SPECTROGRAM_DECIM_TABLE, HSI_SPECTRUM__DEFINE, HSI_VIS_GEN, MK_ANALYSIS
	MK_CDS_ANALYSIS, MK_COMPONENT_STC, MK_CONTIGUOUS, NUCLEAR_TABLE_LOAD, PARCHECK
	PICKFITS, PILECOEF, Pileup_countrate_Build_Piler
	Pileup_countrate_PULSE_CONVOLVE, RD_ASCII [1], READCDSFITS, RESTORE_ANALYSIS
	RESTORE_CDS_ADEF, SAVE_ANALYSIS, SAVE_CDS_ADEF, SAVE_QLDS, SET_UTAXIS, SFITSLIST
	SOXS_DRM, SPECTROGRAM CLASS DEFINITION, SPECTRUM CLASS DEFINITION
	SPEX_RUN_CURVEFIT [1], SPEX_RUN_CURVEFIT [2], SSW_REBIN, ST_WINDATA
	XCDS_ANALYSIS, XCDS_COSMIC, XCFIT, XCFIT_BLOCK, XCROP_CUBE, XCR_REMOVE, XDIFF
	XPLOTSCALE, XRECORDER, XR_RD_ABUNDANCE, XSM_PREP, XSM_VALID, XTEXTEDIT, XTVSCALE
	XWIDUMP, chianti_kev, cw_plotz [2], cw_pzoom [2], cwq_dspwav [2], cwq_image [2]