PRO VIOLET ;+ ; ; NAME: ; VIOLET ; PURPOSE: ; Create time ordered lists of the DLV and ULV data and verify that it ; is in the correct range. ; CATEGORY: ; Verification ; CALLING SEQUENCE: ; VIOLET ; INPUTS: ; None ; OPTIONAL INPUT PARAMETERS: ; None ; OUTPUTS: ; post/anal_results/ULV ; post/anal_results/DLV ; OPTIONAL OUTPUT PARAMETERS: ; None ; KEYWORDS: ; None ; COMMON BLOCKS: ; None ; SIDE EFFECTS: ; None ; RESTRICTIONS: ; None ; EXAMPLE: ; VIOLET ; PROCEDURE: ; Read in the violet data sets ; Verify the data set numbers increment and the measurements types are ; filled in correctly ; Verify that all data values are in range and plot the data to screen ; MODIFICATION HISTORY: ; Created by Laura Ellen Dafoe 14 June 1994 ; Tested by Laura Ellen Dafoe on test log: baptism2 on 25 June 1994. ; Verified that only 4 ULV measurements were taken, with some ; of both ULV and DLV pixel values out of range. Also, the ; sort routine failed on 3 cases, and the code found them. ; Modified by Laura Ellen Dafoe on 5 Aug 1994 to decrease the limit ; value for the DLV to 8 from 30 dN. ;---------------------------------------------------------------------------- ; D I S R S O F T (C) 1 9 9 4 ;----------------------------------------------------------------------------- ;- spawn,'find DB/Violet -type f -print|sort_disrsoft_file',files z_files=size(files) NumFiles=z_files(1) if NumFiles EQ 0 or NumFiles EQ 7 then goto,leave print,SYSTIME(),' Num of files for violet analysis = ',NumFiles ulv1=intarr(NumFiles) dlv1=intarr(NumFiles) openw,ulvfile,'post/anal_results/ULV',/get_lun openw,dlvfile,'post/anal_results/DLV',/get_lun dlv_count=0 ulv_count=0 dlvIndex=0 ulvIndex=0 lastset=0 for i=0,NumFiles-1 do begin d_read,files(i),h,p type=d_value(h,96) lamp=d_value(h,102) setnum=d_value(h,87) if setnum LT lastset then $ print,'Violet Data Set Numbers Out of Sequence ',files(i),files(i-1) lastset=setnum ; DLV if type EQ 6 then begin if p LT 0 then begin printf,dlvfile,'Pixel Value ',p,' ',files(i) dlvIndex=dlvIndex+1 endif if p GT 8 and lamp EQ '0000' then begin printf,dlvfile,'Pixel Value ',p,' ',files(i) dlvIndex=dlvIndex+1 endif dlv1(dlv_count)=p dlv_count=dlv_count+1 endif ; ULV if type EQ 7 then begin if p LT 0 then begin printf,ulvfile,'Pixel Value ',p,' ',files(i) ulvIndex=ulvIndex+1 endif if p GT 8 and lamp EQ '0000' then begin printf,ulvfile,'Pixel Value ',p,' ',files(i) ulvIndex=ulvIndex+1 endif ulv1(ulv_count)=p ulv_count=ulv_count+1 endif if type NE 6 and type NE 7 then print,'Measurement type not filled in ',files(i) endfor if dlvIndex EQ 0 then printf,dlvfile,'No DLV Values Out of Range' if ulvIndex EQ 0 then printf,ulvfile,'No ULV Values Out of Range' if dlv_count GT 0 then begin dlv=intarr(dlv_count) dlv=dlv1(0:dlv_count-1) endif else dlv=dlv1 if ulv_count GT 0 then begin ulv=intarr(ulv_count) ulv=ulv1(0:ulv_count-1) endif else ulv=ulv1 !psym=10 window,1,title='DLV Data' plot,dlv,xtitle='Measurement Number',ytitle='Data Value' window,2,title='ULV Data' plot,ulv,xtitle='Measurement Number',ytitle='Data Value' free_lun,dlvfile free_lun,ulvfile leave: END