Index: trunk/Ohana/src/opihi/dvo/gstar.c
===================================================================
--- trunk/Ohana/src/opihi/dvo/gstar.c	(revision 38441)
+++ trunk/Ohana/src/opihi/dvo/gstar.c	(revision 38463)
@@ -8,15 +8,22 @@
 
 typedef enum {
+  GSTAR_FILTER_NAMES,
+  GSTAR_SECF_FLAGS,
+  GSTAR_UCDIST,
   GSTAR_AVE_MAG,
   GSTAR_AVE_MAG_ERR,
   GSTAR_AVE_MAG_CHISQ,
-  GSTAR_FILTER_NAMES,
-  GSTAR_SECF_FLAGS,
-  GSTAR_UCDIST,
   GSTAR_AVE_AP_MAG,
+  GSTAR_AVE_AP_MAG_ERR,
+  GSTAR_AVE_AP_MAG_CHISQ,
   GSTAR_AVE_MAG_MIN,
   GSTAR_AVE_MAG_MAX,
   GSTAR_AVE_KRON_MAG,
   GSTAR_AVE_KRON_MAG_ERR,
+  GSTAR_AVE_KRON_MAG_CHISQ,
+  GSTAR_AVE_NCODE,
+  GSTAR_AVE_NUSED,
+  GSTAR_AVE_AP_NUSED,
+  GSTAR_AVE_KRON_NUSED,
   GSTAR_STACK_FLUX_PSF,
   GSTAR_STACK_FLUX_PSF_ERR,
@@ -27,8 +34,11 @@
   GSTAR_WARP_FLUX_PSF,
   GSTAR_WARP_FLUX_PSF_ERR,
+  GSTAR_WARP_FLUX_PSF_CHISQ,
   GSTAR_WARP_FLUX_KRON,
   GSTAR_WARP_FLUX_KRON_ERR,
+  GSTAR_WARP_FLUX_KRON_CHISQ,
   GSTAR_WARP_FLUX_APER,
   GSTAR_WARP_FLUX_APER_ERR,
+  GSTAR_WARP_FLUX_APER_CHISQ,
   GSTAR_STACK_MAG_PSF,
   GSTAR_STACK_MAG_PSF_ERR,
@@ -37,10 +47,19 @@
   GSTAR_STACK_MAG_APER,
   GSTAR_STACK_MAG_APER_ERR,
+  GSTAR_STACK_NUSED,
   GSTAR_WARP_MAG_PSF,
   GSTAR_WARP_MAG_PSF_ERR,
+  GSTAR_WARP_MAG_PSF_CHISQ,
   GSTAR_WARP_MAG_KRON,
   GSTAR_WARP_MAG_KRON_ERR,
+  GSTAR_WARP_MAG_KRON_CHISQ,
   GSTAR_WARP_MAG_APER,
   GSTAR_WARP_MAG_APER_ERR,
+  GSTAR_WARP_MAG_APER_CHISQ,
+  GSTAR_WARP_NWARP,
+  GSTAR_WARP_NWARP_GOOD,
+  GSTAR_WARP_NWARP_USED_PSF,
+  GSTAR_WARP_NWARP_USED_KRON,
+  GSTAR_WARP_NWARP_USED_AP,
 } GSTAR_SECF_CODES;
 
@@ -310,7 +329,7 @@
 	gprint (GP_LOG, "%3d   ",  catalog.average[k].Nmeasure);
 	gprint (GP_LOG, "%4.1f ",  catalog.average[k].ChiSqAve);
