Index: /trunk/psphot/src/psphotChoosePSF.c
===================================================================
--- /trunk/psphot/src/psphotChoosePSF.c	(revision 9566)
+++ /trunk/psphot/src/psphotChoosePSF.c	(revision 9567)
@@ -26,4 +26,14 @@
     bool POISSON_ERRORS = psMetadataLookupBool (&status, recipe, "POISSON_ERRORS");
     if (!status) POISSON_ERRORS = true;
+
+    // how to model the PSF variations across the field
+    // XXX make a default value?  or not?
+    psMetadata *md = psMetadataLookupMetadata (&status, recipe, "PSF.TREND.MASK");
+    psPolynomial2D *psfTrendMask = psPolynomial2DfromMetadata (md);
+    if (!psfTrendMask) {
+	psError(PSPHOT_ERR_PSF, true, "PSF.TREND.MASK is not defined in recipe");
+	return false;
+    }
+
     pmSourceFitModelInit (15, 0.1, POISSON_ERRORS);
 
@@ -68,9 +78,10 @@
         psMetadataItem *item = psListGetAndIncrement (iter);
         modelName = item->data.V;
-        models->data[i] = pmPSFtryModel (stars, modelName, RADIUS, POISSON_ERRORS);
+        models->data[i] = pmPSFtryModel (stars, modelName, RADIUS, POISSON_ERRORS, psfTrendMask);
     }
     psFree (iter);
     psFree (list);
     psFree (stars);
+    psFree (psfTrendMask);
 
     // select the best of the models
