Index: trunk/ippconfig/gpc1/ppStack.config
===================================================================
--- trunk/ippconfig/gpc1/ppStack.config	(revision 31673)
+++ trunk/ippconfig/gpc1/ppStack.config	(revision 31674)
@@ -27,4 +27,7 @@
     OUTPUT.NOCOMP   BOOL    TRUE
     OUTPUT.LOGFLUX  BOOL    FALSE
+
+    PSF.INPUT.MAX           F32  7.5
+    PSF.INPUT.CLIP.NSIGMA   F32  5.0
 END
 
Index: trunk/ippconfig/isp/psastro.config
===================================================================
--- trunk/ippconfig/isp/psastro.config	(revision 31673)
+++ trunk/ippconfig/isp/psastro.config	(revision 31674)
@@ -10,4 +10,7 @@
 PSASTRO.GRID.DEL.ANGLE F32  0.5
 PSASTRO.GRID.MIN.SIGMA F32  5.0
+
+PSASTRO.PLOT.INST.MAG.MAX F32 -6.0
+PSASTRO.PLOT.INST.MAG.MIN F32 -17.0
 
 # pmAstromGridAngle
@@ -44,5 +47,5 @@
 # these tweak are in FP units (pixels, currently)
 PSASTRO.TWEAK.SCALE     F32      1
-PSASTRO.TWEAK.RANGE     F32     75
+PSASTRO.TWEAK.RANGE     F32      2
 PSASTRO.TWEAK.SMOOTH    F32      2
 PSASTRO.TWEAK.NSIGMA    F32      3
@@ -50,4 +53,16 @@
 # match radius in pixels for CHIP astrometry
 PSASTRO.MATCH.RADIUS   F32    5
+
+# single-chip radius match in pixels
+PSASTRO.MATCH.RADIUS   F32    15
+PSASTRO.MATCH.RADIUS.N0 F32   15
+PSASTRO.MATCH.RADIUS.N1 F32   10
+PSASTRO.MATCH.RADIUS.N2 F32   15
+PSASTRO.MATCH.RADIUS.N3 F32   0
+PSASTRO.MATCH.RADIUS.N4 F32   0
+PSASTRO.MATCH.RADIUS.N5 F32   0
+PSASTRO.MATCH.RADIUS.N6 F32   0
+PSASTRO.MATCH.RADIUS.N7 F32   0
+PSASTRO.MATCH.FIT.NITER S32   1
 
 # pmAstromMatchFit
@@ -62,9 +77,6 @@
 #MAG_MAX                F32      10
 PSASTRO.CATDIR         STR      SYNTH.BRIGHT
-PSASTRO.MATCH.LUMFUNC  BOOL     TRUE
+PSASTRO.MATCH.LUMFUNC  BOOL     FALSE
 PSASTRO.IGNORE	       STR	SATURATED, DEFECT, SATSTAR, BLEND,FAIL
-
-
-
 
 PHOTCODE.DATA MULTI  #these are the zeropoints calculated by hand (10 stars)
Index: trunk/ippconfig/megacam/format_mef.config
===================================================================
--- trunk/ippconfig/megacam/format_mef.config	(revision 31673)
+++ trunk/ippconfig/megacam/format_mef.config	(revision 31674)
@@ -107,4 +107,5 @@
 	FPA.TEMP	STR	DETTEM
 	FPA.EXPOSURE	STR	EXPTIME
+	FPA.ZP		STR	ZPT_OBS
 	CHIP.TEMP	STR	DETTEM
         CELL.EXPOSURE   STR     EXPTIME
Index: trunk/ippconfig/megacam/psastro.config
===================================================================
--- trunk/ippconfig/megacam/psastro.config	(revision 31673)
+++ trunk/ippconfig/megacam/psastro.config	(revision 31674)
@@ -23,10 +23,10 @@
 
 PSASTRO.GRID.MIN.SCALE F32  0.96
-PSASTRO.GRID.MAX.SCALE F32  1.00
+PSASTRO.GRID.MAX.SCALE F32  1.04
 PSASTRO.GRID.DEL.SCALE F32  0.02
 
 # these tweak are in FP units (pixels, currently)
 PSASTRO.TWEAK.SCALE     F32      1