-	gprint (GP_LOG, "%5x ",    catalog.average[k].flags);
-	gprint (GP_LOG, "%x ",     catalog.average[k].objID);
-	gprint (GP_LOG, "%x ",     catalog.average[k].catID);
+	gprint (GP_LOG, "0x%08x ", catalog.average[k].flags);
+	gprint (GP_LOG, "0x%08x ", catalog.average[k].objID);
+	gprint (GP_LOG, "0x%08x ", catalog.average[k].catID);
 	
 	if (FULL_OUTPUT) {
@@ -344,4 +363,16 @@
 	gprint (GP_LOG, "\n");
 
+	if (EXTRA_OUTPUT) {
+	  /* Mmin */
+	  gprint (GP_LOG, "chp_psf_min: ");
+	  for (j = 0; j < Nsecfilt; j++) printPhotcodeSequence (&catalog.average[k], &catalog.secfilt[Nsecfilt*k], j, GSTAR_AVE_MAG_MIN);
+	  gprint (GP_LOG, "\n");
+
+	  /* Mmax */
+	  gprint (GP_LOG, "chp_psf_max: ");
+	  for (j = 0; j < Nsecfilt; j++) printPhotcodeSequence (&catalog.average[k], &catalog.secfilt[Nsecfilt*k], j, GSTAR_AVE_MAG_MAX);;
+	  gprint (GP_LOG, "\n");
+	}
+
 	/* average mag errors */
 	gprint (GP_LOG, "chp_psf_err: ");
@@ -354,4 +385,13 @@
 	gprint (GP_LOG, "\n");
 
+	/* average mag Ncode */
+	gprint (GP_LOG, "chp_Ncode:   ");
+	for (j = 0; j < Nsecfilt; j++) printPhotcodeSequence (&catalog.average[k], &catalog.secfilt[Nsecfilt*k], j, GSTAR_AVE_NCODE);
+	gprint (GP_LOG, "\n");
+	
+	/* average mag Nused */
+	gprint (GP_LOG, "chp_Nused:   ");
+	for (j = 0; j < Nsecfilt; j++) printPhotcodeSequence (&catalog.average[k], &catalog.secfilt[Nsecfilt*k], j, GSTAR_AVE_NUSED);
+	gprint (GP_LOG, "\n");
 	
 	if (APER_OUTPUT) {
@@ -360,4 +400,17 @@
 	  for (j = 0; j < Nsecfilt; j++) printPhotcodeSequence (&catalog.average[k], &catalog.secfilt[Nsecfilt*k], j, GSTAR_AVE_AP_MAG);
 	  gprint (GP_LOG, "\n");
+
+	  gprint (GP_LOG, "chp_ap__err: ");
+	  for (j = 0; j < Nsecfilt; j++) printPhotcodeSequence (&catalog.average[k], &catalog.secfilt[Nsecfilt*k], j, GSTAR_AVE_AP_MAG_ERR);
+	  gprint (GP_LOG, "\n");
+
+	  gprint (GP_LOG, "chp_ap__chi: ");
+	  for (j = 0; j < Nsecfilt; j++) printPhotcodeSequence (&catalog.average[k], &catalog.secfilt[Nsecfilt*k], j, GSTAR_AVE_AP_MAG_CHISQ);
+	  gprint (GP_LOG, "\n");
+
+	  /* average mag Nused */
+	  gprint (GP_LOG, "chp_ap__N:   ");
+	  for (j = 0; j < Nsecfilt; j++) printPhotcodeSequence (&catalog.average[k], &catalog.secfilt[Nsecfilt*k], j, GSTAR_AVE_AP_NUSED);
+	  gprint (GP_LOG, "\n");
 	}
 
@@ -372,27 +425,15 @@
 	  for (j = 0; j < Nsecfilt; j++) printPhotcodeSequence (&catalog.average[k], &catalog.secfilt[Nsecfilt*k], j, GSTAR_AVE_KRON_MAG_ERR);
 	  gprint (GP_LOG, "\n");
+
+	  gprint (GP_LOG, "chp_krn_chi: ");
+	  for (j = 0; j < Nsecfilt; j++) printPhotcodeSequence (&catalog.average[k], &catalog.secfilt[Nsecfilt*k], j, GSTAR_AVE_KRON_MAG_CHISQ);
+	  gprint (GP_LOG, "\n");
+
+	  /* average mag Nused */
+	  gprint (GP_LOG, "chp_krn_N:   ");
+	  for (j = 0; j < Nsecfilt; j++) printPhotcodeSequence (&catalog.average[k], &catalog.secfilt[Nsecfilt*k], j, GSTAR_AVE_KRON_NUSED);
+	  gprint (GP_LOG, "\n");
 	} 
 
