;+ ; NAME: ; smei_star_formatpnt ; PURPOSE: ; Controls formatting of time series files ; CATEGORY: ; camera/idl/star ; CALLING SEQUENCE: FUNCTION smei_star_formatpnt , $ get_titles = get_titles , $ get_format = get_format , $ get_timefmt = get_timefmt , $ old_format = old_format ; OUTPUTS: ; /get_titles if set then return string of column titles that preceeds the numbers ; in the time series files ; /get_format if set then return the format string used to write the smei_star_fit ; structures produced by href=smei_star_fit= ; /get_timefmt if set then return the format used to write the time of observation ; INCLUDE: @compile_opt.pro ; On error, return to caller ; PROCEDURE: ; MODIFICATION HISTORY: ; AUG-2006, Paul Hick (UCSD/CASS) ; NOV-2006, Jordan Vaughan (UCSD; jtvaugha@ucsd.edu) ; Added gain column to PNT titles, formatc, and format ; MAY-2007, Paul Hick (UCSD/CASS) ; Modified to take changes in smei_star__define into ; account (changed scalar fovxangle to 2-element ; array fovangle; added dfovangle) ; JUL-2007, Paul Hick (UCSD/CASS) ; Modified to take changes in smei_star__define into ; account ; JAN-2008, Paul Hick (UCSD/CASS) ; Fixed bug in format (star name has 12 chars, not 11) ; FEB-2008, Paul Hick (UCSD/CASS; pphick@ucsd.edu) ; Added X column (point source removed from skymap) ;- timefmt = 'YYYY_DOY_hhmmss' InitVar, get_timefmt, /key InitVar, old_format , /key IF get_timefmt THEN RETURN, timefmt format = [ [';' ,'A1,11X' ,'A12' ] , $ ['RA' ,'7X,A2' ,'F9.4' ] , $ ['dec' ,'6X,A3' ,'F9.4' ] , $ [' ' ,'A3' ,'1X,A2' ] , $ ['C' ,'1X,A1' ,'1X,I1' ] , $ [timefmt ,'1X,A15' ,'1X,A15' ] , $ ['PSFangle' ,'2X,A8' ,'F10.4' ] , $ ['FOVXangle' ,'1X,A9' ,'F10.4' ] , $ ['FOVYangle' ,'1X,A9' ,'F10.4' ] , $ ['cosFOVX' ,'3X,A7' ,'F10.4' ] , $ ['cosFOVY' ,'3X,A7' ,'F10.4' ] , $ ['gain' ,'6X,A4' ,'F10.4' ] , $ ['close' ,'1X,A5,6X' ,'1X,A11' ] , $ ; WRONG ['Istd' ,'8X,A4' ,'E12.4' ] , $ ; Change this ['Isky/Istd' ,'3X,A9' ,'E12.4' ] , $ ['Imdl/Istd' ,'3X,A9' ,'E12.4' ] , $ ['I/Istd' ,'6X,A6' ,'E12.4' ] , $ ['BckCnst' ,'5X,A7' ,'E12.4' ] , $ ['BckRAslope' ,'2X,A10' ,'E12.4' ] , $ ['BckDecslope' ,'1X,A11' ,'E12.4' ] , $ ['nbkg' ,'1X,A4' ,'I5' ] , $ ['npsf' ,'1X,A4' ,'I5' ] , $ ['sigbkg' ,'8X,A6' ,'E14.6' ] , $ ['sigpsf' ,'8X,A6' ,'E14.6' ] , $ ['corr' ,'4X,A4' ,'F8.4' ] , $ ['dRA' ,'11X,A3' ,'E14.6' ] , $ ['dDec' ,'10X,A4' ,'E14.6' ] , $ ['dPSFangle' ,'5X,A9' ,'E14.6' ] , $ ['dcosFOVX' ,'6X,A8' ,'E14.6' ] , $ ['dcosFOVY' ,'6X,A8' ,'E14.6' ] , $ ['widRA' ,'9X,A5' ,'E14.6' ] , $ ['widDec' ,'8X,A6' ,'E14.6' ] , $ [' X' ,'A2' ,'I2' ] , $ [' ' ,'A2' ,'I2' ] ] IF NOT old_format THEN BEGIN format[*,where(format[0,*] EQ 'close')] = ['close','1X,A5,7X','1X,A12'] ; One extra char i = (where(format[0,*] EQ 'Istd' ))[0] format[*,i] = ['Istd','6X,A4','F10.3'] ; Two chars less format = [[format[*,0:i-1]],['Astd','6X,A4','F10.6'],[format[*,i:*]]] i = (where(format[0,*] EQ 'C' ))[0] format = [[format[*,0:i]],['M','1X,A1','1X,I1'],[format[*,i+1:*]]] ENDIF titles = reform(format[0,*]) formatc = '('+strjoin(reform(format[1,*]),',' )+')' format = '('+strjoin(reform(format[2,*]),', ')+')' InitVar, get_titles, /key InitVar, get_format, /key CASE 1 OF get_titles : RETURN, string(titles,format=formatc) get_format : RETURN, format ELSE : RETURN, format ENDCASE END