EIT Software Listings

 

anal
obsolete
response
util

 

Previous Routine
Next Routine

 

Listing of $SSW/soho/eit/idl/obsolete/catrd_daily.pro

 


;--------------------------------------------------------------------------
;+
; NAME        : CATRD_DAILY
;
; PURPOSE     : Read the daily catalogs and return entries as requested output
;
; CATEGORY    :
;
; EXPLANATION : 
;
; SYNTAX      : 
;
; EXAMPLES    : none
; 
; CALLED BY   :
;
; CALLS TO    : none
;
; ARGUMENTS   :
;	DATE	If present, a string date in the format "yyyy/mm/dd"
;		of the daily catalog to be searched. 
;		Default is the date of the most recent catalog.
;
; KEYWORDS    : 
;	YESTER  If present, indicates the number of 'days/catalogs' backward
;		in time you want as the catalog input.  Note that this is
;		really the number of backward catalogs, so days may not
;		line up as expected, but they should.
;		New feature:   print,catrd_daily("y=3") for three days ago.
;	NO_NEXT If present and set then return a null string if the specified
;		date does not have a catalog.
;	SHORT_TEXT If present and set and TEXT is the output mode then the
;		displayed text will fit in 80 characters w/ less info.
;	RECORDS If present, then return catalog file record numbers matching
;		the entries in the returned variable.  This is the VMS 
;		record number.
;	LONG    If present and set, then all catalog entries are considered,
;		including duplicates and entries are left in unsorted,
;		reform order.
;	RAW    If present and set , return the catalog entries as the raw
;		data structure instead of the default of a strarr of text 
;		entries. 
;		NOTE: the default is to return a string array of entries.
;	FILENAME  If present, then return the fits file names matching 
;		  the entries in the returned variable.
;	TAI      If present, then return the TAI time matching 
;		 the entries in the returned variable.
;
; OUTPUTS     : 
;	Return a string arrar of catalog entries, unless the /RAW keyword 
;	is set then return raw structure of entries.
;	If the /LONG keyword is set then return all catalog entries and
;	do not sort.
;	If any value was
;
; COMMON      : none
;
; RESTRICTIONS: none
;
; SIDE EFFECTS: none
;
; PROJECT     : SOHO - EIT
;
; HISTORY     : V1,  Elaine Einfalt (HSTX)
;		1996 March 31, added /NO_NEXT keyword
;		1996 May 13, allow YESTER to use numerical values
;
; CONTACT     : eit@xanado.nascom.nasa.gov
;-


function catrd_daily, date, long=long, raw=raw, yester=yester, $
		      no_next=no_next, short=short, $
		      records=records, filename=filename, tai=tai

; print, '%CATRD_DAILY-D-DATE, date = ' + date
;!quiet = 1

 if n_elements(yester) eq 0 then yester = 0	

 if not(keyword_set(raw)) then text = 1 else text = 0
 if keyword_set(short)    then short = 1 else short = 0

 ; The keyword /LONG:  0 mean sort cat records an remove duplicates and 
 ; display short format else raw order with all duplicates and print the
 ; values of every catalog element. 

 if keyword_set(long) then long = 1 else long = 0	

 ; Find the desired catalog

 dir_list = CAT_DIRECTORY( date,  cur_dir_cnt  = cur_dir_cnt,   $
		                  use_last_rec = use_last_rec,  $
				  yester       = yester,	$
				  no_next      = no_next,	$
		                  dir_cnt      = dir_cnt)

 if dir_cnt eq 0 then begin
	!quiet = 0
	return, 'No catalogs found in CAT_DIR:'   	; no catalogs 	
 endif else if dir_list(0) eq '' then begin
	!quiet = 0
	return, ''
 endif

 ; Return the contents of the selected catalog as a "raw data" structure.

 entry = CAT_OPEN(   file  = dir_list(cur_dir_cnt), $		; input
		     long  = long,	$			; input
		     lun   = cat_unit, 	$			; output
		     u_rec = u_rec,     $			; output
		     n_rec = n_rec,     $			; output
		     records = records)				; output
		
 ; RECORDS is a array containing the record numbers of the catalog file
 ;         in the order indicated by the /LONG keyword
 ; U_REC   is the number of records to be used/considered
 ; N_REC   number of total record in the cat (excluding header)

 if text then cat_user = cat_to_text(entry(records-1),short=short) $ ; Remake into text
	 else cat_user = entry(records-1) 

 !quiet = 0

 ; Return specifically requested keywords

 if n_elements(filename) gt 0 $
    then filename = (strupcase(entry.file_name))(records-1)
 if n_elements(tai) gt 0 then $
    tai = (utc2tai({mjd:entry.obs_time.mjd+49718, $
	   	   time:entry.obs_time.sec*1000L}))(records-1)

return, cat_user
end


Web curator: Frédéric Auchère
Responsible NASA official: Joseph B. Gurman, Facility Scientist, Solar Data Analysis Center
joseph.b.gurman@gsfc.nasa.gov
+1 301 286-4767
NASA Goddard Space Flight Center
Solar Physics Branch / Code 682

Last revised: - Wed May 9 21:45:07 2007- F. Auchère