-	if (EXTRA_OUTPUT) {
-	  /* Mmin */
-	  gprint (GP_LOG, "chp_psf_min: ");
-	  for (j = 0; j < Nsecfilt; j++) printPhotcodeSequence (&catalog.average[k], &catalog.secfilt[Nsecfilt*k], j, GSTAR_AVE_MAG_MIN);
-	  gprint (GP_LOG, "\n");
-
-	  /* Mmax */
-	  gprint (GP_LOG, "chp_psf_max: ");
-	  for (j = 0; j < Nsecfilt; j++) printPhotcodeSequence (&catalog.average[k], &catalog.secfilt[Nsecfilt*k], j, GSTAR_AVE_MAG_MAX);;
-	  gprint (GP_LOG, "\n");
-
-	  /* UCDIST */
-	  gprint (GP_LOG, "ubercal_dst: ");
-	  for (j = 0; j < Nsecfilt; j++) printPhotcodeSequence (&catalog.average[k], &catalog.secfilt[Nsecfilt*k], j, GSTAR_UCDIST);;
-	  gprint (GP_LOG, "\n");
-
-	  /* secfilt flags */
-	  gprint (GP_LOG, "filtflags:   ");
-	  for (j = 0; j < Nsecfilt; j++) printPhotcodeSequence (&catalog.average[k], &catalog.secfilt[Nsecfilt*k], j, GSTAR_SECF_FLAGS);
-	  gprint (GP_LOG, "\n");
-	}
 	if (STACK_OUTPUT && MAG_OUTPUT) {
 	  /* FluxPSF */
@@ -406,4 +447,10 @@
 	  gprint (GP_LOG, "\n");
   
+	  if (!FLUX_OUTPUT) {
+	    gprint (GP_LOG, "stk_Nstack: ");
+	    for (j = 0; j < Nsecfilt; j++) printPhotcodeSequence (&catalog.average[k], &catalog.secfilt[Nsecfilt*k], j, GSTAR_STACK_NUSED);
+	    gprint (GP_LOG, "\n");
+	  }
+
 	  if (KRON_OUTPUT) {
 	    /* MagKron */
@@ -441,4 +488,22 @@
 	  gprint (GP_LOG, "\n");
   
+	  gprint (GP_LOG, "wrp_psf_chi: ");
+	  for (j = 0; j < Nsecfilt; j++) printPhotcodeSequence (&catalog.average[k], &catalog.secfilt[Nsecfilt*k], j, GSTAR_WARP_MAG_PSF_CHISQ);
+	  gprint (GP_LOG, "\n");
+  
+	  if (!FLUX_OUTPUT) {
+	    gprint (GP_LOG, "wrp_Nwarp:   ");
+	    for (j = 0; j < Nsecfilt; j++) printPhotcodeSequence (&catalog.average[k], &catalog.secfilt[Nsecfilt*k], j, GSTAR_WARP_NWARP);
+	    gprint (GP_LOG, "\n");
+	    
+	    gprint (GP_LOG, "wrp_NGood:   ");
+	    for (j = 0; j < Nsecfilt; j++) printPhotcodeSequence (&catalog.average[k], &catalog.secfilt[Nsecfilt*k], j, GSTAR_WARP_NWARP_GOOD);
+	    gprint (GP_LOG, "\n");
+
+	    gprint (GP_LOG, "wrp_NUsed:   ");
+	    for (j = 0; j < Nsecfilt; j++) printPhotcodeSequence (&catalog.average[k], &catalog.secfilt[Nsecfilt*k], j, GSTAR_WARP_NWARP_USED_PSF);
+	    gprint (GP_LOG, "\n");
+	  }
+	  
 	  if (KRON_OUTPUT) {
 	    /* MagKron */
@@ -452,6 +517,16 @@
 	    gprint (GP_LOG, "\n");
 
+	    /* dMagKron */
+	    gprint (GP_LOG, "wrp_krn_chp: ");
+	    for (j = 0; j < Nsecfilt; j++) printPhotcodeSequence (&catalog.average[k], &catalog.secfilt[Nsecfilt*k], j, GSTAR_WARP_MAG_KRON_CHISQ);
+	    gprint (GP_LOG, "\n");
+
+	    if (!FLUX_OUTPUT) {
+	      gprint (GP_LOG, "wrp_krn_Nuse:");
+	      for (j = 0; j < Nsecfilt; j++) printPhotcodeSequence (&catalog.average[k], &catalog.secfilt[Nsecfilt*k], j, GSTAR_WARP_NWARP_USED_KRON);
+	      gprint (GP_LOG, "\n");
+	    }
 	  }
-
+	  
 	  if (APER_OUTPUT) {
 	    /* MagAper */
@@ -464,4 +539,15 @@
 	    for (j = 0; j < Nsecfilt; j++) printPhotcodeSequence (&catalog.average[k], &catalog.secfilt[Nsecfilt*k], j, GSTAR_WARP_MAG_APER_ERR);
 	    gprint (GP_LOG, "\n");
+
+	    /* dMagAper */
+	    gprint (GP_LOG, "wrp_ap__chi: ");
+	    for (j = 0; j < Nsecfilt; j++) printPhotcodeSequence (&catalog.average[k], &catalog.secfilt[Nsecfilt*k], j, GSTAR_WARP_MAG_APER_CHISQ);
+	    gprint (GP_LOG, "\n");
+
+	    if (!FLUX_OUTPUT) {
+	      gprint (GP_LOG, "wrp_ap_Nuse: ");
+	      for (j = 0; j < Nsecfilt; j++) printPhotcodeSequence (&catalog.average[k], &catalog.secfilt[Nsecfilt*k], j, GSTAR_WARP_NWARP_USED_AP);
+	      gprint (GP_LOG, "\n");
+	    }
 	  }
 	}
@@ -491,13 +577,17 @@
 	  if (APER_OUTPUT) {
 	    /* FluxAper */
-	    gprint (GP_LOG, "stk_ap_ave: ");
+	    gprint (GP_LOG, "stk_ap_ave:  ");
 	    for (j = 0; j < Nsecfilt; j++) printPhotcodeSequence (&catalog.average[k], &catalog.secfilt[Nsecfilt*k], j, GSTAR_STACK_FLUX_APER);
 	    gprint (GP_LOG, "\n");
   
 	    /* dFluxAper */
-	    gprint (GP_LOG, "stk_ap_err: ");
+	    gprint (GP_LOG, "stk_ap_err:  ");
 	    for (j = 0; j < Nsecfilt; j++) printPhotcodeSequence (&catalog.average[k], &catalog.secfilt[Nsecfilt*k], j, GSTAR_STACK_FLUX_APER_ERR);
 	    gprint (GP_LOG, "\n");
 	  }
+
+	  gprint (GP_LOG, "stk_Nstack:  ");
+	  for (j = 0; j < Nsecfilt; j++) printPhotcodeSequence (&catalog.average[k], &catalog.secfilt[Nsecfilt*k], j, GSTAR_STACK_NUSED);
+	  gprint (GP_LOG, "\n");
 	}
 	if (WARP_OUTPUT && FLUX_OUTPUT) {
@@ -508,8 +598,24 @@
   
 	  /* dFluxPSF */
-	  gprint (GP_LOG, "wrp_psf_ave: ");
+	  gprint (GP_LOG, "wrp_psf_err: ");
 	  for (j = 0; j < Nsecfilt; j++) printPhotcodeSequence (&catalog.average[k], &catalog.secfilt[Nsecfilt*k], j, GSTAR_WARP_FLUX_PSF_ERR);
 	  gprint (GP_LOG, "\n");
   
+	  gprint (GP_LOG, "wrp_psf_chi: ");
+	  for (j = 0; j < Nsecfilt; j++) printPhotcodeSequence (&catalog.average[k], &catalog.secfilt[Nsecfilt*k], j, GSTAR_WARP_FLUX_PSF_CHISQ);
+	  gprint (GP_LOG, "\n");
+  
+	  gprint (GP_LOG, "wrp_Nwarp:   ");
+	  for (j = 0; j < Nsecfilt; j++) printPhotcodeSequence (&catalog.average[k], &catalog.secfilt[Nsecfilt*k], j, GSTAR_WARP_NWARP);
+	  gprint (GP_LOG, "\n");
+	  
+	  gprint (GP_LOG, "wrp_NGood:   ");
+	  for (j = 0; j < Nsecfilt; j++) printPhotcodeSequence (&catalog.average[k], &catalog.secfilt[Nsecfilt*k], j, GSTAR_WARP_NWARP_GOOD);
+	  gprint (GP_LOG, "\n");
+
+	  gprint (GP_LOG, "wrp_NUsed:   ");
+	  for (j = 0; j < Nsecfilt; j++) printPhotcodeSequence (&catalog.average[k], &catalog.secfilt[Nsecfilt*k], j, GSTAR_WARP_NWARP_USED_PSF);
+	  gprint (GP_LOG, "\n");
+
 	  if (KRON_OUTPUT) {
 	    /* FluxKron */
@@ -522,4 +628,12 @@
 	    for (j = 0; j < Nsecfilt; j++) printPhotcodeSequence (&catalog.average[k], &catalog.secfilt[Nsecfilt*k], j, GSTAR_WARP_FLUX_KRON_ERR);
 	    gprint (GP_LOG, "\n");
+
+	    gprint (GP_LOG, "wrp_krn_chi: ");
+	    for (j = 0; j < Nsecfilt; j++) printPhotcodeSequence (&catalog.average[k], &catalog.secfilt[Nsecfilt*k], j, GSTAR_WARP_FLUX_KRON_CHISQ);
+	    gprint (GP_LOG, "\n");
+
+	    gprint (GP_LOG, "wrp_krn_Nuse:");
+	    for (j = 0; j < Nsecfilt; j++) printPhotcodeSequence (&catalog.average[k], &catalog.secfilt[Nsecfilt*k], j, GSTAR_WARP_NWARP_USED_KRON);
+	    gprint (GP_LOG, "\n");
 	  }
 
@@ -534,7 +648,27 @@
 	    for (j = 0; j < Nsecfilt; j++) printPhotcodeSequence (&catalog.average[k], &catalog.secfilt[Nsecfilt*k], j, GSTAR_WARP_FLUX_APER_ERR);
 	    gprint (GP_LOG, "\n");
+
+	    gprint (GP_LOG, "wrp_ap__chi: ");
+	    for (j = 0; j < Nsecfilt; j++) printPhotcodeSequence (&catalog.average[k], &catalog.secfilt[Nsecfilt*k], j, GSTAR_WARP_FLUX_APER_CHISQ);
+	    gprint (GP_LOG, "\n");
+
+	    gprint (GP_LOG, "wrp_ap_Nuse: ");
+	    for (j = 0; j < Nsecfilt; j++) printPhotcodeSequence (&catalog.average[k], &catalog.secfilt[Nsecfilt*k], j, GSTAR_WARP_NWARP_USED_AP);
+	    gprint (GP_LOG, "\n");
 	  }
 	}
