; ; BITVWRITE ; ; Writes an array of IDL ATDF structures to the output. ; ; FORMAT - bit packed format, as described in BITSTRACT ; ; ITEMS - desired items. Pass FORMAT.ITEM if all columns are ; desired. Must be same as passed to BITVREAD. ; ; RECORDS - array of IDL ATDF record structures, as returned by ; BITVREAD. ; ; OUTUNIT - output file unit where ASCII representation of records ; are written. ; ; $Id: bitvwrite.pro,v 1.2 2002/02/06 21:39:03 craigm Exp $ ; ; C. Markwardt 03 Feb 2002 ; pro bitvwrite, format, items, records, outunit formstr = '' tname = strarr(n_elements(items)) tform = tname for i = 0, n_elements(items)-1 do begin item = items(i) wh = where(format.item EQ item, ct) if ct GT 0 then begin fm = format(wh) tname(i) = fm.name tform(i) = fm.type case fm.type of 'BYTE': formstr = formstr + ',I4' 'FIX' : formstr = formstr + ',I7' 'LONG': formstr = formstr + ',I12' else : formstr = formstr + ',I12' endcase endif else begin message, 'ERROR: could not find item '+strtrim(item,2) endelse endfor formstr = '('+strmid(formstr,1)+')' ntags = n_tags(template) nrec = n_elements(records) printf, outunit, records, format=formstr return end