-PSASTRO.TWEAK.RANGE     F32     75
+PSASTRO.TWEAK.RANGE     F32      2
 PSASTRO.TWEAK.SMOOTH    F32      2
 PSASTRO.TWEAK.NSIGMA    F32      3
@@ -44,4 +44,7 @@
 PSASTRO.MIN.INST.MAG.RAW       F32      -17.0  # min instrumental magnitude for stars accepted for fitting
 PSASTRO.MAX.INST.MAG.RAW       F32      -11.0  # max instrumental magnitude for stars accepted for fitting
+PSASTRO.GRID.MIN.INST.MAG.RAW  F32      -17.0  # min instrumental magnitude for stars accepted for grid search
+PSASTRO.GRID.MAX.INST.MAG.RAW  F32      -10.0  # max instrumental magnitude for stars accepted for grid search
+PSASTRO.GRID.MIN.SIGMA F32  4.0
 
 PSASTRO.MAX.ERROR      F32      10.0 # max error in pixels
@@ -94,4 +97,42 @@
 END
 
+# use this recipe to set a tight constraint
+PSASTRO_COARSE METADATA
+  PSASTRO.GRID.SCALE          F32     50.0
+  PSASTRO.TWEAK.RANGE         F32      1.0
+
+  DVO.GETSTAR.MIN.MAG         F32     10.0
+  DVO.GETSTAR.MAX.RHO         F32  12000.0
+
+  PSASTRO.MAX.INST.MAG.RAW       F32 -9.0  # max instrumental magnitude for stars accepted for fitting
+  PSASTRO.GRID.MAX.INST.MAG.RAW  F32 -9.0  # max instrumental magnitude for stars accepted for grid search
+
+  PSASTRO.GRID.MIN.SIGMA      F32    4.0
+
+  PSASTRO.MATCH.FIT.NITER S32   4
+  PSASTRO.MATCH.RADIUS.N0 F32   60.0
+  PSASTRO.MATCH.RADIUS.N1 F32   30.0
+  PSASTRO.MATCH.RADIUS.N2 F32   15.0
+  PSASTRO.MATCH.RADIUS.N3 F32    8.0
+
+  PSASTRO.MOSAIC.MAX.ERROR.N0 F32    0.0 # max allow error for valid solution (arcsec)
+  PSASTRO.MOSAIC.MAX.ERROR.N1 F32    0.0 # max allow error for valid solution (arcsec)
+  PSASTRO.MOSAIC.MAX.ERROR.N2 F32    0.0 # max allow error for valid solution (arcsec)
+  PSASTRO.MOSAIC.MAX.ERROR.N3 F32    0.0 # max allow error for valid solution (arcsec)
+  PSASTRO.MOSAIC.MAX.ERROR.N3 F32    2.0 # max allow error for valid solution (arcsec)
+
+  PSASTRO.MOSAIC.RADIUS.N0    F32   60.0
+  PSASTRO.MOSAIC.RADIUS.N1    F32   30.0
+  PSASTRO.MOSAIC.RADIUS.N2    F32   15.0
+  PSASTRO.MOSAIC.RADIUS.N3    F32    8.0
+  PSASTRO.MOSAIC.RADIUS.N4    F32    4.0
+
+  PSASTRO.MOSAIC.CHIP.ORDER.N0  S32      0 # fit order (-1 means use default)
+  PSASTRO.MOSAIC.CHIP.ORDER.N1  S32      1 # fit order (-1 means use default)
+  PSASTRO.MOSAIC.CHIP.ORDER.N2  S32      1 # fit order (-1 means use default)
+  PSASTRO.MOSAIC.CHIP.ORDER.N3  S32      1 # fit order (-1 means use default)
+  PSASTRO.MOSAIC.CHIP.ORDER.N4  S32      1 # fit order (-1 means use default)
+END
+
 PSASTRO.CATDIR              STR      SYNTH.GRIZY
 DVO.GETSTAR.MAX.RHO         F32      3000.0
@@ -103,25 +144,32 @@
 PHOTCODE.DATA METADATA
   FILTER   STR u
