Index: /branches/czw_branch/20160809/Ohana/src/relastro/include/relastro.h
===================================================================
--- /branches/czw_branch/20160809/Ohana/src/relastro/include/relastro.h	(revision 39750)
+++ /branches/czw_branch/20160809/Ohana/src/relastro/include/relastro.h	(revision 39751)
@@ -422,10 +422,13 @@
 int           DCR_RED_NSEC_POS,      DCR_RED_NSEC_NEG; 
 
+int   NLoopWeight2MASS;
 float *LoopWeight2MASS;
 char *LoopWeight2MASSstr;
 
+int   NLoopWeightTycho;
 float *LoopWeightTycho;
 char *LoopWeightTychostr;
 
+int   NLoopWeightGAIA;
 float *LoopWeightGAIA;
 char *LoopWeightGAIAstr;
Index: /branches/czw_branch/20160809/Ohana/src/relastro/src/ImageOps.c
===================================================================
--- /branches/czw_branch/20160809/Ohana/src/relastro/src/ImageOps.c	(revision 39750)
+++ /branches/czw_branch/20160809/Ohana/src/relastro/src/ImageOps.c	(revision 39751)
@@ -793,4 +793,11 @@
     ref[i].D = catalog[c].average[n].D;
     
+    int XVERB = FALSE;
+    XVERB |= (catalog[c].average[n].objID == OBJ_ID_SRC) && (catalog[c].average[n].catID == CAT_ID_SRC);
+    XVERB |= (catalog[c].average[n].objID == OBJ_ID_DST) && (catalog[c].average[n].catID == CAT_ID_DST);
+    if (XVERB) {
+      fprintf (stderr, "found test object\n");
+    }
+
     // if we are applying the galaxy model, move the reference position...
     if (APPLY_PROPER_MOTION) {
Index: /branches/czw_branch/20160809/Ohana/src/relastro/src/UpdateChips.c
===================================================================
--- /branches/czw_branch/20160809/Ohana/src/relastro/src/UpdateChips.c	(revision 39750)
+++ /branches/czw_branch/20160809/Ohana/src/relastro/src/UpdateChips.c	(revision 39751)
@@ -60,5 +60,8 @@
   for (i = 0; i < Nimage; i++) {
 
-    VERBOSE_IMAGE = !strcmp(image[i].name, "o5745g0516o.356887.cm.982631.smf[XY54]");
+    VERBOSE = FALSE;
+    VERBOSE_IMAGE |= !strcmp(image[i].name, "o5745g0516o.356887.cm.982631.smf[XY45]");
+    VERBOSE_IMAGE |= !strcmp(image[i].name, "o5745g0526o.356899.cm.982643.smf[XY45]");
+    VERBOSE_IMAGE |= !strcmp(image[i].name, "o5748g0436o.358811.cm.982690.smf[XY34]");
 
     // XXX looks like everything below is thread safe : we can unroll this into a set of
Index: /branches/czw_branch/20160809/Ohana/src/relastro/src/args.c
===================================================================
--- /branches/czw_branch/20160809/Ohana/src/relastro/src/args.c	(revision 39750)
+++ /branches/czw_branch/20160809/Ohana/src/relastro/src/args.c	(revision 39751)
@@ -4,5 +4,5 @@
 void usage_merge_source (void);
 void usage_merge_source_id (char *name);
-float *ParseLoopWeights (char *rawlist);
+float *ParseLoopWeights (char *rawlist, int *nloop);
 
 int args (int argc, char **argv) {
@@ -657,5 +657,5 @@
     remove_argument (N, &argc, argv);
     LoopWeight2MASSstr = strcreate(argv[N]);
-    LoopWeight2MASS = ParseLoopWeights (argv[N]);
+    LoopWeight2MASS = ParseLoopWeights (argv[N], &NLoopWeight2MASS);
     remove_argument (N, &argc, argv);
   }
@@ -665,5 +665,5 @@
     remove_argument (N, &argc, argv);
     LoopWeightTychostr = strcreate(argv[N]);
-    LoopWeightTycho = ParseLoopWeights (argv[N]);
+    LoopWeightTycho = ParseLoopWeights (argv[N], &NLoopWeightTycho);
     remove_argument (N, &argc, argv);
   }
@@ -673,5 +673,5 @@
     remove_argument (N, &argc, argv);
     LoopWeightGAIAstr = strcreate(argv[N]);
-    LoopWeightGAIA = ParseLoopWeights (argv[N]);
+    LoopWeightGAIA = ParseLoopWeights (argv[N], &NLoopWeightGAIA);
     remove_argument (N, &argc, argv);
   }
@@ -1319,5 +1319,5 @@
 }
 
-float *ParseLoopWeights (char *rawlist) {
+float *ParseLoopWeights (char *rawlist, int *nloop) {
 
   float *weights = NULL;
@@ -1344,8 +1344,11 @@
   }
 
+  // this sets the last loops to match the last value...
   while (Nloop < NLOOP) {
     weights[Nloop] = weights[Nloop - 1];
     Nloop ++;
   }
+
+  *nloop = Nloop;
   return weights;
 }
