Index: branches/eam_branches/ipp-20140610/Ohana/src/relphot/include/relphot.h
===================================================================
--- branches/eam_branches/ipp-20140610/Ohana/src/relphot/include/relphot.h	(revision 36983)
+++ branches/eam_branches/ipp-20140610/Ohana/src/relphot/include/relphot.h	(revision 36984)
@@ -48,5 +48,5 @@
   float dMsys;
   unsigned short nFitPhotom;
-  float Mchisq;
+  float Xm;
   float secz;
   float ubercalDist;
@@ -130,5 +130,5 @@
   float dMcal;
   float dMagSys;
-  float Xm;
+  short Xm;
   int nFitPhotom;
   int flags;
Index: branches/eam_branches/ipp-20140610/Ohana/src/relphot/src/BrightCatalog.c
===================================================================
--- branches/eam_branches/ipp-20140610/Ohana/src/relphot/src/BrightCatalog.c	(revision 36983)
+++ branches/eam_branches/ipp-20140610/Ohana/src/relphot/src/BrightCatalog.c	(revision 36984)
@@ -274,11 +274,11 @@
     gfits_define_bintable_column (&theader, "E", "Y_CCD",    "ccd y coord",            	   "pix",    1.0, 0.0);
     gfits_define_bintable_column (&theader, "E", "EXPTIME",  "-2.5 * log (exposure time)", "sec",    1.0, 0.0);
-    gfits_define_bintable_column (&theader, "J", "TIME",     "time of exp",                "sec",    1.0, 1.0*0x8000);
-    gfits_define_bintable_column (&theader, "J", "AVE_REF",  "pointer to average table",    NULL,    1.0, 1.0*0x8000);
-    gfits_define_bintable_column (&theader, "J", "IMAGE_ID", "image",                       NULL,    1.0, 1.0*0x8000);
-    gfits_define_bintable_column (&theader, "J", "DB_FLAGS", "flags",                       NULL,    1.0, 1.0*0x8000);
-    gfits_define_bintable_column (&theader, "J", "PHOT_FLAGS", "photflags",                 NULL,    1.0, 1.0*0x8000);
-    gfits_define_bintable_column (&theader, "J", "CAT_ID",   "catalog",                     NULL,    1.0, 1.0*0x8000);
-    gfits_define_bintable_column (&theader, "I", "PHOTCODE", "photcode",                    NULL,    1.0, 1.0*0x80);
+    gfits_define_bintable_column (&theader, "J", "TIME",     "time of exp",                "sec",    1.0, FT_BZERO_INT32);
+    gfits_define_bintable_column (&theader, "J", "AVE_REF",  "pointer to average table",    NULL,    1.0, FT_BZERO_INT32);
+    gfits_define_bintable_column (&theader, "J", "IMAGE_ID", "image",                       NULL,    1.0, FT_BZERO_INT32);
+    gfits_define_bintable_column (&theader, "J", "DB_FLAGS", "flags",                       NULL,    1.0, FT_BZERO_INT32);
+    gfits_define_bintable_column (&theader, "J", "PHOT_FLAGS", "photflags",                 NULL,    1.0, FT_BZERO_INT32);
+    gfits_define_bintable_column (&theader, "J", "CAT_ID",   "catalog",                     NULL,    1.0, FT_BZERO_INT32);
+    gfits_define_bintable_column (&theader, "I", "PHOTCODE", "photcode",                    NULL,    1.0, FT_BZERO_INT16);
 
     // generate the output array that carries the data
Index: branches/eam_branches/ipp-20140610/Ohana/src/relphot/src/ImageMagIO.c
===================================================================
--- branches/eam_branches/ipp-20140610/Ohana/src/relphot/src/ImageMagIO.c	(revision 36983)
+++ branches/eam_branches/ipp-20140610/Ohana/src/relphot/src/ImageMagIO.c	(revision 36984)
@@ -61,9 +61,9 @@
   GET_COLUMN (dMcal,             "MCAL_ERR",       float);
   GET_COLUMN (dMagSys,           "MCAL_SYSERR",    float);
