Index: trunk/ppMerge/src/ppMergeCheckInputs.c
===================================================================
--- trunk/ppMerge/src/ppMergeCheckInputs.c	(revision 7073)
+++ trunk/ppMerge/src/ppMergeCheckInputs.c	(revision 7260)
@@ -27,4 +27,8 @@
     psArray *filenames = psMetadataLookupPtr(NULL, config->arguments, "INPUT"); // The input file names
     assert(filenames);
+    if (!data->in) {
+        data->in = psArrayAlloc(filenames->n);
+        data->in->n = filenames->n;
+    }
     int numGood = 0;                    // Number of good files
     for (int i = 0; i < filenames->n; i++) {
@@ -33,4 +37,5 @@
             continue;
         }
+        psTrace(__func__, 1, "Checking input file %s....\n", name);
         psFits *inFile = psFitsOpen(filenames->data[i], "r"); // The FITS file to read
         if (!inFile) {
@@ -42,4 +47,8 @@
         }
         psMetadata *header = psFitsReadHeader(NULL, inFile); // The FITS (primary) header
+        if (psTraceGetLevel(__func__) > 9) {
+            psTrace(__func__, 9, "Primary header:\n");
+            psMetadataPrint(header, 9);
+        }
         psFitsClose(inFile);
 
@@ -74,9 +83,14 @@
         // Use the first valid input as the basis for the output --- including the header
         if (!data->out) {
+            psTrace(__func__, 5, "Constructing output using %s as a template.\n", name);
             data->out = pmFPAConstruct(config->camera);
             pmFPAview *view = pmFPAAddSourceFromHeader(data->out, header, options->format);
             psFree(view);
+#if 0
+            pmFPACopyStructure(data->out, data->in->data[i], 1, 1);
+#endif
         }
 
+        psTrace(__func__, 3, "%s checks out.\n", name);
         numGood++;
     }
@@ -99,5 +113,7 @@
     }
     data->numCells = numCells;
+    psTrace(__func__, 3, "Output has %d cells.\n", numCells);
 
+    psTrace(__func__, 3, "We have %d good inputs.\n", numGood);
     if (numGood > 1) {
         return data;