-  ZEROPT   F32 25.28
-  PHOTCODE STR g_SYNTH
+  ZEROPT   F32 23.6
+  PHOTCODE STR g
 END
 PHOTCODE.DATA METADATA
   FILTER   STR g
   ZEROPT   F32 26.46
-  PHOTCODE STR g_SYNTH
+  PHOTCODE STR g
 END
 PHOTCODE.DATA METADATA
   FILTER   STR r
   ZEROPT   F32 25.98
-  PHOTCODE STR r_SYNTH
+  PHOTCODE STR r
 END
 PHOTCODE.DATA METADATA
   FILTER   STR i
   ZEROPT   F32 25.74
-  PHOTCODE STR i_SYNTH
+  PHOTCODE STR i
 END
 PHOTCODE.DATA METADATA
   FILTER   STR z
   ZEROPT   F32 24.80
-  PHOTCODE STR z_SYNTH
+  PHOTCODE STR z
 END
+
+# plotting options
+PSASTRO.PLOT.INST.MAG.MAX F32 -9.0
+PSASTRO.PLOT.INST.MAG.MIN F32 -17.0
+PSASTRO.PLOT.REF.MAG.MIN  F32 +10.0
+PSASTRO.PLOT.REF.MAG.MAX  F32 +25.0
+
Index: trunk/ippconfig/megacam/psphot.config
===================================================================
--- trunk/ippconfig/megacam/psphot.config	(revision 31673)
+++ trunk/ippconfig/megacam/psphot.config	(revision 31674)
@@ -1,10 +1,30 @@
 
 # turn these on to see specific outputs
-SAVE.PLOTS     	BOOL    TRUE
+SAVE.PLOTS     	BOOL    FALSE
 
 # PSF model parameters : choose the PSF model desired
-PSF_MODEL           STR  PS_MODEL_QGAUSS
+# PSF_MODEL           STR  PS_MODEL_QGAUSS
+PSF_MODEL           STR  PS_MODEL_PS1_V1
+# PSF_MODEL           STR  PS_MODEL_RGAUSS
 
 PSF.TREND.MODE STR MAP
 PSF.TREND.NX   S32 1
 PSF.TREND.NY   S32 1
+PSF_SN_LIM F32 5              # minimum S/N for stars used for PSF model
+
+PEAKS_SMOOTH_SIGMA F32 2.5             # smoothing kernel sigma in pixels
+PEAKS_NSIGMA_LIMIT F32 5.0            # peak significance threshold
+MOMENTS_SCALE F32 0.1 # PSFs are generally small, avoid the CRs
+
+PSF_FIT_RADIUS_SCALE F32 10.0 # fitting radius for test PSF model
+
+PSPHOT.CRMASK.APPLY BOOL  TRUE		  # TEST THIS before enabling.
+
+MOMENTS_SX_MIN                      F32   1.0
+MOMENTS_SY_MIN                      F32   1.0
+                                                                                                                                                              
+BACKGROUND.XBIN                     S32   400             # size of background superpixels
+BACKGROUND.YBIN                     S32   400             # size of background superpixels
+BACKGROUND.XSAMPLE                  F32   2.0             # size of background superpixels
+BACKGROUND.YSAMPLE                  F32   2.0             # size of background superpixels
+IMSTATS_NPIX                        S32   40000           # number of pixels to use for sky estimate boxes:
Index: trunk/ippconfig/recipes/filerules-mef.mdc
===================================================================
--- trunk/ippconfig/recipes/filerules-mef.mdc	(revision 31673)
+++ trunk/ippconfig/recipes/filerules-mef.mdc	(revision 31674)
@@ -192,5 +192,5 @@
 PPIMAGE.JPEG1           OUTPUT {OUTPUT}.b1.jpg                   JPEG      NONE       FPA        TRUE      NONE
 PPIMAGE.JPEG2           OUTPUT {OUTPUT}.b2.jpg                   JPEG      NONE       FPA        TRUE      NONE
-                                                                                     
+PPIMAGE.PATTERN         OUTPUT {OUTPUT}.ptn                      PATTERN   NONE       CHIP       TRUE      MEF
 PPIMAGE.STATS           OUTPUT {OUTPUT}.stats                    STATS     NONE       FPA        TRUE      MEF
 
