Index: trunk/Ohana/src/relphot/src/setMrelCatalog.c
===================================================================
--- trunk/Ohana/src/relphot/src/setMrelCatalog.c	(revision 37116)
+++ trunk/Ohana/src/relphot/src/setMrelCatalog.c	(revision 37246)
@@ -147,4 +147,7 @@
     off_t meas = measureOffset;
 
+    float psfQfMax = 0.0;
+    float psfQfPerfMax = 0.0;
+
     int Nap = 0;
     int Npsf = 0;
@@ -166,4 +169,9 @@
       // SKIP gpc1 forced-warp data
       if (isGPC1warp(measureT[k].photcode)) continue;
+
+      if (isSetMrelFinal) {
+	if (measure[k].psfQF     > psfQfMax)     psfQfMax     = measure[k].psfQF;
+	if (measure[k].psfQFperf > psfQfPerfMax) psfQfPerfMax = measure[k].psfQFperf;
+      }
 
       if (measureT[k].dbFlags & MEAS_BAD) SKIP_THIS_MEAS(Nbad); 
@@ -367,4 +375,7 @@
       secfilt[Nsec].Mmin = psfstats->min;
 
+      secfilt[Nsec].psfQfMax     = psfQfMax;
+      secfilt[Nsec].psfQfPerfMax = psfQfPerfMax;
+
       // NOTE : use the modified weight for apmags as well as psf mags
       liststats (Maplist, daplist, waplist, Nap, apstats);
@@ -457,4 +468,8 @@
   get_tess_ids(&tessID, &projectID, &skycellID, average[0].R, average[0].D);
 
+  average[0].tessID       = tessID;
+  average[0].projectionID = projectID;
+  average[0].skycellID    = skycellID;
+
   int NstackGood = 0;
   int NstackSuspect = 0;
@@ -478,4 +493,7 @@
     int isBad = FALSE;
     int isSuspect = FALSE;
+
+    int Nstack = 0; // number for this photcode
+    int NstackDet = 0; // number for this photcode
 
     off_t meas = measureOffset;
@@ -489,4 +507,7 @@
       if (!code) continue;
       if (code->equiv != thisCode) { continue; }
+
+      Nstack ++;
+      if (measure[k].photFlags2 & 0x00000004 == 0) NstackDet ++;
 
       // clear this bit for all measurements
@@ -615,4 +636,7 @@
     secfilt[Nsec].stackBestOff = k + measureOffset;
 
+    secfilt[Nsec].Nstack    = Nstack;
+    secfilt[Nsec].NstackDet = NstackDet;
+
     // this is the measurement used by secfilt[]
     measure[k].dbFlags |= ID_MEAS_STACK_PHOT_SRC;
@@ -694,4 +718,7 @@
     int Npsf = 0;
     int Nkron = 0;
+
+    int Nwarp = 0;
+    int NwarpGood = 0;
     for (k = 0; k < average[0].Nmeasure; k++, meas++) {
 
@@ -703,4 +730,7 @@
       if (!code) continue;
       if (code->equiv != thisCode) { continue; }
+
+      Nwarp ++;
+      if (measure[k].psfQFperf > 0.85) NwarpGood ++;
 
       measure[k].dbFlags &= ~ID_MEAS_WARP_USED;
@@ -799,4 +829,7 @@
     secfilt[Nsec].NusedKronWrp = Nkron;
     secfilt[Nsec].MkronWrp  = isnan(secfilt[Nsec].FkronWrp) ? NAN : 8.9 - 2.5*log10(secfilt[Nsec].FkronWrp); // 8.9 since flux is in Jy
+
+    secfilt[Nsec].Nwarp     = Nwarp;
+    secfilt[Nsec].NwarpGood = NwarpGood;
   }
   return (TRUE);