-  GET_COLUMN (Xm,                "CHISQ",          float);
   GET_COLUMN (nFitPhotom,        "NFIT",             int);
   GET_COLUMN (flags,             "FLAGS",            int);
   GET_COLUMN (ubercalDist,       "UDIST",            int);
   GET_COLUMN (imageID,           "ID",               int);
+  GET_COLUMN (Xm,                "CHISQ",          short);
 
   // free the memory associated with the FITS files
@@ -121,12 +121,12 @@
   gfits_create_table_header (&theader, "BINTABLE", "IMAGE_MAGS");
 
-  gfits_define_bintable_column (&theader, "E", "MCAL",           "cal offset", "magnitudes", 1.0, 0.0);
-  gfits_define_bintable_column (&theader, "E", "MCAL_ERR",       "cal error", "magnitudes", 1.0, 0.0);
-  gfits_define_bintable_column (&theader, "E", "MCAL_SYSERR",    "systematic error", "magnitudes", 1.0, 0.0);
-  gfits_define_bintable_column (&theader, "E", "CHISQ",          "cal chisq", "unitless", 1.0, 0.0);
-  gfits_define_bintable_column (&theader, "J", "NFIT",           "number of fitted stars", "unitless", 1.0, 0.0);
-  gfits_define_bintable_column (&theader, "J", "FLAGS",          "analysis flags", "unitless", 1.0, 0.0);
-  gfits_define_bintable_column (&theader, "J", "UDIST",          "distance to ubercal images", "images", 1.0, 0.0);
-  gfits_define_bintable_column (&theader, "J", "ID",             "image ID", "unitless", 1.0, 0.0);
+  gfits_define_bintable_column (&theader, "E", "MCAL",           "cal offset", 		       "magnitudes", 1.0, 0.0);
+  gfits_define_bintable_column (&theader, "E", "MCAL_ERR",       "cal error",  		       "magnitudes", 1.0, 0.0);
+  gfits_define_bintable_column (&theader, "E", "MCAL_SYSERR",    "systematic error", 	       "magnitudes", 1.0, 0.0);
+  gfits_define_bintable_column (&theader, "J", "NFIT",           "number of fitted stars",     "unitless",   1.0, 0.0);
+  gfits_define_bintable_column (&theader, "J", "FLAGS",          "analysis flags", 	       "unitless",   1.0, 0.0);
+  gfits_define_bintable_column (&theader, "J", "UDIST",          "distance to ubercal images", "images",     1.0, 0.0);
+  gfits_define_bintable_column (&theader, "J", "ID",             "image ID",  		       "unitless",   1.0, 0.0);
+  gfits_define_bintable_column (&theader, "I", "CHISQ",          "cal chisq", 		       "unitless",   1.0, FT_BZERO_INT16);
 
   // generate the output array that carries the data
Index: branches/eam_branches/ipp-20140610/Ohana/src/relphot/src/ImageSubset.c
===================================================================
--- branches/eam_branches/ipp-20140610/Ohana/src/relphot/src/ImageSubset.c	(revision 36983)
+++ branches/eam_branches/ipp-20140610/Ohana/src/relphot/src/ImageSubset.c	(revision 36984)
@@ -126,19 +126,15 @@
   gfits_create_table_header (&theader, "BINTABLE", "IMAGE_SUBSET");
 
