Index: /branches/czw_branch/20160809/Ohana/src/relastro/src/UpdateStacks.c
===================================================================
--- /branches/czw_branch/20160809/Ohana/src/relastro/src/UpdateStacks.c	(revision 39770)
+++ /branches/czw_branch/20160809/Ohana/src/relastro/src/UpdateStacks.c	(revision 39771)
@@ -48,6 +48,6 @@
 
     // XXX: I need to convert dLsig, dMsig from degrees to pixels
-    dLsig *= 3600.0 / 0.25;
-    dMsig *= 3600.0 / 0.25;
+    dLsig *= 3600.0;
+    dMsig *= 3600.0;
 
     image[i].dXpixSys = dLsig;
Index: /branches/czw_branch/20160809/Ohana/src/relastro/src/args.c
===================================================================
--- /branches/czw_branch/20160809/Ohana/src/relastro/src/args.c	(revision 39770)
+++ /branches/czw_branch/20160809/Ohana/src/relastro/src/args.c	(revision 39771)
@@ -1,5 +1,5 @@
 # include "relastro.h"
-void usage (void);
-void usage_client (void);
+void usage (int argc, char **argv);
+void usage_client (int argc, char **argv);
 void usage_merge_source (void);
 void usage_merge_source_id (char *name);
@@ -40,5 +40,5 @@
     remove_argument (N, &argc, argv);
 
-    if (argc != 1) usage ();
+    if (argc != 1) usage (argc, argv);
     return TRUE;
   }
@@ -106,8 +106,8 @@
     remove_argument (N, &argc, argv);
     RELASTRO_OP = OP_PARALLEL_IMAGES;
-    if (N >= argc) usage();
+    if (N >= argc) usage (argc, argv);
     IMAGE_TABLE = strcreate (argv[N]);
     remove_argument (N, &argc, argv);
-    if (!REGION_FILE) usage();
+    if (!REGION_FILE) usage (argc, argv);
   }
 
@@ -193,5 +193,5 @@
     remove_argument (N, &argc, argv);
     RELASTRO_OP = OP_PARALLEL_REGIONS;
-    if (!REGION_FILE) usage();
+    if (!REGION_FILE) usage (argc, argv);
     if ((N = get_argument (argc, argv, "-parallel-regions-manual"))) {
       remove_argument (N, &argc, argv);
@@ -201,22 +201,22 @@
 
   if ((N = get_argument (argc, argv, "-testobj1"))) {
-    if (N > argc - 3) usage ();
+    if (N > argc - 3) usage (argc, argv);
     remove_argument (N, &argc, argv);
     OBJ_ID_SRC = strtol(argv[N], &endptr, 0);
-    if (*endptr) usage ();
+    if (*endptr) usage (argc, argv);
     remove_argument (N, &argc, argv);
     CAT_ID_SRC = strtol(argv[N], &endptr, 0);
-    if (*endptr) usage (); 
+    if (*endptr) usage (argc, argv); 
     remove_argument (N, &argc, argv);
   }
 
   if ((N = get_argument (argc, argv, "-testobj2"))) {
-    if (N > argc - 3) usage ();
+    if (N > argc - 3) usage (argc, argv);
     remove_argument (N, &argc, argv);
     OBJ_ID_DST = strtol(argv[N], &endptr, 0);
-    if (*endptr) usage ();
+    if (*endptr) usage (argc, argv);
     remove_argument (N, &argc, argv);
     CAT_ID_DST = strtol(argv[N], &endptr, 0);
-    if (*endptr) usage (); 
+    if (*endptr) usage (argc, argv); 
     remove_argument (N, &argc, argv);
   }
@@ -240,5 +240,5 @@
   if ((N = get_argument (argc, argv, "-high-speed"))) {
     // XXX include a parallax / no-parallax option
-    if (N >= argc - 4) usage();
+    if (N >= argc - 4) usage (argc, argv);
     RELASTRO_OP = OP_HIGH_SPEED;
     remove_argument (N, &argc, argv);
@@ -254,5 +254,5 @@
 
   if ((N = get_argument (argc, argv, "-hpm"))) {
-    if (N >= argc - 2) usage();
+    if (N >= argc - 2) usage (argc, argv);
     RELASTRO_OP = OP_HPM;
     remove_argument (N, &argc, argv);
@@ -308,7 +308,7 @@
   }
 
-  if (RELASTRO_OP == OP_NONE) usage();
-
-  if (((RELASTRO_OP == OP_IMAGES) || (RELASTRO_OP == OP_PARALLEL_REGIONS) || (RELASTRO_OP == OP_PARALLEL_IMAGES)) && (FIT_TARGET == TARGET_NONE)) usage();
+  if (RELASTRO_OP == OP_NONE) usage (argc, argv);
+
+  if (((RELASTRO_OP == OP_IMAGES) || (RELASTRO_OP == OP_PARALLEL_REGIONS) || (RELASTRO_OP == OP_PARALLEL_IMAGES)) && (FIT_TARGET == TARGET_NONE)) usage (argc, argv);
 
   /* specify portion of the sky : allow default of all sky? */
@@ -510,36 +510,4 @@
   }
 
-  ChipOrderLoop = NULL;
-  ChipOrderLoopStr = NULL;
-  CHIPORDER = 1;
-  if ((N = get_argument (argc, argv, "-chiporder"))) {
-    remove_argument (N, &argc, argv);
-    CHIPORDER = atoi(argv[N]);
-    remove_argument (N, &argc, argv);
-  }
-  if ((N = get_argument (argc, argv, "-chiporderloop"))) {
-    remove_argument (N, &argc, argv);
-    ChipOrderLoopStr = strcreate(argv[N]);
-    ChipOrderLoop = ParseLoopOrder (argv[N], 1);
-    remove_argument (N, &argc, argv);
-  }
-
-  ChipMapLoop = NULL;
-  ChipMapLoopStr = NULL;
-  CHIPMAP = 0;
-  if ((N = get_argument (argc, argv, "-chipmap"))) {
-    remove_argument (N, &argc, argv);
-    CHIPMAP = atoi(argv[N]);
-    remove_argument (N, &argc, argv);
-
-  }
-  if ((N = get_argument (argc, argv, "-chipmaploop"))) {
-    remove_argument (N, &argc, argv);
-    ChipMapLoopStr = strcreate(argv[N]);
-    ChipMapLoop = ParseLoopOrder (argv[N], 0);
-    remove_argument (N, &argc, argv);
-  }
-  
-
   SAVEPLOT = FALSE;
   PLOTSTUFF = FALSE;
@@ -668,4 +636,38 @@
   }
 