Index: trunk/ippconfig/recipes/ppImage.config
===================================================================
--- trunk/ippconfig/recipes/ppImage.config	(revision 31673)
+++ trunk/ippconfig/recipes/ppImage.config	(revision 31674)
@@ -540,16 +540,16 @@
   BASE.FITS        BOOL    FALSE           # Save base detrended image?
   BASE.MASK.FITS   BOOL    FALSE           # Save base detrended image?
-  BASE.VARIANCE.FITS BOOL    FALSE           # Save base detrended image?
+  BASE.VARIANCE.FITS BOOL  FALSE           # Save base detrended image?
   CHIP.FITS        BOOL    TRUE            # Save chip-mosaic-ed image? 
   CHIP.MASK.FITS   BOOL    TRUE            # Save chip-mosaic-ed image? 
-  CHIP.VARIANCE.FITS BOOL    TRUE            # Save chip-mosaic-ed image? 
-  OVERSCAN         BOOL    FALSE           # Overscan subtraction
-  NONLIN           BOOL    FALSE           # Non-linearity correction; not implemented
-  BIAS             BOOL    FALSE           # Bias subtraction
-  DARK             BOOL    FALSE           # Dark subtraction
-  SHUTTER          BOOL    FALSE           # Shutter correction
-  FLAT             BOOL    FALSE           # Flat-field normalisation
-  MASK             BOOL    FALSE           # Mask bad pixels
-  MASK.BUILD       BOOL    FALSE	   # Build internal mask?
+  CHIP.VARIANCE.FITS BOOL  TRUE            # Save chip-mosaic-ed image? 
+  OVERSCAN         BOOL    FALSE           # Overscan subtraction
+  NONLIN           BOOL    FALSE           # Non-linearity correction; not implemented
+  BIAS             BOOL    FALSE           # Bias subtraction
+  DARK             BOOL    FALSE           # Dark subtraction
+  SHUTTER          BOOL    FALSE           # Shutter correction
+  FLAT             BOOL    FALSE           # Flat-field normalisation
+  MASK             BOOL    FALSE           # Mask bad pixels
+  MASK.BUILD       BOOL    TRUE  	   # Build internal mask?
   FRINGE           BOOL    FALSE           # Fringe subtraction
   PHOTOM           BOOL    TRUE            # Source identification and photometry
@@ -558,4 +558,6 @@
   BIN1.FITS        BOOL    TRUE            # Save 1st binned chip image?
   BIN2.FITS        BOOL    TRUE            # Save 2nd binned chip image?
+  BACKGROUND       BOOL    TRUE            # Subtract background?
+  # MASK.STATS       BOOL    TRUE            # Calculate Mask statistics.
 END
 
Index: trunk/ippconfig/recipes/ppStack.config
===================================================================
--- trunk/ippconfig/recipes/ppStack.config	(revision 31673)
+++ trunk/ippconfig/recipes/ppStack.config	(revision 31674)
@@ -59,4 +59,5 @@
 ZP.MATCH	F32	0.1		# Fraction of images to match for good star
 ZP.AIRMASS	METADATA		# Airmass terms by filter
+	u.MP9301 F32	0.0
 	g	F32	0.0
 	r	F32	0.0
@@ -67,4 +68,5 @@
 END
 ZP.TARGET	METADATA		# Target zero point by filter
+	u.MP9301 F32	25.0
 	g	F32	25.0
 	r	F32	25.0
@@ -93,5 +95,5 @@
 
 OUTPUT.NOCOMP   BOOL    FALSE           # use filerules that make conconpressed outputs
-OUTPUT.LOGFLUX  BOOL    FALSE 
+OUTPUT.LOGFLUX  BOOL    FALSE           # choose a log-scaling for output images
 
 OUTPUT.REPLICATE BOOL   TRUE
@@ -147,2 +149,20 @@
 STACK_THREEPI  METADATA
 END