-  gfits_define_bintable_column (&theader, "E", "MCAL", "zero point offset", "magnitudes", 1.0, 0.0);
-  gfits_define_bintable_column (&theader, "E", "MCAL_ERR", "zero point error", "magnitudes", 1.0, 0.0);
-
-  gfits_define_bintable_column (&theader, "J", "IMAGE_ID", "image ID", NULL, 1.0, 1.0*0x8000);
-  gfits_define_bintable_column (&theader, "J", "PHOTOM_MAP", "map", NULL, 1.0, 1.0*0x8000);
-  gfits_define_bintable_column (&theader, "J", "FLAGS", "flags", NULL, 1.0, 1.0*0x8000);
-
-  gfits_define_bintable_column (&theader, "J", "TESS_ID", "ID", NULL, 1.0, 0.0);
-  gfits_define_bintable_column (&theader, "J", "PROJ_ID", "ID", NULL, 1.0, 0.0);
-  gfits_define_bintable_column (&theader, "J", "SKYCELL_ID", "ID", NULL, 1.0, 0.0);
-
-  gfits_define_bintable_column (&theader, "J", "TZERO", "exposure start", NULL, 1.0, 1.0*0x8000);
-  gfits_define_bintable_column (&theader, "I", "TRATE", "tti rate", NULL, 1.0, 0.0);
-
-  gfits_define_bintable_column (&theader, "I", "UBERCAL_DIST", "ubercal distance", NULL, 1.0, 1.0*0x80);
+  gfits_define_bintable_column (&theader, "E", "MCAL",         "zero point offset", "magnitudes", 1.0, 0.0);
+  gfits_define_bintable_column (&theader, "E", "MCAL_ERR",     "zero point error",  "magnitudes", 1.0, 0.0);
+  gfits_define_bintable_column (&theader, "J", "IMAGE_ID",     "image ID", 	    NULL,         1.0, FT_BZERO_INT32);
+  gfits_define_bintable_column (&theader, "J", "PHOTOM_MAP",   "map",      	    NULL,         1.0, FT_BZERO_INT32);
+  gfits_define_bintable_column (&theader, "J", "FLAGS",        "flags",    	    NULL,         1.0, FT_BZERO_INT32);
+  gfits_define_bintable_column (&theader, "J", "TESS_ID",      "ID", 	   	    NULL,         1.0, 0.0);
+  gfits_define_bintable_column (&theader, "J", "PROJ_ID",      "ID", 	   	    NULL,         1.0, 0.0);
+  gfits_define_bintable_column (&theader, "J", "SKYCELL_ID",   "ID", 	   	    NULL,         1.0, 0.0);
+  gfits_define_bintable_column (&theader, "J", "TZERO",        "exposure start",    NULL,         1.0, FT_BZERO_INT32);
+  gfits_define_bintable_column (&theader, "I", "TRATE",        "tti rate",          NULL,         1.0, FT_BZERO_INT16);
+  gfits_define_bintable_column (&theader, "I", "UBERCAL_DIST", "ubercal distance",  NULL,         1.0, 0.0);
 
   // generate the output array that carries the data
@@ -152,6 +148,6 @@
 
   // create intermediate storage arrays
-  ALLOCATE (Mcal,      float, 	     Nimage);
-  ALLOCATE (dMcal,     float, 	     Nimage);
+  ALLOCATE (Mcal,      float, 	       Nimage);
+  ALLOCATE (dMcal,     float, 	       Nimage);
   ALLOCATE (imageID,   unsigned int,   Nimage);
   ALLOCATE (map,       unsigned int,   Nimage);
Index: branches/eam_branches/ipp-20140610/Ohana/src/relphot/src/MeanMagIO.c
===================================================================
--- branches/eam_branches/ipp-20140610/Ohana/src/relphot/src/MeanMagIO.c	(revision 36983)
+++ branches/eam_branches/ipp-20140610/Ohana/src/relphot/src/MeanMagIO.c	(revision 36984)
@@ -118,7 +118,7 @@
   gfits_define_bintable_column (&theader, "E", "MAG_ERR",   "mean magnitude error", "magnitudes", 1.0, 0.0);
   gfits_define_bintable_column (&theader, "E", "MAG_CHISQ", "mean magnitude chisq", "unitless", 1.0, 0.0);
-  gfits_define_bintable_column (&theader, "J", "NSEC",      "secfilt sequence", NULL, 1.0, 1.0*0x8000);
-  gfits_define_bintable_column (&theader, "J", "OBJ_ID",    "object ID",        NULL, 1.0, 1.0*0x8000);
-  gfits_define_bintable_column (&theader, "J", "CAT_ID",    "catalog ID",       NULL, 1.0, 1.0*0x8000);
+  gfits_define_bintable_column (&theader, "J", "NSEC",      "secfilt sequence", NULL, 1.0, FT_BZERO_INT32);
+  gfits_define_bintable_column (&theader, "J", "OBJ_ID",    "object ID",        NULL, 1.0, FT_BZERO_INT32);
+  gfits_define_bintable_column (&theader, "J", "CAT_ID",    "catalog ID",       NULL, 1.0, FT_BZERO_INT32);
 
   // generate the output array that carries the data
