Index: /branches/eam_branches/ipp-20130509/Ohana/src/uniphot/include/ckids.h
===================================================================
--- /branches/eam_branches/ipp-20130509/Ohana/src/uniphot/include/ckids.h	(revision 35707)
+++ /branches/eam_branches/ipp-20130509/Ohana/src/uniphot/include/ckids.h	(revision 35708)
@@ -33,3 +33,3 @@
 int           update_dvo_ckids_parallel         PROTO((SkyList *sky));
 					            
-void          update_catalog_ckids              PROTO((Catalog *catalog));
+void          update_catalog_ckids              PROTO((Catalog *catalog, FILE *foutput));
Index: /branches/eam_branches/ipp-20130509/Ohana/src/uniphot/src/initialize_ckids.c
===================================================================
--- /branches/eam_branches/ipp-20130509/Ohana/src/uniphot/src/initialize_ckids.c	(revision 35707)
+++ /branches/eam_branches/ipp-20130509/Ohana/src/uniphot/src/initialize_ckids.c	(revision 35708)
@@ -108,8 +108,9 @@
 
   UPDATE = FALSE;
-  if ((N = get_argument (argc, argv, "-update"))) {
-    remove_argument (N, &argc, argv);
-    UPDATE = TRUE;
-  }
+  // XXX do not allow update until we have added a modification concept
+  // if ((N = get_argument (argc, argv, "-update"))) {
+  //   remove_argument (N, &argc, argv);
+  //   UPDATE = TRUE;
+  // }
 
   if (argc != 1) usage_ckids();
@@ -164,8 +165,8 @@
 
   UPDATE = FALSE;
-  if ((N = get_argument (argc, argv, "-update"))) {
-    remove_argument (N, &argc, argv);
-    UPDATE = TRUE;
-  }
+  // if ((N = get_argument (argc, argv, "-update"))) {
+  //   remove_argument (N, &argc, argv);
+  //   UPDATE = TRUE;
+  // }
 
   SINGLE_CPT = NULL;
Index: /branches/eam_branches/ipp-20130509/Ohana/src/uniphot/src/update_catalog_ckids.c
===================================================================
--- /branches/eam_branches/ipp-20130509/Ohana/src/uniphot/src/update_catalog_ckids.c	(revision 35707)
+++ /branches/eam_branches/ipp-20130509/Ohana/src/uniphot/src/update_catalog_ckids.c	(revision 35708)
@@ -2,5 +2,5 @@
 void sort_fullIDs (uint64_t *I, int *S, off_t N);
 
-void update_catalog_ckids (Catalog *catalog) {
+void update_catalog_ckids (Catalog *catalog, FILE *foutput) {
 
   // I am looking for duplicate detections based on the image ID + detection ID values
@@ -58,6 +58,9 @@
     off_t j = seq[i];
     off_t N = measure[j].averef;
-    fprintf (stderr, "duplicate entry "OFF_T_FMT" : 0x%08x 0x%08x : 0x%08x : %10.6f %10.6f\n", j, measure[j].imageID, measure[j].detID, measure[j].objID, average[N].R, average[N].D);
+    fprintf (foutput, "0x%08x 0x%08x %8.4f %8.4f %5d\n", measure[j].imageID, measure[j].detID, average[N].R, average[N].D, measure[j].photcode);
   }
+  free (fullID);
+  free (seq);
+  free (duplicates);
 
   return;
Index: /branches/eam_branches/ipp-20130509/Ohana/src/uniphot/src/update_dvo_ckids.c
===================================================================
--- /branches/eam_branches/ipp-20130509/Ohana/src/uniphot/src/update_dvo_ckids.c	(revision 35707)
+++ /branches/eam_branches/ipp-20130509/Ohana/src/uniphot/src/update_dvo_ckids.c	(revision 35708)
@@ -23,4 +23,12 @@
     update_dvo_ckids_parallel (skylist);
     return TRUE;
+  }
+
+  char filename[256];
+  snprintf (filename, 256, "dvo.ckimids.%02d.dat", HOST_ID);
+  FILE *foutput = fopen (filename, "w");
+  if (!foutput) {
+    fprintf (stderr, "failed to open output file %s\n", filename);
+    exit (3);
   }
 
@@ -52,5 +60,5 @@
     }
 
-    update_catalog_ckids (&catalog);
+    update_catalog_ckids (&catalog, foutput);
 
     if (!UPDATE) {
@@ -66,4 +74,5 @@
     dvo_catalog_free (&catalog);
   }
+  fclose (foutput);
 
   return (TRUE);