+  // e.g., -chiporderloop 3,4,5
+  // NOTE: this must come after -nloop above
+  ChipOrderLoop = NULL;
+  ChipOrderLoopStr = NULL;
+  CHIPORDER = 1;
+  if ((N = get_argument (argc, argv, "-chiporder"))) {
+    remove_argument (N, &argc, argv);
+    CHIPORDER = atoi(argv[N]);
+    remove_argument (N, &argc, argv);
+  }
+  if ((N = get_argument (argc, argv, "-chiporderloop"))) {
+    remove_argument (N, &argc, argv);
+    ChipOrderLoopStr = strcreate(argv[N]);
+    ChipOrderLoop = ParseLoopOrder (argv[N], 1);
+    remove_argument (N, &argc, argv);
+  }
+
+  ChipMapLoop = NULL;
+  ChipMapLoopStr = NULL;
+  CHIPMAP = 0;
+  if ((N = get_argument (argc, argv, "-chipmap"))) {
+    remove_argument (N, &argc, argv);
+    CHIPMAP = atoi(argv[N]);
+    remove_argument (N, &argc, argv);
+
+  }
+  if ((N = get_argument (argc, argv, "-chipmaploop"))) {
+    remove_argument (N, &argc, argv);
+    ChipMapLoopStr = strcreate(argv[N]);
+    ChipMapLoop = ParseLoopOrder (argv[N], 0);
+    remove_argument (N, &argc, argv);
+  }
+  
+
   // e.g., -loop-weights-2mass 1000,300,300,200,200,100
   // NOTE: this must come after -nloop above
@@ -718,5 +720,5 @@
   }
 
-  if (argc != 1) usage ();
+  if (argc != 1) usage (argc, argv);
   return TRUE;
 }
@@ -731,4 +733,9 @@
   FREE (LoopWeightTycho);
   FREE (LoopWeightGAIA);
+
+  FREE (ChipMapLoop);
+  FREE (ChipMapLoopStr);
+  FREE (ChipOrderLoop);
+  FREE (ChipOrderLoopStr);
 
   FREE (PHOTCODE_SKIP_LIST);
@@ -791,5 +798,5 @@
     remove_argument (N, &argc, argv);
   }
-  if (!HOST_ID) usage_client();
+  if (!HOST_ID) usage_client (argc, argv);
 
   HOSTDIR = NULL;
@@ -799,5 +806,5 @@
     remove_argument (N, &argc, argv);
   }