+
+TEST1 METADATA
+  PSF.AUTOSIZE	  BOOL	FALSE		# Determine output PSF size from input PSFs?
+  PSF.OUTPUT.FWHM F32	6.5		# Target size for output PSF (if not auto-sized)
+  PSF.MODEL	  STR	PS_MODEL_PS1_V1	# Model for PSF generation
+END
+
+TEST2 METADATA
+  PSF.AUTOSIZE	  BOOL	FALSE		# Determine output PSF size from input PSFs?
+  PSF.OUTPUT.FWHM F32	7.0		# Target size for output PSF (if not auto-sized)
+  PSF.MODEL	  STR	PS_MODEL_PS1_V1	# Model for PSF generation
+END
+
+TEST3 METADATA
+  PSF.AUTOSIZE	  BOOL	FALSE		# Determine output PSF size from input PSFs?
+  PSF.OUTPUT.FWHM F32	8.0		# Target size for output PSF (if not auto-sized)
+  PSF.MODEL	  STR	PS_MODEL_PS1_V1	# Model for PSF generation
+END
Index: trunk/ippconfig/recipes/psastro.config
===================================================================
--- trunk/ippconfig/recipes/psastro.config	(revision 31673)
+++ trunk/ippconfig/recipes/psastro.config	(revision 31674)
@@ -226,4 +226,7 @@
 END
 
+PSASTRO_COARSE METADATA
+END
+
 PHOTCODE.DATA MULTI
 PHOTCODE.DATA METADATA
Index: trunk/ippconfig/recipes/psphot.config
===================================================================
--- trunk/ippconfig/recipes/psphot.config	(revision 31673)
+++ trunk/ippconfig/recipes/psphot.config	(revision 31674)
@@ -76,4 +76,6 @@
 MOMENTS_SX_MAX                      F32   50.0
 MOMENTS_SY_MAX                      F32   50.0
+MOMENTS_SX_MIN                      F32   0.5
+MOMENTS_SY_MIN                      F32   0.5
 MOMENTS_AR_MAX                      F32   1.5             # maximum axial ratio: 1 / AR < (sx / sy) < AR
 MOMENTS_GAUSS_SIGMA		    F32	  4.0		  # XXX this is now autoscaled
@@ -413,8 +415,8 @@
   PSPHOT.STACK.USE.RAW                BOOL  F    # perform photometry & morphology analysis on the raw image
   @PSPHOT.STACK.TARGET.PSF.FWHM       F32   8.0 10.0 # FWHM of target PSF (if NOT AUTO sized; pixels)
-  RADIAL_APERTURES                    BOOL  T    # calculate flux in circular radial apertures?
+  RADIAL_APERTURES                    BOOL  F    # calculate flux in circular radial apertures?
   RADIAL_APERTURES_SN_LIM             F32   0.0  # S/N limit for radial aperture calculation
-  OUTPUT.FORMAT                       STR   PS1_SV1
- #  OUTPUT.FORMAT                       STR   PS1_V3
+#  OUTPUT.FORMAT                       STR   PS1_SV1
+  OUTPUT.FORMAT                       STR   PS1_V3
 
   # CONSTANT_PHOTOMETRIC_WEIGHTS        BOOL  TRUE
@@ -429,4 +431,43 @@
   PSF_MODEL                           STR   PS_MODEL_PS1_V1 
   EXT_MODEL                           STR   PS_MODEL_SERSIC
+END
+
+# Extended source fit parameters
+APTEST_V1                     METADATA
+  OUTPUT.FORMAT                       STR   PS1_V3
+
+  # CONSTANT_PHOTOMETRIC_WEIGHTS        BOOL  TRUE
+  # POISSON.ERRORS.PHOT.LMM             BOOL  FALSE
+  CONSTANT_PHOTOMETRIC_WEIGHTS        BOOL  FALSE
+  POISSON.ERRORS.PHOT.LMM             BOOL  TRUE
+
+  PSF_APERTURE_SCALE                  F32   4.5
+  PSF_REF_RADIUS                      F32   25
+END
+
+# Extended source fit parameters
+APTEST_V2                     METADATA
+  OUTPUT.FORMAT                       STR   PS1_V3
+
+  # CONSTANT_PHOTOMETRIC_WEIGHTS        BOOL  TRUE
+  # POISSON.ERRORS.PHOT.LMM             BOOL  FALSE
+  CONSTANT_PHOTOMETRIC_WEIGHTS        BOOL  FALSE
+  POISSON.ERRORS.PHOT.LMM             BOOL  TRUE
+
+  PSF_APERTURE_SCALE                  F32   4.5
+  PSF_REF_RADIUS                      F32   30
+END
+
+# Extended source fit parameters
+APTEST_V3                     METADATA
+  OUTPUT.FORMAT                       STR   PS1_V3
+
+  # CONSTANT_PHOTOMETRIC_WEIGHTS        BOOL  TRUE
+  # POISSON.ERRORS.PHOT.LMM             BOOL  FALSE
+  CONSTANT_PHOTOMETRIC_WEIGHTS        BOOL  FALSE
+  POISSON.ERRORS.PHOT.LMM             BOOL  TRUE
+
+  PSF_APERTURE_SCALE                  F32   4.5
+  PSF_REF_RADIUS                      F32   35
 END
 