-      }
+	if (EXTRA_OUTPUT) {
+	  /* secfilt flags */
+	  gprint (GP_LOG, "filtflags:   ");
+	  for (j = 0; j < Nsecfilt; j++) printPhotcodeSequence (&catalog.average[k], &catalog.secfilt[Nsecfilt*k], j, GSTAR_SECF_FLAGS);
+	  gprint (GP_LOG, "\n");
+
+	  /* UCDIST */
+	  gprint (GP_LOG, "ubercal_dst: ");
+	  for (j = 0; j < Nsecfilt; j++) printPhotcodeSequence (&catalog.average[k], &catalog.secfilt[Nsecfilt*k], j, GSTAR_UCDIST);;
+	  gprint (GP_LOG, "\n");
+	}
+      }
+
       gprint (GP_LOG, "\n");
       
@@ -626,4 +760,5 @@
 	      gprint (GP_LOG, "0x%08x ", catalog.measure[Nv].imageID);
 	      gprint (GP_LOG, "%5.3f ", catalog.measure[Nv].psfQF);
+	      gprint (GP_LOG, "%5.3f ", catalog.measure[Nv].psfQFperf);
 	      gprint (GP_LOG, "%7.1f ", catalog.measure[Nv].psfChisq);
 	      // gprint (GP_LOG, "%3.1f ", catalog.measure[Nv].crNsigma);
