Index: trunk/psphot/src/psphotApResid.c
===================================================================
--- trunk/psphot/src/psphotApResid.c	(revision 6715)
+++ trunk/psphot/src/psphotApResid.c	(revision 6753)
@@ -17,5 +17,5 @@
     // measure the aperture loss as a function of radius for PSF
     float REF_RADIUS = psMetadataLookupF32 (&status, config, "PSF_REF_RADIUS");
-    psf->growth = pmGrowthCurveAlloc (3.0, REF_RADIUS, 0.1);
+    psf->growth = pmGrowthCurveAlloc (3.0, 50.0, REF_RADIUS);
     psphotGrowthCurve (readout, psf);
     
@@ -43,16 +43,17 @@
 	if (source->moments->SN < 2*FIT_SN_LIM) continue;
 
-	// get uncorrected magnitudes in scaled apertures
-	model = pmSourceMagnitudes (source, NULL, 0);
+	// get growth-corrected, apTrend-uncorrected magnitudes in scaled apertures
+	model = pmSourceMagnitudes (source, psf, true, false);
 	if (model == NULL) continue;
 
+	apResid->data.F64[Npsf] = source->apMag - source->psfMag;
+
+	xPos->data.F64[Npsf]    = model->params->data.F32[2];
+	yPos->data.F64[Npsf]    = model->params->data.F32[3];
+
+	flux->data.F64[Npsf]    = pow(10.0, -0.4*source->psfMag);
+	r2rflux->data.F64[Npsf] = PS_SQR(model->radiusTMP) / flux->data.F64[Npsf];
+
 	mask->data.U8[Npsf] = 0;
-	xPos->data.F64[Npsf] = model->params->data.F32[2];
-	yPos->data.F64[Npsf] = model->params->data.F32[3];
-
-	flux->data.F64[Npsf] = pow(10.0, -0.4*source->psfMag);
-	r2rflux->data.F64[Npsf] = PS_SQR(model->radius) / flux->data.F64[Npsf];
-	
-	apResid->data.F64[Npsf] = source->apMag + pmGrowthCurveCorrect (psf->growth, model->radius) - source->psfMag;
 
 	// XXX sanity clip?
@@ -83,4 +84,10 @@
     stats->max = 3.0;
 
+    // no correction
+    if (!strcasecmp (ApTrendOption, "NONE")) { 
+	// remove ApTrend fit from pmPSFtry
+	psf->ApTrend->coeff[0][0][0][0] = 0;
+    }
+
     // constant only
     if (!strcasecmp (ApTrendOption, "CONSTANT")) {
@@ -202,5 +209,5 @@
     psVector *resid = (psVector *) psBinaryOp (NULL, (void *) apResid, "-", (void *) fit);
 
-# if (0)
+# if (1)
     FILE *fout = fopen ("resid.dat", "w");
     for (int i = 0; i < resid->n; i++) {
@@ -241,5 +248,5 @@
 
     psLogMsg ("psphot.apresid", 3, "measure full-frame aperture residual: %f sec\n", psTimerMark ("psphot"));
-    psLogMsg ("psphot.apresid", 4, "aperture residual: %f +/- %f : %f bias\n", psf->ApResid, psf->dApResid, psf->skyBias);
+    psLogMsg ("psphot.apresid", 4, "aperture residual: %f +/- %f : %f bias, %f skysat\n", psf->ApResid, psf->dApResid, psf->skyBias, psf->skySat);
     psLogMsg ("psphot.apresid", 4, "apresid trends: %f %f %f %f %f\n", 
 	      1e3*psf->ApTrend->coeff[1][0][0][0],
