C+ C NAME: C smei_frm_fts_base C PURPOSE: C Process header entries for optical axis C CALLING SEQUENCE: subroutine smei_frm_fts_base(iU, hdr) C INPUTS: C iU integer logical unit number of open Fits file C hdr(*) double precision SMEI header array C OUTPUTS: C INCLUDE: include 'filparts.h' include 'smei_frm_hdr.h' C CALLS: C smei_hdr_flag, FTUKYJ, FTUKYD, FTUKYS, FTUKYG, say_fts C smei_hdr_str, iSetFileSpec, iGetFileSpec C RESTRRICTIONS: C Must be called AFTER smei_frm_fts_eph to make sure that C the flag SMEI__HDR_ECLIPSE and SMEI__HDR_SHADOW are incorporated C into to the Fits header (in entry SMEI__HDR_FLAGS). C PROCEDURE: C Header entries related to the base calculation are written into C the open Fits file. In addition all binary flags are combined into C the header entry SMEI__HDR_FLAGS and is written into the file. C The Fits update functions FTUK* are used because this routine is C used both to create the original Fits file and to update them. C MODIFICATION HISTORY: C MAR-2005, Paul Hick (UCSD/CASS; pphick@ucsd.edu) C- integer iU double precision hdr(*) character cSay*17 /'smei_frm_fts_base'/ character cSeverity /'E'/ character cStr*(FIL__LENGTH) istat = 0 call smei_hdr_flag(1,i,hdr) ! Write all flags from hdr into i call FTUKYJ(iU ,'FLAGS', i, 'bitwise flags', istat) if (istat .ne. 0) call say_fts(cSay,cSeverity,istat) call FTUKYD(iU ,'PEDESTAL', hdr(SMEI__HDR_PEDESTAL),7, 'pedestal', istat) if (istat .ne. 0) call say_fts(cSay,cSeverity,istat) call FTUKYD(iU ,'DARK_CUR', hdr(SMEI__HDR_DARK_MEDIAN),7, 'dark current median', istat) if (istat .ne. 0) call say_fts(cSay,cSeverity,istat) call FTUKYD(iU ,'DARK_AVE', hdr(SMEI__HDR_DARK_MEAN),7, 'dark current mean', istat) if (istat .ne. 0) call say_fts(cSay,cSeverity,istat) call FTUKYD(iU ,'PED_SIGM', hdr(SMEI__HDR_PED_SIGMA),7, 'standard dev for pedestal', istat) if (istat .ne. 0) call say_fts(cSay,cSeverity,istat) call FTUKYD(iU ,'DARK_SIG', hdr(SMEI__HDR_DARK_SIGMA),7, 'standard dev for dark current', istat) if (istat .ne. 0) call say_fts(cSay,cSeverity,istat) call FTUKYD(iU ,'SQUARE' , hdr(SMEI__HDR_SQUARE),7, 'residual intensity in squares', istat) if (istat .ne. 0) call say_fts(cSay,cSeverity,istat) call FTUKYD(iU ,'CENTER' , hdr(SMEI__HDR_CENTER),7, 'residual intensity in center', istat) if (istat .ne. 0) call say_fts(cSay,cSeverity,istat) call FTUKYJ(iU ,'N_PEDEST', nint(hdr(SMEI__HDR_N_PEDESTAL)), 'pixels contributing to pedestal', istat) if (istat .ne. 0) call say_fts(cSay,cSeverity,istat) call FTUKYJ(iU ,'N_DARK_C', nint(hdr(SMEI__HDR_N_DARK_CURRENT)), 'pixels contributing to dark current', istat) if (istat .ne. 0) call say_fts(cSay,cSeverity,istat) call FTUKYJ(iU ,'N_SATURA', nint(hdr(SMEI__HDR_N_SATURATED)), 'nr saturated pixels', istat) if (istat .ne. 0) call say_fts(cSay,cSeverity,istat) call FTUKYJ(iU ,'N_POS_ME', nint(hdr(SMEI__HDR_N_POS_MEASLES)), 'positive measles', istat) if (istat .ne. 0) call say_fts(cSay,cSeverity,istat) call FTUKYJ(iU ,'N_BIG_ME', nint(hdr(SMEI__HDR_N_BIG_MEASLES)), 'large measles', istat) if (istat .ne. 0) call say_fts(cSay,cSeverity,istat) call FTUKYJ(iU ,'N_PIXSUM', nint(hdr(SMEI__HDR_N_PIXSUM)), 'n_pixsum', istat) if (istat .ne. 0) call say_fts(cSay,cSeverity,istat) call FTUKYJ(iU ,'N_PIXDIF', nint(hdr(SMEI__HDR_N_PIXDIF)), 'n_pixdif', istat) if (istat .ne. 0) call say_fts(cSay,cSeverity,istat) call FTUKYD(iU ,'PIXSUM' , hdr(SMEI__HDR_PIXSUM),7, 'pixsum', istat) if (istat .ne. 0) call say_fts(cSay,cSeverity,istat) call FTUKYD(iU ,'PIXDIF' , hdr(SMEI__HDR_PIXDIF),7, 'pixdif', istat) if (istat .ne. 0) call say_fts(cSay,cSeverity,istat) call smei_hdr_str(SMEI__HDR_CAL_PATTERN, hdr, cStr) i = iSetFileSpec(cStr) i = iGetFileSpec(FIL__NAME,FIL__NAME,cStr) call FTUKYS(iU ,'CAL_PATT', cStr, 'calibration pattern', istat) if (istat .ne. 0) call say_fts(cSay,cSeverity,istat) call smei_hdr_str(SMEI__HDR_ORB_PATTERN, hdr, cStr) i = iSetFileSpec(cStr) i = iGetFileSpec(FIL__NAME,FIL__NAME,cStr) call FTUKYS(iU ,'ORB_PATT', cStr, 'on-the-fly orbital pattern', istat) if (istat .ne. 0) call say_fts(cSay,cSeverity,istat) call FTUKYG(iU ,'VERSION' , hdr(SMEI__HDR_VERSION), 2, 'smei_base version', istat) if (istat .ne. 0) call say_fts(cSay,cSeverity,istat) return end