EIT Software Listings

 

anal
obsolete
response
util

 

Previous Routine
Next Routine

 

Listing of $SSW/soho/eit/idl/util/is_ss.pro

 


;+NAME/ONE LINE DESCRIPTION OF ROUTINE:
;     IS_SS determines whether a file is a valid IDL save set
;
;DESCRIPTION:  
;     IS_SS attempts to open FILENAME and read the first two bytes.
;     IDL save sets have the first two bytes set to 83 and 84 so we 
;     check the values of these bytes and return a 1 if the test is
;     positivie and a 0 if either one is negative.
;
;CALLING SEQUENCE:  
;     RESULT = IS_SS(filename)
;
;ARGUMENTS (I = input, O = output, [] = optional):
;     RESULT        O   int        Return value = 1 if FILENAME is 
;                                  determined to be an IDL save set
;                                  and 0 if it is not.
;     FILENAME      I   str        Name of file to be checked        
;
;WARNINGS:
;	This algorithm is based on the first two bytes of the save
;	set record begin equal to 83 and 82.  It has been observed
;	that IDL save sets start with these bytes.  Invalid results
;	will occur if  RSI changes this convention (possible) or if
;	a non-IDL save set starts with 83 82 (also possible).
;
;EXAMPLE:
;	To determine if 'file' is a valid IDL save set use:
;
;	   status = is_ss('file')
;
;	Status = 1 if it is a save set and 0 if it is not.
;#
;COMMON BLOCKS:
;     None
;
;PROCEDURE (AND OTHER PROGRAMMING NOTES): 
;
;PERTINENT ALGORITHMS, LIBRARY CALLS, ETC.:
;     None
;  
;MODIFICATION HISTORY:
;     Written by Dave Bazell,  General Sciences Corp. 4 Feb 1993 spr 10463
;
;.TITLE
; Routine IS_SS
;-
function is_ss, filename

on_error, 2
;
x=bytarr(2)
val = 0b

; Open the input files
on_ioerror, return_status
openr, unit, filename, /get_lun

;Read the first two bytes in the file
readu, unit, x

; Check if the byte values are 83 and 82 respectively.  If 
; this is true then set the return value to 1, file is a save
; set otherwise set return to 0, file is not a save set.

val = ((x(0) eq 83) and (x(1) eq 82))

return_status:
; Close file and return
    if n_elements(unit) gt 0 then begin
        close, unit
        free_lun, unit
    endif

    return, val
 
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:22 2007- F. Auchère