@@ -636,4 +771,6 @@
 	      gprint (GP_LOG, "%10.3e ", catalog.measure[Nv].FluxKron);
 	      gprint (GP_LOG, "%10.3e ", catalog.measure[Nv].dFluxKron);
+	      gprint (GP_LOG, "%10.3e ", catalog.measure[Nv].FluxAp);
+	      gprint (GP_LOG, "%10.3e ", catalog.measure[Nv].dFluxAp);
 	    }
 	    gprint (GP_LOG, "\n");
@@ -688,12 +825,12 @@
 void print_double (double value) {
   if (isnan(value)) 
-    gprint (GP_LOG, "  NaN    ");
+    gprint (GP_LOG, "       NaN ");
   else 
-    gprint (GP_LOG, "  %6.3f ", value);
+    gprint (GP_LOG, "   %7.4f ", value);
 }
 
 void print_double_exp (double value) {
   if (isnan(value)) 
-    gprint (GP_LOG, "  NaN    ");
+    gprint (GP_LOG, "       NaN ");
   else 
     gprint (GP_LOG, "%10.3e ", value);
@@ -702,7 +839,7 @@
 void print_short (double value, short int ival) {
   if (ival == NAN_S_SHORT) 
-    gprint (GP_LOG, "  NaN    ");
+    gprint (GP_LOG, "       NaN ");
   else 
-    gprint (GP_LOG, "  %6.3f ", value);
+    gprint (GP_LOG, "   %7.4f ", value);
 }
 
@@ -763,5 +900,5 @@
 	print_double (NAN);
       } else {
-	print_double (secfilt[seq].Mchisq);
+	print_double_exp (secfilt[seq].Mchisq);
       }
       break;