Index: branches/eam_branches/ipp-20140610/Ohana/src/relphot/src/MosaicOps.c
===================================================================
--- branches/eam_branches/ipp-20140610/Ohana/src/relphot/src/MosaicOps.c	(revision 36983)
+++ branches/eam_branches/ipp-20140610/Ohana/src/relphot/src/MosaicOps.c	(revision 36984)
@@ -101,5 +101,5 @@
     mosaic[Nmosaic].dMcal  = 0.0; // note : at the end, mosaic.Mcal is added back to the input images
     mosaic[Nmosaic].dMsys  = 0.0;
-    mosaic[Nmosaic].Mchisq = 0.0;
+    mosaic[Nmosaic].Xm = 0.0;
     mosaic[Nmosaic].flags  = image[i].flags;
     mosaic[Nmosaic].secz   = image[i].secz;
@@ -221,5 +221,5 @@
     mosaic[i].dMcal    = 0.0;
     mosaic[i].dMsys    = 0.0;
-    mosaic[i].Mchisq   = 0.0;
+    mosaic[i].Xm   = 0.0;
     mosaic[i].flags    = 0;
     mosaic[i].secz     = NAN;
@@ -328,5 +328,5 @@
     mosaic[j].Mcal  = 0.0;
     mosaic[j].dMcal = 0.0;
-    mosaic[j].Mchisq = 0.0;
+    mosaic[j].Xm = 0.0;
     mosaic[j].dMsys = subset[i].flags;
     mosaic[j].flags = subset[i].flags;
@@ -410,5 +410,5 @@
     mosaic[i].dMcal = 0.0;
     mosaic[i].dMsys = 0.0;
-    mosaic[i].Mchisq    = 0.0;
+    mosaic[i].Xm    = 0.0;
     mosaic[i].flags = 0;
     mosaic[i].secz  = NAN;
@@ -469,5 +469,5 @@
     mosaic[j].Mcal  = 0.0;
     mosaic[j].dMcal = 0.0;
-    mosaic[j].Mchisq    = 0.0;
+    mosaic[j].Xm    = 0.0;
     mosaic[j].dMsys = image[i].flags;
     mosaic[j].flags = image[i].flags;
@@ -592,5 +592,5 @@
       Mcal  += image[m].Mcal;
       dMcal += image[m].dMcal;
-      Xm    += image[m].Mchisq;
+      Xm    += image[m].Xm;
 
       // for ubercal images, we (elsewhere) keep Mcal frozen
@@ -599,5 +599,5 @@
       image[m].Mcal  = 0.0;
       image[m].dMcal = NAN;
-      image[m].Mchisq    = NAN_S_SHORT;
+      image[m].Xm    = NAN_S_SHORT;
     }
 
@@ -645,5 +645,5 @@
     mosaic[i].Mcal   = Mcal / MosaicN_Image[i];
     mosaic[i].dMcal  = dMcal / MosaicN_Image[i];
-    mosaic[i].Mchisq = Xm / MosaicN_Image[i];
+    mosaic[i].Xm = Xm / MosaicN_Image[i];
   }
   return;
@@ -695,5 +695,5 @@
       Mcal  += image[m].Mcal;
       dMcal += image[m].dMcal;
-      Xm    += image[m].Mchisq;
+      Xm    += image[m].Xm;
 
       // XXX: how does this work with UBERCAL?  We want to keep the Mcal values supplied by ubercal, but 
@@ -707,5 +707,5 @@
       image[m].Mcal   = 0.0;
       image[m].dMcal  = NAN;
-      image[m].Mchiqs = NAN;
+      image[m].Xm = NAN_S_SHORT;
     }
     dS /= MosaicN_Image[i];
@@ -725,5 +725,5 @@
     mosaic[i].Mcal   = Mcal / MosaicN_Image[i];
     mosaic[i].dMcal  = dMcal / MosaicN_Image[i];