-  if (!HOSTDIR) usage_client();
+  if (!HOSTDIR) usage_client (argc, argv);
 
   if ((N = get_argument (argc, argv, "-load-objects"))) {
@@ -903,5 +910,5 @@
   if ((N = get_argument (argc, argv, "-high-speed"))) {
     // XXX include a parallax / no-parallax option
-    if (N >= argc - 5) usage_client();
+    if (N >= argc - 5) usage_client (argc, argv);
     RELASTRO_OP = OP_HIGH_SPEED;
     remove_argument (N, &argc, argv);
@@ -917,5 +924,5 @@
 
   if ((N = get_argument (argc, argv, "-hpm"))) {
-    if (N >= argc - 3) usage();
+    if (N >= argc - 3) usage_client (argc, argv);
     RELASTRO_OP = OP_HPM;
     remove_argument (N, &argc, argv);
@@ -927,22 +934,22 @@
 
   if ((N = get_argument (argc, argv, "-testobj1"))) {
-    if (N > argc - 3) usage ();
+    if (N > argc - 3) usage_client (argc, argv);
     remove_argument (N, &argc, argv);
     OBJ_ID_SRC = strtol(argv[N], &endptr, 0);
-    if (*endptr) usage ();
+    if (*endptr) usage_client (argc, argv);
     remove_argument (N, &argc, argv);
     CAT_ID_SRC = strtol(argv[N], &endptr, 0);
-    if (*endptr) usage (); 
+    if (*endptr) usage_client (argc, argv); 
     remove_argument (N, &argc, argv);
   }
 
   if ((N = get_argument (argc, argv, "-testobj2"))) {
-    if (N > argc - 3) usage ();
+    if (N > argc - 3) usage_client (argc, argv);
     remove_argument (N, &argc, argv);
     OBJ_ID_DST = strtol(argv[N], &endptr, 0);
-    if (*endptr) usage ();
+    if (*endptr) usage_client (argc, argv);
     remove_argument (N, &argc, argv);
     CAT_ID_DST = strtol(argv[N], &endptr, 0);
-    if (*endptr) usage (); 
+    if (*endptr) usage_client (argc, argv); 
     remove_argument (N, &argc, argv);
   }
@@ -982,5 +989,5 @@
   }
 
-  if (RELASTRO_OP == OP_NONE) usage_client();
+  if (RELASTRO_OP == OP_NONE) usage_client (argc, argv);
 
   /* specify portion of the sky : allow default of all sky? */
@@ -1209,5 +1216,5 @@
   }
 
-  if (argc != 1) usage_client ();
+  if (argc != 1) usage_client (argc, argv);
   return TRUE;
 }
@@ -1244,5 +1251,5 @@
 }
 
-void usage () {
+void usage (int argc, char **argv) {
   fprintf (stderr, "ERROR: USAGE: relastro -images -update-simple [options]\n");
   fprintf (stderr, "       OR:    relastro -images -update-chips [options]\n");
@@ -1294,8 +1301,15 @@
   fprintf (stderr, "  -v\n");
   fprintf (stderr, "  \n");
+
+  fprintf (stderr, "remaining args: ");
+  for (int i = 0; i < argc; i++) {
+    fprintf (stderr, "%s ", argv[i]);
+  }
+  fprintf (stderr, "\n");
+
   exit (2);
 } 
 
-void usage_client () {
+void usage_client (int argc, char **argv) {
   fprintf (stderr, "ERROR: USAGE: relastro_client -load\n");
   fprintf (stderr, "       OR:    relastro_client -update-offsets\n");
@@ -1328,4 +1342,11 @@
   fprintf (stderr, "  -v\n");
   fprintf (stderr, "  \n");
+
+  fprintf (stderr, "remaining args: ");
+  for (int i = 0; i < argc; i++) {
+    fprintf (stderr, "%s ", argv[i]);
+  }
+  fprintf (stderr, "\n");
+
   exit (2);
 } 
Index: /branches/czw_branch/20160809/Ohana/src/relastro/src/bcatalog.c
===================================================================
--- /branches/czw_branch/20160809/Ohana/src/relastro/src/bcatalog.c	(revision 39770)
+++ /branches/czw_branch/20160809/Ohana/src/relastro/src/bcatalog.c	(revision 39771)
@@ -72,4 +72,6 @@
 
   int myNskip1 = 0, myNskip2 = 0, myNskip3 = 0, myNskip4 = 0, myNskip5 = 0, myNskip6 = 0;
+
+  int NgaiaObject = 0;
 
   /* exclude stars not in range or with too few measurements */
@@ -256,4 +258,6 @@
       }
 
+      if (catalog[0].measure[offset].photcode == 1030) { NgaiaObject ++; }
+
       CopyMeasureToTiny (&subcatalog[0].measureT[Nmeasure], &catalog[0].measure[offset]);
       // subcatalog[0].measure[Nmeasure] = catalog[0].measure[offset];
@@ -287,5 +291,5 @@
     }
   }
-  fprintf (stderr, "skips: %d %d %d %d %d %d\n", myNskip1, myNskip2, myNskip3, myNskip4, myNskip5, myNskip6);
+  fprintf (stderr, "skips: %d %d %d %d %d %d, Ngaia: %d\n", myNskip1, myNskip2, myNskip3, myNskip4, myNskip5, myNskip6, NgaiaObject);
   REALLOCATE (subcatalog[0].average,  Average,     MAX (Naverage, 1));
   REALLOCATE (subcatalog[0].measureT, MeasureTiny, MAX (Nmeasure, 1));