Index: trunk/ippconfig/recipes/reductionClasses.mdc
===================================================================
--- trunk/ippconfig/recipes/reductionClasses.mdc	(revision 31673)
+++ trunk/ippconfig/recipes/reductionClasses.mdc	(revision 31674)
@@ -163,4 +163,31 @@
 	BACKGROUND_PPBACKGROUND	STR	BACKGROUND
 	BACKGROUND_PSWARP	STR	BACKGROUND
+END
+
+# basic science analysis
+APTEST_V1		METADATA
+	CHIP_PPIMAGE	  STR	  CHIP
+	CHIP_PSPHOT	  STR	  APTEST_V1
+	PSASTRO		  STR	  DEFAULT_RECIPE
+	JPEG_BIN1	  STR	  PPIMAGE_J1
+	JPEG_BIN2	  STR	  PPIMAGE_J2
+END
+
+# basic science analysis
+APTEST_V2		METADATA
+	CHIP_PPIMAGE	  STR	  CHIP
+	CHIP_PSPHOT	  STR	  APTEST_V2
+	PSASTRO		  STR	  DEFAULT_RECIPE
+	JPEG_BIN1	  STR	  PPIMAGE_J1
+	JPEG_BIN2	  STR	  PPIMAGE_J2
+END
+
+# basic science analysis
+APTEST_V3		METADATA
+	CHIP_PPIMAGE	  STR	  CHIP
+	CHIP_PSPHOT	  STR	  APTEST_V3
+	PSASTRO		  STR	  DEFAULT_RECIPE
+	JPEG_BIN1	  STR	  PPIMAGE_J1
+	JPEG_BIN2	  STR	  PPIMAGE_J2
 END
 
@@ -480,4 +507,21 @@
 END
 
+# photometry for pre-detrended images
+MC_UBAND	METADATA
+	CHIP_PPIMAGE	STR	PPIMAGE_P
+	CHIP_PSPHOT	STR	CHIP
+	WARP_PSWARP	STR	WARP
+	STACK_PPSTACK	STR	STACK
+	STACK_PPSUB	STR	STACK
+	STACK_PSPHOT	STR	STACK
+	DIFF_PPSUB	STR	DIFF
+	DIFF_PSPHOT	STR	DIFF
+	JPEG_BIN1	STR	PPIMAGE_J1
+	JPEG_BIN2	STR	PPIMAGE_J2
+	FAKEPHOT	STR	FAKEPHOT
+	ADDSTAR		STR	ADDSTAR
+	PSASTRO		STR	PSASTRO_COARSE
+END
+
 # photometry to make flat-field correction (apply flat_raw)
 FLATCORR	METADATA
@@ -701,2 +745,21 @@
 END
 
+# random user tests (may not be stable or consistent)
+TEST1 METADATA
+   STACK_PPSTACK   STR TEST1
+   STACK_PPSUB     STR STACK
+   STACK_PSPHOT    STR STACK
+END
+    
+TEST2 METADATA
+   STACK_PPSTACK   STR TEST2
+   STACK_PPSUB     STR STACK
+   STACK_PSPHOT    STR STACK
+END
+    
+TEST3 METADATA
+   STACK_PPSTACK   STR TEST3
+   STACK_PPSUB     STR STACK
+   STACK_PSPHOT    STR STACK
+END
+    