-    mosaic[i].Mchisq = Xm / MosaicN_Image[i];
+    mosaic[i].Xm = Xm / MosaicN_Image[i];
   }
   if (!USE_GRID) return;
@@ -755,5 +755,5 @@
       image[im].Mcal += mosaic[i].Mcal;
       image[im].dMcal = mosaic[i].dMcal;
-      image[im].Mchisq = mosaic[i].Mchisq;
+      image[im].Xm = mosaic[i].Xm;
       image[im].dMagSys = mosaic[i].dMsys;
       image[im].nFitPhotom = mosaic[i].nFitPhotom;
@@ -1247,5 +1247,5 @@
   myMosaic[0].dMcal = stats.error;
   myMosaic[0].nFitPhotom = N;
-  myMosaic[0].Mchisq    = stats.chisq;
+  myMosaic[0].Xm    = 100.0*log10(stats.chisq);
 
   if (testImage) {
@@ -1267,5 +1267,5 @@
 
   if (testImage) {
-    fprintf (stderr, "%f %f  :  %f\n", myMosaic[0].Mcal, myMosaic[0].dMsys, myMosaic[0].Mchisq);
+    fprintf (stderr, "%f %f  :  %f\n", myMosaic[0].Mcal, myMosaic[0].dMsys, myMosaic[0].Xm);
   }
 
@@ -1727,5 +1727,5 @@
     if (mosaic[i].flags & IMAGE_BAD) continue;
     if (mosaic[i].skipCal) continue;
-    list[n] = mosaic[i].Mchisq;
+    list[n]  = pow (10.0, 0.01*mosaic[i].Xm);
     dlist[n] = 1;
     n++;
Index: branches/eam_branches/ipp-20140610/Ohana/src/relphot/src/StarOps.c
===================================================================
--- branches/eam_branches/ipp-20140610/Ohana/src/relphot/src/StarOps.c	(revision 36983)
+++ branches/eam_branches/ipp-20140610/Ohana/src/relphot/src/StarOps.c	(revision 36984)
@@ -954,5 +954,5 @@
   int i, j, Ndel, Nave, Ntot, mark, Ns, Nscat, Nchi, Nnan;
   float dM;
-  double Chisq, MaxScatter, MaxChisq;
+  double MaxScatter, MaxChisq;
   double *xlist, *slist, *dlist;
 
@@ -981,5 +981,6 @@
       for (j = 0; j < catalog[i].Naverage; j++) {
 	if ( catalog[i].secfilt[Nsecfilt*j+Nsec].flags & STAR_BAD ) continue;
-	Mchisq = catalog[i].secfilt[Nsecfilt*j+Nsec].Mchisq;
+	float Mchisq = catalog[i].secfilt[Nsecfilt*j+Nsec].Mchisq;
+	if (isnan(Mchisq)) continue;
 	xlist[Ntot] = Mchisq;
 	slist[Ntot] = catalog[i].secfilt[Nsecfilt*j+Nsec].dM;
@@ -1000,6 +1001,6 @@
       for (j = 0; j < catalog[i].Naverage; j++) {
 	dM = catalog[i].secfilt[Nsecfilt*j+Nsec].dM;
-	Mchisq = catalog[i].secfilt[Nsecfilt*j+Nsec].Mchisq;
-	mark = (dM > MaxScatter) || (isnan(Mchisq) || (Mchisq > MaxChisq);
+	float Mchisq = catalog[i].secfilt[Nsecfilt*j+Nsec].Mchisq;
+	mark = (dM > MaxScatter) || (isnan(Mchisq)) || (Mchisq > MaxChisq);
 	if (mark) {
 	  catalog[i].secfilt[Nsecfilt*j+Nsec].flags |= ID_STAR_POOR;
@@ -1254,5 +1255,5 @@
       if (catalog[i].secfilt[Nsecfilt*j+Nsec].flags & STAR_BAD) continue;  
 	
-      Mchisq = catalog[i].secfilt[Nsecfilt*j+Nsec].Mchisq;
+      float Mchisq = catalog[i].secfilt[Nsecfilt*j+Nsec].Mchisq;
       if (isnan(Mchisq)) continue;
       list[n] = Mchisq;
