Skip to the navigation links
Last modified: 19 November 2019

URL: https://cxc.cfa.harvard.edu/ciao/bugs/dmpaste.html

Bugs: dmpaste


Table of Contents

Bugs


Bugs

dmpaste creates invalid output file if the pastefile contains the same vector columns as the infile with a different vector name.

If the infile and pastefile contain the same vector columns with different vector names, dmpaste will end up creating an invalid output file. For example

%  dmlist evt.fits cols
...
   5   chip(chipx,chipy)    pixel        Int2           1:1024               Chip coords
...

% dmcopy evt.fits"[cols new=chip]" newchip.fits clob+
% dmpaste evt.fits newchip.fits junk.fits clob+
% dmlist junk.fits cols
...
  17   (chipx,chipy)(chipx,chipy) pixel        Int2           1:1024               Chip coords

Since the vector column name is invalid, the data are inaccessible.

If the vector name is the same then dmpaste errors out

% dmcopy evt.fits"[cols chip]" chip.fits clob+
% dmpaste evt.fits chip.fits junk.fits clob+
# dmpaste (CIAO): Skipping duplicate column name="chip" in files chip.fits.

Workaround:

As a work-around, users must rename the individual vector column names.

% dmcopy evt.fits"[cols new=chip,new_x=chipx,new_y=chipy]" newchip.fits clob+
% dmpaste evt.fits newchip.fits works.fits clob+
% dmlist works.fits cols
...
  17   new(new_x,new_y)     pixel        Int2           1:1024               Chip coords

dmpaste does not handle all vector columns correctly.  (07 Mar 2008)

The tool gets the range for the first component of the vector column (e.g. chipx=1:4096). When creating the output file, it uses this value for the entire chip column range instead of setting the range for each component of the vector separately. Since the chipy range is very different from the chipx range, subsequent filtering selects no events in the range for any filter.