Viewing contents of file '../idllib/ghrs/pro/calhrs_out.pro'
pro calhrs_out,ioblock,type,flag,headers,data,epsilon,errors
;
;+
; calhrs_out
;
; routine to write calibration results generated by CALHRS
;
; CALLING SEQUENCE:
; calhrs_out,ioblock,type,flag,headers,data,epsilon,errors
;
; INPUTS:
; ioblock - output file description vector (from HRS_OPEN)
; type - type of data (string)
; type description
; DQI data quality initialization
; EXP count rates (data/exposure time)
; PPC paired pulse corrected
; MAP mapping function completed
; PHC photocathode response
; VIG vignetting correction
; MER substep bins merged
; BCK background data
; NET background subtracted
; ADC wavelengths before incidence angle correction.
; IAC wavelengths after incidince angle correction.
; HEL heliocentric wavelengths
; RIP ripple corrected flux
; ABS absolute sensitiviy corrected flux
; AIR air wavelengths
; flag - output flag
; less than 2 - do not write results
; 2 - write data
; 3 - write data and epsilon
; 4 - write data and errors
; 5 or greater - write everything
; headers - header vectors
; data - data vectors
; epsilon - epsilon vectors
; errors - propagated statistical errors
;
; HISTORY:
; version 1.0 D. Lindler Mar 89
;-
;----------------------------------------------------------------------------
if flag lt 2 then return
;
; decode input type
;
case strupcase(type) of
'RAW': t=10
'EXP': t=40
'PPC': t=70
'DIO': t=100
'MAP': t=130
'PHC': t=160
'VIG': t=190
'MER': t=220
'BCK': t=250
'NET': t=280
'RIP': t=310
'ABS': t=340
'ADC': t=500
'IAC': t=530
'HEL': t=560
'AIR': t=590
endcase
;
; decode flag
;
if flag eq 3 then outeps=1 else outeps=0
if flag eq 4 then outerr=1 else outerr=0
if flag ge 5 then begin & outerr=1 & outeps=1 & end
;
; write data
;
binids=headers(0,*) mod 10
headers(0,0)=binids + t ;change record type
hrs_write,ioblock,headers,data
if (outeps) and (n_elements(epsilon) gt 0) then begin
headers(0,0)= binids + (t+10)
hrs_write,ioblock,headers,epsilon
endif
if (outerr) and (n_elements(errors) gt 1) then begin
headers(0,0) = binids + (t+20)
hrs_write,ioblock,headers,errors
endif
return
end