Index: branches/eam_branches/relphot.20200519/src/StarOps.c
===================================================================
--- branches/eam_branches/relphot.20200519/src/StarOps.c	(revision 41360)
+++ branches/eam_branches/relphot.20200519/src/StarOps.c	(revision 41362)
@@ -105,4 +105,5 @@
   results->Ncal  = 0;
   results->Nmos  = 0;
+  results->Ngrp  = 0;
   results->Ngrid = 0;
 }
@@ -264,4 +265,5 @@
   summary->Ncal  += results->Ncal ;
   summary->Nmos  += results->Nmos ;
+  summary->Ngrp  += results->Ngrp ;
   summary->Ngrid += results->Ngrid;
 }
@@ -313,5 +315,5 @@
     SetMrelInfoAccum (&summary, &results);
   }
-  if (VERBOSE2) fprintf (stderr, "%d stars with no data in photcode, %d stars marked having too few measurements (Nbad: %d, Ncal: %d, Nmos: %d, Ngrid: %d, Nsys: %d)\n", summary.Ncode, summary.Nfew, summary.Nbad, summary.Ncal, summary.Nmos, summary.Ngrid, summary.Nsys);
+  if (VERBOSE2) fprintf (stderr, "%d stars with no data in photcode, %d stars marked having too few measurements (Nbad: %d, Ncal: %d, Nmos: %d, Ngrp: %d, Ngrid: %d, Nsys: %d)\n", summary.Ncode, summary.Nfew, summary.Nbad, summary.Ncal, summary.Nmos, summary.Ngrp, summary.Ngrid, summary.Nsys);
 
   SetMrelInfoFree (&results);
@@ -336,5 +338,5 @@
     SetMrelInfoAccum (&summary, &results);
   }
-  if (VERBOSE2) fprintf (stderr, "%d stars with no data in photcode, %d stars marked having too few measurements (Nbad: %d, Ncal: %d, Nmos: %d, Ngrid: %d, Nsys: %d)\n", summary.Ncode, summary.Nfew, summary.Nbad, summary.Ncal, summary.Nmos, summary.Ngrid, summary.Nsys);
+  if (VERBOSE2) fprintf (stderr, "%d stars with no data in photcode, %d stars marked having too few measurements (Nbad: %d, Ncal: %d, Nmos: %d, Ngrp: %d, Ngrid: %d, Nsys: %d)\n", summary.Ncode, summary.Nfew, summary.Nbad, summary.Ncal, summary.Nmos, summary.Ngrp, summary.Ngrid, summary.Nsys);
 
   SetMrelInfoFree (&results);
@@ -393,5 +395,5 @@
   // report stats & summary from the threads
   for (i = 0; i < NTHREADS; i++) {
-    if (VERBOSE2) fprintf (stderr, "setMrel thread %d : %d stars with no data in photcode, %d stars marked having too few measurements (Nbad: %d, Ncal: %d, Nmos: %d, Ngrid: %d, Nsys: %d)\n", 
+    if (VERBOSE2) fprintf (stderr, "setMrel thread %d : %d stars with no data in photcode, %d stars marked having too few measurements (Nbad: %d, Ncal: %d, Nmos: %d, Ngrp: %d, Ngrid: %d, Nsys: %d)\n", 
 	     i, 
 	     threadinfo[i].summary.Ncode, 
@@ -400,4 +402,5 @@
 	     threadinfo[i].summary.Ncal, 
 	     threadinfo[i].summary.Nmos, 
+	     threadinfo[i].summary.Ngrp, 
 	     threadinfo[i].summary.Ngrid, 
 	     threadinfo[i].summary.Nsys);
@@ -405,5 +408,5 @@
     SetMrelInfoFree (&threadinfo[i].summary);
   }
-  if (VERBOSE2) fprintf (stderr, "total : %d stars with no data in photcode, %d stars marked having too few measurements (Nbad: %d, Ncal: %d, Nmos: %d, Ngrid: %d, Nsys: %d)\n", summary.Ncode, summary.Nfew, summary.Nbad, summary.Ncal, summary.Nmos, summary.Ngrid, summary.Nsys);
+  if (VERBOSE2) fprintf (stderr, "total : %d stars with no data in photcode, %d stars marked having too few measurements (Nbad: %d, Ncal: %d, Nmos: %d, Ngrp: %d, Ngrid: %d, Nsys: %d)\n", summary.Ncode, summary.Nfew, summary.Nbad, summary.Ncal, summary.Nmos, summary.Ngrp, summary.Ngrid, summary.Nsys);
   free (threadinfo);
 
@@ -488,4 +491,6 @@
 	float Mmos  = getMmos  (m, i);
 	if (isnan(Mmos)) continue;
+	float Mgrp  = getMgrp  (m, i);
+	if (isnan(Mgrp)) continue;
 	float Mgrid = getMgrid (m, i);
 	if (isnan(Mgrid)) continue;
@@ -502,6 +507,7 @@
 
 	// set the output calibration
-	catalog[i].measure[m].McalPSF  = McalPSF  + Mmos + Mgrid;
-	catalog[i].measure[m].McalAPER = useStackAper ? McalAPER + Mmos + Mgrid : McalPSF  + Mmos + Mgrid;
+	float Moff = Mmos + Mgrp + Mgrid;
+	catalog[i].measure[m].McalPSF  = McalPSF + Moff;
+	catalog[i].measure[m].McalAPER = useStackAper ? McalAPER + Moff : McalPSF + Moff;
 
 	if (catalog[i].measureT[m].dbFlags & ID_MEAS_PHOTOM_UBERCAL) {
@@ -662,6 +668,6 @@
   off_t *ilist;
   double *tlist, *list, *dlist;
-  float Msys, Mcal, Mmos, Mgrid;
-  int Ncal, Nmos, Ngrid, Nfew;
+  float Msys, Mcal, Mmos, Mgrp, Mgrid;
+  int Ncal, Nmos, Ngrp, Ngrid, Nfew;
 
   int Nsecfilt = GetPhotcodeNsecfilt ();
@@ -689,5 +695,5 @@
 
   Ndel = Nave = 0;
-  Ncal = Nmos = Ngrid = Nfew = 0;
+  Ncal = Nmos = Ngrp = Ngrid = Nfew = 0;
   for (i = 0; i < Ncatalog; i++) {
     for (j = 0; j < catalog[i].Naverage; j++) {
@@ -724,4 +730,6 @@
 	  Mmos  = getMmos  (m, i);
 	  if (isnan(Mmos)) { Nmos ++; continue; }
+	  Mgrp  = getMgrp  (m, i);
+	  if (isnan(Mgrp)) { Ngrp ++; continue; }
 	  Mgrid = getMgrid (m, i);
 	  if (isnan(Mgrid)) { Ngrid ++; continue; }