@@ -769,12 +906,12 @@
     case GSTAR_FILTER_NAMES: /* filter names */
       code = GetPhotcodebyNsec (seq);
-      gprint (GP_LOG, "  %-6s ", code[0].name);
+      gprint (GP_LOG, "%10s ", code[0].name);
       break;
 
     case GSTAR_SECF_FLAGS: /* secfilt flags */
       if (seq == -1) {
-	gprint (GP_LOG, "%08x ", 0);
-      } else {
-	gprint (GP_LOG, "%08x ", secfilt[seq].flags);
+	gprint (GP_LOG, "0x%08x ", 0);
+      } else {
+	gprint (GP_LOG, "0x%08x ", secfilt[seq].flags);
       }
       break;
@@ -782,7 +919,39 @@
     case GSTAR_UCDIST: /* ubercal distance */
       if (seq == -1) {
-	gprint (GP_LOG, "%5d ", 0);
-      } else {
-	gprint (GP_LOG, "%5d ", secfilt[seq].ubercalDist);
+	gprint (GP_LOG, "%10d ", 0);
+      } else {
+	gprint (GP_LOG, "%10d ", secfilt[seq].ubercalDist);
+      }
+      break;
+
+    case GSTAR_AVE_NCODE: /* Ncode */
+      if (seq == -1) {
+	gprint (GP_LOG, "%10d ", 0);
+      } else {
+	gprint (GP_LOG, "%10d ", secfilt[seq].Ncode);
+      }
+      break;
+
+    case GSTAR_AVE_NUSED: /* Nused */
+      if (seq == -1) {
+	gprint (GP_LOG, "%10d ", 0);
+      } else {
+	gprint (GP_LOG, "%10d ", secfilt[seq].Nused);
+      }
+      break;
+
+    case GSTAR_AVE_KRON_NUSED: /* Nused */
+      if (seq == -1) {
+	gprint (GP_LOG, "%10d ", 0);
+      } else {
+	gprint (GP_LOG, "%10d ", secfilt[seq].NusedKron);
+      }
+      break;
+
+    case GSTAR_AVE_AP_NUSED: /* Nused */
+      if (seq == -1) {
+	gprint (GP_LOG, "%10d ", 0);
+      } else {
+	gprint (GP_LOG, "%10d ", secfilt[seq].NusedAp);
       }
       break;
@@ -814,4 +983,20 @@
       break;
 
+    case GSTAR_AVE_AP_MAG_ERR: /* average ap mags */
+      if (seq == -1) {
+	print_double (NAN);
+      } else {
+	print_double (secfilt[seq].dMap);
+      }
+      break;
+
+    case GSTAR_AVE_AP_MAG_CHISQ: /* average ap mags */
+      if (seq == -1) {
+	print_double (NAN);
+      } else {
+	print_double_exp (secfilt[seq].sMap);
+      }
+      break;
+
     case GSTAR_AVE_KRON_MAG: /* average ap mags */
       if (seq == -1) {
@@ -830,4 +1015,12 @@
       break;
 
+    case GSTAR_AVE_KRON_MAG_CHISQ: /* average ap mags */
+      if (seq == -1) {
+	print_double (NAN);
+      } else {
+	print_double_exp (secfilt[seq].sMkron);
+      }
+      break;
+
       /******************* STACK : FLUX **********************/
 
@@ -880,4 +1073,12 @@
       break;
 
+    case GSTAR_STACK_NUSED: /* Nused */
+      if (seq == -1) {
+	gprint (GP_LOG, "%10d ", 0);
+      } else {
+	gprint (GP_LOG, "%10d ", secfilt[seq].Nstack);
+      }
+      break;
+
       /******************* STACK : MAG **********************/
 
@@ -948,4 +1149,12 @@
       break;
 
+    case GSTAR_WARP_FLUX_PSF_CHISQ: /* average ap mags */
+      if (seq == -1) {
+	print_double (NAN);
+      } else {
+	print_double_exp (secfilt[seq].sFpsfWrp);
+      }
+      break;
+
     case GSTAR_WARP_FLUX_KRON: /* average ap mags */
       if (seq == -1) {
@@ -964,4 +1173,12 @@
       break;
 
+    case GSTAR_WARP_FLUX_KRON_CHISQ: /* average ap mags */
+      if (seq == -1) {
+	print_double (NAN);
+      } else {
+	print_double_exp (secfilt[seq].sFkronWrp);
+      }
+      break;
+
     case GSTAR_WARP_FLUX_APER: /* average ap mags */
       if (seq == -1) {
@@ -980,4 +1197,12 @@
       break;
 
+    case GSTAR_WARP_FLUX_APER_CHISQ: /* average ap mags */
+      if (seq == -1) {
+	print_double_exp (NAN);
+      } else {
+	print_double_exp (secfilt[seq].sFapWrp);
+      }
+      break;
+
       /******************* WARP : MAG **********************/
 
@@ -998,4 +1223,12 @@
       break;
 
+    case GSTAR_WARP_MAG_PSF_CHISQ: /* average ap mags */
+      if (seq == -1) {
+	print_double_exp (NAN);
+      } else {
+	print_double_exp (secfilt[seq].sFpsfWrp);
+      }
+      break;
+
     case GSTAR_WARP_MAG_KRON: /* average ap mags */
       if (seq == -1) {
@@ -1014,4 +1247,12 @@
       break;
 
+    case GSTAR_WARP_MAG_KRON_CHISQ: /* average ap mags */
+      if (seq == -1) {
+	print_double_exp (NAN);
+      } else {
+	print_double_exp (secfilt[seq].sFkronWrp);
+      }
+      break;
+
     case GSTAR_WARP_MAG_APER: /* average ap mags */
       if (seq == -1) {
@@ -1030,4 +1271,51 @@
       break;
 
+    case GSTAR_WARP_MAG_APER_CHISQ: /* average ap mags */
+      if (seq == -1) {
+	print_double_exp (NAN);
+      } else {
+	print_double_exp (secfilt[seq].sFapWrp);
+      }
+      break;
+
+    case GSTAR_WARP_NWARP: /* Nused */
+      if (seq == -1) {
+	gprint (GP_LOG, "%10d ", 0);
+      } else {
+	gprint (GP_LOG, "%10d ", secfilt[seq].Nwarp);
+      }
+      break;
+
+    case GSTAR_WARP_NWARP_GOOD: /* Nused */
+      if (seq == -1) {
+	gprint (GP_LOG, "%10d ", 0);
+      } else {
+	gprint (GP_LOG, "%10d ", secfilt[seq].NwarpGood);
+      }
+      break;
+
+    case GSTAR_WARP_NWARP_USED_PSF: /* Nused */
+      if (seq == -1) {
+	gprint (GP_LOG, "%10d ", 0);
+      } else {
+	gprint (GP_LOG, "%10d ", secfilt[seq].NusedWrp);
+      }
+      break;
+
+    case GSTAR_WARP_NWARP_USED_KRON: /* Nused */
+      if (seq == -1) {
+	gprint (GP_LOG, "%10d ", 0);
+      } else {
+	gprint (GP_LOG, "%10d ", secfilt[seq].NusedKronWrp);
+      }
+      break;
+
+    case GSTAR_WARP_NWARP_USED_AP: /* Nused */
+      if (seq == -1) {
+	gprint (GP_LOG, "%10d ", 0);
+      } else {
+	gprint (GP_LOG, "%10d ", secfilt[seq].NusedApWrp);
+      }
+      break;
   }
 }
